{'fraction_non_alphanumeric': 0.023076923076923078, 'fraction_numerical': 0.0, 'mean_word_length': 5.377450980392157, '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': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Hiding Parallel MPI Programming behind Graphical Workflow Specifications

The efficient development of parallel applications is challenging despite the availability of various tools and libraries that help specify communication and synchronization among other tasks. In order to hide the complexity of this type of programming, we propose a Graphical Development Environment for the construction of Parallel MPI Applications (GD-MPI). GD-MPI allows the implementation of workflows using a GUI, each workflow represents a set of Java-MPI processes where group creation, point-to-point and collective communications are graphically expressed by developers. In GD-MPI, the basic broadcasting, scattering, and gathering of MPI collective communications is provided. This environment can be extended to include other MPI Standard communications. GD-MPI runs in a web browser and allows users to execute their applications on remote clusters. In this paper we present the GD-MPI environment and its workflow language, which is expressed through a context-free graph grammar that is based on Hyperedge Replacement Grammars (HRG). We also give a comparison of GD-MPI to other graphical platforms for developing parallel applications on MPI. Some examples that illustrate the use of our environment are shown.