{'fraction_non_alphanumeric': 0.020104895104895104, 'fraction_numerical': 0.0, 'mean_word_length': 4.841836734693878, '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}}
Some New Approaches to MPI Implementations and a Possible Path to MPI Evolution

This paper consists of two parts. One part is to provides some new approaches to MPI implementations to improve MPI performance. These approaches include dynamically composable libraries, reducing average layer numbers of MPI libraries, and a single entity of MPI-network, MPI-protocol, and MPI. The other is to present a possible path to MPI evolution, which tries to provide solutions to two problems in the current MPI. One problem is that there are some functionalities, like dynamic data structures, the current MPI is lack of, and it seems to be difficult for MPI to extend to cover them. The other is that heterogeneous parallel computing with CPU and accelerator technologies is becoming increasingly important, but the current MPI does not involve accelerators, and it makes programming across CPUs and accelerators difficult in the MPI world. The path to MPI evolution tries to remove the problems by introducing autonomous mini-MPI for the previous problem and by extending MPI-I/O to cover accelerators as a kind of I/O devices for the latter problem.