ESD.71 Application Portfolio: Flexibility in the Product Design Process
Application performance and flexibility on Exokernel systems
-
Upload
basil-huffman -
Category
Documents
-
view
29 -
download
1
description
Transcript of Application performance and flexibility on Exokernel systems
![Page 1: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/1.jpg)
1
M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, Hector M. Bricefio, Russell Hunt, David Mazikres, Thomas Pinckney, Robert Grimm, John Jannotti and Kenneth Mackenzie SOSP 1997
Presented by Carol Pinto
Application performance and flexibility on Exokernel systems
![Page 2: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/2.jpg)
2
•Performance▫Fixed general purpose implementations
•Flexibility▫High level abstractions hide information
•Functionality▫Changes to abstractions rarely happen
The Problem!
![Page 3: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/3.jpg)
3
Why should the OS do anything that the user program can do itself?
•Separate resource management from protection•Give applications flexible, extensible access to OS primitives
The Solution
![Page 4: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/4.jpg)
4
•New kernel interfaces•The disk subsystem, XN•Overview of Xok, ExOS•Performance evaluation of unaltered UNIX applications•Global performance of exokernel
Overview
![Page 5: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/5.jpg)
5
•Concept of exokernel was introduced by Engler, Kaashoek and O’Toole in 1995
•Aegis and ExOS
•Other techniques ▫Better microkernel▫Virtual machines▫Downloading the code
Previous work
![Page 6: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/6.jpg)
6
Exokernel Architecture
Kaashoek et al.
![Page 7: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/7.jpg)
7
•Secure Bindings▫Library OS bind to resources
•Visible Resource Revocation▫Reclaiming and breaking the secure bindings
•Abort Protocol▫To handle library OSes that fail to respond
Techniques involved
![Page 8: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/8.jpg)
8
•Securely expose hardware•Expose allocation•Expose Names•Expose Revocation
Exokernel Design principles
![Page 9: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/9.jpg)
9
• Levels of Trust▫ Mutual trust▫ Unidirectional trust▫ Mutual distrust
Protected sharing
![Page 10: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/10.jpg)
10
•Failures:▫Disk-block-level multiplexing▫Self-descriptive metadata▫Template-based description
Multiplexing Stable Storage
![Page 11: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/11.jpg)
11
•Guarded operation on disk data – Secure bindings•Determination of Access rights – UDF mechanism•Ordered disk updates•Coherent caching of disk blocks – in-kernel cache registry•Atomic metadata updates – locks•Well formed updates – satisfying metadata invariants
XN
![Page 12: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/12.jpg)
12
•UNIX-like library file system•Methods are downloaded into kernel•Adds to XN’s protection mechanism
C-FFS: a library file system
![Page 13: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/13.jpg)
13
•Similar to Aegis Exokernel•Exokernel for Intel x86-based computers▫TLB refills are not handled▫Wakeup predicates – injected into the kernel▫Access control – hierarchically named capabilities
Xok
![Page 14: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/14.jpg)
14
•Runs unmodified UNIX applications•Missing functions
– paging, process swapping, process groups and windowing system•Research based system•Shared global states for a few abstractions
ExOS 1.0
![Page 15: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/15.jpg)
15
Performance of unmodified UNIX applications
Xok/ExOS – 41 secondsOpenBSD/C-FFS – 51 secondsOpenBSD/FreeBSD - 60 seconds
![Page 16: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/16.jpg)
16
•Modified Andrew Benchmark:Xok/ExOS - 11.5 secondsOpenBSD/CFFS - 12.5 seconds OpenBSD - 14.2 secondsFreeBSD - 11.5 seconds
Performance on MAB:
![Page 17: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/17.jpg)
17
•XIO library for fast servers •Sample application - Cheetah Server
•Optimizations:▫Merged File Cache and Retransmission Pool.▫Knowledge-based Packet Merging▫HTML-based FileGrouping
The Cheetah HTTP/1.0 Server
![Page 18: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/18.jpg)
18
HTTP document throughput performance
![Page 19: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/19.jpg)
19
Global performance
![Page 20: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/20.jpg)
20
•Exposing kernel data structures• Libraries are simpler• `Reboot’ is replaced by `relink’•Design is not simple• Loss of information by implementing OS abstractions at user level
Exokernel Experience
![Page 21: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/21.jpg)
21
•Exopc Exokernel Distribution▫ Under active development by PDOS at MIT, Greg Ganger's group at CMU, and Exotec▫ Still many bugs and features that have not yet been implemented.
• Recent work:▫ Fast and flexible application-level networking on exokernel systems
Gregory R. Ganger, Dawson R. Engler, M. Frans Kaashoek, Hector M. Briceno, Russell Hunt, and Thomas Pinckney. ACM Transactions on Computer Systems 20(1), February 2002.
▫ Multiprocessing with the Exokernel operating systemBenjie Chen. Master's thesis, Massachusetts Institute of Technology, February 2000.
What about now!
![Page 22: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/22.jpg)
22
Exokernel• Corey, Barrelfish multikernel and many other libraryOS systems.• Influenced hypervisors like Xen
Microkernels• L4 microkernels such as Pistachio(University of Karlsruhe in collaboration with the
DiSy group at the University of New South Wales, Australia), NICTA::Pistachio-embedded, L4 on MIPS and many more.
Exokernels and Microkernels today!
![Page 23: Application performance and flexibility on Exokernel systems](https://reader036.fdocuments.net/reader036/viewer/2022081604/56813676550346895d9e0537/html5/thumbnails/23.jpg)
23
Questions ?