Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Class-based prioritized resource control in Linux Amit Khanna Roll No 4134, BE - I.

Similar presentations

Presentation on theme: "1 Class-based prioritized resource control in Linux Amit Khanna Roll No 4134, BE - I."— Presentation transcript:

1 1 Class-based prioritized resource control in Linux Amit Khanna Roll No 4134, BE - I

2 2 Outline Motivation Framework Classification Engine (CE) Resource Schedulers Resource Monitoring User Interface Conclusion and Future Work

3 3 Introduction Workload Any system work with a distinct business goal A set of kernel tasks executing over some duration Vary in their importance Resource demands Diverse Dynamically changing

4 4 Workload Management Current scenario Manual Static Workload Managers (WLM) Differentiated service Translate business goals to system goals Ability to handle dynamically changing resource requirements

5 5 Class-based Kernel Resource Management (CKRM) Class - A dynamic grouping of OS objects Entitlements Reclassification of a task Hierarchical Classification Rule - Method by which a task can be classified into a class Policy - A collection of class definitions and classification rules

6 6 Components of CKRM Core Defines the basic entities Link between all the other components Classification Engine (CE) Classifies kernel objects into classes Class-aware Resource Controllers RCFS (Resource Control File System) User-Kernel interface for CKRM

7 7 Components of CKRM User Kernel Resource Management Middleware System Administrator Classification Filesystem RCFS (Resource Control Filesystem) CKRM API Externally defined Policy --Rules -- Class defs Classification Engine CKRM Core fork() exec() … Share Usage (per- resource) Class A T1 T2 T4 Share Usage (per- resource) Class D T4 Reclassification Class Aware Patches Resource Schedulers CPU, Disk I/O, Network, Memory Class Aware Resource Allocation Ti - Tasks - Patches Resource request

8 8 Classification Engine (CE) Optional component (module) Automatically triggered on kernel events Eg. setuid, fork, exec RBCE (Rule Based Classification Engine) Rule format A set of attribute-value tuples (A, V) and a class C Eg gid=10, uid = 7, target = /rcfs/task_class/Gold

9 9 CPU Controller Current scheduler - O(1) scheduler One runqueue per CPU Active array and expired array 140 nice levels Extensions Runqueues for each class for each CPU Hierarchical scheduling scheme ecp(C) = R * Σ cycles(C)/share(C) + top_prio

10 10 Test Results Class shares Gold – 60% Silver – 30% Bronze – 9% Best Effort – 1% Nice Values : -20, - 10, 0, 10, 19

11 11 Memory Controller Current Scenario Memory zones Page descriptor lists – active, inactive and free Page reclamation Extensions Classes have associated share of physical memory No of pages allocated to a class are monitored Class shares are enforced only when system memory is low Modified page reclamation

12 12 Memory Usage Test Results Test conducted on a 2.4GHz Pentium 4 desktop running Redhat Linux 9 and the Linux kernel running using a simple microbenchmark Total physical memory = 352 MB Class As access freq = 2 * Class Bs access freq Class As consumption = Class Bs consumption = 200 MB Class As share/Class Bs share

13 13 Resource Monitoring State-agent Runs in user-space Maintains state of existing and exited processes Monitoring infrastructure design principles Event-driven Aperiodic Periodic Communication channel Minimal kernel state

14 14 Resource Monitoring (continued) Sampling Self-restarting kernel timer Struct delay_info Schedulers records timestamps Kernel module sends data to state-agent as records

15 15 Resource Control File System (RCFS) /rcfs /rcfs/task_class /rcfs/socket_class /rcfs/ce Files member config target shares stats Files reclassify state Rules Gold Music Compile

16 16 Conclusions and Future Work Goal-oriented WLMs can automate low-level administration Critical workloads can be protected from workload pressure by specifying their minimum shares Redeveloping resource controllers to support hierarchy of classes Cooperative communication between various resource controllers

17 17 References CKRM Open Source Project. Class-based kernel resource management. Enabling Autonomic Workload Management in Linux, IEEE Proceedings, International Conference on Autonomic Computing (ICAC'04), May 2004, Pages: 314 – 315 AIX 5L Workload Manager, IBM Corp. sg pdf

18 18

19 19 Scheduling Overhead Test results have been measured using LMBench benchmark

20 20 Figure 10: Monitoring and Control Approach

21 21 for (i=0; i<50; i++) { start = get_time(); busy_waiting(N); end = get_time(); response = end - start - N; sleep(200) ; } Interactivity Test Code

22 22 Interactivity Test Results Gold, Bronze and Best Effort classes have 5 CPU bound jobs. Silver class has an interactive job

23 23 I/O Controller Current scenario Each block device has a single logical queue Merges and sorts I/O requests made by block layer Passes on the request to device driver Extensions One queue per-class Moves the requests from input queue to dispatch queue in proportion of their weight

24 24 I/O Controller CKRM I/O Scheduler Block Layer (Producer) Low Level Device Driver (Consumer) Output Queue FCFS Dequeue Function Sort/ Merge Enqueue Function Per-class queues

Download ppt "1 Class-based prioritized resource control in Linux Amit Khanna Roll No 4134, BE - I."

Similar presentations

Ads by Google