Extending Operating System Research into the Cloud – The SkyLab Project Alexander Schmidt HPI, Potsdam University, Germany Cloud Futures 2010
Operating Systems and Middleware Prof. Dr. rer. nat. habil. Andreas Polze Dipl.-Inf. Alexander Schmidt Hasso-Plattner-Institute for Software Engineering at University Potsdam Prof.-Dr.-Helmert-Str Potsdam, Germany
Operating Systems and Middleware Prof. Dr. rer. nat. habil. Andreas Polze Dipl.-Inf. Alexander Schmidt Hasso-Plattner-Institute for Software Engineering at University Potsdam Prof.-Dr.-Helmert-Str Potsdam, Germany
Agenda ■ Teaching Operating System at HPI □ Microsoft Windows Curriculum Resource Kit □ Windows Research Kernel □ Programming Projects ■ SkyLab ■ Conclusions Cloud Futures 2010 | Alexander Schmidt | April 8,
msdnaa.net - featured curriculum content AP 03/06
Curriculum Resource Kit Background CRK + WRK + ProjectOZ ■ Initiatives to encourage and support teaching Windows in OS curricula ■ Based on current Microsoft technology ■ Freely accessible Windows Research Kernel (WRK) □ Stripped down Windows Server 2003 □ Architected by Dave Probert ■ ProjectOZ: environment for OS experiments based on native NT APIs □ Authored by Dave Probert Windows as a vehicle for explaining OS concepts ■ Started out as an add-on to a traditional Unix-based OS curriculum; has evolved to a self-contained OS course ■ Requires the incorporation of a fair amount of Unix know how □ i.e.; scheduler, file system, inter-process communication, networking ■ Explains the rationales for certain Windows design decisions Cloud Futures 2010 | Alexander Schmidt | April 8, 2010
CRK Course Layout (1) 1. Overview of Operating Systems – (Core) OS1 2. Operating System Principles – (Core) OS2 3. Concurrency – (Core) OS3 4. Scheduling and Dispatch – (Core) OS4 5. Memory Management – (Core) OS5 6. Device Management - The Input/Output System – (Elective) OS6 7. Protection and Security – (Elective) OS7 8. File System – (Elective) OS8 9. Real-time and Embedded Systems – (Elective) OS9 10. Fault-tolerance – (Elective) OS System Performance Evaluation and Troubleshooting – (Elective) OS Scripting – (Elective) OS12 A. Windows Networking – (Supplementary) B. Comparing the Linux and Windows Kernels (Supplementary) C. Windows – Unix Interoperability (Supplementary) Cloud Futures 2010 | Alexander Schmidt | April 8, 2010
CRK Course Layout (2) 1. Overview of Operating Systems – (Core) OS1 2. Operating System Principles – (Core) OS2 ■ 2.1. Structuring of the Windows Operating System (Core) ■ 2.2. Windows Core System Mechanisms (Core) ■ 2.3. Windows on Windows - OS Personalities (Core) ■ 2.4. The Windows API – Naming Conventions, Types (Core) ■ 2.5. OS Principles labs, quizzes, and assignments Further information: ■ Polze and Probert. Teaching Operating Systems – The Windows Case. SIGCSE ’06 Cloud Futures 2010 | Alexander Schmidt | April 8, 2010
Windows Research Kernel (WRK) ■ Stripped down Windows Server 2003 sources □ Only kernel itself, no drivers, GUI, user-mode components □ Missing components: HAL, power management, plug-and-play ■ Released in 2006 ■ Freely available to academic institutions ■ Encouraged by license: □ Modification □ Publication (of excerpts) Cloud Futures 2010 | Alexander Schmidt | April 8, 2010
WRK Assignments Debugging/Instrumenting the WRK ■ Boot phase ■ Process creation ■ Single-step debugging the WRK in a virtual machine Creating a new system call ■ Hide/Show a specified process from the system ■ Memorize hidden processes ■ Implement a system service DLL Implementing a synchronization primitive ■ Implement reader/writer locks inside the WRK ■ Run provided test program Cloud Futures 2010 | Alexander Schmidt | April 8, 2010
Memory Management Project Assignment ■ Design a working set data structure □ Manage resident pages □ Discuss lookup overhead efficiency □ Discuss space complexity ■ Implement page replacement strategy □ FIFO □ Student-defined alternative ■ Run provided test workload □ Document page faults □ Experience Belady‘s anomaly Cloud Futures 2010 | Alexander Schmidt | April 8, 2010
WRK/CRK Experiences & Observations ■ Virtualization technology □ Simplified testing □ Simplified distributing of exercises and demos □ Available on multiple platforms ■ Steep learning curve □ Configuration overhead □ Code complexity ■ Increased usage of personal laptops □ Support of multiple platforms □ Variation in operating systems and compute power Cloud Futures 2010 | Alexander Schmidt | April 8,
Agenda ■ Teaching Operating System at HPI ■ SkyLab □ Idea and Concepts □ Architecture □ Requirements ■ Conclusions Cloud Futures 2010 | Alexander Schmidt | April 8,
Why Skylab? Cloud Futures 2010 | Alexander Schmidt | April 8, Courtesy: NASA
Skylab Cloud Futures 2010 | Alexander Schmidt | April 8, SP-401 Skylab, Classroom in Space Edited by Lee B. Summerlin Scientific and Technical Information Office National Aeronautics and Space Administration Washington, D.C. 1977
SkyLab in the Cloud ■ Virtualize laboratory environment □ No physical machines in university □ Set of virtual machines in the cloud ■ Migrate exercises and demos into the cloud □ VM template(s) per exercise □ Instantiation on demand on lab VMs ■ Facilitate experiments through remote display session □ Experiments in Web browser □ Support of various platforms and compute power Cloud Futures 2010 | Alexander Schmidt | April 8,
Concepts ■ Roles □ Faculty □ Tutor □ Student ■ Laboratory □ Number of Workspaces □ Associated with Faculty □ Participated by Students ■ Experiment □ Virtual machine template (demos, experiments) □ Temporarily assigned to a course Cloud Futures 2010 | Alexander Schmidt | April 8,
WRK Repository Virtualized Laboratory SkyLab Architecture Cloud Futures 2010 | Alexander Schmidt | April 8, Persistent Storage Persistent Storage SkyLab Manager SkyLab Manager Virtualized Laboratory Workspace... Cloud Infrastructure VM Exp
SkyLab ― Laboratory Allocation Workflow Cloud Futures 2010 | Alexander Schmidt | April 8, SkyLab Manager SkyLab Manager Virtualized Laboratory Workspace... Faculty Allocate Lab
WRK Repository Virtualized Laboratory SkyLab ― Experiment Instantiation Workflow Cloud Futures 2010 | Alexander Schmidt | April 8, Persistent Storage Persistent Storage SkyLab Manager SkyLab Manager Virtualized Laboratory Workspace... Cloud Infrastructure VM Exp Exp. VM
WRK Repository Virtualized Laboratory SkyLab ― Running an Experiment Cloud Futures 2010 | Alexander Schmidt | April 8, Persistent Storage Persistent Storage SkyLab Manager SkyLab Manager Virtualized Laboratory Workspace... Cloud Infrastructure VM Exp Exp. VM RDP Session RDP Dispatch Persist Updates Pulling Results
Three Layers of Cloud Computing Cloud Futures 2010 | Alexander Schmidt | April 8, ■ Software-as-a-Service (SaaS) □ Ready to use software ■ Platform-as-a-Service □ Programming model ■ Infrastructure-as-a-Service □ Virtual machine infrastructure □ Most flexible ✔ ✗ ✗
Which Cloud Platform? Requirements ■ Arbitrary VM images ■ Remote desktop session ■ Virtual serial port ■ Differencing virtual hard drives Cloud Futures 2010 | Alexander Schmidt | April 8,
Agenda ■ Teaching Operating System at HPI ■ SkyLab ■ Conclusions Cloud Futures 2010 | Alexander Schmidt | April 8,
Conclusions ■ WRK great for teaching operating systems ■ Personal laptops as alternative to faculty provided CS laboratories ■ SkyLab: virtual laboratory in the cloud for OS projects □ Set of experiments □ Execution through Web interface □ Run experiments wherever you want ■ SkyLab: challenging requirements for Cloud vendors Cloud Futures 2010 | Alexander Schmidt | April 8,
Thank You for Your Attention! ■ WRK great for teaching operating systems ■ Personal laptops as alternative to faculty provided CS laboratories ■ SkyLab: virtual laboratory in the cloud for OS projects □ Set of experiments □ Execution through Web interface □ Run experiments wherever you want ■ SkyLab: demanding requirements Cloud Futures 2010 | Alexander Schmidt | April 8, Contact: