Alexander Merritt
Georgia Institute of Technology
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Alexander Merritt.
virtual execution environments | 2011
John R. Lange; Kevin Pedretti; Peter A. Dinda; Patrick G. Bridges; Chang Bae; Philip Soltero; Alexander Merritt
Virtualization has the potential to dramatically increase the usability and reliability of high performance computing (HPC) systems. However, this potential will remain unrealized unless overheads can be minimized. This is particularly challenging on large scale machines that run carefully crafted HPC OSes supporting tightly-coupled, parallel applications. In this paper, we show how careful use of hardware and VMM features enables the virtualization of a large-scale HPC system, specifically a Cray XT4 machine, with < = 5% overhead on key HPC applications, microbenchmarks, and guests at scales of up to 4096 nodes. We describe three techniques essential for achieving such low overhead: passthrough I/O, workload-sensitive selection of paging mechanisms, and carefully controlled preemption. These techniques are forms of symbiotic virtualization, an approach on which we elaborate.
architectural support for programming languages and operating systems | 2016
Izzat El Hajj; Alexander Merritt; Gerd Zellweger; Dejan S. Milojicic; Reto Achermann; Paolo Faraboschi; Wen-mei W. Hwu; Timothy Roscoe; Karsten Schwan
Memory-centric computing demands careful organization of the virtual address space, but traditional methods for doing so are inflexible and inefficient. If an application wishes to address larger physical memory than virtual address bits allow, if it wishes to maintain pointer-based data structures beyond process lifetimes, or if it wishes to share large amounts of memory across simultaneously executing processes, legacy interfaces for managing the address space are cumbersome and often incur excessive overheads. We propose a new operating system design that promotes virtual address spaces to first-class citizens, enabling process threads to attach to, detach from, and switch between multiple virtual address spaces. Our work enables data-centric applications to utilize vast physical memory beyond the virtual range, represent persistent pointer-rich data structures without special pointer representations, and share large amounts of memory between processes efficiently. We describe our prototype implementations in the DragonFly BSD and Barrelfish operating systems. We also present programming semantics and a compiler transformation to detect unsafe pointer usage. We demonstrate the benefits of our work on data-intensive applications such as the GUPS benchmark, the SAMTools genomics workflow, and the Redis key-value store.
virtualization technologies in distributed computing | 2011
Alexander Merritt; Vishakha Gupta; Abhishek Verma; Ada Gavrilovska; Karsten Schwan
extreme science and engineering discovery environment | 2014
Alexander Merritt; Naila Farooqui; Magdalena Slawinska; Ada Gavrilovska; Karsten Schwan; Vishakha Gupta
Proceedings of The Vldb Endowment | 2017
Alexander Merritt; Ada Gavrilovska; Yuan Chen; Dejan S. Milojicic
Archive | 2017
Izzat El Hajj; Alexander Merritt; Gerd Zellweger; Dejan S. Milojicic
Archive | 2017
Izzat El Hajj; Alexander Merritt; Gerd Zellweger; Dejan S. Milojicic
Archive | 2016
Hajj Izzat El; Alexander Merritt; Gerd Zellweger; Dejan S. Milojicic; Reto Achermann
Archive | 2016
Hajj Izzat El; Alexander Merritt; Gerd Zellweger; Dejan S. Milojicic
Archive | 2016
Hajj Izzat El; Alexander Merritt; Gerd Zellweger; Dejan S. Milojicic