SlideShare a Scribd company logo
1 of 37
OS Structure
with Research Paper Discussion
Presented by Vimukthi Wickramasinghe & Sameera Nelson
Overview
• Introduction to operating systems structure
• Layered OS structure
• Some alternative OS structures
• “Application Performance and Flexibility on Exokernel
Systems” paper discussion
Introduction to OS structure
An operating system is a complex beast.
Introduction to OS structure
• An OS needs to have a good structure.
• Traditional Unix OS which had a
monolithic structure - bad
• Monolithic Unix kernel makes it hard to
implement and maintain.
Layered OS structure
Problems with monolithic approach gave way to layered
approach.
Advantages Disadvantages
Simplicity of construction Difficulty in appropriately defining
the various layers
Ease of debugging Tend to be less efficient than
other types
Layers are independent of
Some Alternative OS Structures
• Microkernel approach
• Modular kernel approach
• Exokernel approach
Application Performance & Flexibility on
Exokernel Systems
*
• Principles of exokernels
• Xok, an exokernel for Intel x86-based computers
• XN - Xok storage system
• Performance comparisons
• Conclusion
• Q & A
Principles of Exokernels
• Separate protection and management
• Expose allocation
• Expose names
• Expose revocation
• Expose information
*
• Library operating systems.
• “Unix as a library”
• Can implement traditional OS abstraction.
• Most application programs can choose the LibOS.
• Unprivileged libraries – can be modified or replaced at will.
• Different libOSes can coexist on the top of same exokernel.
*
LibOSs
*
Microkernel Vs Exokernel
*
Xok
Xok is an exokernel for Intel x86-based computers.
• Can safely multiplex resources on x86 based systems.
• Allows efficient and powerful virtual memory abstractions to be built at the
application level.
• Wake up predicates can be injected to the kernel.
• Provides access control through hierarchical named capabilities.
• Xok’s 3 design techniques:
● Access control on all resources is uniform.
● Bind hardware together with software abstractions.
● Allow downloaded code where necessary.
*
Xok : Protected Abstractions
LibOSs can maintain invariants in shared abstractions,
• Software regions
• Hierarchically-named capabilities
• Wake-up predicates
• Robust critical sections
Three levels of trust in determining what optimizations can be used,
• Mutual trust
• Unidirectional trust
• Mutual distrust
*
Xok : Protected Sharing
• ExOS is Xok’s default library.
• Much code borrowed from OpenBSD.
*
EXOS
• Multiple library file systems (libFSes) in each libOS
• Four requirements to allow libFS file management
● Creating new file formats should not require any special privilege
● LibFSes should be able to safely share blocks at the raw disk block level
● Storage system should be efficient
● Storage system should facilitate cache sharing among distinct libFSes.
Stable Storage System
*
Stable Storage System
*
VS
• Access to stable storage at the level of disk blocks.
• Efficiently determine the access rights to a given disk block.
• Prevent a malicious user from claiming another user’s disk blocks as part of her
own files
• XN uses Untrusted Deterministic Functions(UDF)
• C-FFS (Co-locating fast file system) is ExOS’s default file system.
*
XN : Xok Storage System
*
XN : Usage
Type creation The libFS describes its types by storing templates.
LibFS persistence To ensure that libFS data is persistent across reboots, a libFS can register the root of its tree
in XN’s root catalogue.
Startup libFS loads its root(s) and any types it needs from the root catalogue into the buffer cache
registry.
Read 1) libFS creates entries in the registry.
2) libFS initiates a read request
Allocate A libFS selects blocks to allocate by reading XN’s map of free blocks.
Write A libFS writes dirty blocks to disk by passing the blocks to write to XN
Deallocate XN uses UDFs to check deallocate operations analogously to allocate operations.
• Performance Comparison
• Performance Evaluation
• Invisible Optimisation
• Performance Evaluation
• Cheetah HTTP Server
• Global Performance
• Exokernel : Advantages/ Drawbacks/ Lessons
• Conclusion
*
Topics Ahead ...
• Configuration, 200-MHz Intel Pentium Pro, 64MB of memory
• E2E application performance on Xok vs 4.4 BSD UNIX Systems
(FreeBSD & OpenBSD)
• Usage of C-FFS to Xok & OPenBSD
• Reported times are the minimum time of ten trials
• Xok/ExOS vs OpenBSD/C-FFS, vs OpenBSD, FreeBSD
*
Performance Comparison
*
Performance Comparison
Unmodified UNIX applications:
*
Better
Comparable
Performance Evaluation
Unmodified UNIX applications
● Applications perform comparably or significantly better at a
speed of up to 4x on Xok/ExOS than BSD UNIXes.
● Performance of 8/11 applications are comparable to BSD
Unixes.
● On 3 applications (pax, cp, diff) Xok/ExOS runs considerably
faster. *
Performance Evaluation
Modified Andrew Benchmark
• Difference in performance on MAB is less profound
● MAB stresses in fork(), expensive function in Xok
● Due to not sharing page tables
● Take 6 ms, freeBSD < 1 ms
• Xok leads in I/O intensive benchmark *
Invisible Optimisation
Xok/ExO
S
OpenBSD/C-
FFS
OpenBSD FreeBSD
TIme (s) 11.5 12.5 14.2 11.5
Modified UNIX applications
• Fast Simple Binary Emulation
● Emulator replaces system calls to procedure calls in to ExOS
• XCP : A zero touch file copy system
● Eliminate data touching by CPU, 3X faster
● Improvements - Prefetching, SUny reads/Writes, disk restructuring
• The Cheetah Http Server *
Performance Evaluation 2
Modified UNIX applications
• HTTP server - Finds the appropriate document, sends it.
• Developed upon extensible I/O library(XIO) for fast servers
• Customized FS & TCP implementation for the properties of HTTP
traffic.
• I/O centric nature of servers, OS based optimizations profitable.
*
Cheetah HTTP Server
• Performs 8X faster than the best UNIX HTTP server.
• Exokernel is well suited to building fast servers
*
Cheetah HTTP Server
• Merged File Cache and Retransmission Pool
● Avoid in memory data touching
● Data transmitted to client directly, from file cache.
• Knowledge-based Packet Merging
● Use knowledge of per-request state transitions to reduce number of I/O actions.
• HTML-based File Grouping
Co-locates files included in HTML by allocating them in adjacent disk blocks, HTTP
throughput improved by up to a factor of two
Cheetah HTTP Server, How ...
File
Cache
Client
• Performance Comparison
• Performance Evaluation
• Invisible Optimisation
• Cheetah HTTP Server
• Global Performance
• Exokernel : Advantages/ Drawbacks/ Lessons
• Conclusion
*
Topics Ahead ...
• Run multiple applications concurrently
• Exokernel Architecture is potentially weak
• Not extensively studied
• FreeBSD performs better than openBSD, due to small non-unified
buffer cache
• Challenge in Xok, Not to enforce global policies, but to deriving
information needed to decide enforcement. *
Global Performance
Exposing kernel data structures
• Can be accessed without system call overhead
• Flexibility
• libOSes can be modified and debugged than kernels
• Edit, compile, debug cycle is faster than “edit, compile, reboot, debug”
cycle of kernel.
• Performance *
Exokernel : Advantages
*
Exokernel : Advantages
The CPU Interface
• Combination of time slots
• Initiation/termination of upcalls
• Direct Yields has proven the value
• Global gang scheduling
• Robust critical section
Libraries are simple than kernels
• Interface design is not simple, multiple designs over several years
• Ease of creation/mixing libOSes lead to code messes, maintenance
issues
• Information loss, Implementing OS abstractions in application level
• Self-paging is difficult, paging can be caused by external entities
*
Exokernel : Drawbacks
• Fast apps not required good microbenchmark performance
• Inexpensive critical section
• User level page tables are complex
• Downloaded interrupt handlers are questionable
• Downloaded code is powerful
*
Exokernel : Lessons
Exokernel Architecture
• Goal: safe application control of all resources.
• How: by separating resource management from protection.
Results found promising
• Unmodified applications run same or 4x better.
• Customized applications can run up to 8x better.
• Global performance is similarly good like UNIX. *
Conclusion
*
Q & A ...
*
Thank You

More Related Content

What's hot

High-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uringHigh-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uring
ScyllaDB
 
Linux Kernel Programming
Linux Kernel ProgrammingLinux Kernel Programming
Linux Kernel Programming
Nalin Sharma
 
Horizon view technical deep dive
Horizon view   technical deep diveHorizon view   technical deep dive
Horizon view technical deep dive
Murugesan Arumugam
 
Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)
Sri Prasanna
 

What's hot (20)

High-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uringHigh-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uring
 
Evaluating GPU programming Models for the LUMI Supercomputer
Evaluating GPU programming Models for the LUMI SupercomputerEvaluating GPU programming Models for the LUMI Supercomputer
Evaluating GPU programming Models for the LUMI Supercomputer
 
How To Install and Configure SNMP on RHEL 7 or CentOS 7
How To Install and Configure SNMP on RHEL 7 or CentOS 7How To Install and Configure SNMP on RHEL 7 or CentOS 7
How To Install and Configure SNMP on RHEL 7 or CentOS 7
 
Atmega 128 datasheet
Atmega 128   datasheetAtmega 128   datasheet
Atmega 128 datasheet
 
Linux Instrumentation
Linux InstrumentationLinux Instrumentation
Linux Instrumentation
 
Bootloaders (U-Boot)
Bootloaders (U-Boot) Bootloaders (U-Boot)
Bootloaders (U-Boot)
 
Linux kernel Architecture and Properties
Linux kernel Architecture and PropertiesLinux kernel Architecture and Properties
Linux kernel Architecture and Properties
 
Supermicro X12 Performance Update
Supermicro X12 Performance UpdateSupermicro X12 Performance Update
Supermicro X12 Performance Update
 
Review of QNX
Review of QNXReview of QNX
Review of QNX
 
Shared Memory Centric Computing with CXL & OMI
Shared Memory Centric Computing with CXL & OMIShared Memory Centric Computing with CXL & OMI
Shared Memory Centric Computing with CXL & OMI
 
Linux Kernel Programming
Linux Kernel ProgrammingLinux Kernel Programming
Linux Kernel Programming
 
Notes on NUMA architecture
Notes on NUMA architectureNotes on NUMA architecture
Notes on NUMA architecture
 
The Anatomy Of The Google Architecture Fina Lv1.1
The Anatomy Of The Google Architecture Fina Lv1.1The Anatomy Of The Google Architecture Fina Lv1.1
The Anatomy Of The Google Architecture Fina Lv1.1
 
Horizon view technical deep dive
Horizon view   technical deep diveHorizon view   technical deep dive
Horizon view technical deep dive
 
Introduction To Apache Camel
Introduction To Apache CamelIntroduction To Apache Camel
Introduction To Apache Camel
 
Linux File System
Linux File SystemLinux File System
Linux File System
 
Materialized Views and Secondary Indexes in Scylla: They Are finally here!
Materialized Views and Secondary Indexes in Scylla: They Are finally here!Materialized Views and Secondary Indexes in Scylla: They Are finally here!
Materialized Views and Secondary Indexes in Scylla: They Are finally here!
 
Drilling into Data with Apache Drill
Drilling into Data with Apache DrillDrilling into Data with Apache Drill
Drilling into Data with Apache Drill
 
Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)
 
WSO2 ESB Introduction to Inbound Endpoints
WSO2 ESB Introduction to Inbound EndpointsWSO2 ESB Introduction to Inbound Endpoints
WSO2 ESB Introduction to Inbound Endpoints
 

Similar to Application Performance & Flexibility on Exokernel Systems paper review

Linux操作系统01 简介
Linux操作系统01 简介Linux操作系统01 简介
Linux操作系统01 简介
lclsg123
 

Similar to Application Performance & Flexibility on Exokernel Systems paper review (20)

Application Performance and Flexibility on ExoKernel Systems
Application Performance and Flexibility on ExoKernel SystemsApplication Performance and Flexibility on ExoKernel Systems
Application Performance and Flexibility on ExoKernel Systems
 
Factored operating systems
Factored operating systemsFactored operating systems
Factored operating systems
 
Linux operating system
Linux operating systemLinux operating system
Linux operating system
 
UNIT I.pptx
UNIT I.pptxUNIT I.pptx
UNIT I.pptx
 
introduction.pdf
introduction.pdfintroduction.pdf
introduction.pdf
 
Operating system components
Operating system componentsOperating system components
Operating system components
 
Linux
LinuxLinux
Linux
 
Operating System Structure Part-II.pdf
Operating System Structure Part-II.pdfOperating System Structure Part-II.pdf
Operating System Structure Part-II.pdf
 
Operating system lect3 Autosaved.pptx
Operating system lect3 Autosaved.pptxOperating system lect3 Autosaved.pptx
Operating system lect3 Autosaved.pptx
 
Regarding About Operating System Structure
Regarding About Operating System StructureRegarding About Operating System Structure
Regarding About Operating System Structure
 
Get the Facts: Oracle's Unbreakable Enterprise Kernel
Get the Facts: Oracle's Unbreakable Enterprise KernelGet the Facts: Oracle's Unbreakable Enterprise Kernel
Get the Facts: Oracle's Unbreakable Enterprise Kernel
 
linux kernel overview 2013
linux kernel overview 2013linux kernel overview 2013
linux kernel overview 2013
 
Os
OsOs
Os
 
An Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux ContainersAn Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux Containers
 
Linux操作系统01 简介
Linux操作系统01 简介Linux操作系统01 简介
Linux操作系统01 简介
 
Présentation d'Unikernel
Présentation d'UnikernelPrésentation d'Unikernel
Présentation d'Unikernel
 
The Linux System
The Linux SystemThe Linux System
The Linux System
 
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded SystemsF9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
 
Central Iowa Linux Users Group: November Meeting -- Container showdown
Central Iowa Linux Users Group: November Meeting -- Container showdownCentral Iowa Linux Users Group: November Meeting -- Container showdown
Central Iowa Linux Users Group: November Meeting -- Container showdown
 
kerch04.ppt
kerch04.pptkerch04.ppt
kerch04.ppt
 

More from Vimukthi Wickramasinghe (8)

Beanstalkg
BeanstalkgBeanstalkg
Beanstalkg
 
pgdip-project-report-final-148245F
pgdip-project-report-final-148245Fpgdip-project-report-final-148245F
pgdip-project-report-final-148245F
 
Factored Operating Systems paper review
Factored Operating Systems paper reviewFactored Operating Systems paper review
Factored Operating Systems paper review
 
Exploring Strategies for Training Deep Neural Networks paper review
Exploring Strategies for Training Deep Neural Networks paper reviewExploring Strategies for Training Deep Neural Networks paper review
Exploring Strategies for Training Deep Neural Networks paper review
 
Learning New Semi-Supervised Deep Auto-encoder Features for Statistical Machi...
Learning New Semi-Supervised Deep Auto-encoder Features for Statistical Machi...Learning New Semi-Supervised Deep Auto-encoder Features for Statistical Machi...
Learning New Semi-Supervised Deep Auto-encoder Features for Statistical Machi...
 
Improved Query Performance With Variant Indexes - review presentation
Improved Query Performance With Variant Indexes - review presentationImproved Query Performance With Variant Indexes - review presentation
Improved Query Performance With Variant Indexes - review presentation
 
A parallel gpu version of the traveling salesman problem slides
A parallel gpu version of the traveling salesman problem slidesA parallel gpu version of the traveling salesman problem slides
A parallel gpu version of the traveling salesman problem slides
 
Smart mrs bi project-presentation
Smart mrs bi project-presentationSmart mrs bi project-presentation
Smart mrs bi project-presentation
 

Recently uploaded

Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 

Recently uploaded (20)

Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 

Application Performance & Flexibility on Exokernel Systems paper review

  • 1. OS Structure with Research Paper Discussion Presented by Vimukthi Wickramasinghe & Sameera Nelson
  • 2. Overview • Introduction to operating systems structure • Layered OS structure • Some alternative OS structures • “Application Performance and Flexibility on Exokernel Systems” paper discussion
  • 3. Introduction to OS structure An operating system is a complex beast.
  • 4. Introduction to OS structure • An OS needs to have a good structure. • Traditional Unix OS which had a monolithic structure - bad • Monolithic Unix kernel makes it hard to implement and maintain.
  • 5. Layered OS structure Problems with monolithic approach gave way to layered approach. Advantages Disadvantages Simplicity of construction Difficulty in appropriately defining the various layers Ease of debugging Tend to be less efficient than other types Layers are independent of
  • 6. Some Alternative OS Structures • Microkernel approach • Modular kernel approach • Exokernel approach
  • 7. Application Performance & Flexibility on Exokernel Systems * • Principles of exokernels • Xok, an exokernel for Intel x86-based computers • XN - Xok storage system • Performance comparisons • Conclusion • Q & A
  • 8. Principles of Exokernels • Separate protection and management • Expose allocation • Expose names • Expose revocation • Expose information *
  • 9. • Library operating systems. • “Unix as a library” • Can implement traditional OS abstraction. • Most application programs can choose the LibOS. • Unprivileged libraries – can be modified or replaced at will. • Different libOSes can coexist on the top of same exokernel. * LibOSs
  • 11. * Xok Xok is an exokernel for Intel x86-based computers. • Can safely multiplex resources on x86 based systems. • Allows efficient and powerful virtual memory abstractions to be built at the application level. • Wake up predicates can be injected to the kernel. • Provides access control through hierarchical named capabilities.
  • 12. • Xok’s 3 design techniques: ● Access control on all resources is uniform. ● Bind hardware together with software abstractions. ● Allow downloaded code where necessary. * Xok : Protected Abstractions
  • 13. LibOSs can maintain invariants in shared abstractions, • Software regions • Hierarchically-named capabilities • Wake-up predicates • Robust critical sections Three levels of trust in determining what optimizations can be used, • Mutual trust • Unidirectional trust • Mutual distrust * Xok : Protected Sharing
  • 14. • ExOS is Xok’s default library. • Much code borrowed from OpenBSD. * EXOS
  • 15. • Multiple library file systems (libFSes) in each libOS • Four requirements to allow libFS file management ● Creating new file formats should not require any special privilege ● LibFSes should be able to safely share blocks at the raw disk block level ● Storage system should be efficient ● Storage system should facilitate cache sharing among distinct libFSes. Stable Storage System *
  • 17. • Access to stable storage at the level of disk blocks. • Efficiently determine the access rights to a given disk block. • Prevent a malicious user from claiming another user’s disk blocks as part of her own files • XN uses Untrusted Deterministic Functions(UDF) • C-FFS (Co-locating fast file system) is ExOS’s default file system. * XN : Xok Storage System
  • 18. * XN : Usage Type creation The libFS describes its types by storing templates. LibFS persistence To ensure that libFS data is persistent across reboots, a libFS can register the root of its tree in XN’s root catalogue. Startup libFS loads its root(s) and any types it needs from the root catalogue into the buffer cache registry. Read 1) libFS creates entries in the registry. 2) libFS initiates a read request Allocate A libFS selects blocks to allocate by reading XN’s map of free blocks. Write A libFS writes dirty blocks to disk by passing the blocks to write to XN Deallocate XN uses UDFs to check deallocate operations analogously to allocate operations.
  • 19. • Performance Comparison • Performance Evaluation • Invisible Optimisation • Performance Evaluation • Cheetah HTTP Server • Global Performance • Exokernel : Advantages/ Drawbacks/ Lessons • Conclusion * Topics Ahead ...
  • 20. • Configuration, 200-MHz Intel Pentium Pro, 64MB of memory • E2E application performance on Xok vs 4.4 BSD UNIX Systems (FreeBSD & OpenBSD) • Usage of C-FFS to Xok & OPenBSD • Reported times are the minimum time of ten trials • Xok/ExOS vs OpenBSD/C-FFS, vs OpenBSD, FreeBSD * Performance Comparison
  • 23. Unmodified UNIX applications ● Applications perform comparably or significantly better at a speed of up to 4x on Xok/ExOS than BSD UNIXes. ● Performance of 8/11 applications are comparable to BSD Unixes. ● On 3 applications (pax, cp, diff) Xok/ExOS runs considerably faster. * Performance Evaluation
  • 24. Modified Andrew Benchmark • Difference in performance on MAB is less profound ● MAB stresses in fork(), expensive function in Xok ● Due to not sharing page tables ● Take 6 ms, freeBSD < 1 ms • Xok leads in I/O intensive benchmark * Invisible Optimisation Xok/ExO S OpenBSD/C- FFS OpenBSD FreeBSD TIme (s) 11.5 12.5 14.2 11.5
  • 25. Modified UNIX applications • Fast Simple Binary Emulation ● Emulator replaces system calls to procedure calls in to ExOS • XCP : A zero touch file copy system ● Eliminate data touching by CPU, 3X faster ● Improvements - Prefetching, SUny reads/Writes, disk restructuring • The Cheetah Http Server * Performance Evaluation 2
  • 26. Modified UNIX applications • HTTP server - Finds the appropriate document, sends it. • Developed upon extensible I/O library(XIO) for fast servers • Customized FS & TCP implementation for the properties of HTTP traffic. • I/O centric nature of servers, OS based optimizations profitable. * Cheetah HTTP Server
  • 27. • Performs 8X faster than the best UNIX HTTP server. • Exokernel is well suited to building fast servers * Cheetah HTTP Server
  • 28. • Merged File Cache and Retransmission Pool ● Avoid in memory data touching ● Data transmitted to client directly, from file cache. • Knowledge-based Packet Merging ● Use knowledge of per-request state transitions to reduce number of I/O actions. • HTML-based File Grouping Co-locates files included in HTML by allocating them in adjacent disk blocks, HTTP throughput improved by up to a factor of two Cheetah HTTP Server, How ... File Cache Client
  • 29. • Performance Comparison • Performance Evaluation • Invisible Optimisation • Cheetah HTTP Server • Global Performance • Exokernel : Advantages/ Drawbacks/ Lessons • Conclusion * Topics Ahead ...
  • 30. • Run multiple applications concurrently • Exokernel Architecture is potentially weak • Not extensively studied • FreeBSD performs better than openBSD, due to small non-unified buffer cache • Challenge in Xok, Not to enforce global policies, but to deriving information needed to decide enforcement. * Global Performance
  • 31. Exposing kernel data structures • Can be accessed without system call overhead • Flexibility • libOSes can be modified and debugged than kernels • Edit, compile, debug cycle is faster than “edit, compile, reboot, debug” cycle of kernel. • Performance * Exokernel : Advantages
  • 32. * Exokernel : Advantages The CPU Interface • Combination of time slots • Initiation/termination of upcalls • Direct Yields has proven the value • Global gang scheduling • Robust critical section Libraries are simple than kernels
  • 33. • Interface design is not simple, multiple designs over several years • Ease of creation/mixing libOSes lead to code messes, maintenance issues • Information loss, Implementing OS abstractions in application level • Self-paging is difficult, paging can be caused by external entities * Exokernel : Drawbacks
  • 34. • Fast apps not required good microbenchmark performance • Inexpensive critical section • User level page tables are complex • Downloaded interrupt handlers are questionable • Downloaded code is powerful * Exokernel : Lessons
  • 35. Exokernel Architecture • Goal: safe application control of all resources. • How: by separating resource management from protection. Results found promising • Unmodified applications run same or 4x better. • Customized applications can run up to 8x better. • Global performance is similarly good like UNIX. * Conclusion
  • 36. * Q & A ...