1 / 13

CS 584 Lecture 16

CS 584 Lecture 16. Assignment -- Due Friday C* program Paper reviews. Models of Parallelism. Message Passing (MPI, PVM) Data parallelism (C*) Global data-space (Linda). Linda. Consists of several operations that work on a global data space (tuple space)

Download Presentation

CS 584 Lecture 16

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. CS 584 Lecture 16 • Assignment -- Due Friday • C* program • Paper reviews

  2. Models of Parallelism • Message Passing (MPI, PVM) • Data parallelism (C*) • Global data-space (Linda)

  3. Linda • Consists of several operations that work on a global data space (tuple space) • The operations have been added to several languages. • MIMD programming model • Interaction is through tuple space

  4. Tuples • A tuple is an object consisting of: • a key • zero or more arguments • Example ("jim", 88, 1.5) • The key is used for matching

  5. Tuple Space • Global data space • Collection of tuples • Tuples may be: • inserted (out) • read (rd and rdp) • deleted (in and inp) • evaluated (eval) • forks a new worker

  6. Tuple Space

  7. Tuple Space • Updating a tuple • delete - modify - insert • Duplicate key entries is allowed • Non-determinism • inp and rdp guarantee to locate a matching tuple iff a matching tuple must have been added and could not have been removed before the request

  8. Example Programs • Database search • Master-Worker • Divide and Conquer

  9. procedure manager count = 0 until EOF do read datum from file OUT("datum", datum) count++ enddo best = 0.0 for j = 1 to count IN("score", value) if (value > best) best = value endfor for j = 1 to numworkers OUT("datum", "stop") endfor end

  10. procedure worker IN("datum", datum) until datum == "stop" value = compare(datum, target) OUT("score", value) IN("datum", datum) enddo end

  11. Tuple Space • Perfect candidate for a database. • Simplifies parallel programming? • Performance? • Consider the implementation of the tuple space.

  12. Tuple Space Implementation • Central • What advantages/disadvantages does this implementation present?

  13. Tuple Space Implementation • Distributed • What advantages/disadvantages does this implementation present?

More Related