towards small portable vms
play

Towards Small Portable VMs N. Bouraqadi and L. Fabresse - PowerPoint PPT Presentation

Towards Small Portable VMs N. Bouraqadi and L. Fabresse Smtalltalks nov 2010 Mul@ple devices => Mul@ple VMs Image VM 1 VM 2 VM 3 OS


  1. Towards ¡ Small ¡Portable ¡ VMs ¡ N. ¡Bouraqadi ¡and ¡L. ¡Fabresse ¡ Smtalltalks ¡nov ¡2010 ¡

  2. Mul@ple ¡devices ¡=> ¡Mul@ple ¡VMs ¡ Image ¡ VM ¡1 ¡ VM ¡2 ¡ VM ¡3 ¡ OS ¡1 ¡ OS ¡2 ¡ OS ¡3 ¡

  3. Por@ng ¡the ¡Squeak ¡VM ¡ Image ¡ Library ¡A ¡ Library ¡B ¡ Library ¡Z ¡ Plugin1 ¡ Plugin2 ¡ Plugin ¡x ¡ VM ¡ OS ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡

  4. Por@ng ¡the ¡Squeak ¡VM ¡ Image ¡ Library ¡A ¡ Library ¡B ¡ Library ¡Z ¡ Plugin1 ¡ Plugin2 ¡ Plugin ¡x ¡ VM ¡ Other ¡OS ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡

  5. Por@ng ¡the ¡Squeak ¡VM ¡ Image ¡ Library ¡A ¡ Library ¡B ¡ Library ¡Z ¡ Plugin1 ¡ Plugin2 ¡ Plugin ¡x ¡ VM ¡ Other ¡OS ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡

  6. Port ¡a ¡VM ¡ Modify plugins code

  7. Steps ¡to ¡Port ¡a ¡VM ¡ Low Level Poor IDE

  8. Currently ¡ Image ¡ VM ¡

  9. Currently ¡ Proposal ¡ Image ¡ Image ¡ VM ¡ VM ¡

  10. Currently ¡ Proposal ¡ OOP Image ¡ Image ¡ Smalltalk IDE VM ¡ VM ¡ Low Poor Level IDE

  11. Currently ¡ Proposal ¡ Easier Hard to Port to Port OOP Image ¡ Image ¡ Smalltalk IDE VM ¡ VM ¡ Low Poor Level IDE

  12. Proposal: ¡a ¡Smaller ¡VM ¡ Image ¡ Library ¡A ¡ Library ¡B ¡ Library ¡Z ¡ FFI ¡ VM ¡ OS ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡

  13. Por@ng ¡a ¡Smaller ¡VM ¡ Image ¡ Library ¡A ¡ Library ¡B ¡ Library ¡Z ¡ FFI ¡ VM ¡ Other ¡OS ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡

  14. Por@ng ¡a ¡Smaller ¡VM ¡ Image ¡ Library ¡A ¡ Library ¡B ¡ Library ¡Z ¡ FFI ¡ VM ¡ Other ¡OS ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡

  15. Port ¡Smaller ¡VM ¡ Image ¡ Library ¡A ¡ Library ¡B ¡ Library ¡Z ¡ Smalltalk IDE OOP FFI ¡ VM ¡ Other ¡OS ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡

  16. Experiment: ¡ FFI-­‑based ¡Network ¡Library ¡

  17. Current ¡network ¡library ¡ Image ¡ Network ¡ Socket ¡ VM ¡ Plugin ¡ Hard to port OS ¡ Network ¡API ¡

  18. Current ¡network ¡library ¡ ByteArray ¡ TCP+ ¡ IPv4 ¡+IPv6 ¡ IPv4 ¡+IPv6 ¡ UDP+… ¡ Socket ¡ SocketAdress ¡ ! y t HTTPSocket ¡ SocksSocket ¡ r i D 0% tested

  19. Overview ¡of ¡OCEAN ¡ Alien ¡ OCEAN ¡ Image ¡ Library ¡ Wrap POSIX Alien ¡ VM ¡ Lib. plugin ¡ POSIX ¡ OS ¡ <sys/socket.h> ¡

  20. OCEAN ¡Library ¡ Socket networkLibrary NetworkLibraryProxyFactory socketID WindowsLibrary MacOSLibrary TcpSocket UdpSocket LinuxLibrary PosixLibrary

  21. OCEAN ¡Library ¡ Socket networkLibrary NetworkLibraryProxyFactory socketID WindowsLibrary MacOSLibrary TcpSocket UdpSocket LinuxLibrary 100% P O O tested PosixLibrary

  22. Latest OCEAN ¡Library ¡ version Socket networkLibrary NetworkLibraryProxyFactory socketID WindowsLibrary MacOSLibrary TcpSocket UdpSocket LinuxLibrary 100% P O O tested PosixLibrary

  23. Hard ¡@me ¡wri@ng ¡tests! ¡ Socket ¡ Data ¡ closed? ¡ sent? ¡ Socket ¡ connected? ¡ Data ¡ received? ¡ ! ! ! ! ! ! y y c c n n e e r r r r u u c c n n o o C C

  24. OSProcess ¡for ¡tests ¡ Alien ¡ OSProcess ¡ OCEAN ¡ Image ¡ Library ¡ Library ¡ Alien ¡ OSProcess ¡ VM ¡ plugin ¡ plugin ¡ OS ¡ POSIX ¡ OS ¡ <sys/socket.h> ¡ API ¡

  25. OCEAN ¡first ¡evalua@on ¡ 350 ¡ 300 ¡ 250 ¡ 200 ¡ Ocean ¡ ms ¡ OldSocket ¡ 150 ¡ 100 ¡ 50 ¡ 0 ¡ Receive ¡10MB ¡ Send ¡10MB ¡

  26. Summary ¡ Smaller ¡VM ¡ Ease porting ¡ Image ¡ OOP VM ¡ FFI ¡ Smalltalk OS ¡ IDE

  27. Experiment ¡ Portable OOP Promising first 100% Alien-based Bench tested Networking Library

  28. Future Work Finish the OCEAN experiment Remove other VM plugins Identify the Minimal VM

  29. Towards ¡ Small ¡Portable ¡ VMs ¡ N. ¡Bouraqadi ¡and ¡L. ¡Fabresse ¡ Smtalltalks ¡nov ¡2010 ¡

Recommend


More recommend