Learning to Share Motivation Disk schedulers are responsible for determining when processes are allowed to access the hard disk. They must balance multiple.

Slides:



Advertisements
Similar presentations
Mercury Quality Center 9.0 Training Material
Advertisements

Ch. 12 Routing in Switched Networks
Ch. 12 Routing in Switched Networks Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the.
Nearest Neighbor Search
Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
Fast Algorithms For Hierarchical Range Histogram Constructions
CS 484. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
Cloud Control with Distributed Rate Limiting Raghaven et all Presented by: Brian Card CS Fall Kinicki 1.
Please turn in your Home-learning, get your notebook and Springboard book, and begin the bell-ringer! Test on Activity 6, 7 and 8 Wednesday (A day) and.
Distributed Process Management
Chapter 18 Distributed Process Management Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Distributed Multimedia Systems
DYNAMIC POWER ALLOCATION AND ROUTING FOR TIME-VARYING WIRELESS NETWORKS Michael J. Neely, Eytan Modiano and Charles E.Rohrs Presented by Ruogu Li Department.
Generated Waypoint Efficiency: The efficiency considered here is defined as follows: As can be seen from the graph, for the obstruction radius values (200,
Distributed Process Management
Ncue-csie1 A QoS Guaranteed Multipolling Scheme for Voice Traffic in IEEE Wireless LANs Der-Jiunn Deng 、 Chong-Shuo Fan 、 Chao-Yang Lin Speaker:
Low Delay Marking for TCP in Wireless Ad Hoc Networks Choong-Soo Lee, Mingzhe Li Emmanuel Agu, Mark Claypool, Robert Kinicki Worcester Polytechnic Institute.
Locality-Aware Request Distribution in Cluster-based Network Servers 1. Introduction and Motivation --- Why have this idea? 2. Strategies --- How to implement?
Components and Organization of Discrete-event Simulation Model
Bandwidth Allocation in a Self-Managing Multimedia File Server Vijay Sundaram and Prashant Shenoy Department of Computer Science University of Massachusetts.
Distributed process management: Distributed deadlock
On-Demand Media Streaming Over the Internet Mohamed M. Hefeeda, Bharat K. Bhargava Presented by Sam Distributed Computing Systems, FTDCS Proceedings.
UC Berkeley, EECS Congestion Control and Fairness for Many-to-One Routing in Sensor Networks Cheng Tien Ee.
Scheduling a Large DataCenter Cliff Stein Columbia University Google Research June, 2009 Monika Henzinger, Ana Radovanovic Google Research.
B-Tree. B-Trees a specialized multi-way tree designed especially for use on disk In a B-tree each node may contain a large number of keys. The number.
CHP-4 QUEUE.
A Unified Modeling Framework for Distributed Resource Allocation of General Fork and Join Processing Networks in ACM SIGMETRICS
Multi-digit Numerical Long Division 1 © 2013 Meredith S. Moody.
UNIT IP Datagram Fragmentation Figure 20.7 IP datagram.
1 [3] Jorge Martinez-Bauset, David Garcia-Roger, M a Jose Domenech- Benlloch and Vicent Pla, “ Maximizing the capacity of mobile cellular networks with.
Chapter 11 Heap. Overview ● The heap is a special type of binary tree. ● It may be used either as a priority queue or as a tool for sorting.
1 Scheduling The part of the OS that makes the choice of which process to run next is called the scheduler and the algorithm it uses is called the scheduling.
Divisibility Test For Different Numbers
Dave McKenney 1.  Introduction  Algorithms/Approaches  Tiny Aggregation (TAG)  Synopsis Diffusion (SD)  Tributaries and Deltas (TD)  OPAG  Exact.
1 Distributed Process Management Chapter Distributed Global States Operating system cannot know the current state of all process in the distributed.
An Improved Kademlia Protocol In a VoIP System Xiao Wu , Cuiyun Fu and Huiyou Chang Department of Computer Science, Zhongshan University, Guangzhou, China.
Chapter 17 Scheduling. Management 3620Chapter 17 Schedule17-2 Overview of Production Planning Hierarchy Capacity Planning 1. Facility size 2. Equipment.
CS333 Intro to Operating Systems Jonathan Walpole.
 B-tree is a specialized multiway tree designed especially for use on disk  B-Tree consists of a root node, branch nodes and leaf nodes containing the.
CIS 250 Advanced Computer Applications Database Management Systems.
Preserving Privacy and Social Influence Isabelle Stanton.
HeapSort 25 March HeapSort Heaps or priority queues provide a means of sorting: 1.Construct a heap, 2.Add each item to it (maintaining the heap.
All even numbers are divisible by 2 Even numbers are numbers that end with either 0, 2, 4, 6, or 8.
Division by 2 Any number that ends is 0, 2, 4, 6, or 8 is evenly divisible by 2.
The Standard Genetic Algorithm Start with a “population” of “individuals” Rank these individuals according to their “fitness” Select pairs of individuals.
FF 17 : Processes A presentation by Robin Upton ( ) ‏ Latest version at Attribution – NonCommercial - ShareAlike
Distributed, Self-stabilizing Placement of Replicated Resources in Emerging Networks Bong-Jun Ko, Dan Rubenstein Presented by Jason Waddle.
 Scientific notation is simply a method for expressing, and working with, very large or very small numbers. It is a short hand method for writing numbers,
Distributed Control and Autonomous Systems Lab. Sang-Hyuk Yun and Hyo-Sung Ahn Distributed Control and Autonomous Systems Laboratory (DCASL ) Department.
Linear Models & Clustering Presented by Kwak, Nam-ju 1.
Tuesday, March 19 The Network Simplex Method for Solving the Minimum Cost Flow Problem Handouts: Lecture Notes Warning: there is a lot to the network.
The Principles of Operating Systems Chapter 9 Distributed Process Management.
A Parents’ Guide to Alternative Algorithms
Jonathan Walpole Computer Science Portland State University
Chapter 2 Memory and process management
Background on the need for Synchronization
CS 425 / ECE 428 Distributed Systems Fall 2016 Nov 10, 2016
The minimum cost flow problem
Backtracking And Branch And Bound
CS 425 / ECE 428 Distributed Systems Fall 2017 Nov 16, 2017
Chapter 2 Scheduling.
Chapter 14 User Datagram Protocol (UDP)
Raymond'S Tree DMX Algorithm
Balanced-Trees This presentation shows you the potential problem of unbalanced tree and show two way to fix it This lecture introduces heaps, which are.
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
B-Trees This presentation shows you the potential problem of unbalanced tree and show one way to fix it This lecture introduces heaps, which are used.
Balanced-Trees This presentation shows you the potential problem of unbalanced tree and show two way to fix it This lecture introduces heaps, which are.
Object Location Problem: Find a close copy of an object in a large network Solution should: Find object if it exists Find a close copy of the object (no.
Indexing, Access and Database System Architecture
B-Trees This presentation shows you the potential problem of unbalanced tree and show one way to fix it This lecture introduces heaps, which are used.
Presentation transcript:

Learning to Share Motivation Disk schedulers are responsible for determining when processes are allowed to access the hard disk. They must balance multiple processes and users trying to simultaneously access the same hard disk space. Real-time processes—such as video or other multimedia, introduce further constraints. These processes cannot wait for others to complete before they are given access or the user experiences reduced performance. Solution Acknowledgements This research was conducted under the advisorship of Scott Brandt and the Storage Systems Research Center. The work was completed as part of UCSC's SURF-IT summer undergraduate research program, an NSF CISE REU Site. Disk scheduling using a hierarchical token bucket filtering algorithm The modified algorithm The HDS algorithm was modified to address three questions:  What should the RATE of tokens entering the tree be?  HOW MANY tokens should be in the tree at any one time?  What should the RULES OF BORROWING be? What is a token bucket filter? A token bucket filter assigns processes a bucket which is filled with tokens. The tokens may be cashed in as needed for disk time and the buckets are refilled according to a set rate. A version of token bucket filtering known as Hierarchical Disk Scheduling 1 (HDS) uses a hierarchy of token buckets to assign disk time. In HDS, nodes may borrow unused tokens from their parent’s buckets if they run out of their own tokens. 1 Joel Wu, Scott Banachowski, and Scott A. Brandt. “Hierarchical Disk Sharing for Multimedia Systems” ACM International Workshop on Network and Operating System Support for Digital Audio and Video (NOSSDAV 2005), pp , Skamania, Washington, June 13-14, Request Queue T T T T T T T T T T T 50% For Example... Basic algorithm Algorithm functions  Update token rate  Replenish tokens  Use tokens  Can make request?  Borrow tokens  Make request from queue  Add request to queue Rate and number of tokens Original  A token rate is assigned to each node based on a global rate and the node’s reservation  Nodes replenish their buckets by calculating how long it has been since they received tokens and multiplying by their token rate  The number of tokens corresponds to the global rate Modified  Tokens are recycled so that the rate of tokens leaving the tree equals the rate of tokens entering  Entering tokens are assigned to nodes based on probability  The number of tokens available equals the number of outstanding requests the disk can have Advantage  This disk controls the rate instead of an estimated average rate  Prevents overloading when disk is operating slowly  Allows full utilization of resources when disk is operating faster than average Borrowing Original  If a node does not have tokens, it passes the request to its parent  If the parent can service the request, it does so  If no node in the hierarchy has tokens, the original child node waits until it receives more Modified  If a node does not have tokens, it checks if any of its parent nodes does  If a parent can service the request, the child node uses a token from both its own bucket and its parent’s bucket  If no node in the hierarchy can service the request, the node waits until a token arrives and then checks if it can use or borrow the token 1 01 A CB 0 1 A CB 0 01 A CB Node B receives a request. It has no tokens, so it requests to borrow... Original The request is passed the request to B’s parent, ‘A’. ‘A’ has one token and uses it. Node B does not participate in the borrow. Modified Node B checks if its parent, ‘A’, has tokens. ‘A’ does, so it borrows the token from ‘A’, causing its own count to go negative, and its parent to go to 0. Bucket capacities To prevent nodes from hoarding disk space that they aren’t using, each node has a limit on how many tokens it can accrue. The result is that if a node stops using tokens, it also stops receiving tokens. This also prevents nodes from sinking too low into debt. Borrowing rules  A bucket can have a negative token count if it has been borrowing  Bucket capacities prevent buckets from stock-piling tokens they are not using  A node can never service a request without using a token from its own bucket  Nodes that have tokens get priority over nodes without tokens In the simulation above, each node serviced requests until time 40 when Node B stopped receiving requests. In the “No Limit” graph, Node B continues to receive tokens. In the “Limit” graph, Node B stops receiving tokens, allowing Node A to receive more. Below, the count of tokens in each node’s bucket is tracked. Notice that having the limit prevents Node A from sinking as far into debt. No Limit Limit Conclusion The modified algorithm facilitates borrowing more fairly than the original. Processes have strict rules that limit the extent to which they may borrow tokens or store them up. Additionally, the modifications to the rate ensures that available disk time will be fully utilized without the danger of overloading. No LimitLimit Gwendolyn Einfeld UCSC Storage Systems Research Center Each node is entitled to a percentage of incoming tokens Node may represent a user, process or group of processes Requests are sent to a queue where they wait for an available token The number of tokens in a parent node is equal to the sum of tokens in its children Arriving tokens are added to both the parent and child nodes. Likewise, when a token is used it is subtracted from the child node and any parent(s) Is there a request in my queue? Do I have tokens? NO YES Service request! NO Can I borrow tokens? NO YES Tokens