SlideShare a Scribd company logo
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

Similar to A Toy Virtual Machine Project

Agile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian SussmannAgile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian Sussmann
DevDay Da Nang
 
Creating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdfCreating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdf
ICS
 
DataArt
DataArtDataArt
3D face creation via 2D images within blender virtual environment
3D face creation via 2D images within blender virtual environment3D face creation via 2D images within blender virtual environment
3D face creation via 2D images within blender virtual environment
nooriasukmaningtyas
 
Cloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcoreCloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcore
David Saitta
 
jidesh_res_updated
jidesh_res_updatedjidesh_res_updated
jidesh_res_updated
Jidesh SK
 
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Till Riedel
 
Embedded and Reliable Computer Vision
Embedded and Reliable Computer VisionEmbedded and Reliable Computer Vision
Embedded and Reliable Computer Vision
NVIDIA Taiwan
 
Web 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes PresentationWeb 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes Presentation
Jamie Thingelstad
 
Large-scale Microtask programming
Large-scale Microtask programmingLarge-scale Microtask programming
Large-scale Microtask programming
Emad Aghayi
 
201001162_report
201001162_report201001162_report
201001162_report
Shirish Jadav
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
Prasant Kumar
 
Sandeep-portfolio-2016
Sandeep-portfolio-2016Sandeep-portfolio-2016
Sandeep-portfolio-2016
Sandeep Zechariah George
 
Virtualization
VirtualizationVirtualization
Virtualization
imp_satish
 
Parking Lot App
Parking Lot AppParking Lot App
Parking Lot App
aasalazarmiranda
 
Virtual Simulation Of Systems
Virtual Simulation Of SystemsVirtual Simulation Of Systems
Virtual Simulation Of Systems
Hites
 
Simulation as a Decision-Support Tool in Construction Project Management - Si...
Simulation as a Decision-Support Tool in Construction Project Management - Si...Simulation as a Decision-Support Tool in Construction Project Management - Si...
Simulation as a Decision-Support Tool in Construction Project Management - Si...
Muhtasim Fuad Rafid
 
F04402038042
F04402038042F04402038042
F04402038042
ijceronline
 
Implementation of embedded arm9 platform using qt and open cv for human upper...
Implementation of embedded arm9 platform using qt and open cv for human upper...Implementation of embedded arm9 platform using qt and open cv for human upper...
Implementation of embedded arm9 platform using qt and open cv for human upper...
Krunal Patel
 
Dayananda_M.Tech_CSE
Dayananda_M.Tech_CSEDayananda_M.Tech_CSE
Dayananda_M.Tech_CSE
Dayananda D.R
 

Similar to A Toy Virtual Machine Project (20)

Agile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian SussmannAgile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian Sussmann
 
Creating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdfCreating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdf
 
DataArt
DataArtDataArt
DataArt
 
3D face creation via 2D images within blender virtual environment
3D face creation via 2D images within blender virtual environment3D face creation via 2D images within blender virtual environment
3D face creation via 2D images within blender virtual environment
 
Cloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcoreCloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcore
 
jidesh_res_updated
jidesh_res_updatedjidesh_res_updated
jidesh_res_updated
 
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
 
Embedded and Reliable Computer Vision
Embedded and Reliable Computer VisionEmbedded and Reliable Computer Vision
Embedded and Reliable Computer Vision
 
Web 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes PresentationWeb 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes Presentation
 
Large-scale Microtask programming
Large-scale Microtask programmingLarge-scale Microtask programming
Large-scale Microtask programming
 
201001162_report
201001162_report201001162_report
201001162_report
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Sandeep-portfolio-2016
Sandeep-portfolio-2016Sandeep-portfolio-2016
Sandeep-portfolio-2016
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Parking Lot App
Parking Lot AppParking Lot App
Parking Lot App
 
Virtual Simulation Of Systems
Virtual Simulation Of SystemsVirtual Simulation Of Systems
Virtual Simulation Of Systems
 
Simulation as a Decision-Support Tool in Construction Project Management - Si...
Simulation as a Decision-Support Tool in Construction Project Management - Si...Simulation as a Decision-Support Tool in Construction Project Management - Si...
Simulation as a Decision-Support Tool in Construction Project Management - Si...
 
F04402038042
F04402038042F04402038042
F04402038042
 
Implementation of embedded arm9 platform using qt and open cv for human upper...
Implementation of embedded arm9 platform using qt and open cv for human upper...Implementation of embedded arm9 platform using qt and open cv for human upper...
Implementation of embedded arm9 platform using qt and open cv for human upper...
 
Dayananda_M.Tech_CSE
Dayananda_M.Tech_CSEDayananda_M.Tech_CSE
Dayananda_M.Tech_CSE
 

More from Dacong (Tony) Yan

Static Reference Analysis for GUI Objects in Android Software
Static Reference Analysis for GUI Objects in Android SoftwareStatic Reference Analysis for GUI Objects in Android Software
Static Reference Analysis for GUI Objects in Android Software
Dacong (Tony) Yan
 
LeakChecker: Practical Static Memory Leak Detection for Managed Languages
LeakChecker: Practical Static Memory Leak Detection for Managed LanguagesLeakChecker: Practical Static Memory Leak Detection for Managed Languages
LeakChecker: Practical Static Memory Leak Detection for Managed Languages
Dacong (Tony) Yan
 
Systematic Testing for Resource Leaks in Android Applications
Systematic Testing for Resource Leaks in Android ApplicationsSystematic Testing for Resource Leaks in Android Applications
Systematic Testing for Resource Leaks in Android Applications
Dacong (Tony) Yan
 
SherLog: Error Diagnosis by Connecting Clues from Run-time Logs
SherLog: Error Diagnosis by Connecting Clues from Run-time LogsSherLog: Error Diagnosis by Connecting Clues from Run-time Logs
SherLog: Error Diagnosis by Connecting Clues from Run-time Logs
Dacong (Tony) Yan
 
Efficient Diversity-Aware Search
Efficient Diversity-Aware SearchEfficient Diversity-Aware Search
Efficient Diversity-Aware Search
Dacong (Tony) Yan
 
AVIO class present
AVIO class presentAVIO class present
AVIO class present
Dacong (Tony) Yan
 
Demand-Driven Context-Sensitive Alias Analysis for Java
Demand-Driven Context-Sensitive Alias Analysis for JavaDemand-Driven Context-Sensitive Alias Analysis for Java
Demand-Driven Context-Sensitive Alias Analysis for Java
Dacong (Tony) Yan
 
Rethinking Soot for Summary-Based Whole-Program Analysis
Rethinking Soot for Summary-Based Whole-Program AnalysisRethinking Soot for Summary-Based Whole-Program Analysis
Rethinking Soot for Summary-Based Whole-Program Analysis
Dacong (Tony) Yan
 
Uncovering Performance Problems in Java Applications with Reference Propagati...
Uncovering Performance Problems in Java Applications with Reference Propagati...Uncovering Performance Problems in Java Applications with Reference Propagati...
Uncovering Performance Problems in Java Applications with Reference Propagati...
Dacong (Tony) Yan
 
Scope vs YSmart
Scope vs YSmartScope vs YSmart
Scope vs YSmart
Dacong (Tony) Yan
 

More from Dacong (Tony) Yan (10)

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

Recently uploaded

dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
marufrahmanstratejm
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 

Recently uploaded (20)

dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 

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