html5-img
1 / 23

An Associative Broadcast Based Coordination Model for Distributed Processes

An Associative Broadcast Based Coordination Model for Distributed Processes. James C. Browne Kevin Kane Hongxia Tian Department of Computer Sciences The University of Texas at Austin. Contents. Associative Broadcast Building an Application Example Application: Convex Hull

luke
Download Presentation

An Associative Broadcast Based Coordination Model for Distributed Processes

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. An Associative Broadcast Based Coordination Model for Distributed Processes James C. Browne Kevin Kane Hongxia Tian Department of Computer Sciences The University of Texas at Austin

  2. Contents • Associative Broadcast • Building an Application • Example Application: Convex Hull • Future Work, Summary, and Conclusions

  3. Associative Broadcast • Just like in IP Multicast, • Messages addressed to arbitrarily-chosen numerical group. • Nodes subscribe to those groups. • But addressing is more powerful. • Node addresses are tables of attributes (“profiles”) • Messages are addressed to “profiles.”

  4. Profiles • Profile: table of attributes and attribute/value pairs Optional value Name Linux Version “7.0” Memory 128

  5. Messages and Selectors • Message: A two-tuple of (Selector, Data) • Selector: propositional logic expressions over profiles. • Existence of attribute • Comparison of attribute values • Equality • Inequalities for ordered value types • Compound Boolean (AND/OR) • Data: Transaction name, control flow protocol, application payload

  6. Selector to Profile Matching • Examine selector of message • Consult profile for attributes. • If selector evaluates true, message passed to application • Semantics: Selector evaluated when receive primitive called • All messages queued until called for

  7. Specifying an Application • The attribute domain in which the profiles and selectors are specified • Each component of the application as a state machine • Rules for binding states to profiles • Protocols for interactions including message and selector details • Required common state information

  8. Application Execution Behavior • Each entity governed by its state machine • Profile set to correspond to initial state • When a message is received that satisfies the profile: • State machine transitions to new state • Executes some action • Possibly associatively broadcasting one or more messages • Set profile to correspond to new state

  9. Associative Interfaces and Interactions • Accepts interface: set of (profile, transaction, protocol) tuples • Represents the services the process provides. • Transaction: Method invocation, or unit of work. • Protocols: data flow (asynchronous) and call-return (synchronous). • Requests interface: set of (selector, transaction, protocol) tuples • Represents the services the process requires. • These interfaces can, and usually will, change during execution of the system.

  10. Status • Working runtime system implementing the communication layer. • Applications implemented: distributed mutual exclusion, distributed readers/writers, convex hull, some parallel linear algebra algorithms. • Extension of the associative interface to multiple message conditions. (Data flow firing rules)

  11. Implementation • Implemented as Java classes on an Ethernet • Timed Reliable Broadcast • Applications require knowledge of maximum network latency • Applications require guarantee of reliable delivery of broadcasts • Implemented reliable broadcast based on Kaashoek

  12. Example: Convex Hull Convex hull in 2-D: Subset of points that form a convex polygon containing all points in the set.

  13. Incremental Convex Hull • Traditional approach: Guess… Max Y Quadrant Coordinate axes Min X Max X Red point = in the hull Min Y

  14. Incremental Convex Hull • …then refine. Green = hull refinement lines

  15. Example: Convex Hull – Algorithm Specification • Every point represented as a process • Process common state is the current “incremental” convex hull • Points coordinate with each other to refine the hull until all points are contained

  16. Example: Convex Hull – Domain Attributes • Status: Yes/No/Unknown indicating membership in the convex hull • State: MinX/MinY/MaxX/MaxY/Other • Quadrant: Computed quadrant value • X and Y: Point coordinates

  17. Example: Convex Hull – Algorithm Specification • Each point • Determines whether it is x/y min/max. • Determines its quadrant. • Computes a line joining “nearest” known hull points,determines position with respect to this line. • Continues previous step until membership in hull is confirmed or negated.

  18. Example: Convex Hull – Selector Samples • Signaling completion for a quadrant: • Quadrant == 1 • Sending a refinement out: • Status == Unknown && Quadrant == 2 && X >= 2.0 && X <= 10.0

  19. Yes No Receive segment endpoints Status := YES Not contained No Contained Yes Broadcast segment endpoints Status := NO Completed Example: Convex Hull - States Determine min/max status Determine quadrant Compute hull segment Determine relative position Farthest point from segment?

  20. Properties of Associative Broadcast Coordination and Composition • Coordination among dynamic sets with dynamic behaviors • Fault-tolerance and replication follow from coordination model • Integration of coordination and composition • Processes are fully distributed and symmetric

  21. Relation to Data-Driven vs. Control-Driven Models • Combination of data-driven and control-driven models • Data-driven: State changes caused by message reception • Control-driven: Interfaces are kept separate, and link into computational code • Transient Channels

  22. Related Work • Linda: Pattern matching on tuple extraction • Associative Broadcast: Distributed Tuple Space • Structured Dagger: message-driven programming style • Splice: Interface-mediated communication, receiver-controlled subscriptions

  23. Future Work • System definition language • Specification of accepts and requests interface • Matching of interfaces to ensure all requests can be serviced • Libraries of modules to service requests not serviced by the program itself • Integration of runtime and compile time composition.

More Related