DOC PREVIEW
USF CS 682 - Fundamentals of Distributed Computing

This preview shows page 1 out of 3 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

{small lecturenumber - heblocknumber :} Definitionsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Advantages of a distributed systemaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Advantages of a distributed systemaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Disadvantages of distributed systemsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Design Issuesaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Transparencyaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Transparencyaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Flexibilityaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Reliabilityaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Performanceaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Distributed Programming Paradigmsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Communication paradigmsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Types of process failureaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Types of Communication Failureaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Summaryaddtocounter {blocknumber}{1}Distributed Software DevelopmentFundamentals of Distributed ComputingChris BrooksDepartment of Computer ScienceUniversity of San FranciscoDepartment of Computer Science — University of San Francisco – p.1/??2a-0: DefinitionsWhat is a distributed system?(Couloris) “A distributed system is one in whichhardware or software components communicate orcoordinate their actions only by passing messages.”(Tanenbaum) “A distributed system is a collection ofindependent computers that appear to the users of thesystem as a single computer.”(Lamport) “You know you have one when the crash of acomputer you’ve never heard of stops you from gettingany work done.”All of these get at different aspects of the issue ...Department of Computer Science — University of San Francisco – p.2/??2a-1: Advantages of a distributedsystemCan share expensive resources or dataEconomicsA collection of PCs can provide betterprice/performance than a single mainframe.SpeedA distributed system will often have more computingpower than a single mainframe.Inherent distributionOften, your data/users/resources are geographicallydistributedDepartment of Computer Science — University of San Francisco – p.3/??2a-2: Advantages of a distributedsystemReliabilityIf one node fails, the rest of the system can continueIncremental growthComponents can be added or replaced in smallincrements..Department of Computer Science — University of San Francisco – p.4/??2a-3: Disadvantages of distributedsystemsSoftware design is much more complicated.Lack of appropriate tools/languagesDisagreement on principles: how much should usersknow about the system? How much the system handleon a user’s behalf?Potential network saturationPrivacy and security issuesAllowing resources to be shared can lead to dataleakageExtra sysadmin workDepartment of Computer Science — University of San Francisco – p.5/??2a-4: Design IssuesTransparencyFlexibilityDependabilityPerformanceScalabilityDepartment of Computer Science — University of San Francisco – p.6/??2a-5: TransparencyThe goal of transparency is a single-system imageFrom the user’s POV, it looks like a single machine.Types of transparency:Location transparency - Users cannot tell where theirresources are actually located.Migration transparency - Resources can move withoutchanging their names.Replication transparency - the number of copies of aresource is hidden from users.Concurrency transparency - Users can shareresources without being aware of the presence of otherusers.Parallelism transparency - A task can be run onmultiple machines without the user being aware of it.Department of Computer Science — University of San Francisco – p.7/??2a-6: TransparencyIs transparency always a good thing? What is thedownside?Department of Computer Science — University of San Francisco – p.8/??2a-7: FlexibilityFlexibility refers to how easy or difficult it is to change orreconfigure a system.The research question is how to best provide flexibility.In the OS world, this debate shows up in the comparisonof monolithic kernels and microkernels.Monolithic kernel - Provides most services on its ownMicrokernel - Only handles a simple set of services.Most other services are implemented at the user level.Microkernel is very flexible and modular; services can beadded, deleted, or moved without much reconfiguration.Monolithic kernel gives better performance.Department of Computer Science — University of San Francisco – p.9/??2a-8: ReliabilityThere are several different aspects of reliability:Availability: what fraction of the time is the systemusable?Integrity: Data must be kept consistent. (thissometimes clashes with availability)Security: Unauthorized usage must be prevented.Fault tolerance: How unpleasantly does the systemfail? Is data lost? Can recovery happen?Department of Computer Science — University of San Francisco – p.10/??2a-9: PerformancePerformance is trickier than it appears.lots of possible metricsResponse timeThroughputSystem utilizationNetwork capacityTypically, communication costs dominateThis leads to a coarser-grained parallelism that we wouldsee in a parallel computer.Department of Computer Science — University of San Francisco – p.11/??2a-10: Distributed ProgrammingParadigmsClient/server modelRemote Procedure CallDistributed Shared MemoryGroup Communication/multicast/Peer-to-peerDistributed objectsWeb servicesDepartment of Computer Science — University of San Francisco – p.12/??2a-11: Communication paradigmsAsynchronous: there is no bound on message delay orclock driftSynchronous:Known upper bound b on message delayEvery process p has a local clock Cpwhich drifts at arate of r > 0 and ∀p and ∀t > t0:(1 + r)−1≤Cp(t)−Cp(t0)t−t0≤ (1 + r)In English, clock drift has an upper and lower bound.Also, bounds on the amount of time needed for aprocess to execute a single step.Synchronous communication allows you to implementapproximately synchronized clocks, even in the presenceof failure.Department of Computer Science — University of San Francisco – p.13/??2a-12: Types of process failureIn looking at different protocols and


View Full Document

USF CS 682 - Fundamentals of Distributed Computing

Documents in this Course
Load more
Download Fundamentals of Distributed Computing
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Fundamentals of Distributed Computing and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Fundamentals of Distributed Computing 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?