U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science Resource containers: A new facility for resource management in server systems.

Slides:



Advertisements
Similar presentations
Operating System Architecture and Distributed Systems
Advertisements

Application Performance in the QLinux Multimedia Operating System Jun Wang Jun Wang.
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,
Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
IO-Lite: A Unified Buffering and Caching System By Pai, Druschel, and Zwaenepoel (1999) Presented by Justin Kliger for CS780: Advanced Techniques in Caching.
IO-Lite: A Unified I/O Buffering and Caching System Vivek S. Pai, Peter Drusche Willy and Zwaenepoel 산업공학과 조희권.
Flash: An efficient and portable Web server Authors: Vivek S. Pai, Peter Druschel, Willy Zwaenepoel Presented at the Usenix Technical Conference, June.
Memory Management Questions answered in this lecture: How do processes share memory? What is static relocation? What is dynamic relocation? What is segmentation?
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science Dynamic Provisioning for Multi-tier Internet Applications Bhuvan Urgaonkar, Prashant.
Java Security: From HotJava to Netscape & Beyond Drew Dean, Edward W. Felten, Dan S. Wallach Department of Computer Science, Princeton University May,
Extensibility, Safety and Performance in the SPIN Operating System Department of Computer Science and Engineering, University of Washington Brian N. Bershad,
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services Matt Welsh, David Culler, and Eric Brewer Computer Science Division University of.
Dynamic Process Allocation in Apache Server Yu Cai.
CS 623 Lecture #9 Yen-Yu Chen Utku Irmak. Papers to be read Better operating system features for faster network servers.Better operating system features.
Page 1 Processes and Threads Chapter Processes 2.2 Threads 2.3 Interprocess communication 2.4 Classical IPC problems 2.5 Scheduling.
U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science Quantifying the Benefits of Resource Multiplexing in On-Demand Data Centers Abhishek.
3.5 Interprocess Communication
Towards Resource Aware Applications and Systems Michael B. Jones Microsoft Research.
1 Service Scheduler in a Trustworthy Web Server Yinong Chen.
1 Prototype Design of an Evolutionary Trustworthy Web Server  Hons Project Fall 2003.
Threads. Processes and Threads  Two characteristics of “processes” as considered so far: Unit of resource allocation Unit of dispatch  Characteristics.
1 I/O Management in Representative Operating Systems.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture.
Connecting Diverse Web Search Facilities Udi Manber, Peter Bigot Department of Computer Science University of Arizona Aida Gikouria - M471 University of.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
CSE 490dp Resource Control Robert Grimm. Problems How to access resources? –Basic usage tracking How to measure resource consumption? –Accounting How.
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
Designing Efficient Systems Services and Primitives for Next-Generation Data-Centers K. Vaidyanathan, S. Narravula, P. Balaji and D. K. Panda Network Based.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science An Analytical Model for Multi-tier Internet Services and its Applications Bhuvan.
LWIP TCP/IP Stack 김백규.
LWIP TCP/IP Stack 김백규.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Operating Systems Lecture 2 Processes and Threads Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of.
The Performance of Microkernel-Based Systems
U NIVERSITY OF M ASSACHUSETTS A MHERST Department of Computer Science Computer Systems Principles Concurrency Patterns Emery Berger and Mark Corner University.
Background: Operating Systems Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Increasing Web Server Throughput with Network Interface Data Caching October 9, 2002 Hyong-youb Kim, Vijay S. Pai, and Scott Rixner Rice Computer Architecture.
U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science Performance of Work Stealing in Multiprogrammed Environments Matthew Hertz Department.
A Cyclic-Executive-Based QoS Guarantee over USB Chih-Yuan Huang,Li-Pin Chang, and Tei-Wei Kuo Department of Computer Science and Information Engineering.
G53SEC 1 Reference Monitors Enforcement of Access Control.
Writing Systems Software in a Functional Language An Experience Report Iavor Diatchki, Thomas Hallgren, Mark Jones, Rebekah Leslie, Andrew Tolmach.
Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer.
1 Virtual Machine Memory Access Tracing With Hypervisor Exclusive Cache USENIX ‘07 Pin Lu & Kai Shen Department of Computer Science University of Rochester.
Presented By, Bhargavi Konduru.  Nowadays, most electronic appliances have computing capabilities that run on embedded operating system (OS) kernels,
Distributed System Services Fall 2008 Siva Josyula
Operating Systems CSE 411 CPU Management Sept Lecture 10 Instructor: Bhuvan Urgaonkar.
12/23/2015CSE 60641: Operating Systems1. Resource Containers: A New Facility for Resource Management in Server Systems. Gaurav Banga, Peter Druschel,
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
U NIVERSITY OF M ASSACHUSETTS A MHERST Department of Computer Science Computer Systems Principles Synchronization Emery Berger and Mark Corner University.
Threads. Readings r Silberschatz et al : Chapter 4.
Computer System Structures
Introduction to threads
Chapter 4: Multithreaded Programming
CS490 Windows Internals Quiz 2 09/27/2013.
Chapter 15, Exploring the Digital Domain
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Operating Systems : Overview
Multithreaded Programming
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
CSE 542: Operating Systems
CSE 542: Operating Systems
Presentation transcript:

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science Resource containers: A new facility for resource management in server systems G. Banga, P. Druschel and J. Mogul Rice University Presented by: Bhuvan Urgaonkar

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 2 Motivation Web servers should be able to Provide resource guarantees Counter DoS attacks Do accurate billing Shortcomings in OS abstractions Process is unit of resource management Apps have no control over resources kernel consumes for them => achieving above goals difficult

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 3 Outline Motivation Shortcomings of OS Abstractions Resource Containers Performance Evaluation Conclusions/Comments

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 4 Resource Principals and Protection Domains Resource Principals Entities for which separate resource allocation and accounting done Protection Domain Entities that need to be isolated from each other Popular Operating Systems Process = resource principal Process = protection domain

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 5 A classical application Process appropriate resource principal

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 6 A network-intensive application Resources consumed by kernel unaccounted => process inappropriate as resource principal

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 7 A multi-process application The resource principal should be the set of all processes

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 8 Single-process MT application Correct resource principal smaller than a process

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 9 OS shortcomings: summary OS unit of resource mgt. (process) often different from desired unit Apps cannot control resource allocation to their activities Inaccurate accounting and charging of resources Incorrect scheduling decisions

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 10 Resource container Contains all system resources used for an independent activity E.g. For a HTTP connection served by a web server CPU time spent on the connection sockets, PCBs, network buffers etc Mechanisms for accurate accounting Lazy Receiver Processing (LRP)

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 11 Containers and CPU scheduling Applications associate containers with independent activities Dynamic binding between threads and containers Thread’s consumption charged to right container

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 12 Containers and CPU scheduling Threads scheduled based on combined allocation and usage of all associated containers Apps can associate scheduling info with activities Threads within a container may be scheduled as the app pleases Resource container hierarchy

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 13 Other resources Similar accounting mechanism possible for other resources Support required to account for resources consumed by the kernel on behalf of applications

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 14 Containers in a MT server New container created for new connection Serving thread bound to this container

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 15 Containers in event-driven server New container created for new connection Thread’s binding changed as it serves different connections

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 16 More examples Different priorities to requests from different sources Restrict resource consumption of certain requests Defend against DoS attacks Generating accurate bills

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 17 Prototype implementation Modifications to Digital UNIX 4.0D CPU scheduler TCP/IP subsystem: LRP Server software: single-process, event-driven Clients used the S-Client software

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 18 Costs of new primitives Throughput of server unchanged on modified kernel

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 19 Prioritized handling of clients Number of concurrent low-priority clients

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 20 Controlling resource usage of CGI processing Number of concurrent CGI requests

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 21 Immunity against SYN-flooding SYN-Flood Rate (1000s of SYNs/sec)

U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science 22 Conclusions Resource container, an OS abstraction to explicitly identify a resource principal Prototype implementation in Digital UNIX Combined with accurate resource accounting (e.g., LRP) can help web servers provide differentiated QoS