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 ¡

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend