{'fraction_non_alphanumeric': 0.018628281117696866, 'fraction_numerical': 0.0, 'mean_word_length': 5.530386740331492, '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}}
Automatic scheduling for cache only memory architectures

For parallel and distributed systems to gain more acceptance than they have to date, they will need to be scalable, affordable-but most importantly, they must be made as easy to program as sequential systems. Ideally, we would like to be able to take programs written in conventional languages and recompile them for parallel architectures, thus freeing the programmer from all additional effort above and beyond that necessary to program a conventional computer. This in turn implies that either the compiler, the hardware, or both, must address the fundamental issue of distribution. This problem is two fold: both data and computation must somehow be distributed. The paper attempts to bring data distribution concepts from cache only memory architectures together with scheduling concepts from multithreaded architectures, in order to arrive at one unified, simplified, cohesive abstract model of computation. The fusion of data and computation distribution is the central principle guiding the development of a new architecture being developed by the authors, named SDAARC (Self Distributing Associative Architecture).