{'fraction_non_alphanumeric': 0.014263074484944533, 'fraction_numerical': 0.0, 'mean_word_length': 5.221674876847291, '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}}
TAMING FALSE SHARING IN PARALLEL PROGRAMS

The main goal of this project was to reduce the number of false sharing misses that parallel applications of the pointer jumping class induce on shared memory multiprocessor machines, without sacrificing overall performance. A generic parallel program that realized the pointer jumping paradigm was implemented as well as a generic cache memory simulator that analysed the program's generated memory traces. An optimization of the original program's memory access pattern was implemented and consisted of two distinct phases. Experiments were performed on a shared memory parallel machine for various parameter values. The outcomes of this project were assessed based on two separate factors: the reduction in the false sharing miss rate that the application of our optimization technique achieved, as well as its impact on the execution time of the program. The results gained showed that, for all cases, a reduction in the false sharing miss rate as well as in the total miss rate was obtained. On the other hand, the time overhead due to the optimization algorithm's high computational cost was quite significant. This fact indicated that our optimization technique did not improve the program's overall performance.