COT 5611 Operating Systems Design Principles Spring 2012

Slides:



Advertisements
Similar presentations
TELE202 Lecture 8 Congestion control 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »X.25 »Source: chapter 10 ¥This Lecture »Congestion control »Source:
Advertisements

CS 408 Computer Networks Congestion Control (from Chapter 05)
Multiaccess Problem How to let distributed users (efficiently) share a single broadcast channel? ⇒ How to form a queue for distributed users? The protocols.
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Lecture 1, 1Spring 2003, COM1337/3501Computer Communication Networks Rajmohan Rajaraman COM1337/3501 Textbook: Computer Networks: A Systems Approach, L.
Introduction to Queuing Theory
Probability Review Thinh Nguyen. Probability Theory Review Sample space Bayes’ Rule Independence Expectation Distributions.
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
Layer Architecture Layer architecture simplifies the network design. It is easy to debug network applications in a layered architecture network. The network.
Univ. of TehranAdv. topics in Computer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
Queuing Delay 1. Access Delay Some protocols require a sender to “gain access” to the channel –The channel is shared and some time is used trying to determine.
Queuing Theory.  Queuing Theory deals with systems of the following type:  Typically we are interested in how much queuing occurs or in the delays at.
© 2015 McGraw-Hill Education. All rights reserved. Chapter 17 Queueing Theory.
Queuing Theory Simulation & Modeling.
Protocols and layering Network protocols and software Layered protocol suites The OSI 7 layer model Common network design issues and solutions.
Data and Computer Communications Chapter 7 Circuit Switching and Packet Switching.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Muhammad Waseem Iqbal Lecture # 20 Data Communication.
OSI Model OSI MODEL. Communication Architecture Strategy for connecting host computers and other communicating equipment. Defines necessary elements for.
OSI Model OSI MODEL.
Congestion Control in Data Networks and Internets
Instructor Materials Chapter 6: Quality of Service
Point-to-Point Network Switching
Topics discussed in this section:
CS408/533 Computer Networks Text: William Stallings Data and Computer Communications, 6th edition Chapter 1 - Introduction.
CS 5565 Network Architecture and Protocols
A Taxonomy of Communication Networks
Chapter 23 Introduction To Transport Layer
COP 5611 Operating Systems Spring 2010
Al-Imam Mohammad Ibn Saud University
Lecturer, Department of Computer Application
PART 5 Transport Layer Computer Networks.
DEPARTMENT OF COMPUTER SCIENCE
Understanding the OSI Reference Model
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Computer Networks Bhushan Trivedi, Director, MCA Programme, at the GLS Institute of Computer Technology, Ahmadabad.
COT 5611 Operating Systems Design Principles Spring 2014
Transport Layer Unit 5.
Lecture on Markov Chain
William Stallings Data and Computer Communications
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Process-to-Process Delivery:
COT 5611 Operating Systems Design Principles Spring 2014
COT 5611 Operating Systems Design Principles Spring 2012
The Network Layer Network Layer Design Issues:
Congestion Control (from Chapter 05)
Switching Techniques.
Advanced Computer Networks
COP 5611 Operating Systems Spring 2010
Circuit Switching Packet Switching Message Switching
Congestion Control (from Chapter 05)
EE 122: Lecture 7 Ion Stoica September 18, 2001.
OSI Model OSI MODEL.
Congestion Control (from Chapter 05)
Chapter 2 Switching.
Congestion Control (from Chapter 05)
L9: Intro Network Systems
Chapter-5 Traffic Engineering.
Congestion Control (from Chapter 05)
COT 5611 Operating Systems Design Principles Spring 2012
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
CSE 542: Operating Systems
Process-to-Process Delivery: UDP, TCP
Congestion Control (from Chapter 05)
CSE 542: Operating Systems
Computer Networks Protocols
Switching Chapter 2 Slides Prepared By: -
COT 5611 Operating Systems Design Principles Spring 2012
Presentation transcript:

COT 5611 Operating Systems Design Principles Spring 2012 Dan C. Marinescu Office: HEC 304 Office hours: M-Wd 5:00-6:00 PM

Lecture 9 - Wednesday February 8 Reading assignment: Chapter 7 from the on-line text Last time: Consensus protocols Modeling concurrency – Petri Nets 1/3/2019 Lecture 9

Today Design principles for computer and communication systems Interesting Properties of Networks Isochronous and Asynchronous Multiplexing Packet Forwarding; Delay Queuing models for delay determination Buffer Overflow and Discarded Packets Duplicate Packets and Duplicate Suppression Damaged Packets and Broken Links Reordered Delivery Summary of Interesting Properties and the Best-Effort Contract 1/3/2019 Lecture 9

General design principles Adopt sweeping simplifications: So you can see what you are doing. Avoid excessive generality: If it is good for everything, it is good for nothing. Avoid rarely used components: Deterioration and corruption accumulate unnoticed—until the next use. Be explicit: Get all of the assumptions out on the table. Decouple modules with indirection: Indirection supports replaceability. Design for iteration: You won't get it right the first time, so make it easy to change. End-to-end argument: The application knows best. Escalating complexity principle: Adding a feature increases complexity out of proportion. Incommensurate scaling rule: Changing a parameter by a factor of ten requires a new design. Keep digging principle: Complex systems fail for complex reasons. 1/3/2019 Lecture 9

General design principles Law of diminishing returns: The more one improves some measure of goodness, the more effort the next improvement will require. Open design principle: Let anyone comment on the design; you need all the help you can get. Principle of least astonishment: People are part of the system. Choose interfaces that match the user’s experience, expectations, and mental models. Robustness principle: Be tolerant of inputs, strict on outputs. Safety margin principle: Keep track of the distance to the edge of the cliff or you may fall over the edge. Unyielding foundations rule: It is easier to change a module than to change the modularity. 1/3/2019 Lecture 9

Area-specific design principles Atomicity - golden rule of atomicity: Never modify the only copy! Coordination - one-writer principle: If each variable has only one writer, coordination is simpler. Durability - the durability mantra: Multiple copies, widely separated and independently administered. Security - minimize secrets: Because they probably won’t remain secret for long. Security - complete mediation: Check every operation for authenticity, integrity, and authorization. Security- fail-safe defaults: Most users won’t change them, so set defaults to do something safe. Security- least privilege principle: Don’t store lunch in the safe with the jewels. Security - economy of mechanism: The less there is, the more likely you will get it right. Security - minimize common mechanism: Shared mechanisms provide unwanted communication paths. 1/3/2019 Lecture 9

Design hints Exploit brute force. Instead of reducing latency, hide it. Optimize for the common case. Separate mechanism from policy. 1/3/2019 Lecture 9

The design of communication networks Critical considerations fundamental physical properties, the mechanics of sharing, and a wide range of parameter values Fundamental physical properties The speed of light is finite – no way to avoid the propagation delay Communication media have limited capacity/bandwidth. Communication environments are hostile – noise, errors, lost information, etc. Sharing arises for two distinct reasons Any-to-any connection: the number of paths required grows with the square of the number of communicating entities Reducing communication costs 1/3/2019 Lecture 9

Sharing: links and switches Channel sharing Multiplexing Isochronous multiplexing – scheduled access TDM FDM Asynchronous multiplexing Random Multiple Access Other communication system components such as switches are shared

Data flow on an isochronous channel/link Isochronous  equally spaced. Time division multiplexing Requires the establishment of a connection The channel has limited capacity  capacity-limiting scheme

Store and forward network

Asynchronously multiplexed link Computer generated traffic is bursty  isochronous communication is not good On an asynchronous link, a frame can be of any convenient length, and can be carried at any time that the link is not being used for another frame.

Communication Continuous versus bursty The old phone network versus data networks Human versus computer communication Connection-oriented versus connectionless communication Packet-forwarding networks Routing problem Delays

Packet forwarding (store and forward) networks

Problems in packet forwarding networks Delay Propagation delay Transmission delay Processing delay Queuing delay Resources are finite and a worst case design is not feasible  heavy tail distributions of resource needs Buffer overflow and discarded packets Adaptive rate modulated by information regarding network congestion Timers and packet retransmission Duplicate packets

Delays and waiting time when a resource is shared Queuing theory describes systems where you have a shared resource – a server - and customers and both the arrival of the customers and the time it takes to service them are random variables with a certain distribution. There are two stochastic processes involved: Arrival Service 1/3/2019 Lecture 9

Customer arrival The arrival process describes the pattern of the customers arrive  characterized by its probability distribution function e.g., a uniform, exponential. The distribution can described by one or more parameters such as the average value of the random variables subject to that distribution, e.g., the arrival rate denoted as 𝛌¸ or the the inter-arrival time (the average time between two consecutive customer arrivals), 1/ 𝛌. For example, if customers arrive in average at two minutes intervals the arrival rate is 1/2 customers/minute and the inter-arrival time is 2 minutes. 1/3/2019 Lecture 9

Customer service The service process  describes how customers are served. The service processes is characterized by its probability distribution function e.g., a uniform, exponential, hyper exponential. The distribution can described by the service rate 𝛍 or the service time (the average time between two consecutive customer departures from the system) 1/ 𝛍 For example, if the service rate is 𝛍 = 10 customers per hour, then the service time is 1/ 𝛍 = 60minutes/10 = 5 minutes. 1/3/2019 Lecture 9

The pattern of customer behavior The customer arrives in the system and joins a waiting queue. The time spent waiting is called waiting time and it is denoted as W. When its turn arrives the customer enters service and the service time is 1/𝛍 When the service is terminated the customer leaves the system. The time spent the customer is called the time in system T = W + 1/𝛍. N is the total number of customers in system, one is in service and (N-1) are waiting in the queue. 1/3/2019 Lecture 9

Birth and death process pi the probability to be in state i; ∑pi = 1 Equilibrium equation for a birth-death process pk 𝛌 = pk+1 𝛍 Utilization ρ = 𝛌/ 𝛍 ≤1 pi = ρi (1- ρ) E[N] = ∑ i pi= (1- ρ) ∑ i ρi = (1- ρ)[ρ/ (1- ρ)2 ] = ρ/(1- ρ) Little’s law: E[N]=𝛌E[T ]  E[T]= (1/ 𝛌) [ρ/(1- ρ)]= (1/ 𝛍)[1/(1- ρ)] ] 1/3/2019 Lecture 9

Queuing delays versus utilization

Recovery of lost packets

Duplicate requests

Delays and recovery lead to duplicate response

Example of layered design

Data link layer

Network layer

End-to-end (transport) layer

How many layers should a network model have? OSI –has 7 layers Internet is based on a model including Application Transport Network Data Link Physical Layer Applications are very diverse and it makes no sense for a lower layer to implement functions required by higher layers. The end-to-end argument  application knows best