Chapter 1 -_characterization_of_distributed_systems


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Chapter 1 -_characterization_of_distributed_systems

  1. 1. chapter 1
  2. 2. ObjectivesTo define what is a distributed systemTo know the consequences of thedefinitionTo identify the challenges in designing andbuilding a distributed system
  3. 3. Chapter OutlinesIntroductionExamples of Distributed SystemsChallenges of Distributed Systems
  4. 4. ♦ Data are Distributed» If data must exist in multiple computers for admin and ownershipreasons♦ Computation is Distributed» Applications taking advantage of parallelism, multiple processors,» particular feature» Scalability and heterogeneity of Distributed System♦ Users are Distributed» If Users communicate and interact via application (shared objects)
  5. 5. Definition of A Distributed System“A distributed system is a collection of independentcomputers that appear to the users of the system as asingle computer.” [Tanenbaum]“A distributed system is a collection of autonomouscomputers linked by a network with software designedto produce an integrated computing facility.”[Coulouris, Dollimore, Kindberg]“A system of multiple autonomous processingelements, cooperating in a common purpose or toachieve a common goal.” [Burns & Wellings 1997]
  6. 6. ”A system that consists of a collection of two or moreindependent computers, that are connected by anetwork, which coordinate their processing through theexchange of synchronous or asynchronous messagepassing. They may be on separate continents, in thesame building or the same room”.Definition from our textbook
  7. 7. Centralized vs. Distributed
  8. 8. IntroductionMotivation for A Distributed System Load balancing / distribution breaking a problem into smaller pieces enables you to solve largerproblems without resorting to larger computer MAINFRAME – 10 X faster but 1000 X expensive Increased Processing Power independent processors working on the same task Distributed systems consisting of collections of microcomputersmay have processing powers that no single computer will everachieve 10000 CPUs, each running at 50 MIPS, yields 500000 MIPS instruction to be executed in 0.002 nsec  equivalent to lightdistance of 0.6 mm  any processor chip of that size would meltimmediately
  9. 9. IntroductionMotivation for A Distributed SystemFault tolerance If any of the machine gets down, others can still runAvailability Anytime, anywhere accessResource sharing All clients can be server or vice versa to provide resources(data, files, services) The main motivator for DS
  10. 10. Examples
  11. 11. ExamplesSource :
  12. 12. ExamplesSource : Computing
  13. 13. ExamplesDistributed Computing
  14. 14. Challenges in Distributed SystemDistributed Computing
  15. 15. Challenge: HeterogeneityHeterogeneity = variety and differenceHeterogeneity ofunderlying network infrastructure (ethernet, ISDN, token ring etc),computer hardware and software (e.g., operating systems, compare UNIXsockets and Winsock calls),programming languages (java, C, python : in particular, datarepresentations),implementations by different developersHeterogeneity needs to be maskedDistributed Computing
  16. 16. determines whether the system can beextended and re-implemented in variouswaysDetermined primarily by the degree towhich new resource-sharing services can beadded and be made available for use byvariety of client programsDetailed interfaces of components need tobe standardized and published.Challenge: OpennessDistributed Computing
  17. 17. Security for information resources has three components:Confidentiality protection against disclosure to unauthorized individualsIntegrity protection against alteration or corruptionAvailability protection against interference with the means of accessing theresourcesThe challenge: sending sensitive information in a networkmessage in a secure manner efficientlyNot just to conceal the info but to ensure that the sender andrecipients are the rightful owners of the messagesChallenge: SecurityDistributed Computing
  18. 18. Challenge: ScalabilityA distributed system is scalable if it remains effectiveas the number of users and/or resources increaseChallenges:Controlling resource costsControlling performance lossPreventing resources from running outAvoiding performance bottlenecksDistributed Computing
  19. 19. Challenge: Failure HandlingFailures more common than in centralized systemsand usually partialFailure handling includesDetection (may be impossible)Masking/hidingToleranceRecoveryRedundancyDistributed Computing
  20. 20. Challenge: Failure HandlingDetectionSome possible (e.g., using transmission errors viachecksums)Some impossible (crashed remote server vs. slowremote server)Challenge: manage failures that cannot be detected, butsuspectedDistributed Computing
  21. 21. Challenge: Failure HandlingMasking/hidingSome failures can be hidden or made less severeReplication in space/time Space: e.g., writing to multiple disks Time: e.g., transmission of multiple messagesMay not work in worst cases, e.g., all disks may havebeen corruptedDistributed Computing
  22. 22. Challenge: Failure HandlingToleranceSometimes not feasible to hide all failuresE.g., user has to tolerate if web service has failed rather than waituntil service is up againOnly feasible for certain classes of applications/systems, e.g., DNSvs. Internet addressesRecoveryRestoring a correct system stateRoll back using log filesDistributed Computing
  23. 23. Challenge: Failure HandlingRedundancyTolerate failures by using redundant componentsProvided through replicationE.g., redundant routes in network, replication of name tables inmultiple domain name serversGoal of failure handling: high availabilityavailability of a system is a measure of the proportion of time thatthe system is available for useDistributed Computing
  24. 24. Challenge: ConcurrencyConcurrency controlHandling several simultaneous requests for a resource Consistent scheduling of concurrent threads (so thatdependencies are preserved, e.g., in concurrent transactions)Synchronized operations (semaphores) Safest, but limits throughputShared objects/resources must guarantee correctness in aconcurrent environmentAvoidance of deadlocksDistributed Computing
  25. 25. Challenge: TransparencyConcealing the heterogeneous and distributed natureof the system so that it appears to the user like onesystemEight types (ANSA/ISO)access, location, concurrency, replication, failure,mobility, performance and scaling transparenciesDistributed Computing
  26. 26. Challenge: Transparency•Access transparency:•enables local and remote resources to be accessed using identicaloperations.For instance, from a users point of view, access to a remote service such asa printer should be identical with access to a local printer.From a programmers point of view, the access method to a remote objectmay be identical to access a local object of the same class.•E.g., Same user interface and operations offered in order to access eitherlocal or remote resourcesDistributed Computing
  27. 27. Challenge: Transparency•Location transparency:•enables resources to be accessed without knowledge of their location.•The details of the topology of the system should be of no concern to theuser.•The location of an object in the system may not be visible to the user orprogrammer.•This differs from access transparency in that both the naming and accessmethods may be the same. Names may give no hint as to location.•E.g., URL or e-mail addresses.• (IP address is the physical location)Distributed Computing
  28. 28. Challenge: Transparency•Concurrency transparency:•enables several processes to operate concurrently using shared resourceswithout interference between them.•E.g., no conflict occur when 2 or more users accessing the same systemDistributed Computing
  29. 29. Challenge: Transparency•Replication transparency:•enables multiple instances of resources to be used to increase reliabilityand performance without knowledge of the replicas by users.•This kind of transparency should be mainly incorporated for the distributed filesystems, which replicate the data at two or more sites for more reliability. The clientgenerally should not be aware that a replicated copy of the data exists. The clientsshould also expect operations to return only one set of values.•The examples are Distributed DBMS and Mirroring of Web pages.•Failure transparency:•enables the concealment of faults, allowing users and applicationprograms to complete their tasks despite the failure of hardware orsoftware components.•E.g., retransmission of e-mail messages•Mobility transparency:•allows the movement of resources and clients within a system withoutaffecting the operation of users or programs.Distributed Computing
  30. 30. Challenge: Transparency•Mobility transparency:•allows the movement of resources and clients within a system withoutaffecting the operation of users or programs.•E.g., caller and callee undergoing different places while on the phoneDistributed Computing
  31. 31. Challenge: Transparency•Performance transparency:•allows the system to be reconfigured to improve performance as loadsvary.•Eg:Video On Demand (VOD) System•Scaling transparency:•allows the system and applications to expand in scale without change tothe system structure or the application algorithms.•Eg: P2P appsDistributed Computing
  32. 32. Transparency DescriptionAccessHide differences in data representation and how aresource is accessedLocation Hide where a resource is locatedMigration Hide that a resource may move to another locationRelocationHide that a resource may be moved to anotherlocation while in useReplication Hide that a resource may be replicatedConcurrencyHide that a resource may be shared by severalcompetitive usersFailure Hide the failure and recovery of a resourcePersistenceHide whether a (software) resource is in memory or ondisk
  33. 33. 1. Name a program that is using distributed computing and freelyavailable to the masses2. Name 1 research field that is relying heavily on distributed computing
  34. 34. SummaryA distributed system is a collection of independentand autonomous computers that appear to theusers of the system as a single computer.”Based on the above definition, there are threesignificant consequences :ConcurrencyNo global clockIndependent failuresSeveral challenges need to be addressed indesigning and building DSHeterogeneity, openness, security, scalability, failurehandling, concurrency and transparency.Distributed Computing