Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Network Transferable Computer Electrotechincal Laboratory Kuniyasu SUZAKI http://www.etl.go.jp/~suzaki/NTC
  2. 2. Outline <ul><li>Current computing environment </li></ul><ul><li>What is next? What is NTC? </li></ul><ul><li>Relational work and my research plan at UIUC </li></ul><ul><li>Conclusion </li></ul>
  3. 3. Trend of Computing Environment <ul><li>From Single Task OS to Multi task OS </li></ul><ul><li>From CUI to GUI </li></ul><ul><li>Network & mobile computing environment </li></ul><ul><li>Machine can emulate other machines and OS. </li></ul><ul><li>CPU becomes faster and faster. (1GHz ~ ) </li></ul><ul><li>Memory and disk become larger.(1GB & 20GB) </li></ul><ul><li>Network becomes faster and wider.(1Gbps ~ ) </li></ul><ul><li>Machine becomes smaller and handy. </li></ul>
  4. 4. Emulator for normal users <ul><li>Emulator becomes popular for normal users </li></ul><ul><ul><li>To hide the delay of software development. </li></ul></ul><ul><ul><ul><li>Ex: MacOS FAT binary (from 68000 to PowerPC) </li></ul></ul></ul><ul><ul><li>To play games on PC </li></ul></ul><ul><ul><ul><li>Bleem! for PC </li></ul></ul></ul><ul><ul><ul><ul><li>Bleem, Inc. http://www.bleem.com </li></ul></ul></ul></ul><ul><ul><ul><ul><li>PlayStation Emulator on PC </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Bleem, Inc. http://www.bleem.com </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Only 12 workers. The programmer is Randy Linden only. </li></ul></ul></ul></ul><ul><ul><ul><li>Virtual Game Station (VGS) </li></ul></ul></ul><ul><ul><ul><ul><li>Connectix Inc. http://www.connectix.com </li></ul></ul></ul></ul><ul><ul><ul><ul><li>PlayStation Emulator on PC </li></ul></ul></ul></ul>
  5. 5. Emulator for normal users <ul><ul><li>To keep the legacy machines. </li></ul></ul><ul><ul><ul><li>Ex: Atrai Emulator, Old Macintosh Emulator </li></ul></ul></ul><ul><ul><li>To use other OS’s application because CPU becomes much powerful. </li></ul></ul><ul><ul><ul><li>Many people want to use Windows applications even if they hate the OS. </li></ul></ul></ul>
  6. 6. Virtual Machine software <ul><li>DOS/V Machine </li></ul><ul><ul><li>VMware ( http://www.vmware.com ) </li></ul></ul><ul><ul><li>Plex86(FreeMware) ( http://www.plex86.org ) </li></ul></ul><ul><ul><li>Fusion-PC ( http://www.microcode-solutions.com ) </li></ul></ul><ul><ul><ul><li>Mac Emulator </li></ul></ul></ul><ul><li>PowerPC Mac </li></ul><ul><ul><li>Virtual PC ( http://www.conectix.com ) </li></ul></ul><ul><li>General Machine </li></ul><ul><ul><li>Bochs ( http://www.bochs.com ) </li></ul></ul>
  7. 7. VMware <ul><li>Commercial   software offered by   VMware ( http://www.vmware.com ) </li></ul><ul><ul><li>Professor Mendel Rosenblum established the company. </li></ul></ul><ul><li>Emulate DOS/V machine </li></ul><ul><ul><li>Some devices are included; Phoenix BIOS,   VGA, AMD PCnet, Sound Blaster16, etc. We can install Windows OS and Linux, etc. </li></ul></ul><ul><li>Most instructions are executed as native code. </li></ul><ul><ul><li>The speed efficiency is more than 80 % of the native CPU. </li></ul></ul>
  8. 8. Monitor image of VMware
  9. 9. Bochs <ul><li>Free DOS/V machine emulator offered by Bochs (http://www.bochs.com ) Kevin Lawton </li></ul><ul><ul><li>It is under development. No network devices. The virtual machine runs as a stand alone. </li></ul></ul><ul><ul><li>Kevin Lawton moved to the development of Plex86 </li></ul></ul><ul><ul><ul><li>http://www.plex86.org </li></ul></ul></ul><ul><li>Platform free Emulate </li></ul><ul><ul><li>DOS/V,Sparc/Solaris,Mac,SGI,IBM RS6000, etc. </li></ul></ul><ul><ul><li>Full emulation of x86 instruction. The efficiency is not good. </li></ul></ul>
  10. 10. Emulator for developer <ul><li>To get the share of popular CPU </li></ul><ul><ul><li>Crusoe (Transmeta Inc.) </li></ul></ul><ul><ul><ul><li>CMS(Code Morphing Software) emulate X86 </li></ul></ul></ul><ul><ul><li>DAISY (Dynamically Architected Instruction Set from Yorktown) http://oss.software.ibm.com/developerworks/opensource/daisy </li></ul></ul><ul><li>To get common computing environment on each machine </li></ul><ul><ul><li>JAVA </li></ul></ul><ul><ul><li>Intent (http://www.tao-group.com) </li></ul></ul>
  11. 11. What is next? <ul><li>We could get such technical trends; emulator, high speed network, and mobile devices . How do we use them? </li></ul><ul><li>We would like to use the same computer environment at anytime, at anywhere, for everybody. </li></ul><ul><li>We propose </li></ul><ul><li>   NTC : Network Transferable Computer </li></ul>
  12. 12. What is NTC? <ul><li>NTC can transfer the running OS image via network or removable media. </li></ul>Hibernated Virtual Machine Virtual Machine with Image Virtual Machine Image Transfer At   Office At   Home
  13. 13. Basic concept <ul><ul><li>Basic idea of NTC is the same </li></ul></ul><ul><ul><li>of following physical handling. </li></ul></ul>CPU Memory CPU Memory ① Hibernate Save the memory contents To the disk ② Transfer Transfer the disk (All OS image: Memory image and file system) to other machine disk ③ Resume Restore the memory contents from the disk   Common Architecture   Common Architecture
  14. 14. Requirement <ul><li>Required facilities and functions are </li></ul><ul><ul><li>same architecture machine. </li></ul></ul><ul><ul><ul><li>It is solved by Virtual Machine software. </li></ul></ul></ul><ul><ul><li>the OS can hibernate and resume without the help of hardware(BIOS). </li></ul></ul><ul><ul><li>the hibernated OS image, which includes memory image and file system , can be transferable by network or removable media. </li></ul></ul><ul><ul><ul><li>We can’t transfer the disk image from the hibernated computer. </li></ul></ul></ul>
  15. 15. Basic Idea CPU (ex:Xeon 500MHz) Virtual Machine (ex:vmware) Guest OS ( ex :Linux) Host OS ( ex :WinNT) CPU (ex:Celeron 433MHz) Virtual Machine (ex:vmware) Host OS ( ex :Linux) Desktop PC Note PC Common Architecture   Transfer the image
  16. 16. Hibernation <ul><li>It’s a function to suspend and resume the running OS. </li></ul><ul><li>Hibernation is develop to keep the battery. It is very important function for note PC. </li></ul><ul><li>Basically it depends on BIOS to control devices. </li></ul><ul><ul><li>To stop the hard disk. </li></ul></ul><ul><ul><li>To stop the CPU. </li></ul></ul><ul><ul><li>To stop the memory. </li></ul></ul>
  17. 17. Specification of BIOS <ul><li>To support the hibernation, there are some BIOS specifications. </li></ul><ul><ul><li>APM (Advanced Power Management) </li></ul></ul><ul><ul><ul><li>Low power mode interface made by Microsoft and Intel (Old specification) </li></ul></ul></ul><ul><ul><li>ACPI (Advanced Configuration & Power Interface) </li></ul></ul><ul><ul><ul><li>Low power mode interface made by Intel , Microsoft, and Toshiba. </li></ul></ul></ul><ul><ul><ul><li>ACPI2 (2000.8.30) http://www.teleport.com/~acpi/ </li></ul></ul></ul><ul><ul><ul><li>It can mange multi processors,64bit CPU, Hot Plug-in, Buttery control (Speed Step), etc. </li></ul></ul></ul>
  18. 18. Mode of hibernation <ul><li>Standby mode </li></ul><ul><ul><li>The memory keeps OS image and CPU and hard disk stop. The machine should keep power of memory. </li></ul></ul><ul><li>Suspend mode </li></ul><ul><ul><li>OS image is moved from memory to hard disk(in-volatile memory) and the power is stopped entirely. </li></ul></ul><ul><ul><li>Even if this mode, we can not transfer the OS image, because the BIOS has to know the state. </li></ul></ul>
  19. 19. Hibernation which is independent of BIOS <ul><li>Normal hibernation is not suitable for NTC. </li></ul><ul><ul><li>Because it depends on BIOS and keeps the state on the machine. </li></ul></ul><ul><li>We must use the hibernation which is not independent of BIOS. </li></ul><ul><ul><li>Linux has SWSUSP (Software Suspend) </li></ul></ul><ul><ul><ul><li>http://falcon.sch.bme.hu/~seasons/linux/swsusp.html </li></ul></ul></ul><ul><ul><ul><li>It is a special type of shut down and reboot. When the machine shuts down, the software keeps the running OS image to the SWAP area. When it boots, it uses the SWAP area image and restart the OS. </li></ul></ul></ul>
  20. 20. Current Implementation <ul><li>Virtual Machine software </li></ul><ul><ul><li>vmware (version 2.0) </li></ul></ul><ul><ul><ul><li>It can run under Linux & Windows NT/2000. </li></ul></ul></ul><ul><li>Transferred OS </li></ul><ul><ul><li>Linux (RedHat 6.2) </li></ul></ul><ul><ul><ul><li>With hibernation soft SWSUSP. </li></ul></ul></ul>
  21. 21. Current Implementation CPU (ex:Xeon 500MHz) Virtual Machine (ex:vmware) Guest OS ( ex :Linux) Host OS ( ex :WinNT) CPU (ex:Celeron 433MHz) Virtual Machine (ex:vmware) Host OS ( ex :Linux) Desktop PC Note PC Common Architecture   Transfer the image
  22. 22. Action of NTC The running OS image on the desktop computer is hibernated. The hibernated OS image is transferred by removable media. The hibernated OS is resumed on laptop computer Hibernate Transfer Resume
  23. 23. Resume Time 15.3 (R) 8 (W) 0.8 128 Compact Flash 10.2 5 340 Micro Drive 20.5 1   1000 Hard disk Resume Time (s) Transfer Rate (Mbps) Volume (M) PCMCIA Media
  24. 24. Usage for normal user <ul><li>“ Install once, Use any machine” </li></ul><ul><ul><li>User is not required to install more than once and use same environment on any machines. </li></ul></ul><ul><ul><ul><li>User can bring back office machine environment to home. </li></ul></ul></ul><ul><ul><li>User can get the copy which is set up by an expert. Expert has good knowledge and experience. Normal users can share them. </li></ul></ul><ul><ul><li>When we buy a new machine, we do not need to re-install all software again. The setup OS can survive. </li></ul></ul>
  25. 25. Usage for developer <ul><ul><li>Up to now debugging requires many steps. Many developers are told the debugging point by e-mail, get the source code, compile it and execute it to reach the debugging point. </li></ul></ul><ul><li>NTC offers platform for collaboration </li></ul><ul><ul><li>Developers can share the same OS environment and debugging point from the copy of live OS image. They are not required to compile and execute. </li></ul></ul><ul><ul><li>They also can replay the debugging point by the use of old OS image. </li></ul></ul>
  26. 26. The image of NTC world Developer can share the debugging. OS image is distributed on the net. Mobile user can also share the OS. User can use the OS image without install Expert offers us an excellent OS image.
  27. 27. Relational work <ul><li>Process migration </li></ul><ul><ul><li>Transfer a process to another machine </li></ul></ul><ul><li>Java </li></ul><ul><ul><li>“ Program once, run anywhere” programming environment. </li></ul></ul><ul><ul><li>JavaVM(Byte Code Interpreter) </li></ul></ul><ul><li>Remote virtual display software </li></ul><ul><ul><li>It transfer the display image to another machine. </li></ul></ul><ul><ul><li>It doesn’t open remote X Window. </li></ul></ul>
  28. 28. Migration vs. NTC <ul><li>Virtual Machine software must run. </li></ul><ul><li>The whole OS image is transferred. The environment is still same. Server & client processing is available within the OS. </li></ul><ul><li>Heavy transfer ( 50MB ~) It depend on the size of OS. </li></ul><ul><li>OS must support migration function. </li></ul><ul><li>Transferred process has to depend on the new environment (Ex:libc). It is difficult to support server & client processing. </li></ul><ul><li>Light transfer </li></ul>NTC Migration
  29. 29. Java vs. NTC <ul><li>Java can not support OS </li></ul><ul><ul><li>Because there is no supervisor mode. </li></ul></ul><ul><ul><ul><li>According to the reason JavaOS could not build. </li></ul></ul></ul><ul><li>Java is too high abstraction. </li></ul><ul><ul><li>Garbage collection is slow. </li></ul></ul><ul><li>Java could not support hibernation. </li></ul><ul><ul><li>Poor Interruption handling. </li></ul></ul><ul><li>NTC is depends on virtual machine. </li></ul><ul><ul><li>Virtual machine offers us the same environment of DOS/V machine. And the CPU power is not so poor. (Ex: VMware offers us 80% of native CPU speed.) </li></ul></ul>
  30. 30. Remote Virtual Display vs. NTC <ul><ul><li>Remote Virtual Display is popular now. </li></ul></ul><ul><ul><ul><li>VNC (Virtual Network Computer) </li></ul></ul></ul><ul><ul><ul><ul><li>AT&T Free software </li></ul></ul></ul></ul><ul><ul><ul><ul><li>http://www.uk.research.att.com/vnc/ </li></ul></ul></ul></ul><ul><ul><ul><li>Desktop On-Call </li></ul></ul></ul><ul><ul><ul><ul><li>IBM commercial software </li></ul></ul></ul></ul><ul><ul><ul><ul><li>http://www.ibm.co.jp/pspjinfo/javadesk/syoukai1.html </li></ul></ul></ul></ul><ul><ul><ul><li>pcAnywhere </li></ul></ul></ul><ul><ul><ul><ul><li>Symantec commercial software </li></ul></ul></ul></ul><ul><ul><ul><ul><li>http://www.symantec.com/region/jp/products/pca/pca.html </li></ul></ul></ul></ul><ul><ul><ul><li>RED </li></ul></ul></ul><ul><ul><ul><ul><li>Columbia Univ. Prof. Jason Nieh, research </li></ul></ul></ul></ul><ul><ul><ul><ul><li>http://www.cs.columbia.edu/~nieh/research/thin/ </li></ul></ul></ul></ul>
  31. 31. Sample of VNC ( Win98 on Linux )
  32. 32. Remote virtual display vs. NTC ・ First transfer is very heavy but no latency after resume. ・ It can make a copy of OS image . It is distributable. It is also able to use play back . ・ It always includes latency. ・ It only transfer the display image. NTC Remote virtual display
  33. 33. Next Step (1) <ul><li>To control CPU speed </li></ul><ul><ul><li>When we transfer the OS image to another CPU machine, the animation play faster or slower. </li></ul></ul><ul><ul><li>We need to control the CPU speed. I’m planning to use the DSRT2 (Dynamic Soft Real Time CPU Scheduler 2.0) to solve the problem. </li></ul></ul><ul><ul><ul><li>http://cairo.cs.uiuc.edu/software/DSRT-2/dsrt-2.html </li></ul></ul></ul>
  34. 34. Next Step (2) <ul><li>We need the fast and secure transfer for NTC. </li></ul><ul><ul><li>I’m planning to transfer the OS image from ETL to UIUC . I’m planning to use </li></ul></ul><ul><ul><ul><li>Coda ; Distributed file system developed CMU. </li></ul></ul></ul><ul><ul><ul><li>iSCSI ; Internet SCSI </li></ul></ul></ul><ul><ul><ul><li>rsync + ssh ; rsync is efficient backup tool and ssh is secure shell. </li></ul></ul></ul>
  35. 35. Next Step (3) <ul><li>To adapt real mobile environment. </li></ul><ul><ul><li>Current version NTC is transfer the stand alone OS image. I would like to adapt it to real mobile environment. </li></ul></ul><ul><ul><li>I would like to adapt Mobile IP to distinguish the machine in the network. </li></ul></ul>
  36. 36. Conclusion <ul><li>We propose the method, named NTC , to transfer the running OS image to another machine. </li></ul><ul><li>This   research is done with Waseda Univ and Hiroshima-City Univ. </li></ul><ul><li>The test version of OS image is distributed the following home page. </li></ul><ul><ul><li>http://www.etl.go.jp/~suzaki/NTC </li></ul></ul>
  37. 37. Animation for NTC