Framework for Evaluating Distributed Smalltalk Interface Jan Luke
Framework for Evaluating Distributed Smalltalk Interface Jan Lukeš xlukesj@fel. cvut. cz Czech Technical University
Contents l l l l Framework Intention Distributed Systems User Interface Measurements Results Visualization Implementation Summary Future Work
Framework Intention l l l control measurement with GUI start and terminate VM and ORB on other machines results collected and saved on one place with good structure visualization of results in charts show results during measurements get limits and characteristics from results
Distributed Systems l Distributed Smalltalk (DST) – CORBA in Smalltalk – generating IDL from Smalltalk code – different programming languages l Implicit Invocation Interface (I 3) – alternative marshaler for DST – no IDL definitions – only Smalltalk-Smalltalk
Distributed Systems II. l Open. Talk (OT) – framework for distributed system – implementation of St-St protocol l Gem. Stone (GS) – object database - object security, users, access rights, transactions, replication – large number of objects and large objects, optimized queries
Distributed Smalltalk (DST) l register object for lifecycle protection against garbage collection l register object in naming service using name instead of direct object reference l look up the object in naming service received proxy object l send messages to proxy object
CORBA Common Object Request Broker Architecture
Implicit Invocation Interface (I 3) l l l alternative marshaler fo DST no IDL definitions necessary passing objects by value / by reference setting pass mode per class, instance or instance variable classes passed just by name no methods are passed, just data
Open. Talk (OT) l l l general framework for distributed system on top of TCP and UDP several protocols including St-St protocols unicast, multicast and broadcast protocol own implementation of services - naming, event, multiplexing broker with services provides interface between Smalltalk and network
Gem. Stone (GS) l l l l large shared object repository multiuser environment with sessions concurrent environment with locks replication, forwarding, maintaining integrity class versions, history, migration of instances transactions, restoring security - users with access rights, ownership, profiles, groups security, authorization on object level object database, optimized queries, storing more and larger objects
User Interface - Control Window
User Interface - Menu Task Selection
User Interface - Menu Task Selection II.
How It Works l add names to list of free nodes l start VM+ORB on selected machine l node registred in naming service and control node appears started nodes l choose test to start on selected nodes l watch results in charts
How It Works 4 3 2 1
Measurements I. l Services: – data transfer , no services – life cycle registration and unregistration – naming service registration, unregistration and lookup
Measurements II. l Data transfer – simple data types Char – Array/Sequence/String - different sizes Char | Char – complex structures Char
Measurements III. l Parallelism – no parallelism 1 client, 1 server – par. on server many clients , 1 server – par. on client many servers, 1 client
Measurements IV. l Direction of data transfer – from client to server as a message argument – from server to client as a message result – both argument and result msg: arg – oneway messages result msg: arg msg
Measurements V. l Number of ORBs – no ORB just standard message passing – one ORB simulation within one ORB – two ORB real communication between ORBs
Measurements VI. l Locality – local several images on one machine – remote each one on different machine
Measurements VII. l Interface – DST - Distributed Smalltalk – I 3 - Implicit Invocation Interface – (Open. Talk) – (Gem. Stone) – (other programming languages)
Example of Results I. Naming Service - 1 ORB
Example of Results II. Naming Service - 2 ORB
Example of Results III. Simple Data Type - 1 ORB
Example of Results IV. Simple Data Type - 2 ORB
Example of Results V. Simple Data Type - I 3 Summary
Example of Results VI. Array - Rate
Example of Results VII. Array - Throughput
Example of Results VIII. String - Rate
Example of Results IX. String - Throughput
Saving Results l hierarchy of directories l data - text, boss l images - gif, postscript l reports - tex, dvi, postscript, pdf, html+gif l archives - tar+gzip l links to last version in case of repeated measurement
Results - Files I. [jan@jan test_NS]$ echo $PWD /home/jan/vw 7 nc/results/Sun_Ray/Smalltalk/local/w ith_two_ORB/test_NS [jan@jan test_NS]$ ls -sh total 312 K 899 data_xy_speed(number_of_objects)_1. bos 521 data_xy_speed(number_of_objects)_1. txt 901 data_xy_speed(number_of_objects)_2. bos 524 data_xy_speed(number_of_objects)_2. txt 890 data_xy_time(number_of_objects)_1. bos 480 data_xy_time(number_of_objects)_1. txt 892 data_xy_time(number_of_objects)_2. bos 483 data_xy_time(number_of_objects)_2. txt
Results - Files II. 14 K chart_xy_speed(number_of_objects)_1. eps 16 K chart_xy_speed(number_of_objects)_1. gif 13 K chart_xy_speed(number_of_objects)_2. eps 16 K chart_xy_speed(number_of_objects)_2. gif 13 K chart_xy_time(number_of_objects)_1. eps 16 K chart_xy_time(number_of_objects)_1. gif 13 K chart_xy_time(number_of_objects)_2. eps 16 K chart_xy_time(number_of_objects)_2. gif 19 names_of_files. bos -> names_of_files 1. bos 1. 7 K names_of_files 1. bos
Results - Files III. 11 report. dvi -> report 1. dvi 12 report. html -> report 1. htm l 10 report. ps -> report 1. ps 11 report. tex -> report 1. tex 11 report. txt -> report 1. txt 118 report 1. aux 5. 9 K report 1. dvi 3. 8 K report 1. html 3. 5 K report 1. log 96 K report 1. ps 4. 7 K report 1. tex 2. 2 K report 1. txt
Implementation I. l Developing environment – Cincom Smalltalk Visual. Works 5 i. 4 ( - 7. 1) l Sun. Ray – Sun Blade 1000, 2 x Ultra. Sparc. III 750 MHz, 1 GB RAM, OS Solaris 8, Ethernet 100 Mb/s l Solaris – Sparc. Station 4, 64 MB RAM, Sun OS 5. 7, Ethernet 10 Mb/s
Implementation II. l Java Laboratory – Sun Ultra 5, Ultra. Sparc. IIi 400 MHz, 128 MB RAM, OS Solaris 8, Ethernet 100 Mb/s l Standalone – PC AMD K 6 -2 450 MHz, 256 MB RAM, OS Red Hat Linux 8. 0, standalone
Results - Summary [jan@jan results]$ du -sh * 159 M AMD_450 148 M Java 146 M Solaris 154 M Sun_Ray
Summary l automated framework with GUI l complex tests on group of computers l visualization of results immediately l limits, characteristics of particular interface
Future Work l include Open. Talk and Gem. Stone tests l more testing of complex structures l other programming languages and several ORB vendors l optimizations of distributed interface l transfer of behaviour (code in methods)
Questions Jan Lukeš xlukesj@fel. cvut. cz
- Slides: 41