Introduction
Introduction: System Virtual Machines (9/2 Zhenlin) [slides]
Smith, J.E. and Ravi Nair, “The architecture of virtual machines”, Computer Volume 38, Issue 5, May 2005 Page(s):32 – 38.
Mendel Rosenblum and Tal Grafinkel, “Virtual Machine Monitors: Current Technology and Future Trends”,. IEEE Computer Scociety, 38(5):39-47, May 2005.
POPEK, G. J., AND GOLDBERG, R. P. “Formal requirements for
virtualizable third generation architectures”. Commun. ACM 17, 7 (1974),
412–421.
Introduction: Java Virtual Machines (9/4 Zhenlin) [slides]
Alpern et al., “Implementing
Jalapeño in Java”, OOPSLA ’99.
Alpern et al., “The Jalapeño
Virtual Machine”, IBM System Journal, Vol 39, No 1, February 2000.
Burke et al., “The Jalapeño
Dynamic Optimizing Compiler for Java”, Java Grande 99.
Part
I. System Virtual Machines
Example Virtual Machines I (9/9)
Edouard Bugnion,S cott Devine, Kinshuk Govil and Mendel Rosenblum “Disco: Running Commodity Operating Systems on Scalable Multiprocessors”, SOSP’97 (Kit) [slides]
P. Barham et al., “Xen and the Art of Virtualization”, SOSP ’03. (Steve V.) [slides]
Example Virtual Machines II (9/11)
Andrew Whitaker, Marianne Shaw, and Steven D. Gribble, “Scale and Performance in the Denali Isolation Kernel”, OSDI’02. (Steve R.) [slides]
Vrable et al. “Scalability, Fidelity and Containment in the Potemkin Virtual Honeyfarm”, SOSP 2005. (Martin) [slides]
Hardware Support (9/16)
Neiger et al., “Intel Virtualization Technology: Hardware Support for Efficient Processor Virtulization”, Intel Technology Journal. (Weiming) [slides]
Keith Adams and Ole Agesen, “A COMPARISON OF SOFTWARE AND HARDWARE TECHNIQUES FOR X86 VIRTUALIZATION”, ASPLOS’06 (Keith) [slides]
C. A. Waldspurger, “ Memory Resource Management in VMWare ESX Server”, OSDI ’02. (Jun T.) [Slides]
Ravi Bhargava and Benjamin Serebrin and Francesco Spadini and Srilatha Manne, “Accelerating two-dimensional page walks for virtualized systems”, ASPLOS’08. (Jun M.) [Slides]
Resource Management II (9/23 Weiming)
Stephen Jones, Andrea Arpaci-Dusseau and Remzi Arpaci-Dusseau, “GEIGER: MONITORING THE PAGE CACHE IN A VIRTUAL MACHINE ENVIRONMENT”, ASPLOS 06. [Slides]
Pin Lu and Kai Shen, “Virtual Machine Memory Access Tracing with Hypervisor Exclusive Cache”, 2007 USENIX annual technical conference. [Slides]
Project Proposal (9/25)
I/O (9/30)
J. Sugerman, G. Venkitachalam, and B.-H Lim, “Virtualizing I/O Devices on VMware Workstation’s Hosted Virtual Machine Monitor,”, USENIX’01. [Kit] [Slides]
Ricardo Baratto, Leonard Kim, Jason Nieh, “THINC: A Virtual Display Architecture for Thin-Client Computing”, SOSP 2005 [Wei] [Slides]
Diego Ongaro, Alan Cox and Scott Rixner, “Scheduling I/O in Virtual Machine Monitors”, VEE ’08.
Trusted Computing (10/2)
Stefan Berger,
Ramón Cáceres, Kenneth A. Goldman, Ronald Perez, Reiner Sailer, Leendert van
Doorn, “vTPM:
Virtualizing the Trusted Platform Module”, USENIX Security, 2006.
Jonathan M. McCune, Bryan Parno, Adrian Perrig, Michael K. Reiter and Arvind Seshadri , “How low can you go?: recommendations for hardware-supported minimal TCB code execution”, ASPLOS ’08. [Steve V.] [Slides]
Security I (10/7)
X. Chen et al., “Overshadow: A Virtualization-Based Approach to Retrofitting Protection in Commodity Operating Systems”, ASPLOS '08. [Martin] [slides]
Seshadri et al. “ SecVisor: A Tiny Hypervisor to Provide Lifetime Kernel Code Integrity for Commodity OSes ”, Slides: PDF, SOSP’07
John Criswell, Andrew Lenharth, Dinakar Dhurjati, and Vikram Adve “Secure Virtual Architecture: A Safe Execution Environment for Commodity Operating Systems”, Slides: PPT, SOSP ’07 [Keith]
Security II (10/9)
Jedidiah R. Crandall, Gary Wassermann, Daniela A. S. de Oliveira, Zhendong Su, S. Felix Wu and Frederic T. Chong , “TEMPORAL SEARCH: DETECTING HIDDEN MALWARE TIMEBOMBS WITH VIRTUAL MACHINES”, ASPLOS’ 06 [Steve R.] [Slides]
Richard S. Cox, Jacob Gorm Hansen, Steven D. Gribble, and Henry Levy, “A Safety-Oriented Platform for Web Applications”, IEEE Symposium on Security and Privacy, 2006. [Jun T.] [slides]
Replay and Instrucmentation (10/14)
Oren Laadan, Ricardo A. Baratto, Dan Phung, Shaya Potter, and Jason Nieh, “DejaView: A Personal Virtual Computer Recorder”, Slides: ODP (554 KB), SOSP 2007. (Keith)
Prashanth P.
Bungale and Chi-Keung Luk, “PinOS:
A Programmable Framework for
Whole-System Dynamic Instrumentation”, VEE 2007 (Weiming) [slides]
Live Migration (10/16)
C. Clark, K. Fraser, S. Hand, J. G. Hansen, E. Jul, C.
Limpach,
R. Bradford, E. Kotsovinos, A. Feldmann, H. Schioberg, “Live Wide-Area Migration of Virtual Machines with local persistent state”. VEE’07, June 2007.
(Kit) [slides]
PART II. Java
Virtual Machine
Matthew Arnold, Stephen Fink, David Grove,
Michael Hind, and Peter F. Sweeney, “Adaptive Optimization
in the Jalapeño JVM”, OOPSLA 2000 [Wei] [Slides]
Andy Georges, Dries Buytaert, Lieven Eeckhout, Koen De Bosschere, “Method-Level Phase Behavior
in Java Workloads”, OSPLA
2004
Dayong Gu and Clark Verbrugge, “Phase-based
Adaptive Recompilation in a JVM”, CGO 2008. [Steve V.] [Slides]
Kazunori Ogata et al., “Replay
Compilation: Improving Debuggability of a Just-in-Time Compiler”, OOSPLA 06 [Tao] [Slides]
John Cavazos,
Michael O'Boyle, “Method-Specific
Dynamic Compilation using Logistic Regression”, OOPSLA 2006. [Steve R.] [Slides]
Memory Management: Introduction
(10/28 Zhenlin)
Wilson:
Uniprocessor
garbage collection techniques. Unpublished [Slides]
Memory Management: Age-based
(10/30)
Stefanovic et al,
“Age-Based Garbage
Collection”, OOPSLA 1999: 370-381
Stefanovic et al, “ Older-first
garbage collection in practice: evaluation in a Java Virtual Machine”,
MSP/ISMM 2002: 25-36 [Steve V.]
Blackburn et al,
“Beltway: Getting
around garbage collection gridlock” PLDI 2002: 153-164 [Weiming] [Slides]
Incremental (11/4)
Seligmann and Grarup:, “Incremental mature
garbage collection using the train algorithm” ECOOP 1995: 235-252 [Steve
R.]
Hudson et al, “Garbage
collecting the world: One car at a time”, OOPSLA 1997: 162-175 [Martin] [Slides]
Reference conuting (11/6)
Bacon et al, “ Java without the coffee breaks:
A nonintrusive multiprocessor garbage collector”, PLDI 2001: 92-103 [Keith]
[Slides]
Blackburn & McKinley, “ Ulterior reference counting: Fast garbage collection without the long wait”, OOPSLA 2003 [Tao] [Slides]
Mostly concurrent (11/11)
Boehm et al, “Mostly parallel garbage
collection” PLDI 1991: 157-164 [Kit] [Slides]
Printezis & Detlefs, “A
generational mostly concurrent garbage collector”, An abbreviated version appears
in ISMM 2000: 143 - 154
Barabash et al, “Mostly
Concurrent Garbage Collection Revisited”, OOPSLA 2003 [Wei]
Real-time (11/13)
Blelloch and Cheng, “On bounding time and space for
multiprocessor garbage collection”, PLDI 1999: 104-117.
Cheng and Blelloch, “A
parallel, real-time garbage collector”, PLDI 2001: 125-136 [Tao] [Slides]
Bacon et al, “A
real-time garbage collector with low overhead and consistent utilization”,
POPL 2003: 285-298 [Steve V.]
Hybrid (11/18)
David
F. Bacon, Perry Cheng and V.T. Rajan, “A Unified Theory of Garbage Collection”,
OOPSLA’04 [Kit] [Slides]
S. M. Blackburn and K. S. McKinley, “Immix: A Mark-Regin Garbage Collector with Space Efficiency, Fast Collection, and Mutator Locality”, ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Tuscon AZ, pages 22--32, June 2008. [Keith]
Security (11/20)
Hirzel et al, “On the usefulness of type and liveness accuracy for garbage collection and leak detection” TOPLAS 24(6): 593-624 (2002) [Steve R.]
Bond et al., “Tracking
Bad Apples: Reporting the Origin of Null and Undefined Value Errors”, OOPSLA 2007. [Martin] [Slides]
Locality (12/2 Zhenlin)
Shuf et al , “Exploiting prolific types for
memory management and optimizations”, POPL 2002 [Slides]
Shuf et al, “Creating and preserving
locality of java applications at allocation and garbage collection times”,
OOPSLA 2002: 13-25
Huang
et al, “The
Garbage Collection Advantage: Improving Program Locality”, OOPSLA 2004 [Slides]
Ting Yang, Emery
D. Berger, Scott F. Kaplan and J. Eliot B. Moss , “CRAMM: Virtual Memory
Support for Garbage-Collected Applications”, OSDI’06 [Weiming]
Ammons et al. “Libra:
A Library Operating System for a JVM in a Virtualized Execution Environment”,
VEE 2007. [Zhenlin]
Project presentation (12/9, 12/11)