{'fraction_non_alphanumeric': 0.016194331983805668, 'fraction_numerical': 0.0, 'mean_word_length': 5.866666666666666, '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}}
Integrating applications with cache and memory management on a shared-memory multiprocessor

In shared memory multiprocessors with NonUniform Memory Access (NUMA) characteristics, effective cacheing and memory locality are essential to performance. In this paper, we argue for a new approach for cache and NUMA memory management based upon the integration of application-sharing characteristics with system runtime management of shared data. An application's shared data is subdivided into shared regions of memory, and the application defines explicitly the operations on those regions. System runtime management can then achieve high cache hit rates and memory locality based upon these region specifications.Region-oriented cache management has the advantage over other software cache coherence techniques in that shared regions are always cacheable. Region-oriented main memory management improves upon traditional NUMA memory management by maintaining coherence at region granularity. This eliminates page-level false sharing as a concern for coherence and allows for more effective replication strategies. The specification of regions also permits the use of relaxed memory coherence protocols, which further improve performance.