Themes Communication Heterogeneity Heterogeneity Coordination and Consensus Coordination and Consensus Scalability and Failure Scalability and FailureDistributed SoftwareDevelopmentSummaryChris BrooksDepartment of Computer ScienceUniversity of San FranciscoDepartment of Computer Science — University of San Francisco – p. 1/??Themes•We’ve covered a lo t of territory this semester, but there areseveral themes that have shown up repeatedly•Communication•Heterogeneity•Coordination and Consensus•Scalability and FailureDepartment of Computer Science — University of San Francisco – p. 2/??Communication•Communication is an essential problem in a distributedsystem.•Synchronous/asynchronous, reliable/unreliable,in-order/not in-order•How to sequence messages without a global clock?•How to request services and reply to requests?Department of Computer Science — University of San Francisco – p. 3/??Heterogeneity•Distributed system components can be heterogeneo us inmany ways:•Software•Operating System•Hardware•Network•Capabilities•RequirementsDepartment of Computer Science — University of San Francisco – p. 4/??Heterogeneity•Ramifications:•XML, RDF, XSLT are language/platform independent•Service-oriented computing•P2P architectures account for network differential•Distributed problem solving•Integration and interoperationDepartment of Computer Science — University of San Francisco – p. 5/??Coordination and Consensus•This is a f undamental problem in distributed systems•Occurs at many different levels.•Causality•Group Membership•Leader Election•Mutual Ex clusion•Task Assignment•Transactions•Replication•Problem SolvingDepartment of Computer Science — University of San Francisco – p. 6/??Coordination and Consensus•Different sorts of problems demand different solutions•By characterizing the problem, we know whether solv ingthis will be trivial, difficult, or impossible.•In general, we can tolerate either failing processes or afailing network, but not both.Department of Computer Science — University of San Francisco – p. 7/??Scalability and Failure•Many of the topics we’ve discussed are responses to failureor scalability:•Replication•Peer-to-peer•Leader Election•Group FormationDepartment of Computer Science — University of San Francisco – p. 8/??Scalability and Failure•We’ve also talked about how failure and scalability canaffect an algorithm’s implementation.•Centralized bottlenecks•Types of failure•Failure detection and recovery•Multilateral negotation•Search in large-scale networksDepartment of Computer Science — University of San Francisco – p.
View Full Document