{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/19915"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/19915","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Tunable shared-memory abstractions for distributed-memory systems","abstract":"Distributed memory multiprocessor architectures offer enormous computational power, by exploiting the concurrent execution of many loosely connected processors. Yet, such scalability is not without price. Interface delays and low interconnection bandwidth to the distributed memories make internode memory access inefficient. Furthermore, as processor speeds increase, the performance gap among the layers of the local memory hierarchy increases. To achieve good performance, the programmer and system must carefully manage data to increase intranode and internode memory locality. While attempting to do so, data management must not become such a burden that it prevents the creation of sophisticated programs.","abstract_html":"Distributed memory multiprocessor architectures offer enormous computational power, by exploiting the concurrent execution of many loosely connected processors. Yet, such scalability is not without price. Interface delays and low interconnection bandwidth to the distributed memories make internode memory access inefficient. Furthermore, as processor speeds increase, the performance gap among the layers of the local memory hierarchy increases. To achieve good performance, the programmer and system must carefully manage data to increase intranode and internode memory locality. While attempting to do so, data management must not become such a burden that it prevents the creation of sophisticated programs.","abstract_has_math":false,"creators":["Totty, Brian Keith"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Reed, Daniel"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2011,"date_issued":"2011-05-07T12:22:44Z","date_published":"2011-05-07T12:22:44Z","updated_at":"2026-07-22T22:25:14Z","subjects":["Computer Science"],"languages":["eng"],"rights":["Copyright 1994 Totty, Brian Keith"],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI9512573","(UMI)AAI9512573"],"render_values":[{"text":"AAI9512573","href":null,"code":true},{"text":"(UMI)AAI9512573","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/19915","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Reed, Daniel"]},{"key":"dc:creator","label":"Author","values":["Totty, Brian Keith"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2011-05-07T12:22:44Z","10000-01-01","1994"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Computer Science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 1994 Totty, Brian Keith"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI9512573","(UMI)AAI9512573","http://hdl.handle.net/2142/19915"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Distributed memory multiprocessor architectures offer enormous computational power, by exploiting the concurrent execution of many loosely connected processors. Yet, such scalability is not without price. Interface delays and low interconnection bandwidth to the distributed memories make internode memory access inefficient. Furthermore, as processor speeds increase, the performance gap among the layers of the local memory hierarchy increases. To achieve good performance, the programmer and system must carefully manage data to increase intranode and internode memory locality. While attempting to do so, data management must not become such a burden that it prevents the creation of sophisticated programs.","\"This thesis investigates tunable, data management abstractions called \"\"distributed data structures.\"\" Distributed data structures provide a compromise between flexible, yet burdensome, message-passing systems, and inflexible, yet simple, shared-memory systems. Distributed data structures support the illusion of shared-memory, allowing access to constituent data structure elements on demand, independent of physical location. However, the implementation of distributed data structures permits the tuning of data management policies to algorithmic and systemic conditions, while hiding the machinations of data motion from the programmer. The implementation also encourages \"\"mixed-mode\"\" programming, combining direct memory access with message passing, as performance and programmatic clarity warrant. This approach has the advantages of performance, flexability, abstraction, and system independence.\"","We evaluate the costs and benefits of these tunable, data management abstractions by mathematical modelling, discrete-event simulation, and with a prototype implementation for three generations of Intel message passing multiprocessors. The prototype system, christened Poli-C, provides a tunable, shared-memory system over a native message passing subsystem. Poli-C permits the assignment of specific data layouts, page sizes, and coherence protocols to individual data structures. This tunability is achieved via software generalization of hardware shared memory schemes. While such emulation incurs overhead, the concomitant gains in hit ratio and protocol efficiency from properly tuned data management often outweigh the costs.","The conclusions of this study indicate the utility of distributed data structures. The tunability provided by distributed data structures has significant impact on resulting performance. This tunability can be provided, without the need of aggressive hardware or compilation support, with a small software overhead. The resulting system enhances portability, programmability, and performance.","Made available in DSpace on 2011-05-07T12:22:44Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9512573.pdf: 7009791 bytes, checksum: 2295e58bd51e55a200b772eaa5654927 (MD5) Previous issue date: 1994","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:40:18Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:17:13-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"]},{"key":"dc:title","label":"Title","values":["Tunable shared-memory abstractions for distributed-memory systems"]}]}],"canonical_facts":{"dc:contributor":["Reed, Daniel"],"dc:creator":["Totty, Brian Keith"],"dc:date":["2011-05-07T12:22:44Z","10000-01-01","1994"],"dc:description":["Distributed memory multiprocessor architectures offer enormous computational power, by exploiting the concurrent execution of many loosely connected processors. Yet, such scalability is not without price. Interface delays and low interconnection bandwidth to the distributed memories make internode memory access inefficient. Furthermore, as processor speeds increase, the performance gap among the layers of the local memory hierarchy increases. To achieve good performance, the programmer and system must carefully manage data to increase intranode and internode memory locality. While attempting to do so, data management must not become such a burden that it prevents the creation of sophisticated programs.","\"This thesis investigates tunable, data management abstractions called \"\"distributed data structures.\"\" Distributed data structures provide a compromise between flexible, yet burdensome, message-passing systems, and inflexible, yet simple, shared-memory systems. Distributed data structures support the illusion of shared-memory, allowing access to constituent data structure elements on demand, independent of physical location. However, the implementation of distributed data structures permits the tuning of data management policies to algorithmic and systemic conditions, while hiding the machinations of data motion from the programmer. The implementation also encourages \"\"mixed-mode\"\" programming, combining direct memory access with message passing, as performance and programmatic clarity warrant. This approach has the advantages of performance, flexability, abstraction, and system independence.\"","We evaluate the costs and benefits of these tunable, data management abstractions by mathematical modelling, discrete-event simulation, and with a prototype implementation for three generations of Intel message passing multiprocessors. The prototype system, christened Poli-C, provides a tunable, shared-memory system over a native message passing subsystem. Poli-C permits the assignment of specific data layouts, page sizes, and coherence protocols to individual data structures. This tunability is achieved via software generalization of hardware shared memory schemes. While such emulation incurs overhead, the concomitant gains in hit ratio and protocol efficiency from properly tuned data management often outweigh the costs.","The conclusions of this study indicate the utility of distributed data structures. The tunability provided by distributed data structures has significant impact on resulting performance. This tunability can be provided, without the need of aggressive hardware or compilation support, with a small software overhead. The resulting system enhances portability, programmability, and performance.","Made available in DSpace on 2011-05-07T12:22:44Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9512573.pdf: 7009791 bytes, checksum: 2295e58bd51e55a200b772eaa5654927 (MD5) Previous issue date: 1994","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:40:18Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:17:13-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"],"dc:identifier":["AAI9512573","(UMI)AAI9512573","http://hdl.handle.net/2142/19915"],"dc:language":["eng"],"dc:rights":["Copyright 1994 Totty, Brian Keith"],"dc:subject":["Computer Science"],"dc:title":["Tunable shared-memory abstractions for distributed-memory systems"],"dc:type":["text"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:25:14Z"}