14
Exokernel: An Opertion System A rchitecture for Application-Lev el Resource Management SIGCOMM ’96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler, M. Frans Kaashoe k, and James O’Toole Jr. MIT, Laboratory for Computer Scienc e

Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,

Embed Size (px)

Citation preview

Page 1: Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,

Exokernel: An Opertion System Architecture for Application-Level Resource Managem

ent

SIGCOMM ’96, PDOS-MITPresented by Ahn Seunghoon

Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr.

MIT, Laboratory for Computer Science

Page 2: Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,

Motivation• Traditional OS has interface, that is the centra

lized resource manager– Applications run on the virtual machine– Fixed high-level abstraction– Low performance– Low flexibility– Low functionality

• So Exokernel is designed

Page 3: Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,

What is the Exokernel?

• It includes an exokernel and untrusted (application-level) library OS

• Exokernel defines low-level interface & multiplexes(not emulate but exports) available HW resources

• Lib OS implements higher-level OS

Application 1 Application 2

Secure bindingTLB Memory BFF Disk

Library OS

Page 4: Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,

Advantages of the architecture

• Allows extension, specialization, and replacement of abstraction : High functionality & Flexibility

• Conflict between the applications can be resolved without intervention of the kernel architects: High performance

• Easy to implement : Simplicity• Easy to port : High portability &

compatibility

Page 5: Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,

Exokernel Design(1/3)

• Exokernel separates protection from management through a low-level interface– Exokernel avoids resource management

• Design principles– Securely expose hardware– Expose Allocation– Expose Names– Expose Revocation

• Resource policy decision by library OS– Competing is allowed as traditional OS

Page 6: Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,

Exokernel Design(2/3)

• Secure Binding– Primary task that is protection mechanism decouples

authorization – Simple operation– Authorization only at bind time(low management

overhead)• No need to understand semantics at bind time

– Needs set of primitives application can use to express protection check by H/W or S/W

– H/W mechanism, S/W caching, Downloading application code

Page 7: Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,

Exokernel Design(3/3)

• Visible Resource Revocation– Higher latency but library OS can guide deallocation and have

knowledge that resources are scarce– Frequent revoked modules can be invisible

• The Abort protocol– When library OS fails to response quickly in fail state, secure

binding must be broken by force– Using repossession vector

Page 8: Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,

Experiment Environment

• Two S/W– Aegis(Exokernel) & ExOS(Library OS)

• Comparing to Ultrix4.2– Mature monolithic UNIX OS

• On MIPS-based DECstation

Page 9: Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,

Aegis: an Exokernel(1/3)• Subsets of Aegis system call interfaces

– Yield, Scall, Acall, Dealloc• Supports set of primitive operation that encapsulate p

rivileged instructions– TLBBwr, FPUmod, CIDswitch, TLBvadelete

• Aegis’s scheduling flexibility does not add overhead to base operation

• Because Aegis does not use mapped DS, it does not have to separate kernel TLB misses from more general class of exceptions in its exception DEMUX routine -> Fast exceptions

Page 10: Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,

Aegis: An Exokernel(2/3)

Machine OS Procedure Call

Syscall

DEC2100 Ultrix 0.57 32.2

DEC2100 Aegis 0.56 3.2/4/7

DEC3100 Ultrix 0.42 33.7

DEC3100 Aegis 0.42 2.9/3.5

DEC5000 Ultrix 0.28 21.3

DEC5000 Aegis 0.28 1.6/2.3

Page 11: Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,

Aegis: An Exokernel(3/3)

Machine OS unalign overflow coproc prot

DEC2100 Ultrix n/a 208.0 n/a 238.0

DEC2100 Aegis 2.8 2.8 2.8 3.0

DEC3100 Ultrix n/a 151.0 n/a 177.0

DEC3100 Aegis 2.1 2.1 2.1 2.3

DEC5000 Ultrix n/a 130.3 n/a 154.0

DEC5000 Aegis 1.5 1.5 1.5 1.5

Page 12: Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,

ExOS: a library OS(1/3)

• Manages fundamental OS abstraction at application level completely within the address space of the application that is using it– IPC Abstraction– Application-level Virtual Memory– Application-Specific Safe Handlers

Page 13: Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,

ExOS: a library OS(2/3)Machine OS pipe pipe’ shm Lrpc

DEC2100 Ultrix 326.0 n/a 187.0 n/a

DEC2100 Aegis 30.9 24.8 12.4 13.9

DEC3100 Ultrix 243.0 n/a 139.0 n/a

DEC3100 Aegis 22.6 18.6 9.3 10.4

DEC5000 Ultrix 199.0 n/a 118.0 n/a

DEC5000 Aegis 14.2 10.7 5.7 6.3

Machine OS dirty Prot1 Prot100

unprot100

Trap Appel1 Appel2

DEC2100 Ultrix n/a 51.6 175.0 175.0 240.0 383.0 335.0

DEC2100 Aegis 24.8 32.5 213.0 275.0 13.9 74.4 45.9

DEC3100 Ultrix n/a 39.0 133.0 133.0 185.0 302.0 267.0

DEC3100 Aegis 18.6 24.4 156.0 206.0 10.1 55.0 34.0

DEC5000 Ultrix n/a 32.0 102.0 102.0 161.0 262.0 232.0

DEC5000 Aegis 10.7 16.9 143.0 143.0 4.8 34.0 22.0

Page 14: Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,

ExOS: a library OS(3/3)

Machine OS Roundtrip latency

DEC5000/125

ExOS/ASH

259

DEC5000/125

ExOS 320

DEC5000/125

Ultrix 3400

DEC5000/200

Ultrix/FRPC

340