Request Behavior Variations

Slides:



Advertisements
Similar presentations
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
Advertisements

Introduction CSCI 444/544 Operating Systems Fall 2008.
Helper Threads via Virtual Multithreading on an experimental Itanium 2 processor platform. Perry H Wang et. Al.
Flash: An efficient and portable Web server Authors: Vivek S. Pai, Peter Druschel, Willy Zwaenepoel Presented at the Usenix Technical Conference, June.
Techniques for Multicore Thermal Management Field Cady, Bin Fu and Kai Ren.
Detecting Transient Bottlenecks in n-Tier Applications through Fine- Grained Analysis Qingyang Wang Advisor: Calton Pu.
Capriccio: Scalable Threads for Internet Services ( by Behren, Condit, Zhou, Necula, Brewer ) Presented by Alex Sherman and Sarita Bafna.
OS Spring ’ 04 Scheduling Operating Systems Spring 2004.
1 When to Switch Processes 3 triggers –System call, Interrupt and Trap System call –when a user program invokes a system call. e.g., a system call that.
CS 3013 & CS 502 Summer 2006 Threads1 CS-3013 & CS-502 Summer 2006.
By- Jaideep Moses, Ravi Iyer , Ramesh Illikkal and
New Challenges in Cloud Datacenter Monitoring and Management
Power Containers: An OS Facility for Fine-Grained Power and Energy Management on Multicore Servers Kai Shen, Arrvindh Shriraman, Sandhya Dwarkadas, Xiao.
Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
Profile Driven Component Placement for Cluster-based Online Services Christopher Stewart (University of Rochester) Kai Shen (University of Rochester) Sandhya.
Uncovering the Multicore Processor Bottlenecks Server Design Summit Shay Gal-On Director of Technology, EEMBC.
1 Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction Rakesh Kumar, Keith I. Farkas, Norman P. Jouppi, Parthasarathy.
A Measurement Based Memory Performance Evaluation of High Throughput Servers Garba Isa Yau Department of Computer Engineering King Fahd University of Petroleum.
Background: Operating Systems Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
1 Computation Spreading: Employing Hardware Migration to Specialize CMP Cores On-the-fly Koushik Chakraborty Philip Wells Gurindar Sohi
Power Containers: An OS Facility for Fine-Grained Power and Energy Management on Multicore Servers Kai Shen, Arrvindh Shriraman, Sandhya Dwarkadas, Xiao.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
BarrierWatch: Characterizing Multithreaded Workloads across and within Program-Defined Epochs Socrates Demetriades and Sangyeun Cho Computer Frontiers.
An Efficient Threading Model to Boost Server Performance Anupam Chanda.
Quantifying and Controlling Impact of Interference at Shared Caches and Main Memory Lavanya Subramanian, Vivek Seshadri, Arnab Ghosh, Samira Khan, Onur.
LIOProf: Exposing Lustre File System Behavior for I/O Middleware
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.
Chapter 4: Threads Modified by Dr. Neerja Mhaskar for CS 3SH3.
Introduction to threads
Processes and threads.
Jacob R. Lorch Microsoft Research
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
Operating Systems : Overview
Outline Introduction Related Work
Processes and Threads Processes and their scheduling
Resource Aware Scheduler – Initial Results
OPERATING SYSTEMS CS3502 Fall 2017
Mechanism: Limited Direct Execution
Chapter 2: System Structures
Chapter 4: Multithreaded Programming
Assembly Language for Intel-Based Computers, 5th Edition
Capriccio – A Thread Model
Chapter 4: Threads.
Department of Computer Science University of California, Santa Barbara
Reference-Driven Performance Anomaly Identification
Chapter 4: Threads.
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Chapter 26 Concurrency and Thread
Evaluating Transaction System Performance
Process & its States Lecture 5.
Operating Systems : Overview
CPU SCHEDULING.
Dept. of Computer Science, Univ. of Rochester
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Multiprocessor and Real-Time Scheduling
CHAPTER 4:THreads Bashair Al-harthi OPERATING SYSTEM
Multithreaded Programming
Hardware Counter Driven On-the-Fly Request Signatures
Operating Systems : Overview
CS703 – Advanced Operating Systems
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter 4: Threads & Concurrency
Chapter 4: Threads.
Operating Systems : Overview
Department of Computer Science University of California, Santa Barbara
Chapter 13: I/O Systems.
Presentation transcript:

Request Behavior Variations Kai Shen University of Rochester ASPLOS 2010 4/10/2019

Background Research Overview Complex request behaviors in server systems Potentially high concurrency in servers Fine-grained request activities over multiple stages Non-determinism due to multicore resource sharing Goal: Characterize/manage fine-grained request behaviors Model request performance (Cycles/ins.) and resource usage (to shared cache and memory bandwidth) Online signature identification and anomaly analysis Adaptive request scheduling and throttling Operating system techniques on existing hardware ASPLOS 2010 4/10/2019

A Request’s Life RUBiS: multi-stage online auction Web server J2EE application components Database A few milliseconds or less at each stage ASPLOS 2010 4/10/2019

Request Behavior Variations Performance obfuscation of multicore resource sharing Intel 3.0GHz “Woodcrest” processors One core Four cores ASPLOS 2010 4/10/2019

Intra-Request Behavior Variations Fluctuating behaviors over the course of one request execution Opportunties for signature identification and contention management ASPLOS 2010 4/10/2019

Related Work and Challenges Past work on phase identification/exploitation Program analysis: [Batson&Madison 76], [Shen et al. 04] Architecture: [Dhodapkar&Smith 02], [Sherwood et al. 03], [Isci&Martonosi 06] Challenges for characterizing request behavior variations High concurrency, frequent net/storage I/Os, and multiple-stage exec. in server applications  fine-grained patterns, no long stable phases OS-level techniques requiring no application changes or special hardware assistance Online characterization with low overhead, like in some past work ASPLOS 2010 4/10/2019

Our Approach Online request context maintenance [ASPLOS’08] Tracking request context propagation by tagging messages passed between server stages Online sampling of hardware event counters Sample event counters at request switches Sample at periodic interrupts to capture variation patterns As frequent as 10 microsecs per sample Observer’s effect An interrupt costs ~2300 cycles, triggers 12 references to L2 ASPLOS 2010 4/10/2019

System Call-Triggered Sampling In-kernel call much cheaper than interrupt Frequent system calls in servers present in-kernel opportunities ASPLOS 2010 4/10/2019

Behavior Transition Signals System calls are part of application semantics Some may signal impending behavior transitions Sample at these occasions more cost-effective Example: Apache web server Read file from disk  output HTTP headers to net  output file Output headers involve fragmented memory accesses  poor CPI signaled by a writev system call How to learn this? Collect sample system calls and metric changes before/after call On average, writev system call leads to CPI increase of 3.66 ASPLOS 2010 4/10/2019

Modeling: Request Differencing Quantify the similarity/difference of two requests Time shifting (due to non-deterministic multicore executions?) Dynamic time warping (originated in speech recognition) Time shifting ASPLOS 2010 4/10/2019

Modeling: Anomaly Detection Anomalies due to effects of dynamic resource contention Requests with similar L2 references/ins. but different Cycles/ins. Suspected contention ASPLOS 2010 4/10/2019

Utilization: Multicore Scheduling Contention-easing scheduling Avoid co-execution of high-resource-usage request periods Challenges Require prediction of fine-grained request behavior patterns Lack of long stable phases Much shorter than typical CPU scheduling quantum, in millisecs Results Able to reduce worst-case contention Reduce high-resource-usage co-execution at all four cores by 25% Little effect on average performance ASPLOS 2010 4/10/2019

Conclusions Request characterization helps request-level management Challenges: high concurrency, fine granularity, multicore obfuscation Our contributions Efficient online request behavior sampling Demonstrate utilizations in request modeling and management OS-level techniques requiring no application changes or special hardware assistance Future work: End-to-end request behavior analysis Correlate with program/application info to answer high-level questions Request characterization over distributed server systems ASPLOS 2010 4/10/2019