Project Background
                          Project Scope
                  Project Achievements




                  Virtual Machine Project

                     Presented by Yan Dacong

                          School of Software, SJTU


                          September 25, 2008




Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                                  Project Scope
                          Project Achievements


Agenda



  1   Project Background


  2   Project Scope


  3   Project Achievements




        Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                          Project Scope
                  Project Achievements




         Project Background




Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                                Project Scope
                        Project Achievements


Why study virtual machines?



     Ubiquitous Applications
           Personal & Commercial
           Desktop & Workstation
     Challenging & Exciting
           Operating System Compatibility
           Computer Architecture Compatibility
     Promising future
           Trend: servers much stronger computation ability
           Make full use via VM Technology




      Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                                Project Scope
                        Project Achievements


Project Scope



     What we are doing in this PRP:
           Get acquaintance with basic concepts of virtual machines
           Acquire familiarity with applications of virtual machines
           Master the basic techniques of virtual machine implementation
           Develop a process virtual machine for MIPS
     What we are NOT doing in this PRP:
           Implement a full-scale system virtual machine
           Develop a brand-new virtual machine model




      Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                          Project Scope
                  Project Achievements




       Project Achievements




Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                                Project Scope
                        Project Achievements


Project Achievenments




     Categories of VM




      Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                                Project Scope
                        Project Achievements


Project Achievenments




     Categories of VM
     Instruction Emulation




      Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                                Project Scope
                        Project Achievements


Project Achievenments




     Categories of VM
     Instruction Emulation
     MIPS Process Virtual Machine




      Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                                Project Scope
                        Project Achievements


Project Achievenments




     Categories of VM
     Instruction Emulation
     MIPS Process Virtual Machine




      Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                                Project Scope
                        Project Achievements


Categories of VM


     System Virtual Machine (SVM)
           First developments: 1960s 1970s
           Complete system enrionments
           Run apps simultaneously on multiple platforms
           Typical Products: VirtualBox, VMWare
     Process Virtual Machine (PVM)
           Simpler model
           Rule out platform differences
           Run apps written in different ISAs
           Typical Products: JVM, SPIM




      Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                          Project Scope
                  Project Achievements




            Figure 1: A taxonomy of Virtual Machines




Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                                Project Scope
                        Project Achievements


Instruction Emulation



      Interpretation
           Easy to implement
           Efficiency bottleneck
      Binary Translation
           Speed up, esp. for hotspot codes
           Slow startup
      Hybrid Approach
           Combine the previous two
           Select proper strategies at run-time




      Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                          Project Scope
                  Project Achievements




          Figure 2: Basic steps of instruction emulation




Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                                Project Scope
                        Project Achievements


MIPS Process Virtual Machine




     Programme Loader
     Predecoding Interpretation
     Table-Driven Execution




      Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                          Project Scope
                  Project Achievements




                        Figure 3: Process Layout
Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                                Project Scope
                        Project Achievements


MIPS Instruction Format




     I-Type(Immediate)
     J-Type(Jump)
     R-Type(Register)




      Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                          Project Scope
                  Project Achievements




                 Figure 4: MIPS Instruction Format




Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                                Project Scope
                        Project Achievements


Table-Driven Execution


            Switch-loop is suboptimal!




                         Figure 5: Switch Loop Approach

      Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                                  Project Scope
                          Project Achievements


Table-Driven Execution(Cont.)



      Table-Driven Approach is Better!



   (a) Execution Function Table                   (b) Instruction Execution

                          Figure 6: Table-Driven Execution



        Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                                Project Scope
                        Project Achievements


Conclusion




     VM is a promising field
     VM is worth studying
     VM would have an even wider application




      Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project
Project Background
                          Project Scope
                  Project Achievements




                       Thank you!




Yan Dacong, Zhang Xuchao, Duan Beichen    Virtual Machine Project

More Related Content

DOC
Online shopping report-6 month project
PDF
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
PDF
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?
PDF
2D to 3D dynamic modeling of architectural plans in Augmented Reality
PPTX
Internet of things using Raspberry Pi
PPTX
Vision pk1
PPTX
DESIGN AND CONSTRUCTION OF A LINUX BASED WEB (1)
PPTX
Recent progress on programming methods for industrial robots
Online shopping report-6 month project
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?
2D to 3D dynamic modeling of architectural plans in Augmented Reality
Internet of things using Raspberry Pi
Vision pk1
DESIGN AND CONSTRUCTION OF A LINUX BASED WEB (1)
Recent progress on programming methods for industrial robots

Similar to A Toy Virtual Machine Project (20)

PDF
Agile project management in IT - Sebastian Sussmann
PDF
Creating Digital Twins Using Rapid Development Techniques.pdf
 
PDF
Gen AI with LLM for construction technology
PDF
PDF
3D face creation via 2D images within blender virtual environment
PDF
Cloud web applications: the new perspective of sproutcore
DOCX
jidesh_res_updated
PDF
Privacy-first in-browser Generative AI web apps: offline-ready, future-proof,...
PDF
Quantum App Development Top Free Quantum App Development Tools (1).pdf
PDF
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
PDF
Embedded and Reliable Computer Vision
PPT
Web 2.0 and LiveQuotes Presentation
PPTX
Large-scale Microtask programming
PDF
201001162_report
PPTX
flight management project it tells about the java technology
PDF
Infrastructure as Code
PDF
Sandeep-portfolio-2016
PPT
Virtualization
PPTX
Parking Lot App
PPT
Virtual Simulation Of Systems
Agile project management in IT - Sebastian Sussmann
Creating Digital Twins Using Rapid Development Techniques.pdf
 
Gen AI with LLM for construction technology
3D face creation via 2D images within blender virtual environment
Cloud web applications: the new perspective of sproutcore
jidesh_res_updated
Privacy-first in-browser Generative AI web apps: offline-ready, future-proof,...
Quantum App Development Top Free Quantum App Development Tools (1).pdf
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Embedded and Reliable Computer Vision
Web 2.0 and LiveQuotes Presentation
Large-scale Microtask programming
201001162_report
flight management project it tells about the java technology
Infrastructure as Code
Sandeep-portfolio-2016
Virtualization
Parking Lot App
Virtual Simulation Of Systems
Ad

More from Dacong (Tony) Yan (10)

PDF
Static Reference Analysis for GUI Objects in Android Software
PDF
LeakChecker: Practical Static Memory Leak Detection for Managed Languages
PDF
Systematic Testing for Resource Leaks in Android Applications
PDF
SherLog: Error Diagnosis by Connecting Clues from Run-time Logs
PDF
Efficient Diversity-Aware Search
PDF
AVIO class present
PDF
Demand-Driven Context-Sensitive Alias Analysis for Java
PDF
Rethinking Soot for Summary-Based Whole-Program Analysis
PDF
Uncovering Performance Problems in Java Applications with Reference Propagati...
PPTX
Scope vs YSmart
Static Reference Analysis for GUI Objects in Android Software
LeakChecker: Practical Static Memory Leak Detection for Managed Languages
Systematic Testing for Resource Leaks in Android Applications
SherLog: Error Diagnosis by Connecting Clues from Run-time Logs
Efficient Diversity-Aware Search
AVIO class present
Demand-Driven Context-Sensitive Alias Analysis for Java
Rethinking Soot for Summary-Based Whole-Program Analysis
Uncovering Performance Problems in Java Applications with Reference Propagati...
Scope vs YSmart
Ad

Recently uploaded (20)

PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Five Habits of High-Impact Board Members
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
August Patch Tuesday
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
DOCX
search engine optimization ppt fir known well about this
PPTX
Modernising the Digital Integration Hub
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Getting Started with Data Integration: FME Form 101
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
DP Operators-handbook-extract for the Mautical Institute
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
NewMind AI Weekly Chronicles – August ’25 Week III
Five Habits of High-Impact Board Members
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Web Crawler for Trend Tracking Gen Z Insights.pptx
August Patch Tuesday
Group 1 Presentation -Planning and Decision Making .pptx
Assigned Numbers - 2025 - Bluetooth® Document
A review of recent deep learning applications in wood surface defect identifi...
A contest of sentiment analysis: k-nearest neighbor versus neural network
1 - Historical Antecedents, Social Consideration.pdf
Final SEM Unit 1 for mit wpu at pune .pptx
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
search engine optimization ppt fir known well about this
Modernising the Digital Integration Hub
A comparative study of natural language inference in Swahili using monolingua...
Getting Started with Data Integration: FME Form 101
Taming the Chaos: How to Turn Unstructured Data into Decisions
DP Operators-handbook-extract for the Mautical Institute

A Toy Virtual Machine Project

  • 1. Project Background Project Scope Project Achievements Virtual Machine Project Presented by Yan Dacong School of Software, SJTU September 25, 2008 Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 2. Project Background Project Scope Project Achievements Agenda 1 Project Background 2 Project Scope 3 Project Achievements Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 3. Project Background Project Scope Project Achievements Project Background Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 4. Project Background Project Scope Project Achievements Why study virtual machines? Ubiquitous Applications Personal & Commercial Desktop & Workstation Challenging & Exciting Operating System Compatibility Computer Architecture Compatibility Promising future Trend: servers much stronger computation ability Make full use via VM Technology Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 5. Project Background Project Scope Project Achievements Project Scope What we are doing in this PRP: Get acquaintance with basic concepts of virtual machines Acquire familiarity with applications of virtual machines Master the basic techniques of virtual machine implementation Develop a process virtual machine for MIPS What we are NOT doing in this PRP: Implement a full-scale system virtual machine Develop a brand-new virtual machine model Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 6. Project Background Project Scope Project Achievements Project Achievements Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 7. Project Background Project Scope Project Achievements Project Achievenments Categories of VM Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 8. Project Background Project Scope Project Achievements Project Achievenments Categories of VM Instruction Emulation Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 9. Project Background Project Scope Project Achievements Project Achievenments Categories of VM Instruction Emulation MIPS Process Virtual Machine Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 10. Project Background Project Scope Project Achievements Project Achievenments Categories of VM Instruction Emulation MIPS Process Virtual Machine Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 11. Project Background Project Scope Project Achievements Categories of VM System Virtual Machine (SVM) First developments: 1960s 1970s Complete system enrionments Run apps simultaneously on multiple platforms Typical Products: VirtualBox, VMWare Process Virtual Machine (PVM) Simpler model Rule out platform differences Run apps written in different ISAs Typical Products: JVM, SPIM Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 12. Project Background Project Scope Project Achievements Figure 1: A taxonomy of Virtual Machines Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 13. Project Background Project Scope Project Achievements Instruction Emulation Interpretation Easy to implement Efficiency bottleneck Binary Translation Speed up, esp. for hotspot codes Slow startup Hybrid Approach Combine the previous two Select proper strategies at run-time Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 14. Project Background Project Scope Project Achievements Figure 2: Basic steps of instruction emulation Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 15. Project Background Project Scope Project Achievements MIPS Process Virtual Machine Programme Loader Predecoding Interpretation Table-Driven Execution Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 16. Project Background Project Scope Project Achievements Figure 3: Process Layout Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 17. Project Background Project Scope Project Achievements MIPS Instruction Format I-Type(Immediate) J-Type(Jump) R-Type(Register) Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 18. Project Background Project Scope Project Achievements Figure 4: MIPS Instruction Format Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 19. Project Background Project Scope Project Achievements Table-Driven Execution Switch-loop is suboptimal! Figure 5: Switch Loop Approach Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 20. Project Background Project Scope Project Achievements Table-Driven Execution(Cont.) Table-Driven Approach is Better! (a) Execution Function Table (b) Instruction Execution Figure 6: Table-Driven Execution Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 21. Project Background Project Scope Project Achievements Conclusion VM is a promising field VM is worth studying VM would have an even wider application Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project
  • 22. Project Background Project Scope Project Achievements Thank you! Yan Dacong, Zhang Xuchao, Duan Beichen Virtual Machine Project