{'fraction_non_alphanumeric': 0.03324396782841823, 'fraction_numerical': 0.005898123324396783, 'mean_word_length': 5.3254237288135595, '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}}
Run-Time Support for Distributed Sharing in Strongly-TypedLanguagesY

In this paper, we present a new run-time system for strongly-typed programming languages that supports object sharing in a distributed system. The key insight in this system is that type information allows eecient and transparent sharing of data with both ne-grained and coarse-grained access patterns. In contrast, conventional distributed shared memory (DSM) systems that support sharing of an untyped memory region are limited to providing only one granularity with good performance. This new run-time system, SkidMarks, provides a shared object space abstraction rather than a shared address space abstraction. Three key aspects of the design are: First, SkidMarks uses type information, in particular, the ability to unambiguously recognize references , to make ne-grained sharing eecient by supporting object granularity coherence. Second, SkidMarks aggregates the communication of objects, making coarse-grained sharing eecient. Third, SkidMarks uses a globally unique \handle" rather than a virtual address to name an object, enabling each machine to allocate storage just for the objects that it accesses, improving spatial locality. We compare SkidMarks to TreadMarks, a conventional DSM system that is eecient at handling coarse-grained sharing. Our performance evaluation substantiates the following claims: 1. The performance of coarse-grained applications is nearly as good as in TreadMarks (within 6%). Since the performance of such applications is already good in TreadMarks, we consider this an acceptable performance penalty. 2. The performance of ne-grained applications is considerably (up to 98% for Barnes-Hut and 62% for Water-Spatial) better than in TreadMarks. 3. The performance of garbage-collected applications is considerably (up to 150%) better than in Tread-Marks.