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

towards small portable vms
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Towards ¡ Small ¡Portable ¡ VMs ¡

  • N. ¡Bouraqadi ¡and ¡L. ¡Fabresse ¡

Smtalltalks ¡nov ¡2010 ¡

slide-2
SLIDE 2

Mul@ple ¡devices ¡=> ¡Mul@ple ¡VMs ¡

VM ¡1 ¡ OS ¡1 ¡ OS ¡2 ¡ OS ¡3 ¡ VM ¡2 ¡ VM ¡3 ¡ Image ¡

slide-3
SLIDE 3

VM ¡ Image ¡ OS ¡

Library ¡A ¡ Plugin1 ¡ Plugin2 ¡ Plugin ¡x ¡ Library ¡B ¡ Library ¡Z ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡

Por@ng ¡the ¡Squeak ¡VM ¡

slide-4
SLIDE 4

Other ¡OS ¡ VM ¡ Image ¡

Library ¡A ¡ Plugin1 ¡ Plugin2 ¡ Plugin ¡x ¡ Library ¡B ¡ Library ¡Z ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡

Por@ng ¡the ¡Squeak ¡VM ¡

slide-5
SLIDE 5

Other ¡OS ¡ VM ¡ Image ¡

Library ¡A ¡ Plugin1 ¡ Plugin2 ¡ Plugin ¡x ¡ Library ¡B ¡ Library ¡Z ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡

Por@ng ¡the ¡Squeak ¡VM ¡

slide-6
SLIDE 6

Port ¡a ¡VM ¡

Modify plugins code

slide-7
SLIDE 7

Steps ¡to ¡Port ¡a ¡VM ¡

Low Level Poor IDE

slide-8
SLIDE 8

VM ¡ Image ¡

Currently ¡

slide-9
SLIDE 9

VM ¡ Image ¡ VM ¡ Image ¡

Currently ¡ Proposal ¡

slide-10
SLIDE 10

VM ¡ Image ¡

Currently ¡

VM ¡ Image ¡

Smalltalk IDE Low Level Poor IDE OOP

Proposal ¡

slide-11
SLIDE 11

Proposal ¡

VM ¡ Image ¡ VM ¡ Image ¡

Currently ¡

Smalltalk IDE Low Level Poor IDE OOP

Hard to Port Easier to Port

slide-12
SLIDE 12

VM ¡ Image ¡ OS ¡

Library ¡A ¡ Library ¡B ¡ Library ¡Z ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡

Proposal: ¡a ¡Smaller ¡VM ¡

FFI ¡

slide-13
SLIDE 13

VM ¡ Image ¡ Other ¡OS ¡

Library ¡A ¡ Library ¡B ¡ Library ¡Z ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡

Por@ng ¡a ¡Smaller ¡VM ¡

FFI ¡

slide-14
SLIDE 14

VM ¡ Image ¡ Other ¡OS ¡

Library ¡A ¡ Library ¡B ¡ Library ¡Z ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡

Por@ng ¡a ¡Smaller ¡VM ¡

FFI ¡

slide-15
SLIDE 15

VM ¡ Image ¡ Other ¡OS ¡

Library ¡A ¡ Library ¡B ¡ Library ¡Z ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡

Port ¡Smaller ¡VM ¡

OOP Smalltalk IDE

FFI ¡

slide-16
SLIDE 16

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

slide-17
SLIDE 17

VM ¡ Image ¡ OS ¡

Network ¡ Network ¡API ¡

Current ¡network ¡library ¡

Socket ¡ Plugin ¡

Hard to port

slide-18
SLIDE 18

Socket ¡ HTTPSocket ¡ SocksSocket ¡ SocketAdress ¡ ByteArray ¡ TCP+ ¡ UDP+… ¡ IPv4 ¡+IPv6 ¡ IPv4 ¡+IPv6 ¡

Current ¡network ¡library ¡

0% tested

D i r t y !

slide-19
SLIDE 19

VM ¡ Image ¡ OS ¡ OCEAN ¡

Overview ¡of ¡OCEAN ¡

Alien ¡ plugin ¡ Alien ¡ Library ¡

Wrap POSIX Lib.

POSIX ¡ <sys/socket.h> ¡

slide-20
SLIDE 20

OCEAN ¡Library ¡

TcpSocket UdpSocket NetworkLibraryProxyFactory WindowsLibrary LinuxLibrary Socket

networkLibrary socketID

MacOSLibrary PosixLibrary

slide-21
SLIDE 21

OCEAN ¡Library ¡

TcpSocket UdpSocket NetworkLibraryProxyFactory WindowsLibrary LinuxLibrary Socket

networkLibrary socketID

MacOSLibrary PosixLibrary

O O P

100% tested

slide-22
SLIDE 22

TcpSocket UdpSocket NetworkLibraryProxyFactory WindowsLibrary LinuxLibrary Socket

networkLibrary socketID

MacOSLibrary PosixLibrary

OCEAN ¡Library ¡

O O P

100% tested

Latest version

slide-23
SLIDE 23

Hard ¡@me ¡wri@ng ¡tests! ¡

Socket ¡ connected? ¡ Data ¡ received? ¡ Data ¡ sent? ¡ Socket ¡ closed? ¡

C

  • C
  • n

c u n c u r r r r e e n c n c y y ! ! ! ! ! !

slide-24
SLIDE 24

VM ¡ Image ¡ OS ¡ OCEAN ¡

OSProcess ¡for ¡tests ¡

Alien ¡ plugin ¡ Alien ¡ Library ¡

POSIX ¡ <sys/socket.h> ¡

OS ¡ API ¡ OSProcess ¡ Library ¡ OSProcess ¡ plugin ¡

slide-25
SLIDE 25

OCEAN ¡first ¡evalua@on ¡

0 ¡ 50 ¡ 100 ¡ 150 ¡ 200 ¡ 250 ¡ 300 ¡ 350 ¡ Receive ¡10MB ¡ Send ¡10MB ¡ ms ¡ Ocean ¡ OldSocket ¡

slide-26
SLIDE 26

Summary ¡

Smaller ¡VM ¡

OOP

VM ¡ Image ¡ OS ¡

FFI ¡

Smalltalk IDE

Ease porting ¡

slide-27
SLIDE 27

Experiment ¡

Alien-based Networking Library

Promising first Bench 100% tested

OOP

Portable

slide-28
SLIDE 28

Future Work

Remove other VM plugins Finish the OCEAN experiment Identify the Minimal VM

slide-29
SLIDE 29

Towards ¡ Small ¡Portable ¡ VMs ¡

  • N. ¡Bouraqadi ¡and ¡L. ¡Fabresse ¡

Smtalltalks ¡nov ¡2010 ¡