1 / 41

Framework for Evaluating Distributed Smalltalk Interface

Framework for Evaluating Distributed Smalltalk Interface. Jan Lukeš xlukesj @fel.cvut.cz Czech Technical University. Contents. Framework Intention Distributed Systems User Interface Measurements Results Visualization Implementation Summary Future Work. Framework Intention.

llevy
Download Presentation

Framework for Evaluating Distributed Smalltalk Interface

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Framework for Evaluating Distributed Smalltalk Interface Jan Lukeš xlukesj@fel.cvut.cz Czech Technical University

  2. Contents • Framework Intention • Distributed Systems • User Interface • Measurements • Results Visualization • Implementation • Summary • Future Work

  3. Framework Intention • 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

  4. Distributed Systems • Distributed Smalltalk (DST) • CORBA in Smalltalk • generating IDL from Smalltalk code • different programming languages • Implicit Invocation Interface (I3) • alternative marshaler for DST • no IDL definitions • only Smalltalk-Smalltalk

  5. Distributed Systems II. • OpenTalk (OT) • framework for distributed system • implementation of St-St protocol • GemStone (GS) • object database - object security, users, access rights, transactions, replication • large number of objects and large objects, optimized queries

  6. Distributed Smalltalk (DST) • register object for lifecycleprotection against garbage collection • register object in naming serviceusing name instead of direct object reference • look up the object in naming servicereceived proxy object • send messages to proxy object

  7. CORBA Common Object Request Broker Architecture

  8. Implicit Invocation Interface (I3) • 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

  9. OpenTalk (OT) • 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

  10. GemStone (GS) • 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

  11. User Interface - Control Window

  12. User Interface - Menu Task Selection

  13. User Interface - Menu Task Selection II.

  14. How It Works • add names to list of free nodes • start VM+ORB on selected machine • node registred in naming service and control node appears started nodes • choose test to start on selected nodes • watch results in charts

  15. How It Works 1 4 3 2

  16. Measurements I. • Services: • data transfer , no services • life cycleregistration and unregistration • naming serviceregistration, unregistration and lookup

  17. Measurements II. • Data transfer • simple data types • Array/Sequence/String - different sizes • complex structures Char Char Char Char | Char | Char Char | Char | Char Char Char Char

  18. Measurements III. • Parallelism • no parallelism1 client, 1 server • par. on servermany clients , 1 server • par. on clientmany servers, 1 client

  19. Measurements IV. • Direction of data transfer • from client to server as a message argument • from server to client as a message result • both argument and result • oneway messages msg: arg msg result msg: arg result msg: arg

  20. Measurements V. • Number of ORBs • no ORB just standard message passing • one ORB simulation within one ORB • two ORB real communication between ORBs

  21. Measurements VI. • Locality • local several images on one machine • remote each one on different machine

  22. Measurements VII. • Interface • DST - Distributed Smalltalk • I3 - Implicit Invocation Interface • (OpenTalk) • (GemStone) • (other programming languages)

  23. Example of Results I.Naming Service - 1 ORB

  24. Example of Results II.Naming Service - 2 ORB

  25. Example of Results III.Simple Data Type - 1 ORB

  26. Example of Results IV.Simple Data Type - 2 ORB

  27. Example of Results V.Simple Data Type- I3 Summary

  28. Example of Results VI.Array - Rate

  29. Example of Results VII.Array - Throughput

  30. Example of Results VIII.String - Rate

  31. Example of Results IX.String - Throughput

  32. Saving Results • hierarchy of directories • data - text, boss • images - gif, postscript • reports - tex, dvi, postscript, pdf, html+gif • archives - tar+gzip • links to last version in case of repeated measurement

  33. Results - Files I. [jan@jan test_NS]$ echo $PWD /home/jan/vw7nc/results/Sun_Ray/Smalltalk/local/with_two_ORB/test_NS [jan@jan test_NS]$ ls -sh total 312K 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

  34. Results - Files II. 14K chart_xy_speed(number_of_objects)_1.eps 16K chart_xy_speed(number_of_objects)_1.gif 13K chart_xy_speed(number_of_objects)_2.eps 16K chart_xy_speed(number_of_objects)_2.gif 13K chart_xy_time(number_of_objects)_1.eps 16K chart_xy_time(number_of_objects)_1.gif 13K chart_xy_time(number_of_objects)_2.eps 16K chart_xy_time(number_of_objects)_2.gif 19 names_of_files.bos -> names_of_files1.bos 1.7K names_of_files1.bos

  35. Results - Files III. 11 report.dvi -> report1.dvi 12 report.html -> report1.htm l10 report.ps -> report1.ps 11 report.tex -> report1.tex 11 report.txt -> report1.txt 118 report1.aux 5.9K report1.dvi 3.8K report1.html 3.5K report1.log 96K report1.ps 4.7K report1.tex 2.2K report1.txt

  36. Implementation I. • Developing environment • Cincom Smalltalk VisualWorks 5i.4 ( - 7.1) • SunRay • Sun Blade 1000, 2 x UltraSparcIII 750MHz, 1GB RAM, OS Solaris 8, Ethernet 100Mb/s • Solaris • SparcStation 4, 64MB RAM, Sun OS 5.7, Ethernet 10Mb/s

  37. Implementation II. • Java Laboratory • Sun Ultra 5, UltraSparcIIi 400MHz, 128MB RAM, OS Solaris 8, Ethernet 100Mb/s • Standalone • PC AMD K6-2 450MHz, 256MB RAM, OS Red Hat Linux 8.0, standalone

  38. Results - Summary [jan@jan results]$ du -sh * 159M AMD_450 148M Java 146M Solaris 154M Sun_Ray

  39. Summary • automated framework with GUI • complex tests on group of computers • visualization of results immediately • limits, characteristics of particular interface

  40. Future Work • include OpenTalk and GemStone tests • more testing of complex structures • other programming languagesand several ORB vendors • optimizations of distributed interface • transfer of behaviour (code in methods)

  41. Questions Jan Lukeš xlukesj@fel.cvut.cz

More Related