1 / 24

Shared Memory Management for VisualWorks

Shared Memory Management for VisualWorks. Holger Guhl Senior Smalltalker at Georg Heeg eK www.heeg.de mailto: holger@heeg.de. Shared Memory Management for VisualWorks. What ?. shared memory. Why?. http://www.flickr.com/photos/ben_salter/.

peony
Download Presentation

Shared Memory Management for VisualWorks

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. Shared Memory Management for VisualWorks

  2. Holger Guhl • Senior Smalltalker at Georg Heeg eK • www.heeg.de • mailto: holger@heeg.de

  3. Shared Memory Management for VisualWorks

  4. What? shared memory Why? http://www.flickr.com/photos/ben_salter/

  5. Personal Experience:software assessment project huge customer project took 4 hours!

  6. Polycephaly = useall CPUs

  7. PolycephalyExample | drones result | drones := VirtualMachines new: 4. result := drones do: '[:a :b | a + b]' with: #(1 2 3 4 5) with: #(5 4 3 2 1). result = #(6 6 6 6 6)

  8. Project “Software Assessment” Needs toreportmuchresults Perfectoptionsfortaskdistribution (per package, class) • Disappointingresults: • Communication overhead consumed all time gains

  9. Shared Memory = morespeed?

  10. Tools Architecture

  11. ApplicationScheme CPU 1 CPU 2 Remote Semaphore MASTER DRONE Shared Memory

  12. RemoteSemaphore • MutuallyexclusiveShared Memory access • Createdbymasterimage • Twin in droneimage • Synchronizedvia OS eventmessages

  13. SemaphoreEventRelay • Organize connection to other images • Instances in connected images • Communication center for remote semaphore messages • #signalRemote • #waitRemote

  14. SharedMemory-ExampleApp • Install Shared Memory • Start Polycephaly drone. • Start drone client, use Shared Memory. • Start drone service for pure Shared Memory use cases. • Run profiler.

  15. Time Profiles

  16. Shared memory raw read/write

  17. Shared memory raw read/write

  18. SharedMemory Overhead • SemaphoreEventRelaymutex roundtrip • with OS event messages = 117 µs • with UDP socket messages = 399 µs

  19. Polycephaly Use Cases Overhead: Request to evaluate the empty block = 12,519 µs

  20. Polycephaly with Shared Memory • Polycephaly requests, result via protected shared memory

  21. Shared Memory Command And Data Exchange • Shared memory command, protected write, unprotected read

  22. FractalExplorer Shared Memory dataexchangesaves 5 seconds from a total of 109 seconds…

  23. Conclusions • Shared Memory can speed up transfer significantly • massive data exchange • simple data • Impressive reduction potential of 97% • Perspectives for applications that suffer from high load for data exchange.

More Related