Coordination Flashcards
What is the fundamental equation of modern coordination theories?
Concurrent/Distributed Programming = Computation + Coordination
What are the three components of a coordination model?
(E,M,L)
What are the three main categories of coordination models?
Tuple Space Model, Event-based Models, Multiagent Protocols
What is the basic principle of Linda’s generative communication?
Processes communicate through insertion or retrieval of data objects (Tuples) from shared Data Space
What are the five core Linda operations?
out(t) - insert tuple, in(at) - remove matching tuple, rd(at) - read matching tuple, inp(at) - test existence, eval(t) - add active tuple
What are the two rules for tuple matching in Linda?
1) Must have same number of fields 2) If template field is value, must match exactly; if template field is variable, tuple field must match type
Why is updating a tuple impossible in Linda?
You need to remove and re-insert it
What is the Masters and Workers Pattern in Linda?
Master divides work into tasks in global space, workers retrieve tasks and put results back, master gathers results
What are the four main benefits of Linda?
Good nondeterminism leading to adaptivity, structured naming, time uncoupling, space uncoupling
What are the main limitations of Linda?
Event handling challenges, minimal language features, implementation challenges, security concerns, limited coordination law programmability
What are the two extended Linda operations for event handling?
sub((at), Handler) - subscribes to tuple events, out((t), timeout) - creates temporary tuples
What are the two key requirements for distributed tuple space implementation?
Reachability (all matching tuples must be findable), Consistency (single instance extraction)
What is the main principle of Replicative Ins Strategy?
Process writes local copy of outs, processes broadcast ins and reads
What is the main principle of Replicative Outs Strategy?
Process broadcasts outs to every tuple space, processes perform ins and reads locally
How does Hash-based Strategy work in tuple space implementation?
Defines function H that maps tuple to one of N nodes, ensures matching tuples/templates map to same node
What are the four main benefits of Local Multiple Tuple Spaces?
Separation of Concerns, Encapsulation, Security, Localized Interactions
What is the Matrix Partitionative Strategy for tuple spaces?
Nodes arranged in virtual matrix, ins/read on column of local node, outs on row of local node
What example is given for local vs global services in a smart hotel?
Local: meeting room and guest room services; Global: coordination of processes at global level
What are the six properties a good coordination language must support?
Separation between computation and coordination, Support for autonomous components, Distribution and transparency, Decentralization, Dynamics and Adaptivity, Interoperability and Openness
What are the four main challenges in modern distributed applications?
Components lack pre-defined roles, Encapsulation requirements, Need for explicit interaction control, Minimal coupling between components