1 Ashish Gupta Bin Lin Peter Dinda Department of Computer Science Northwestern University.

Slides:



Advertisements
Similar presentations
Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
Advertisements

Operating Systems Process Scheduling (Ch 3.2, )
Objectives Overview Define an operating system
1 Ashish Gupta Bin Lin Peter Dinda Department of Computer Science Northwestern University.
Discovering Computers Fundamentals, Third Edition CGS 1000 Introduction to Computers and Technology Fall 2006.
Xen , Linux Vserver , Planet Lab
XENMON: QOS MONITORING AND PERFORMANCE PROFILING TOOL Diwaker Gupta, Rob Gardner, Ludmila Cherkasova 1.
1 Virtual Machine Resource Monitoring and Networking of Virtual Machines Ananth I. Sundararaj Department of Computer Science Northwestern University July.
An Adaptable Benchmark for MPFS Performance Testing A Master Thesis Presentation Yubing Wang Advisor: Prof. Mark Claypool.
Ashish Gupta Project with Bin Lin. Overview Our Goal –Introduce resource borrowing and its motivation –Current model and further possibilites –What we.
Discrete-Event Simulation: A First Course Steve Park and Larry Leemis College of William and Mary.
Virtual Workbenches Richard Anthony The University of Greenwich
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
Performance Evaluation
By Intellext Presented By: Neha Bhatt. What is Watson? Watson is an information access assistant that automatically retrieves useful information in the.
Interpret Application Specifications
Computer Organization and Architecture
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
Inferring the Topology and Traffic Load of Parallel Programs in a VM environment Ashish Gupta Peter Dinda Department of Computer Science Northwestern University.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
WebQuilt and Mobile Devices: A Web Usability Testing and Analysis Tool for the Mobile Internet Tara Matthews Seattle University April 5, 2001 Faculty Mentor:
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Using Virtualization in the Classroom. Using Virtualization in the Classroom Session Objectives Define virtualization Compare major virtualization programs.
Measuring zSeries System Performance Dr. Chu J. Jong School of Information Technology Illinois State University 06/11/2012 Sponsored in part by Deer &
What is Concurrent Programming? Maram Bani Younes.
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Map Reduce: Simplified Data Processing On Large Clusters Jeffery Dean and Sanjay Ghemawat (Google Inc.) OSDI 2004 (Operating Systems Design and Implementation)
Design and Implement an Efficient Web Application Server Presented by Tai-Lin Han Date: 11/28/2000.
Honeypots. Introduction A honeypot is a trap set to detect, deflect, or in some manner counteract attempts at unauthorized use of information systems.
Using Virtualization in the Classroom. Using Virtualization in the Classroom Session Objectives Define virtualization Compare major virtualization programs.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3: Operating Systems Computer Science: An Overview Tenth Edition.
Computing and the Web Operating Systems. Overview n What is an Operating System n Booting the Computer n User Interfaces n Files and File Management n.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems CSCI-6140 – Computer Operating Systems David Goldschmidt, Ph.D.
EmNet: Satisfying The Individual User Through Empathic Home Networks J. Scott Miller, John R. Lange & Peter A. Dinda Department of Electrical Engineering.
Chapter 8: Operating Systems and Utility Programs Catherine Gifford Dan Falgares.
CIS250 OPERATING SYSTEMS Memory Management Since we share memory, we need to manage it Memory manager only sees the address A program counter value indicates.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
1 Admission Control and Request Scheduling in E-Commerce Web Sites Sameh Elnikety, EPFL Erich Nahum, IBM Watson John Tracey, IBM Watson Willy Zwaenepoel,
Efficient P2P Search by Exploiting Localities in Peer Community and Individual Peers A DISC’04 paper Lei Guo 1 Song Jiang 2 Li Xiao 3 and Xiaodong Zhang.
Computer Systems Week 14: Memory Management Amanda Oddie.
DynamicMR: A Dynamic Slot Allocation Optimization Framework for MapReduce Clusters Nanyang Technological University Shanjiang Tang, Bu-Sung Lee, Bingsheng.
International Conference on Autonomic Computing Governor: Autonomic Throttling for Aggressive Idle Resource Scavenging Jonathan Strickland (1) Vincent.
Sunpyo Hong, Hyesoon Kim
Desktop Workload Characterization for CMP/SMT and Implications for Operating System Design Sven Bachthaler Fernando Belli Alexandra Fedorova Simon Fraser.
Capacity Planning in a Virtual Environment Chris Chesley, Sr. Systems Engineer
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Operating System Examples - Scheduling. References r er/ch10.html r bangalore.org/blug/meetings/200401/scheduler-
Operating Systems c. define and explain the purpose of scheduling, job queues, priorities and how they are used to manage job throughput; d. explain how.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Software Architecture in Practice
Lesson Objectives Aims Key Words
Operating Systems (CS 340 D)
Chapter 2: System Structures
Grid Computing.
Operating Systems (CS 340 D)
Miss rate versus (period, slice)
Operating Systems.
Admission Control and Request Scheduling in E-Commerce Web Sites
User-driven Scheduling Of Interactive Virtual Machines
Operating Systems : Overview
Operating Systems : Overview
Lecture 3: Main Memory.
Software - Operating Systems
Challenges with developing a Commercial P2P System
Performance And Scalability In Oracle9i And SQL Server 2000
Virtual Memory: Working Sets
SCCM in hybrid world Predrag Jelesijević Microsoft 7/6/ :17 AM
TERMS AND CONDITIONS   These PowerPoint slides are a tool for lecturers, and as such: YOU MAY add content to the slides, delete content from the slides,
Presentation transcript:

1 Ashish Gupta Bin Lin Peter Dinda Department of Computer Science Northwestern University

2 Overview Our Goal –Introduce resource borrowing and its motivation –Current model and further possibilities –What we want to study ? Methodology –Actually try it out ! –Design of a system which emulates resource borrowing and captures feedback Design of our application –What it does ? –Extensive System Monitoring –Resource Exercisers we have For technical details refer to paper and tech report System Design – the client server system, creating and analyzing testcases The controlled study –What the user was asked to do, user details etc., set of testcases ( ramp and step) Results –Aggregated –Context –Person –Frog in the pot ? –Hardware ? Internet Wide Study Conclusions and Results

3 Outline Motivation behind Resource Borrowing Measuring user comfort System Design for Measuring User Comfort Controlled Study Its Results Conclusions

4 New Models of Distributed Computing Break Screen Saver time Working 9 am 11 am 1 pm3 pm4 pm5 pm 9 am

5 Observation and ideas Idea: Why not borrow the unused resources ? Unused Resources Problem: Performance Slowdown

6 Effect of performance slowdown

7

8

9 The question we want to answer Depends on Other Factors as well… What level of resource borrowing leads to user discomfort for significant fraction of users ?

10 CPURAM Disk

11 ContextPersonHardware Others ?

12 Power UsersTypical UsersBeginners

13

14 Outline Motivation behind Resource Borrowing Measuring user comfort System Design for Measuring User Comfort Controlled Study Its Results Conclusions

15 How can we find this out ? Actually test it with user feedback A system for emulating resource borrowing and measuring user discomfort using direct feedback

16 How can we find this out ? 1 Measure existing contention

17 How can we find this out ? Emulate Resource Borrowing Real Contention Borrowed Contention Final Contention 2 % CPU Usage vs. Time

18 How can we find this out ? Allow User Feedback 3 F11

19 How can we find this out ? Find MAX Level of tolerable contention Borrowed Contention Final Contention 4 MAX % CPU Usage vs. Time

20 How is it useful ? Comfort = f (Contention) To find a quantitative relationship between resource borrowing and user comfort

21 How is it useful ? Enhances the degree of workstation sharing

22 Interactivity Aware Scheduling Interactive More intelligent scheduling of interactive tasks possible via user feedback and our results

23 Virtual Machine Scheduling Virtuoso: Distributed Computing with Virtual Machines User pays for the resources he uses Need to know minimal resources needed to keep an interactive VM user happy

24 Outline Motivation behind Resource Borrowing Measuring user comfort System Design for Measuring User Comfort Controlled Study Its Results Conclusions

25 Testcase Transfer Results Transfer Server Client Resource borrowing using testcase profile Can do large scale user studies and maintain testcase control over wide-area

26 The client design

27 Testcases Each testcase stores details of resource borrowing Testcase consists of exercise functions for each resource Exercise function is a vector of contention values Example: CPU contention: [0,0.5,1.0,1.5,2.0] at 1 Hz

28 Exercise Functions Time Contention Exercise Function 1 Exercise Function 2 Exercise Function 3 Exercise Function 4 Has all sort of strange exercise functions Power-law, exp, pareto Plot our real testcases

29 Flowchart of Testcase Execution No Testcase running Resource Borrowing Phase Begins (Testcase Runs) No user feedback User expressed discomfort Testcase Exhausts after some time Testcase Ends immediately User feedback

30 Resource Exercisers CPU Exerciser –Contention describes the expected extra number of threads in ready queue –Fractional resource borrowing using stochastic scheduling methods –Validated to contention level of 10 Disk Exerciser –Random seek and read/write in a large file (twice the memory) –Validated to contention level of 7 Memory Exerciser –Borrows a fraction of physical memory: f rom 0 to 1

31 Memory Exerciser Contention indicates fraction of total memory allocated in addition to occupied memory Pages are touched frequently to keep them in physical memory 0MB 1024 MB Occupied Mem. 0.5 Memory Contention Clipping Point

32

33 Outline Motivation behind Resource Borrowing Measuring user comfort System Design for Measuring User Comfort Controlled Study Its Results Conclusions

34 The control study description 33 undergrad and grad students –Note: may not be rep. of PC users population 1.5 hrs each Each user was assigned 4 popular tasks to do –MS Word –MS Powerpoint –MS Explorer  searching and saving information –Quake III

35 Machine Configuration

36 Testcases for the Control Study Three types of testcases: step, ramp and blank Ramp allows us to know the point of discomfort for each resource Step and Ramps: comparing the manner of borrowing resources Blank: To test the background level of discomfort

37 Frog in the Pot Hypothesis % CPU Contention vs. Time Step/Ramp Dynamics

38 Testcases for the Control Study Testcases different for each application –Some apps more intensive than others Example of Word and Quake Requires Calibration

39 Outline Motivation behind Resource Borrowing Measuring user comfort System Design for Measuring User Comfort Controlled Study Its Results Conclusions

40 Resource borrowing vs User Discomfort CDFs for discomfort contention level –Not all contentions cause discomfort: exhausted region CDFs allow us to read %age of people discomforted for a given contention –We want to borrow resources such that only a small fraction are discomforted –Metric c 0.05 : At what contention do we discomfort only 5% of the people ?

41 C 0.05 = 0.35 ( aggregated over all applications) Exhausted Region Discomfort Region Aggregated Results

42 Resource borrowing vs User Discomfort CDFs for discomfort contention level –Not all contentions cause discomfort: exhausted region CDFs allow us to read %age of people discomforted for a given contention –We want to borrow resources such that only a small fraction are discomforted –Metric c 0.05 : At what contention do we discomfort only 5% of the people ?

43 Results overview Aggregated Results Dependence on Resource Dependence on Context Dependence on Users Dependence on Step/Ramp

44 Aggregated Results

45 C 0.05 = 0.35 ( aggregated over all applications) Exhausted Region Discomfort Region Aggregated Results

46 Can borrow a lot, discomforting only a small fraction\ C0.05=0.33 Aggregated Results Exhausted Region Discomfort Region

47 Can borrow a lot, discomforting only a small fraction C 0.05 = 1.11 Aggregated Results Exhausted Region Discomfort Region

48 Dependence on Resource

49 An overview of factors Dependence on Resource User sensitivity by task and resource (Low, Medium, High) Users more tolerant for disk and memory borrowing, than CPU Results Qualitative, but the testcase range is wide

50 CPU Dependence on Resource

51 Memory Dependence on Resource

52 Disk Dependence on Resource

53 Dependence on Context

54 Comparison of CPU discomfort Word IE Powerpoint Quake Dependence on Context

55 Dependence On Context - CPU Word Powerpoint IE Quake Dependence on Context

56 Dependence on Context - Memory Word Powerpoint IE Quake Dependence on Context

57 Dependence on Context - Disk Word Powerpoint IE Quake Dependence on Context

58 Fraction of users discomforted in Disk Word Powerpoint IE Quake Dependence on Context

59 Dependence on User

60 Dependence on User Power Typical Beginner Dependence on User

61 Step/Ramp Dynamics

62 Frog in the Pot Hypothesis % CPU Contention vs. Time Step/Ramp Dynamics

63 An example with PPT % CPU Contention vs. Time 0.98 Step/Ramp Dynamics

64 Internet Wide-Area Study To gain more insight into our results No controls here, hope to get more general and complete data Users can download a client from Clean installation/un-installation and privacy options Join us !

65 Outline Motivation behind Resource Borrowing Measuring user comfort System Design for Measuring User Comfort Controlled Study Its Results Conclusions

66 Conclusion Disk and memory can be borrowed more aggressively, CPU less so –Currently P2P file sharing are very conservative in disk and memory A throttle for resource borrowing  very useful –Don’t run full blast. Have the ability to carefully control how much you borrow through stochastic scheduling CDFs can be used to set the throttle Knowing the user context helps Using Direct user feedback can be useful –We are moving ahead in this direction, esp in scheduling of Virtual Machines for satisfactory interactive performance

67 Conclusion Comfort = f(contention) Disk and Memory surprisingly easy to borrow, CPU borrowing also liberal Set of empirical CDFs provided Depends of other factors: Resource, Context and Users

68 Current and Future Work User feedback for interactive VM Scheduling Real time Scheduling to give exact resources to VMs Minimal resources required to keep the user happy

69 Acknowledgements Special Thanks to: Don Norman Andrew Ortony Ben Watson Jack Tumblin Leslie Lamport and All our beta testers Study participants

70 The placebo effect Users express discomfort even when no testcase is running Can never guarantee that the user will never express feedback

71 Related Work

72 Questions and Answers Other types of irritation Bursty natures of Desktop Computing, bursts indicate sudden action-response tasks Large number of factors for irritation Since there is usually a power law for process run times, why do we need this model ? (CPU is idle most of the time) Why can’t we just run the bg app at a lower priority ? It may benefit much more than just running at a fixed contention. Memory exerciser: What does contention mean ? How do you find out free physical memory ? How do you avoid thrashing ? Why do you avoid thrashing ? How does the CPU exerciser work ? Why do you disable buffering in the Disk exerciser ? The aggregated graphs are not useful. Memory usage may be much more dynamic then in your tests due to user multitasking etc. So this may not represent reality ? –Our study is a start in this direction and we realize that there are limitations to the data we have collected. But we expect to collect and analyze more results from the Internet Wide area study and generalize our results to more real environments. There are no controls in the internet wide area study. The control study was meant to specifically answer the questions we have posed, like the affect of other factors in user discomfort and resource borrowing.

73 Lower priority ? –Disk and memory ? –There is a limit (max) possible amount of cycles stolen. Our goal is to s=estimate that. Seperately, there are many possible sched mech that would get closer to that max. Lower priority is an example. Linger longer is an example. Screen saver is an example. –Quake example –Don’t argue for/against a particular scheduling scheme –It is a step in the right direction… (for results)

74 Testcase Transfer Results Transfer Server Client Resource borrowing using testcase profile

75 The client-server system Data Exchange Hotsync –Results transfer –Testcase update Testcase Tools

76

77

78 An irritating Interface

79 Interactive Computation Bursty Nature of Interactive Computation

80

81

82 Understanding Testcases CPU ramp 1 ramp 2 ramp 3 step 1 step 2 ….. MEM ramp 1 ramp 2 ramp 3 step 1 step 2 ….. Ramp Step

83 Combination of Resources CPU Usage Memory Usage Hard Disk activity Network Traffic Comfort Zone surface

84 % CPU Contention vs. Time

85