1 / 24

Class-based prioritized resource control in Linux

Class-based prioritized resource control in Linux. Amit Khanna Roll No 4134, BE - I. Outline. Motivation Framework Classification Engine (CE) Resource Schedulers Resource Monitoring User Interface Conclusion and Future Work. Introduction. Workload

gefjun
Download Presentation

Class-based prioritized resource control in Linux

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  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. 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. Test Results • Class shares • Gold – 60% • Silver – 30% • Bronze – 9% • Best Effort – 1% Nice Values : -20, -10, 0, 10, 19

  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. Memory Usage Test Results Test conducted on a 2.4GHz Pentium 4 desktop running Redhat Linux 9 and the 2.5.69 Linux kernel running using a simple microbenchmark Class A’s share/Class B’s share Total physical memory = 352 MB Class A’s access freq = 2 * Class B’s access freq Class A’s consumption = Class B’s consumption = 200 MB

  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. Resource Monitoring (continued) • Sampling • Self-restarting kernel timer • Struct delay_info • Schedulers records timestamps • Kernel module sends data to state-agent as records

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

  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. References • CKRM Open Source Project. Class-based kernel resource management. http://ckrm.sf.net/ • Enabling Autonomic Workload Management in Linux, IEEE Proceedings, International Conference on Autonomic Computing (ICAC'04), 17-18 May 2004, Pages: 314 – 315 • AIX 5L Workload Manager, IBM Corp. http://www.redbooks.ibm.com/redbooks/pdfs/sg245977.pdf

  18. THANK YOU

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

  20. Figure 10: Monitoring and Control Approach

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

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

  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. Block Layer (Producer) Sort/ Merge Enqueue Function Per-class queues Dequeue Function Output Queue FCFS Low Level Device Driver (Consumer) I/O Controller CKRM I/O Scheduler

More Related