130 likes | 301 Views
Distributed Systems. Jesper Holt Nielsen. Distributed Systems - Definition. Collection of independent computers appears as a single coherent system to the users Layers Network layer Middleware layer (on top of the OS) Application layer Make remote resources easy to access Transparency
E N D
Distributed Systems Jesper Holt Nielsen
Distributed Systems- Definition • Collection of independent computers appears as a single coherent system to the users • Layers • Network layer • Middleware layer (on top of the OS) • Application layer • Make remote resources easy to access • Transparency • Access, Location, Migration, Relocation, Replication, Concurreny, Failure • Scalibility
Distributed Systems- Basics • Bridging geographic distances • Improving performance and availability • Maintaining autonomy • Reducing cost • Allowing for interaction • Resources • Scalable
Project example • TwoBeagleBones • Differenttasks • Sensor • Controller • Abstractionlayer • Software API
Synchronization • Local clock, UTC and astronomical time. • Challenges • Different clock sync approaches • Real-time clock sync. • NTP – Client/server, with Stratum levels • Average clock sync (Berkeley, time daemon) • Embedded dist. Systems (with no external contact) • Logical Clocks • Events have to occur in specific order (hence the time is unnecessary) • Lamport’s logical clock (happens-before) • Reciever sync with sender • VectorClock’s • Events in otherprocessesbefore sending m • Synch clocks across a dist. System • Issues?
Lamport’s logical clocks • Each process has a local logical clock (t=0) • t = max(t, tq)+1 (message delivery) • t =t + 1 for every transition (local) • If A -> B then t(A) < t(B) • E.g. (5,p5) < (8,p2), (4,p2) < (4,p3)
VectorClocks • Process p has a localvectorvp of size n • Vp[i]=0 (for all i) • Transition updatelocalvp • vp[p]:=vp[p]+1 • vp[i]:=max(vp[i],vq[i]) • vq=clockmsg from the node
Causally‐Ordered Multicasting • Causally‐ordered multicasting: a message is delivered only if all messages that causally precede it have also been delivered
Distributed Systems- Real-time • Definition • Is other operations dependingon the result? • Within a fair amount of time • Challenges • Resources, waiting time, etc. the actual time during which something takes place
Distributed Systems- Problems/Challenges • It is all connected. Scalability, compromises fx. sync, bandwidth, security administrative domains etc. Improving one area, often vastly affects another area. • Reliability • Security • Heterogeneity • Network topology • Bandwidth and latancy • Costs • Administrative domains • Balance all areas of a dist. system. • Decrease consistency of dist. systems