Evolution Of Distributed Computing Theory - Semantic Scholar

1y ago
13 Views
2 Downloads
7.28 MB
73 Pages
Last View : Today
Last Download : 3m ago
Upload by : Grady Mosby
Transcription

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionEvolution of Distributed Computing TheoryFrom concurrency to networks and beyondMichael J. FischerYale UniversityAugust 20, 2008PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusion1The Computing World of the 1970’s2The Dawn of Distributed Computing3Characteristic Elements of Distributed Computing Theory4ConclusionPODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsBackground to Distributed Computing:The Computing World of the 1970’sPODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsHow we computed in the 1970’s. . big.gifPODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating Systems. . . how we wrote papers. . .http://www.stat.pitt.edu/stoffer/redsel.jpgPODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating Systems. . . and how we did research.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsTheory before 1970Theoretical computer science grew out of challenges faced bycomputer pioneers.ChallengePrograms and algorithmsComputer hardwareProgramming languagesOperating systemsCorresponding theory Recursive function/complexity theory Switching and automata theory Language theory and formal semantics Concurrency theoryComputer networks were just beginning to be developed andhadn’t yet reached the radar screens of theoreticians.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsRecursive function theoryRecursive function theory asks the questions:“What is an effective process?”“What is computable?”Three themes.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsMajor theme 1 – simulationChurch’s Thesis: All “reasonable” models of effectivecomputation are equivalent.Recursion equationsTuring machinesλ-calculusPODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsMajor theme 2 – negative (“lower bound”) resultsThe halting set H is the set of all programs that halt when fedtheir own descriptions as input.TheoremH is undecidable.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsMajor theme 3 – relative computabilityOracle Turing machine: Can query an infinite database called anoracle during its computation.Allows computability of different problems to be related.Problem X is Turing reducible to problem Y (X T Y ) if X isdecidable by a Turing machine with a Y oracle.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsFriedberg-Muchnik theorem [Fri57]TheoremThere exist recursively enumerable sets A and B such that A 6 T Band B 6 T A, but both are reducible to the halting set H.Thus, there are pairs of incomparable undecidable sets that areboth “less undecidable” than the halting problem.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsAbstract complexity theoryRefines notion of computability.Considers not only existence of a solution but also itscomputational complexity.Theorem (Lynch, Fischer, Meyer [LMF76])There exist recursive sets A and B such that both are “hard” tocompute, and both remain “hard” in the presence of the other,that is, A is still hard to compute by a Turing machine with accessto a B oracle, and vice versa.Intuitively, they are hard for different reasons.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsSwitching theoryDates back to Claude Shannon’s 1937 master’s thesis [Sha37].Shannon applied Boolean algebra to the design ofelectromechanical relay switching circuits.Later gave rise to the now-familiar Boolean circuit model ofcomputation.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsAutomata theoryThe notion of state is essential to computer hardware design.A finite automaton is an abstraction of a state machine.Kleene [Kle56] developed regular expressions to describe sets ofsequences.Rabin and Scott [RS59] made two major advances for which theywon the Turing award:They introduced the notion of nondeterministic computation;They showed equivalence between regular expressions,deterministic finite automata, and nondeterministic finiteautomata.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsLanguage theoryOutgrowth of work on programming languages, compilers, andnatural language processing.Considered various formalisms for describing language syntax:Regular languages;Context-free languages;Context-sensitive languages;Finite automata;Pushdown automata;Linear-bounded automata.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsLanguage theory (cont.)Positive results:Finite automata accept regular languages.Pushdown automata accept context-free languages.Linear bounded automata accept context-sensitive languages.Negative results:Pushdown automata are more powerful than finite automata.Linear bounded automata are more powerful that pushdownautomata.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsFormal semanticsGoal: Give rigorous definition to the meaning of programs.Approaches:Operational semantics: Relate program construct to actions ofan abstract machine model.Denotational semantics: Map programs to mathematicalobjects which they denote.Axiomatic semantics: Define meaning of programs by usingformal logic to characterize their properties.In each case, attempt is to give a finite characterization of thepotentially infinite process described by the program itself.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsEarly operating systemsHow were early computers used?User takes over entire machine. Requires manual interventionto switch from one task to the next.Batch processing. User’s program takes over most of themachine. Resident “monitor” program transfers control tonext task (like present-day cluster computers).Multiprogramming. Much like modern virtual machines –multiple tasks share memory and CPU.Goal: Keep expensive CPU busy when one task is I/O bound.Time-sharing. Interactive multiprogramming. Goal: Give eachuser the illusion of her own machine. Requires “fair”scheduling.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsProcess abstraction and pseudo-concurrencyDesire to run multiple tasks on a single computer led to thedevelopment of the process abstraction.Each process operates as if it were the only program running onthe system.On a uniprocessor system, there is no true concurrency amongprocesses – steps of different processes are interleaved.Provides an illusion of concurrency called pseudo-concurrency.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionTheoretical computer scienceRecursive function theory and complexity theorySwitching and automata theoryLanguage theory and formal semanticsOperating SystemsTrue concurrencyTrue concurrency exists when multiple hardware devices operate inparallel. Multiple CPUs were rare in early computers, but trueconcurrency existed at the hardware level between processor andI/O channel, for example.Not always obvious how to model concurrent actions on sharedphysical devices.Assuming atomicity of primitive actions sidesteps the problem andallows the interleaved execution model to be used.This is not always appropriate in real-life situations.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionThe mutual exclusion problemMy beginnings in distributed computingMy collaboration with Nancy LynchThe influence of Leslie LamportThe first PODCThe Dawn of Distributed ComputingPODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionThe mutual exclusion problemMy beginnings in distributed computingMy collaboration with Nancy LynchThe influence of Leslie LamportThe first PODCMutual exclusionConcurrent processes must coordinate their activities to avoidinterference.The mutual exclusion problem is to provide exclusive access to acritical region of code.Often solved in early OS’s by disabling interrupts before entranceto the critical section and re-enabling them afterwards.(This does not work with true concurrency and led to expensiverefactoring of operating systems in the 1990’s in order to supportmultiple processors.)PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionThe mutual exclusion problemMy beginnings in distributed computingMy collaboration with Nancy LynchThe influence of Leslie LamportThe first PODCDijkstra’s paper (1965)Dijkstra encountered the mutual exclusion problem while designingthe THE multiprogramming system [Dij68].He formulated it abstractly, along with a solution and informalproof of correctness [Dij65]:Interprocess communication: atomic reads and writes toshared memory.Asynchronous processes.Solution tolerates stopping faults outside of the critical region.Solution avoids deadlock.Starvation possible.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionThe mutual exclusion problemMy beginnings in distributed computingMy collaboration with Nancy LynchThe influence of Leslie LamportThe first PODCFollow-up papers (1965–1972)Dijkstra’s paper sparked much interest.Hyman [Hym66] proposed a “simplification” for the2-processor case.Knuth [Knu66] gave a counter example to Hyman’s solution,showed that Dijkstra’s solution was subject to starvation, andintroduced the notion of “fairness”.de Bruijn [dB67] improved Knuth’s fairness bound fromexponential to quadratic in the number of processors.Eisenberg and McGuire [EM72] improved the fairness boundto linear.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionThe mutual exclusion problemMy beginnings in distributed computingMy collaboration with Nancy LynchThe influence of Leslie LamportThe first PODCMy introduction to concurrency with Albert Meyer (1971)Entry CodeExit CodeWi 1 (“i wants resource”). p points to the selected process.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionThe mutual exclusion problemMy beginnings in distributed computingMy collaboration with Nancy LynchThe influence of Leslie LamportThe first PODCA simple ideaThe idea:Shared variable p points to the currently enabled process.Each process when leaving its critical section chooses itssuccessor and sets p to point to it.Wp should always be true when there are active processeswaiting to enter their critical sections.The “Wp ” tests allow the first active process to initialize p topoint to itself.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionThe mutual exclusion problemMy beginnings in distributed computingMy collaboration with Nancy LynchThe influence of Leslie LamportThe first PODCA subtle bugSubtle bug: Testing “Wp ” is not atomic; requires two steps:1Fetch p and store value in local temporary p 0 .2Fetch Wp0 and test value read.If p and Wp0 change value between steps, the wrong result can beobtained.p1122W11110W21111P1(in critical section)selects P2 as successorsets W1 0 and exits–PODC 2008, Toronto, Canada, August 20, 2008P2fetches p (p 0 1)––p 0 1 and Wp0 0Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionThe mutual exclusion problemMy beginnings in distributed computingMy collaboration with Nancy LynchThe influence of Leslie LamportThe first PODCNext small step (1975-1976)The bug was discovered by Irene Greif four years later when Ipresented the unpublished algorithm in her concurrency seminar atthe University of Washington.I learned that concurrent algorithms were hard to understand andharder still to get right!Gary Peterson began working on the problem with me andcoauthored my first paper in distributed computing [PF77].PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionThe mutual exclusion problemMy beginnings in distributed computingMy collaboration with Nancy LynchThe influence of Leslie LamportThe first PODCMy collaboration with Nancy Lynch begins (1977)I mentioned this vexing mutual exclusion problem to Nancy Lynch.She got interested in it and invited me to spend a week to work onit with her and her students at Georgia Tech in January 1977.It was a most productive week!The first result from the new collaboration was a paper on theshared memory space required for mutual exclusion (Burns,Fischer, Jackson, Lynch, Peterson [BFJ 78, BJL 82]).PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionThe mutual exclusion problemMy beginnings in distributed computingMy collaboration with Nancy LynchThe influence of Leslie LamportThe first PODCInfluence of Leslie LamportTwo early results of Leslie Lamport greatly influenced my thinkingabout distributed computing and set the initial direction of thefield:The “bakery” mutual exclusion algorithm [Lam74].The Byzantine Generals problem [PSL80, LSP82].PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionThe mutual exclusion problemMy beginnings in distributed computingMy collaboration with Nancy LynchThe influence of Leslie LamportThe first PODCThe “bakery” algorithm [Lam74]The bakery algorithm contains several innovations:It was the first distributed solution to mutual exclusion; nocentral shared hardware. Communication is via 1-writern-reader shared registers.Registers are nonatomic – reads can overlap writes and returnarbitrary values.Tolerates stopping faults. Assumes a special value eventuallygets written to memory after a process stops. (Precursor tothe idea of a failure detector.)Satisfies strong “first-come, first-served” fairness property.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionThe mutual exclusion problemMy beginnings in distributed computingMy collaboration with Nancy LynchThe influence of Leslie LamportThe first PODCThe Byzantine agreement problem [PSL80, LSP82]Showed majority consensus of 3 processes cannot protectagainst a single component failure, contrary to the belief atthat time.Formulated the consensus problem and the notion of aByzantine fault.Proved a 3f 1 lower bound on the number of processorsneeded to tolerate f faults.Presented the first solution to the consensus problem thattolerated a Byzantine fault.The consensus problem became one of the cornerstones ofdistributed computing research and remains so to this day.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionThe mutual exclusion problemMy beginnings in distributed computingMy collaboration with Nancy LynchThe influence of Leslie LamportThe first PODCThe first PODCThe first PODC conference [POD82] was held in Ottawa in 1982and was organized by Robert Probert, Nicola Santoro and myself.30 papers were presented.Topics ranged from parallel algorithms, concurrency control indatabase systems, communication mechanisms, real-time systems,semantics of concurrency, and more.PODC has been held every year since and has come to define boththe area of distributed computing theory and the associatedcommunity of scientists.This year’s PODC is number 27.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionCommunication mechanismsSynchrony, nondeterminism, and timingScheduling and fairnessDealing with uncertaintyCharacteristic Elements ofDistributed Computing TheoryPODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionCommunication mechanismsSynchrony, nondeterminism, and timingScheduling and fairnessDealing with uncertaintyFundamental notions of distributed systemsA theory of distributed computing requires making precise manynotions that do not arise in the study of sequential computation ordo not generalize in obvious ways.Communication mechanismsSynchrony, nondeterminism, and timingScheduling and fairnessAutonomy, reliability, and fault-tolerancePODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionCommunication mechanismsSynchrony, nondeterminism, and timingScheduling and fairnessDealing with uncertaintyShared memory versus message-passing systemsProcesses naturally communicate via atomic multireadermultiwriter shared registers in uniprocessor operating systems.Lamport challenged both the multiwriter and the atomicityassumptions in his bakery algorithm paper [Lam74] but stillassumed a shared register model of communication.Networks were only beginning to be developed, and people werenot so familiar with message-passing systems.We now recognize shared memory and message-passing systems asdistinct communication models with different formal properties,both worthy of study.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionCommunication mechanismsSynchrony, nondeterminism, and timingScheduling and fairnessDealing with uncertaintyLynch-Fischer formal modelLynch and Fischer [LF79, LF81] present a general model fordescribing the behavior and implementation of distributed systems.Defines abstract notions of behavior and implementation of abehavior by a system.Processes interact through shared registers using atomictest-and-set operations.Has two primitive entities – processes and registers.Lacks the ability to model direct process interaction.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionCommunication mechanismsSynchrony, nondeterminism, and timingScheduling and fairnessDealing with uncertaintyI/O automataLynch and Tuttle [Tut87, LT87] present the I/O automatonframework.One type of entity models both process and communicationmechanism.One type of action – the joint interaction of two entities.Subsumes both shared memory models and message-passingmodels.I/O automata have been widely influential.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionCommunication mechanismsSynchrony, nondeterminism, and timingScheduling and fairnessDealing with uncertaintySynchronyEarly shared memory computers often used a global clock and weresynchronous. This led to the synchronous message-passing models.Computation takes place in 2-part rounds:1Each process simultaneously sends a message to each otherprocess.2Each process simultaneously receives all of the messages sentto it in the first part of the round.This model was used in the early study of the Byzantine Generalsproblem.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionCommunication mechanismsSynchrony, nondeterminism, and timingScheduling and fairnessDealing with uncertaintyAsynchronyParallel systems lacking a global clock are asynchronous.Variability in process step times is expected and often unknown.Modeling asynchrony is tricky. One wants to make no timingassumptions yet assume all processes eventually progress.Asynchronous execution is often modeled by interleaved sequencesof process steps, subject to an overall fairness condition to ensureprogress.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionCommunication mechanismsSynchrony, nondeterminism, and timingScheduling and fairnessDealing with uncertaintyTime complexity of asynchronous systemsThe notion of measuring time in terms of total process step countfails for asynchronous systems, where no upper bound exists on thenumber of steps that one process can take before another processtakes a step.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionCommunication mechanismsSynchrony, nondeterminism, and timingScheduling and fairnessDealing with uncertaintyTwo equivalent time complexity measures1Bounded real time measure: (Peterson, Fischer [PF77])Successive steps of an execution are labeled by increasing realnumbers (representing clock times when the step occurs),constrained by bounding maximum delay between successivesteps of the same process. The time complexity is label of last step.2Rounds measure: (Arjomandi, Fischer, Lynch[AFL81, AFL83]) An interleaved execution is broken intoconsecutive minimal “rounds” such that each round containsat least one step of each process. The time complexity is the number of rounds.PODC 2008, Toronto, Canada, August 20, 2008Evolution of Distributed Computing Theory

OutlineThe Computing World of the 1970’sThe Dawn of Distributed ComputingCharacteristic Elements of Distributed Computing TheoryConclusionCommunication mechanismsSynchrony, nondeterminism, and timingScheduling and fairnessDealing with uncertaintyFairnessThe order in which processes take steps is determined by ascheduler.A fairness condition constrains what the scheduler is allowed to do.Fairness is often a property of infinite schedules, e.g., that everyprocess must be scheduled infinitely many times.Infinite sequences greatly complicate formal reasoning.

Switching and automata theory Language theory and formal semantics Operating Systems Background to Distributed Computing: . Finite automata; Pushdown automata; Linear-bounded automata. PODC 2008, Toronto, Canada, August 20, 2008 Evolution of Distributed Computing Theory. Outline

Related Documents:

Figure 1.2(a)&(b) Centralized computing, Distributed computing 1.3.1 The Strengths and Weaknesses of Distributed Computing The Strengths of distributed computing: The affordability of computers and availability of network access. Reliability: It is more reliable than a single system. If one machine from

Cloud Computing J.B.I.E.T Page 5 Computing Paradigm Distinctions . The high-technology community has argued for many years about the precise definitions of centralized computing, parallel computing, distributed computing, and cloud computing. In general, distributed computing is the opposite of centralized computing.

Keywords: Distributed Computing, Computing Systems, Evolution, Green Computing 1. Introduction Societal prosperity of the latter half of the 21st century has been underpinned by the Internet, formed by large-scale computing infrastructure composed of distributed systems which have accelerated economic, social and scientific advancement [1].

Distributed Database Design Distributed Directory/Catalogue Mgmt Distributed Query Processing and Optimization Distributed Transaction Mgmt -Distributed Concurreny Control -Distributed Deadlock Mgmt -Distributed Recovery Mgmt influences query processing directory management distributed DB design reliability (log) concurrency control (lock)

distributed. Some authors consider cloud computing to be a form of utility computing or service computing. Ubiquitous computing refers to computing with pervasive devices at any place and time using wired or wireless communication. Internet computing is even broader and covers all computing paradigms over the Internet.

– Morgan Claypool series of monographs on Distributed Computing Theory – Conferences: Principles of Distributed Computing (PODC) Distributed Computing (DISC) This Week A quick introduction: – Two common distributed

In distributed computing we have multiple autonomous computers which seems to the user as single system. In distributed systems there is no shared memory and computers communicate with each other through message passing. In distributed computing a single task is divided among different computers. Difference between Parallel Computing and .

Our AAT Advanced Diploma in Accounting course is the intermediate level of AAT’s accounting qualifications. You’ll master more complex accountancy skills, including advanced bookkeeping, preparing final accounts, and management costing techniques. You’ll also cover VAT issues in business, and the importance of professional ethics - all without giving up your job, family time or social .