{'fraction_non_alphanumeric': 0.015888778550148957, 'fraction_numerical': 0.0, 'mean_word_length': 5.8108108108108105, '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}}
Productive parallel programming with Pomelo

Although many existing distributed computing platforms have simplified the development of parallel programs to various degrees, none of them have good notions of software reuse, which is vital to reducing development cost and decreasing the bug rate. On those platforms, code reuse is strongly tied to the experience and skills of developers, effectively leading to low productivity. This paper describes Pomelo, a distributed computing platform designed to aid code reuse in parallel programming. Pomelo provides support for reusing software at different granularities with its task-oriented architecture. Equipped with infrastructural mechanisms for tasks to communicate with each other, it especially facilitates component-based programming with several built-in types of tasks. Preliminary experiments suggest that Pomelo has promising performance and good scalability. Our experience also shows that it is helpful for writing parallel programs productively.