Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Advanced Operating Systems Lecture.

Slides:



Advertisements
Similar presentations
I/O Management and Disk Scheduling Chapter 11. I/O Driver OS module which controls an I/O device hides the device specifics from the above layers in the.
Advertisements

RAID (Redundant Arrays of Independent Disks). Disk organization technique that manages a large number of disks, providing a view of a single disk of High.
Database Architectures and the Web
Serverless Network File Systems. Network File Systems Allow sharing among independent file systems in a transparent manner Mounting a remote directory.
Spark: Cluster Computing with Working Sets
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
Distributed Processing, Client/Server, and Clusters
Managing Data Resources
1 Principles of Reliable Distributed Systems Tutorial 12: Frangipani Spring 2009 Alex Shraer.
CS 582 / CMPE 481 Distributed Systems Fault Tolerance.
Reliability Week 11 - Lecture 2. What do we mean by reliability? Correctness – system/application does what it has to do correctly. Availability – Be.
Hints for Computer System Design Paper by B. W. Lampson Presentation by Emerson Murphy-Hill.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Computer Organization and Architecture
Computer Science Lecture 16, page 1 CS677: Distributed OS Last Class:Consistency Semantics Consistency models –Data-centric consistency models –Client-centric.
Copyright © Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Distributed Systems Shahab Baqai Lahore University.
Database System Architectures  Client-server Database System  Parallel Database System  Distributed Database System Wei Jiang.
Presented by: Alvaro Llanos E.  Motivation and Overview  Frangipani Architecture overview  Similar DFS  PETAL: Distributed virtual disks ◦ Overview.
Distributed File Systems Concepts & Overview. Goals and Criteria Goal: present to a user a coherent, efficient, and manageable system for long-term data.
Advanced Topics: MapReduce ECE 454 Computer Systems Programming Topics: Reductions Implemented in Distributed Frameworks Distributed Key-Value Stores Hadoop.
Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Advanced Operating Systems Lecture.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
Distributed systems [Fall 2014] G Lec 1: Course Introduction.
Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Advanced Operating Systems Lecture.
Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Advanced Operating Systems Lecture.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Presenters: Rezan Amiri Sahar Delroshan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
Copyright © Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Advanced Operating Systems Lecture notes Dr.
Hints for Computer System Design
Kjell Orsborn UU - DIS - UDBL DATABASE SYSTEMS - 10p Course No. 2AD235 Spring 2002 A second course on development of database systems Kjell.
Databases Illuminated
5 May CmpE 516 Fault Tolerant Scheduling in Multiprocessor Systems Betül Demiröz.
Eduardo Gutarra Velez. Outline Distributed Filesystems Motivation Google Filesystem Architecture The Metadata Consistency Model File Mutation.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Advanced Operating Systems Lecture.
Operating Systems: Wrap-Up Questions answered in this lecture: What is an Operating System? Why are operating systems so interesting? What techniques can.
Copyright © Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Advanced Operating Systems Lecture notes Dr.
DISTRIBUTED COMPUTING
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
Karlstad University Computer Science Design Contracts and Error Management External and internal errors and their contracts.
Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Advanced Operating Systems Lecture.
Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Advanced Operating Systems Lecture.
System Models Advanced Operating Systems Nael Abu-halaweh.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
Advanced Operating Systems CS6025 Spring 2016 Processes and Threads (Chapter 2)
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
Paper Discussions Karthik Dantu Steve Ko.
Introduction to Operating Systems
REAL-TIME OPERATING SYSTEMS
OPERATING SYSTEMS CS3502 Fall 2017
Advanced Operating Systems Lecture notes
Operating System Structure
Fault Tolerance In Operating System
Storage Virtualization
Real-time Software Design
Introduction to Operating Systems
QNX Technology Overview
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Fault Tolerance Distributed Web-based Systems
Process & its States Lecture 5.
Operating Systems.
Advanced Operating Systems Lecture notes
Advanced Operating Systems Lecture notes
CS510 Operating System Foundations
Database System Architectures
Chapter 2 Operating System Overview
Abstractions for Fault Tolerance
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Advanced Operating Systems Lecture notes Dr. Clifford Neuman University of Southern California Information Sciences Institute

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Announcements  Exam results are posted  Exams back at break - contact TA to pick up later.  Research paper proposals  All have been responded to.  Assignment 4  Posted Wednesday, due next Thursday

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE CSci555: Advanced Operating Systems Lecture 12 – November Scheduling, Fault Tolerance Real Time, Database Support Dr. Clifford Neuman University of Southern California Information Sciences Institute

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Prospero Resource Manager Prospero Resource Manager - 3 entities  One or more system managers  Each manages subset of resources  Allocates resources to jobs as needed  A job manager associated with each job  Identifies resource requirements of the job  Acquires resources from one or more system managers  Allocates resources to the job’s tasks  A Node manager on each node  Mediates access to the nodes resources

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE The Prospero Resource Manager A) User invokes an application program on his workstation. b) The program begins executing on a set of nodes. Tasks perform terminal and file I/O on the user’s workstation. % appl User’s workstation Filesystem file1 file2 Node T2 NodeT3 T1 Terminal I/O Read stdin, Write stdout, stderr Read file Filesystem file1 file2 Write file

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Advantages of the PRM  Scalability  System manager does not require detailed job information  Multiple system managers  Job manager selected for application  Knows more about job’s needs than the system manager  Alternate job managers useful for debugging, performance tuning  Abstraction  Job manager provides a single resource allocator for the job’s tasks  Single system model

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Real time Systems  Issues are scheduling and interrupts  Must complete task by a particular deadline  Examples:  Accepting input from real time sensors  Process control applications  Responding to environmental events  How does one support real time systems  If short deadline, often use a dedicated system  Give real time tasks absolute priority  Do not support virtual memory  Use early binding

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Real time Scheduling  To initiate, must specify  Deadline  Estimate/upper-bound on resources  System accepts or rejects  If accepted, agrees that it can meet the deadline  Places job in calendar, blocking out the resources it will need and planning when the resources will be allocated  Some systems support priorities  But this can violate the RT assumption for already accepted jobs

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Fault-Tolerant systems  Failure probabilities  Hierarchical, based on lower level probabilities  Failure Trees  Add probabilities where any failure affects you –Really (1 - ((1 - lambda)(1 -lambda) (1 - lambda)))  Multiply probabilities if all must break  Since numbers are small, this reduces failure rate  Both failure and repair rate are important

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Making systems fault tolerant  Involves masking failure at higher layers  Redundancy  Error correcting codes  Error detection  Techniques  In hardware  Groups of servers or processors execute in parallel and provide hot backups  Space Shuttle Computer Systems exampls  RAID example

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Types of failures  Fail stop  Signals exception, or detectably does not work  Returns wrong results  Must decide which component failed  Byzantine  Reports difficult results to different participants  Intentional attacks may take this form

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Recovery  Repair of modules must be considered  Repair time estimates  Reconfiguration  Allows one to run with diminished capacity  Improves fault tolerance (from catastrophic failure)

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE OS Support for Databases  Example of OS used for particular applications  End-to-end argument for applications  Much of the common services in OS’s are optimized for general applications.  For DBMS applications, the DBMS might be in a better position to provide the services  Caching, Consistency, failure protection

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE CSci555: Advanced Operating Systems Lecture 13 – November 17, 2006 Scalable Systems Dr. Clifford Neuman University of Southern California Information Sciences Institute

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Hints for building scalable systems  From Lampson:  Keep it simple  Do one thing at a time  If in doubt, leave it out  But no simpler than possible  Generality can lead to poor performance  Make it fast and simple  Don’t hide power  Leave it to the client  Keep basic interfaces stable

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Hints for building scalable systems  From Lampson:  Plan to throw one away  Keep secrets  Divide and conquer  Use a good idea again  Handle normal and worst case separately  Optimize for the common case  Split resources in a fixed way  Cache results of expensive operations  Use hints

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Hints for building scalable systems  From Lampson:  When in doubt use brute force  Compute in the background  Use batch processing  Safety first  Shed load  End-to-end argument  Log updates

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Scale in Distributed Systems - Neuman  A system is said to be scalable if it can handle the addition of users and resources without suffering a noticeable loss of performance or increase in administrative complexity.

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Three dimensions of scale  Numerical  Number of objects, users  Geographic  Where the users and resources are  Administrative  How many organizations own or use different parts of the system

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Effects of Scale  Reliability  Autonomy, Redundancy  System Load  Order of growth  Administration  Rate of change  Heterogeneity

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Techniques - Replication  Placement of replicas  Reliability  Performance  Partition  What if all in one place  Consistency  Read-only  Update to all  Primary Site  Loose Consistency

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Techniques - Distribution  Placement of servers  Reliability  Performance  Partition  Finding the right server  Hierarchy/iteration  Broadcast

Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Techniques - Caching  Placement of Caches  Multiple places  Cache consistency  Timeouts  Hints  Callback  Snooping  Leases