{'fraction_non_alphanumeric': 0.017055655296229804, 'fraction_numerical': 0.0, 'mean_word_length': 5.676646706586826, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Compiler and Run Time Support to Accelerate Java Applications on a Run Time Reconfigurable System

Reconfigurable Computing (RC) is a technology that makes use of programmable logic (FPGAs) in conjunction with a traditional microprocessor to accelerate generalpurpose applications. Although the hardware resources in current FPGA devices are rapidly growing, a full-sized application will completely overwhelm even the largest available device. Consequently, only a portion of the application can be accelerated by the reconfigurable resources, and determining the optimal portion to map is difficult in practice and undecidable in general. But, because FPGAs are reconfigurable, researchers are investigating Run-Time Reconfigurable (RTR) systems which allow the FPGA to be reconfigured while the application is running. These novel architectures exploit the individual strengths of hardware and software by allowing the architecture to execute parts of a program in software and other parts in hardware. In this project we investigate how to translate and execute Java applications on an online RTR architecture.