Samhita: Virtual Shared Memory for Non-Cache-Coherent Systems

dc.contributor.authorRamesh, Bharathen
dc.contributor.committeechairVaradarajan, Srinidhien
dc.contributor.committeechairRibbens, Calvin J.en
dc.contributor.committeememberJones, Mark T.en
dc.contributor.committeememberRamakrishnan, Narenen
dc.contributor.committeememberKafura, Dennis G.en
dc.contributor.departmentComputer Scienceen
dc.date.accessioned2013-08-06T08:00:20Zen
dc.date.available2013-08-06T08:00:20Zen
dc.date.issued2013-08-05en
dc.description.abstractAmong the key challenges of computing today are the emergence of many-core architectures and the resulting need to effectively exploit explicit parallelism. Indeed, programmers are striving to exploit parallelism across virtually all platforms and application domains. The shared memory programming model effectively addresses the parallelism needs of mainstream computing (e.g., portable devices, laptops, desktop, servers), giving rise to a growing ecosystem of shared memory parallel techniques, tools, and design practices. However, to meet the extreme demands for processing and memory of critical problem domains, including scientific computation and data intensive computing, computing researchers continue to innovate in the high-end distributed memory architecture space to create cost-effective and scalable solutions. The emerging distributed memory architectures are both highly parallel and increasingly heterogeneous. As a result, they do not present the programmer with a cache-coherent view of shared memory, either across the entire system or even at the level of an individual node. Furthermore, it remains an open research question which programming model is best for the heterogeneous platforms that feature multiple traditional processors along with accelerators or co-processors. Hence, we have two contradicting trends. On the one hand, programming convenience and the presence of shared memory     call for a shared memory programming model across the entire heterogeneous system. On the other hand, increasingly parallel and heterogeneous nodes lacking cache-coherent shared memory call for a message passing model. In this dissertation, we present the architecture of Samhita, a distributed shared memory (DSM) system that addresses the challenge of providing shared memory for non-cache-coherent systems. We define regional consistency (RegC), the memory consistency model implemented by Samhita. We present performance results for Samhita on several computational kernels and benchmarks, on both cluster supercomputers and heterogeneous systems. The results demonstrate the promising potential of Samhita and the RegC model, and include the largest scale evaluation by a significant margin for any DSM system reported to date.en
dc.description.degreePh. D.en
dc.format.mediumETDen
dc.identifier.othervt_gsexam:1413en
dc.identifier.urihttp://hdl.handle.net/10919/23687en
dc.publisherVirginia Techen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectDistributed Shared Memoryen
dc.subjectVirtual Shared Memoryen
dc.subjectMemory Consistencyen
dc.titleSamhita: Virtual Shared Memory for Non-Cache-Coherent Systemsen
dc.typeDissertationen
thesis.degree.disciplineComputer Science and Applicationsen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.leveldoctoralen
thesis.degree.namePh. D.en

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Ramesh_B_D_2013.pdf
Size:
979.32 KB
Format:
Adobe Portable Document Format