CSE 490dp Resource Control Robert Grimm. Problems How to access resources? –Basic usage tracking How to measure resource consumption? –Accounting How.

Slides:



Advertisements
Similar presentations
RPC Robert Grimm New York University Remote Procedure Calls.
Advertisements

CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
Distributed systems Programming with threads. Reviews on OS concepts Each process occupies a single address space.
CS-550: Distributed File Systems [SiS]1 Resource Management in Distributed Systems: Distributed File Systems.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Slide 1 Client / Server Paradigm. Slide 2 Outline: Client / Server Paradigm Client / Server Model of Interaction Server Design Issues C/ S Points of Interaction.
Distributed systems Programming with threads. Reviews on OS concepts Each process occupies a single address space.
490dp Synchronous vs. Asynchronous Invocation Robert Grimm.
Other File Systems: LFS and NFS. 2 Log-Structured File Systems The trend: CPUs are faster, RAM & caches are bigger –So, a lot of reads do not require.
Sinfonia: A New Paradigm for Building Scalable Distributed Systems Marcos K. Aguilera, Arif Merchant, Mehul Shah, Alistair Veitch, Christonos Karamanolis.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
490dp Prelude I: Group Membership Prelude II: Team Presentations Tuples Robert Grimm.
PRASHANTHI NARAYAN NETTEM.
Lecture 8 Epidemic communication, Server implementation.
U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science Resource containers: A new facility for resource management in server systems.
CSE 490dp Check-pointing and Migration Robert Grimm.
Lecture 23 The Andrew File System. NFS Architecture client File Server Local FS RPC.
Sun NFS Distributed File System Presentation by Jeff Graham and David Larsen.
Presented by: Alvaro Llanos E.  Motivation and Overview  Frangipani Architecture overview  Similar DFS  PETAL: Distributed virtual disks ◦ Overview.
Stack Management Each process/thread has two stacks  Kernel stack  User stack Stack pointer changes when exiting/entering the kernel Q: Why is this necessary?
Highly Available ACID Memory Vijayshankar Raman. Introduction §Why ACID memory? l non-database apps: want updates to critical data to be atomic and persistent.
CS252: Systems Programming Ninghui Li Final Exam Review.
1 The Google File System Reporter: You-Wei Zhang.
Computer System Architectures Computer System Software
Networked File System CS Introduction to Operating Systems.
Oracle10g RAC Service Architecture Overview of Real Application Cluster Ready Services, Nodeapps, and User Defined Services.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Distributed Systems. Interprocess Communication (IPC) Processes are either independent or cooperating – Threads provide a gray area – Cooperating processes.
Distributed File Systems
Distributed File Systems Overview  A file system is an abstract data type – an abstraction of a storage device.  A distributed file system is available.
CS 5204 (FALL 2005)1 Leases: An Efficient Fault Tolerant Mechanism for Distributed File Cache Consistency Gray and Cheriton By Farid Merchant Date: 9/21/05.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
CSE 451: Operating Systems Winter 2015 Module 22 Remote Procedure Call (RPC) Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Netprog: Corba Object Services1 CORBA 2.0 Object Services Ref: The Essential Distributed Objects Survival Guide: Orfali, Harky & Edwards.
Processes CSCI 4534 Chapter 4. Introduction Early computer systems allowed one program to be executed at a time –The program had complete control of the.
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
Processes, Threads, and Process States. Programs and Processes  Program: an executable file (before/after compilation)  Process: an instance of a program.
1 Isolating Web Programs in Modern Browser Architectures CS6204: Cloud Environment Spring 2011.
Distributed File Systems 11.2Process SaiRaj Bharath Yalamanchili.
Threads. Readings r Silberschatz et al : Chapter 4.
Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael Stumm.
CS533 Concepts of Operating Systems Jonathan Walpole.
Distributed File Systems Group A5 Amit Sharma Dhaval Sanghvi Ali Abbas.
Chapter Five Distributed file systems. 2 Contents Distributed file system design Distributed file system implementation Trends in distributed file systems.
DISTRIBUTED FILE SYSTEM- ENHANCEMENT AND FURTHER DEVELOPMENT BY:- PALLAWI(10BIT0033)
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Last Class: Introduction
Processes and threads.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
DISTRIBUTED COMPUTING
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Operating Systems : Overview
Threads and Concurrency
Overview of AIGA platform
Chapter 2: Operating-System Structures
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Transactions in Distributed Systems
Chapter 2: Operating-System Structures
CSE 542: Operating Systems
Presentation transcript:

CSE 490dp Resource Control Robert Grimm

Problems How to access resources? –Basic usage tracking How to measure resource consumption? –Accounting How to limit resource consumption? –Policy We only cover first two issues

Resource Access Issue –How to track usage? Four models –Don’t do it –Explicit creation and deletion –Automatic reclamation of unused resources –Leases

Don’t Do It Example: NFS [Ousterhout 90] –Most operations are idempotent –No connection state “Stateless” –Files persist “Stateful” by definition of a file system

Advantages Crash handling –No recovery on server –No reboots on client Simplicity –No connection handling –No recovery code

Problems Performance –No client-side caching Consistency –Clients don’t know about others modifying same file Semantics –Not implemented: locks –Not idempotent: mkdir

Explicit Creation and Deletion Example: Connections in Sprite FS [Ousterhout 90] Advantages –Consistency Server ensures only one writer per file –Performance Client-side caching –No synchronous writes to server –Files may be overwritten / deleted before they get sent to server

Problems Complexity –More to do on server Recovery –How to restore connections after failure? Performance –Explicit open and close operations Space overheads –Per-connection state

Pervasive Paradigm new / delete –C, C++ create / delete –Files –Tuples in T Spaces, one.world run / kill –Applications, servers

Automatic Reclamation Garbage collection Basic idea –Keep track of used resources –Automatically reclaim unused resources in background Examples –Locally for Java –Distributed for Java RMI

Discussion Advantage –No need to worry about deletion Problem –Complete and reliable usage information is hard to come by Network connections and nodes fail May depend on human factors –Hard to automate

Discussion Can we automate creation and deletion? –Cluster-based service Automatically run and kill services on individual nodes

Leases Basic idea –Limit resource access by time-out –Reclaim resource after time-out expires Operations –Acquire (open) –Renew –Cancel (close)

Examples Remote resources –Java RMI –Jini’s remote events, transactions File cache –V [Gray & Cheriton 89] Storage –JavaSpaces Resource access in general –one.world

Problem A resource can always vanish –Lease renewal is delayed E.g., message may be delayed, is lost –Lease expires

Tracking Usage Don’t do it Explicit creation and deletion Garbage collection –Automate deletion based on usage Leases –Automate deletion based on time-out

Resources Transient –Objects, connections Services –Applications User data –Files, tuples

Summary TransientServicesUser data Don’t do it?No ExplicitOK GC OK in intranets Fully automated! ? Leases Across the network ??

Break

Resource Accounting Problem –Traditionally, process represents Protection domain Resource principal –But, modern servers don’t follow this model [Banga et al., 99]

HTTP Server Implementations One process per connection Event-based server Multi-threaded server

One Process Per Connection

Event-Based Server

Multi-Threaded Server

Scheduling Entities and Activities Classical application –Single process –Mostly user space Modern applications –Considerable kernel processing –Multiple processes –Multiple threads

Classical Application

Considerable Kernel Processing

Multiple Processes

Multiple Threads

How to Account for Resources? Introduce new abstraction –Resource container –Tracks usage information CPU time Memory Networking bandwidth … –Orthogonal to scheduling entities Threads, processes have resource binding

Scheduler Binding Problem –How to schedule threads that are bound to several resource containers? E.g., event-based server Solution –Scheduler binding Set of all resource containers

Operations Create Set parent –Hierarchy of containers Release –Reference counted Share Access attributes Access usage information

Operations Bind thread to a container Reset scheduler binding Bind socket, file to a container

Usage One resource container per logical job –Create new container when accepting connection –Change thread’s container as necessary Example policy –Different classes of clients, depending on source IP address Low priority High priority

Performance Growing number of low priority clients

Performance Growing number of concurrent CGI requests

Performance Growing SYN-flood rate

Summary Resource accounting is orthogonal to –Protection –Scheduling Need explicit abstraction –Resource containers

Issues How to express and enforce policies? How to make resource containers scale across the network?