Tunable shared-memory abstractions for distributed-memory systems
Totty, Brian Keith
This item is only available for download by members of the University of Illinois community. Students, faculty, and staff at the U of I may log in with your NetID and password to view the item. If you are trying to access an Illinois-restricted dissertation or thesis, you can request a copy through your library's Inter-Library Loan office or purchase a copy directly from ProQuest.
Permalink
https://hdl.handle.net/2142/19915
Description
Title
Tunable shared-memory abstractions for distributed-memory systems
Author(s)
Totty, Brian Keith
Issue Date
1994
Doctoral Committee Chair(s)
Reed, Daniel
Department of Study
Computer Science
Discipline
Computer Science
Degree Granting Institution
University of Illinois at Urbana-Champaign
Degree Name
Ph.D.
Degree Level
Dissertation
Keyword(s)
Computer Science
Language
eng
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.
"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.
Use this login method if you
don't
have an
@illinois.edu
email address.
(Oops, I do have one)
IDEALS migrated to a new platform on June 23, 2022. If you created
your account prior to this date, you will have to reset your password
using the forgot-password link below.