Evolution of Virtual Machine Technologies for Portability and Application Capture

Evolution of Virtual Machine Technologies for Portability and Application Capture

Evolution of Virtual Machine Technologies for Portability and Application Capture Bob Vandette Java Hotspot VM Engineering Sept 2004 Topics ● Virtual Machine Evolution ● Timeline & Products ● Trends forcing change ● Technical Challenges ● Java Virtual Machines ● Successes ● Todays Challenges ● Visions of Tomorrow 2Of 47 Virtual Machines Benefits ● Bridging old and new architectures – Does anyone remember CP/M? ● Bringing applications to new platforms – MS-DOS & Windows Applications to Mac and Unix Workstations ● Providing cross platform portability – ANDF, Java 3Of 47 Timeline of Virtual Machine Products 1980's 1990's 2000 2004 Hardware PC Wabi Co- (Windows API Java Virtual Processors Translation) Machines (SunPC) VP/ix (Virtual x86 mode) (Sun386i) Software PC Java 2 Standard Edition 5.0 Co-Processors (RISC - SunPC) 4Of 47 Hardware PC Co-Processors ● Description – PC add-on card providing sufficient hardware and supporting logic to provide a virtual MS-DOS environment when coupled with supporting emulation software. ● Target Host – Unix based Workstation running Unix or some other non PC compatible OS. ● Benefit – Increased application coverage – Excellent compatibility ● Con – Costly, long design time 5Of 47 Virtual 86 Mode (VP/ix) ● Description – Intel 80386/80486 Virtual 86 Mode product providing real-mode MS-DOS application compatibility on x86 Unix platforms. (Similar to Microsoft Windows DOS box). ● Benefit – Provided Multi-Tasking of Unix and MS-DOS apps on a single platform with minimal performance degradation. – Best Cost/Performance/Resource usage solution ● Con – Could not efficiently host protected mode x86 operating systems. VP/ix 6Of 47 Software PC Co-Processors ● Description – A complete virtualization of the hardware contained in a PC. Including a JIT to compile x86 binary instructions into the native processors ISA. ● Benefit – Low cost, easy to upgrade ● Con – Performance on all but the fastest RISC processors was not equivalent to available PC performance at the time. – Considerable overhead for emulating protected mode and high end graphics features of the x86 processor. 7Of 47 Wabi - API Translation ● Description – Product targetted at running Windows Productivity Applications on Unix workstations (Both RISC and x86 based). – Translates Windows APIs to native services in order to achieve native performance levels. – Used multi stage JIT to translate application instructions (non x86 platforms) ● Benefits – Low Cost, High Performance – Excellent application integration ● Cons – Limited Application Compatibility 8Of 47 Technical Challenges ● Device Emulation – VGA/XGA emulation – Protected Mode Emulation – Tradeoff trapping time vs hardware cost ● CPU Simulators/Translators – Startup time due to JIT compilation – Large memory footprint 9Of 47 Todays Virtual Machines ● Java Virtual Machines – Complete Multi-threaded portable language and application platform. – Interpreted and native method compilation ● New Features – Garbage Collection – Multi-Threading Built it – Sync primitives part of core language ● Benefits – Cross platform portability – Security – Scalable from low to high end devices 10 Of 47 Todays Successes ● Top problems have had much research and successful product deployment – Synchronization – Garbage Collection – Code generation quality ● These continue to be areas of competative focus but other areas are now gaining attention 11 Of 47 Todays Challenges ● Startup ● Observability ● Ergonomics ● Cross Platform Compatibility ● Predictability ● 99.99999999% Reliability ● Resource Utilization 12 Of 47 Visions of Tomorrow ● Startup Solutions ● Observability ● Ergonomics II ● VMs as First Class Citizen of OS 13 Of 47 Visions Cont.. ● Faster startup solutions – Deferred initialization – Class file tuning – Class data sharing – Cached compilation decisions – Elimination of Interpreter – Multi-Tier Compilation – Multi-Tasking within VM 14 Of 47 Vision cont ... Management App Hi ● Observability level – As the stack of Low App Code technologies increases, level so does the complexity Application Server – Each element in the Java VM stack has it’s own tool User Libraries to provide visibility OS – Integrated tools for entire stack are needed Device Drivers for global view and Hardware detailed drilling of specific details 15 Of 47 Ergonomics II ● Todays Ergonomics is static – Doesn’t take into account other processes – Only makes decisions based on current snapshot ● Next generation will be more adaptive – Monitor health of VM and OS – Resources being utilized – Scale back or up depending on load 16 Of 47 Half-Baked Vision of Tomorrow ● VMs as First Class Citizen of Operating System – VM's are not just applications – Reduce duplication of technologies – Faster start-up – Finer grained control – More predictable – Resources can be managed better – Reduces resources due to increased sharing – Consistent view and management of Java and native apps 17 Of 47 Q & A Bob Vandette [email protected] http://java.sun.com.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us