OLIVE Open Library of Images for Virtualized Execution Mahadev Satyanarayanan, Gloria St Clair, Benjamin Gilbert, Jan Harkes, Dan Ryan, Erika Linke, Keith Webster (Carnegie Mellon) Messenger: Ralph Roskies What is OLIVE • OLIVE freezes and precisely reproduces the environment for executing the software long after its creation. – Uses virtual machine technology to encapsulate legacy software, complete with all its legacy dependencies. – You create your VM by filling an empty virtual machine, by essentially going through the steps that people who configured the system you were using went through. (Explicitly have to face the problem that Mark Fahey discussed). – You can then stream the data over the Internet from a web server. Properties • Can be completely closed source, not requiring recompiling or relinking. • Can include code for the peripherals (e.g. floppy disk) although you no longer have floppy disk readers. • If your current equipment includes the same instruction set (e.g. X86) then there is no need for emulation. You just stream code over the Internet. Examples • Microsoft goes out of business and your application uses Excel. • Turbotax changes every year. But what if you wanted to know what it would have returned on your current income in 1997? • They already have a library of 15 VMs dating back to the late 1980s. Limitations • Won’t work if your code utilizes timing data. • If the instruction set on the target system is not supported, you do need an emulation scheme. Secret Sauce • The VMs you create are likely to be huge. Streaming them over the Internet can be very slow. But the PIs come from the file systems world, and in particular leverage the ideas of the Andrew File System for caching and prefetching VM images over the Internet.