{'fraction_non_alphanumeric': 0.01212471131639723, 'fraction_numerical': 0.0, 'mean_word_length': 5.442379182156134, '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}}
MODA : A Memory Centric Performance Analysis Tool

From one processor generation to the next, the mismatch in processing speed vs. memory and network access speed is exacerbating. The arrival of multi-core technologies accelerates this trend. The main mismatch drawback is that an increasing number of parallel applications suffer from latency and bandwidth bottlenecks incurred by accessing these shared resources. There is a need in the computer science community to identify these bottlenecks early in the development phase to better manage these scarce resources. Existing performance analysis tools emphasize a processor centric view that limits their capability to adequately analyze resource bottlenecks. Tools are required that can analyze resource access streams by taking into account the organization of the shared resource architecture structures. This paper introduces the MODA memory centric performance tool prototype. MODA is designed to instrument, collect and analyze streams of memory requests. The tool provides a dynamic application behavior view of memory requests as they access various memory organizational constructs. MODA enables the detection of algorithmic and architectural resource conflicts that can greatly degrade performance. Moreover, possible scalability deterrents can be found predictively at relatively small data set scale. Careful management of shared resource bandwidth will be one of the future multi-core technologies. The Cray XMT is ideally suited to serve as a test platform to analyze shared resource contention at massive scale. The initial prototype tool has been implemented for the Cray XMT multiprocessor and it has been used to analyze the behavior of small benchmark examples.