260 likes | 385 Views
COT 5611 Operating Systems Design Principles Spring 2014. Dan C. Marinescu Office: HEC 304 Office hours: M- Wd 3:30-5:30 PM. Lecture 3. Reading assignment: class slides of Lectures 2 and 3 and the class notes “distributed systems-basic concepts” available online. Last time
E N D
COT 5611 Operating Systems Design Principles Spring 2014 Dan C. Marinescu Office: HEC 304 Office hours: M-Wd 3:30-5:30 PM
Lecture 3 • Reading assignment: class slides of Lectures 2 and 3 and the class notes “distributed systems-basic concepts” available online. • Last time • Man-made systems and the environment • Complex systems • Factors affecting complexity • Sources of complexity • Coping with complexity • Modularity • Abstractions • Hierarchy • Characteristics of complex systems • Propagation of effects • Incommensurate scaling • Tradeoffs Lecture 3
Today • Computers as a distinct species of complex systems • Milestones in the evolution of computing and communication technology. • Factors affecting the complexity of computing and communication systems • The software • The exponential growth • Coping with complexity • Resource sharing and complexity • Scale-free systems or how nature deals with complexity. • Lessons learned. • Names and fundamental abstractions Lecture 3
Innovations are now full-circle Lecture 3
Factors affecting complexity of computing and communication systems Lecture 3
Analog, digital, and hybrid systems • Analog systems: • the noise from individual components accumulate and • the number of components is limited • Digital systems: • are noise-free • the number of components is not limited • regeneration restoration of digital signal levels • static discipline the range of the analog values a device accepts for each input digital value should be wider than the range of analog output values • digital components could fail but big mistakes are easier to detect than small ones!! • Hybrid systems • e.g., quantum computers and quantum communication systems Lecture 3
Factors affecting complexity of computing and communication systems Lecture 3
Computers a distinct species of complex systems • The complexity of computer systems not limited by the laws of physics distant bounds on composition • Digital systems are noise-free. • The hardware is controlled by software • The rate of change unprecedented • The cost of digital hardware has dropped in average 30% per year for the past 35 years Lecture 3
Computers are controlled by software • Composition of hardware limited by laws of physics. • Composition of software is not physically constrained; • software packages of 107 lines of code exist • Abstractions hide the implementation beneath module interfaces and allow the • creation of complex software • modification of the modules • Abstractions can be leaky. Example, representation of integers, floating point numbers. Lecture 3
Exponential growth of computers • Unprecedented: • when a system is ready to be released it may already be obsolete. • when one of the parameters of a system changes by a factor of • 2 other components must be drastically altered due to the incommensurate scaling. • 10 the systems must be redesigned; E.g.; balance CPU, memory, and I/O bandwidth; • does not give pause to developers • to learn lessons from existing systems • find and correct all errors • negatively affects “human engineering” ability to build reliable and user-friendly systems • the legal and social frameworks are not ready Lecture 3
Coping with complexity of computer systems • Modularity, abstraction, layering, and hierarchy are necessary but not sufficient. • An additional technique iteration • Iteration • Design increasingly more complex functionality in the system • Test the system at each stage of the iteration to convince yourself that the design is sound • Easier to make changes during the design process Lecture 3
Iteration – design principles • Make it easy to change • the simplest version must accommodate all changes required by successive versions • do not deviate from the original design rationale • think carefully about modularity it is very hard to change it. • Take small steps; rebuild the system every day, to discover design flaws and errors. Ask others to test it. • Don’t rush to implementation. Think hard before starting to program. • Use feedback judiciously • use alpha and beta versions • do not be overconfident from an early success • Study failures understand that complex systems fail for complex reasons. Lecture 3
Curbing complexity • In absence of physical laws curb the complexity use good judgment. • Easier said than done because: • temptation to add new features than in the previous generation • competitors have already incorporated the new features • the features seem easy to implement • the technology has improved • human behavior: arrogance, pride, overconfidence… Lecture 3
Resource sharing and complexity • A main function of the OS is resource sharing. • Sharing computer resources went through several stages with increased levels of complexity: • A. Many-to-one • B. One-to-one • C. Many-to-many • D. Peer-to-peer • E. Cloud Computing Lecture 3
Software follows hardware – the operating systems become increasingly more complex Millions of lines of source code Lecture 3
Cheap Pervasive Lecture 3
Pervasive qualitative change Word processing Communication Embedded Sense/control Number crunching log (people per computer) year Lecture 3 Slide from David Culler, UC Berkeley
Latency improves slowly Speed of light(0% per year) Moore’s law (~70% per year) Improvement wrt year #1 DRAM access latency (~7% per year) Lecture 3 Year #
Heat is a problem Lecture 3
Recent Intel CPU Clock Rate Pentium 4 HT Pentium 4 Pentium III mHz PentiumPro Pentium 486 Lecture 3
What went right? Unbounded composibility General-purpose computers Only need to make one thing fast Separate architecture from implementation S/W can exploit new H/W Cumulative R&D investment over years Lecture 3
How the nature deals with complexity • For biological systems: symmetry, construction of complex biological structures from building blocks. • Self-organization though difficult to define, its intuitive meaning is reflected in the observation made by Alan Turing that ``global order can arise from local interactions'' • Scale-free systems. Each component interacts directly only with a small number of other components. • Man-made systems to imitate nature!! Lecture 3
Scale-free systems • The scale-free organization can be best explained in terms of the network model of the system, a random graph with vertices representing the entities and the links representing the relationships among them. • In a scale-free organization, the probability P(m) that a vertex interacts with m other vertices decays as a power law: with d a positive real number, regardless of the type and function of the system, the identity of its constituents, and the relationships between them. Lecture 3
Examples of scale-free systems • The collaborative graph of movie actors where links are present if two actors were ever cast in the same movie; in this case d=2. • The power grid of the Western US has some 5,000 vertices representing power generating stations; in this case d=4. • The World Wide Web, d=2.1. This means that the probability that m pages point to one page is P(m) = m-2.1 • The citation of scientific papers d=3. Lecture 3