Presentation is loading. Please wait.

Presentation is loading. Please wait.

Transforming Policies into Mechanisms with Infokernel Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Nathan C. Burnett, Timothy E. Denehy, Thomas J.

Similar presentations


Presentation on theme: "Transforming Policies into Mechanisms with Infokernel Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Nathan C. Burnett, Timothy E. Denehy, Thomas J."— Presentation transcript:

1 Transforming Policies into Mechanisms with Infokernel Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Nathan C. Burnett, Timothy E. Denehy, Thomas J. Engle, Haryadi S. Gunawi, James A. Nugent, and Florentina I. Popovici Department of Computer Sciences University of Wisconsin - Madison

2 Policies and Mechanisms Definitions –Policies are schemes for deciding what to do –Mechanisms are tools for implementing policies From user or application perspective –See only fixed OS policies –Defaults may not be the best policies

3 Policies and Mechanisms Definitions –Policies are schemes for deciding what to do –Mechanisms are tools for implementing policies From user or application perspective –See only fixed OS policies –Defaults may not be the best policies How can we transform existing OS policies into useful mechanisms for higher-level services?

4 From Policies to Mechanisms Information empowers transformation OS - Policies Application

5 From Policies to Mechanisms Information empowers transformation OS - Policies (infokernel) Application small changes

6 From Policies to Mechanisms Information empowers transformation OS - Policies (infokernel) Application Information small changes algorithms, state

7 From Policies to Mechanisms Information empowers transformation OS - Policies (infokernel) Application Information small changes algorithms, state Library

8 From Policies to Mechanisms Information empowers transformation OS - Policies (infokernel) Application Information small changes algorithms, state Library exploit predict

9 From Policies to Mechanisms Information empowers transformation OS - Policies (infokernel) Application Information small changes algorithms, state Library exploit predict adapt

10 From Policies to Mechanisms Information empowers transformation OS - Policies (infokernel) Application Information small changes algorithms, state Library exploit predict adapt manipulate

11 Building Infokernels Exploit information to control policies in Linux, BSD File cache replacement –Convert 2Q into FIFO, LRU, MRU, LFU File and directory placement –Control placement of data on disk Disk scheduling –Enable background scheduling and free-block scheduling Network scheduling –Convert TCP Reno into TCP Vegas congestion control

12 Infokernel Observations Policies can be manipulated efficiently Ideas applicable to diverse policies Several useful abstractions Simple to implement

13 Infokernel Questions Exporting information –How much information should we export? –How do we access information efficiently? Controlling policies –How can we emulate other policies? –How complex is the implementation? Evaluation –How accurate is our policy control? –How much overhead is incurred? –What benefits can we achieve? Other issues –Why not add new mechanisms for control? –Could greedy processes misbehave?

14 Case Study: InfoReplace Convert a source OS file cache replacement policy into a different target policy Manipulate source policy by accessing cache pages favored by the target policy File Caching (infokernel) Application Information InfoReplace

15 Repeated Sequential Scans Imagine a 3 page cache and a 4 page file 1 Read page 1 LRU 1 Read page 2 2 1 Read page 3 23 2 Read page 4 34 3 Read page 1 41 4 Read page 2 12 0% Hit Rate…

16 Repeated Sequential Scans Imagine a 3 page cache and a 4 page file 1 Read page 1 LRU 1 Read page 2 2 1 Read page 3 23 2 Read page 4 34 3 Read page 1 41 4 Read page 2 12 0% Hit Rate 1 LIFO 21 321 421 50% Hit Rate… 421 421

17 Repeated Sequential Scans Imagine a 3 page cache and a 4 page file 1 Read page 1 LRU (source) 1 Read page 2 2 1 Read page 3 23 2 Read page 4 34 3 Read page 1 41 4 Read page 2 12 0% Hit Rate LIFO (target) 50% Hit Rate… 1 InfoReplace 12 123 1 21 321 421 421 421

18 Repeated Sequential Scans Imagine a 3 page cache and a 4 page file 1 Read page 1 LRU (source) 1 Read page 2 2 1 Read page 3 23 2 Read page 4 34 3 Read page 1 41 4 Read page 2 12 0% Hit Rate LIFO (target) 50% Hit Rate… 1 InfoReplace 12 231 1 21 321 421 421 421

19 Repeated Sequential Scans Imagine a 3 page cache and a 4 page file 1 Read page 1 LRU (source) 1 Read page 2 2 1 Read page 3 23 2 Read page 4 34 3 Read page 1 41 4 Read page 2 12 0% Hit Rate LIFO (target) 50% Hit Rate… 1 InfoReplace 12 312 1 21 321 421 421 421

20 Repeated Sequential Scans Imagine a 3 page cache and a 4 page file 1 Read page 1 LRU (source) 1 Read page 2 2 1 Read page 3 23 2 Read page 4 34 3 Read page 1 41 4 Read page 2 12 0% Hit Rate LIFO (target) 50% Hit Rate… 1 InfoReplace 12 124 312 1 21 321 421 421 421

21 Repeated Sequential Scans Imagine a 3 page cache and a 4 page file 1 Read page 1 LRU (source) 1 Read page 2 2 1 Read page 3 23 2 Read page 4 34 3 Read page 1 41 4 Read page 2 12 0% Hit Rate LIFO (target) 50% Hit Rate… 1 InfoReplace 12 124 241 412 312 50% Hit Rate 1 21 321 421 421 421

22 Infokernel Questions Exporting information –How much information should we export? –How do we access information efficiently? Controlling policies –How can we emulate other policies? –How complex is the implementation? Evaluation –How accurate is our policy control? –How much overhead is incurred? –What benefits can we achieve? Other issues –Why not add new mechanisms for control? –Could greedy processes misbehave?

23 Amount of Information InfoReplace –Could export exact file page cache structures Specific to the source policy and the particular implementation Kernel changes would force user-level modifications –Instead, export an abstract ordered list of file pages Order indicates which pages are likely to be evicted Possible to build a single library for many source policies General observations –Information must be recast –Hide actual implementations –Export general abstractions applying to a range of policies

24 Infokernel Questions Exporting information –How much information should we export? –How do we access information efficiently? Controlling policies –How can we emulate other policies? –How complex is the implementation? Evaluation –How accurate is our policy control? –How much overhead is incurred? –What benefits can we achieve? Other issues –Why not add new mechanisms for control? –Could greedy processes misbehave?

25 Efficient Abstractions InfoReplace –Victim list, next N victims from file cache page list Faster to copy a small portion of the list –Victim counter, tracks additions to the victim list Faster to determine when manipulation is necessary General observations –Efficient optimizations for each case study –Reusable abstractions for exporting information Lists, counters, notifiers

26 Infokernel Questions Exporting information –How much information should we export? –How do we access information efficiently? Controlling policies –How can we emulate other policies? –How complex is the implementation? Evaluation –How accurate is our policy control? –How much overhead is incurred? –What benefits can we achieve? Other issues –Why not add new mechanisms for control? –Could greedy processes misbehave?

27 Simulated cache Emulating Target Policies InfoReplace –Interpose on file reads and writes –Simulate the target policy and compare its shadow file cache entries to the actual cache –Access pages that may be evicted but are favored under the target policy 123321 OS cache compare manipulate

28 Infokernel Questions Exporting information –How much information should we export? –How do we access information efficiently? Controlling policies –How can we emulate other policies? –How complex is the implementation? Evaluation –How accurate is our policy control? –How much overhead is incurred? –What benefits can we achieve? Other issues –Why not add new mechanisms for control? –Could greedy processes misbehave?

29 Implementation Complexity InfoReplace –Kernel: 109 lines of code –User-level: 1,361 lines of code Most due to the simulation framework (720 lines) About 100 lines of code for each target policy General observations –Small code sizes for all case studies (< 1,900 lines) –Abstractions easily implemented in Linux and BSD

30 Infokernel Questions Exporting information –How much information should we export? –How do we access information efficiently? Controlling policies –How can we emulate other policies? –How complex is the implementation? Evaluation –How accurate is our policy control? –How much overhead is incurred? –What benefits can we achieve? Other issues –Why not add new mechanisms for control? –Could greedy processes misbehave?

31 InfoReplace Accuracy Convert Linux 2Q into FIFO, LRU, MRU, LFU Workload varies recency and frequency of access to a file Compare pages in actual and simulated caches Accuracy is high except for MRU, which is opposed to 2Q

32 Infokernel Questions Exporting information –How much information should we export? –How do we access information efficiently? Controlling policies –How can we emulate other policies? –How complex is the implementation? Evaluation –How accurate is our policy control? –How much overhead is incurred? –What benefits can we achieve? Other issues –Why not add new mechanisms for control? –Could greedy processes misbehave?

33 InfoReplace Overhead Convert Linux 2Q into FIFO, LRU, MRU, LFU Overheads are small except LFU which is expensive to simulate Even LFU overhead is acceptable if we can gain just 1% in hit rate

34 Infokernel Questions Exporting information –How much information should we export? –How do we access information efficiently? Controlling policies –How can we emulate other policies? –How complex is the implementation? Evaluation –How accurate is our policy control? –How much overhead is incurred? –What benefits can we achieve? Other issues –Why not add new mechanisms for control? –Could greedy processes misbehave?

35 InfoReplace Workload Benefits Convert Linux 2Q policy into PinRange Pin the upper levels of a database index tree in memory Workload of random index lookups Level 6 hit rate increases under PinRange Run time decreases 22%

36 InfoReplace Workload Benefits Convert Linux 2Q policy into PinRange Pin the upper levels of a database index tree in memory Workload of random index lookups Level 6 hit rate increases under PinRange Run time decreases 22%

37 Infokernel Questions Exporting information –How much information should we export? –How do we access information efficiently? Controlling policies –How can we emulate other policies? –How complex is the implementation? Evaluation –How accurate is our policy control? –How much overhead is incurred? –What benefits can we achieve? Other issues –Why not add new mechanisms for control? –Could greedy processes misbehave?

38 Adding Mechanisms InfoReplace –Could build several cache policies into the OS Difficult to supply the right policy for every application General observations –Infeasible to deliver all policies for all applications –Provide abstract tools for policy customization

39 Infokernel Questions Exporting information –How much information should we export? –How do we access information efficiently? Controlling policies –How can we emulate other policies? –How complex is the implementation? Evaluation –How accurate is our policy control? –How much overhead is incurred? –What benefits can we achieve? Other issues –Why not add new mechanisms for control? –Could greedy processes misbehave?

40 Greedy Processes InfoReplace –A process could monopolize the file cache –Such activity was possible before General observations –Stresses the role of the OS to arbitrate resources –No new mechanisms, so no new OS responsibilities

41 Case Study: InfoFreeSched Provide free-block scheduling on a source disk scheduling policy Manipulate source policy by carefully introducing background requests Disk Sched (infokernel) Application Information InfoFreeSched

42 InfoFreeSched Abstractions Name of disk scheduling policy –Determine where new requests will be placed Disk request list Notifier for changes to disk request list –Faster to recognize new scheduling opportunities Timers for disk accesses –Build an approximate disk model based on logical block distances

43 InfoFreeSched Operation Lack complete control over disk request queue –Limited by source policy and existing requests

44 InfoFreeSched Operation Lack complete control over disk request queue –Limited by source policy and existing requests Obtain current list of disk requests

45 InfoFreeSched Operation Lack complete control over disk request queue –Limited by source policy and existing requests Obtain current list of disk requests For each background request

46 InfoFreeSched Operation Lack complete control over disk request queue –Limited by source policy and existing requests Obtain current list of disk requests For each background request –Determine its queue position

47 InfoFreeSched Operation Lack complete control over disk request queue –Limited by source policy and existing requests Obtain current list of disk requests For each background request –Determine its queue position –Calculate effect on foreground using disk model

48 InfoFreeSched Operation Lack complete control over disk request queue –Limited by source policy and existing requests Obtain current list of disk requests For each background request –Determine its queue position –Calculate effect on foreground using disk model –Insert request if impact is minimal

49 InfoFreeSched Workload Benefits Workload of foreground and background random read requests Increase overall bandwidth with minimal impact on foreground

50 Conclusions Infokernels –Can efficiently manipulate OS polices –Apply to a diverse set of policies –Can be built from several useful abstractions –Are simple to implement

51 Conclusions Infokernels –Can efficiently manipulate OS polices –Apply to a diverse set of policies –Can be built from several useful abstractions –Are simple to implement Information empowers applications

52 Questions? http://www.cs.wisc.edu/wind/


Download ppt "Transforming Policies into Mechanisms with Infokernel Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Nathan C. Burnett, Timothy E. Denehy, Thomas J."

Similar presentations


Ads by Google