1 / 17

TreadMarks

TreadMarks. Sebastian Niezgoda. What is it?. Distributed Shared Memory system Rice University project. DSM. Many nodes in a cluster Each has limited private memory A shared memory available (large). TreadMarks DSM. Supports parallel computing

lamond
Download Presentation

TreadMarks

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. TreadMarks Sebastian Niezgoda Sebastian Niezgoda

  2. What is it? • Distributed Shared Memory system • Rice University project

  3. DSM • Many nodes in a cluster • Each has limited private memory • A shared memory available (large)

  4. TreadMarks DSM • Supports parallel computing • Provides a shared address space for all machines in a cluster • Globally shared memory but execution in private memory

  5. TreadMarks DSM

  6. Why use DSM? • DSM provides an interface to the globally shared memory • Every processor can access every data item without the programmer needing to know/worry how to do it • How does MPI accomplish the “shared memory” access?

  7. TreadMarks memory model • Memory model defines how updates to shared memory are reflected to the processes in the system • TreadMarks uses release consistency

  8. TreadMarks release consistency • Synchronization is used to prevent race conditions between for parallel processes • Variable var is replicated to all processors • Only next processor that gets the lock can access var and only that processor knows about the change to var • Less message traffic

  9. TreadMarks release consistency • Modification info is piggybacked to the lock grant message • Invalidate protocol used • When acquired, modified pages are invalidated • Later access causes a miss and pages are re-acquired

  10. TreadMarks multiple-writer • Many processes can write to a page at the same time • Page is copied when written to processor’s private memory • Word-by-word comparison • Diffs are used to update the original • Benefits?

  11. TreadMarks Diff Creation

  12. TreadMarks API • Provides process creation, destruction, synchronization, shared memory allocation facilities • A user-level library in Unix – no kernel mods needed (comm and mem mgmt already provided) • Berkeley sockets for messaging • Every message is either a request or response

  13. Performance • Min round-trip time for smallest message 500 microseconds • Send 80 microseconds • Receive 80 microseconds • 180 microseconds for wire time, interrupts

  14. Performance cont. • Time to remotely acquire free lock 827 microseconds • 1149 microseconds if the manager did not have control of the block last • 2792 microseconds to obtain a 4096 byte page from another processor (a remote access miss)

  15. Performance cont. • Time to make twin: 167 microseconds (4kb pages) • Diff creation • 430 microseconds if page is unchanged • 472 microseconds if page changed • 686 microseconds worst case (every other word is changed)

  16. Applications • Mixed Integer Programming • Genetic Linkage Analysis

  17. References • “TreadMarks: Shared Memory Computing on Networks of Workstations” by Amza, Cox, Dwarkadas, Keleher, Lu, Rajamony, Yu, and Zwaenepoel. Rice University, Dept. of Computer Science • http://www.cs.rice.edu/~willy/TreadMarks/overview.html • http://en.wikipedia.org/wiki/Distributed_shared_memory

More Related