24
M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, H ´ector M. Brice˜no, Russell Hunt, David Mazi`eres, Thomas Pinckney, Robert Grimm, John Jannotti, and Kenneth Mackenzie, Application Performance and Flexibility on Exokernel Systems,” M.I.T. Laboratory for Computer Science, Cambridge, MA 02139, U.S.A PRESENTED BY: SUNETH EKANAYAKE (158213P) KUGATHASAN ABIMARAN (158201D) 03/20/2022 1

Application Performance and Flexibility on ExoKernel Systems

  • Upload
    wso2

  • View
    56

  • Download
    0

Embed Size (px)

Citation preview

04/15/2023 1

M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, H´ector M. Brice˜no, Russell Hunt, David Mazi`eres, Thomas Pinckney, Robert Grimm, John Jannotti, and Kenneth Mackenzie,

“Application Performance and Flexibility on Exokernel Systems,”M.I.T. Laboratory for Computer Science, Cambridge, MA 02139, U.S.A

PRESENTED BY: SUNETH EKANAYAKE (158213P)

KUGATHASAN ABIMARAN (158201D)

04/15/2023 2

Outline• Introduction• Exokernel architecture• Disk system - XN• Overview of Xok/ ExOS • Performance of unaltered and specialized applications • Global performance of the exokernel systems• Conclusion

04/15/2023 3

OS - Kernel• Mandatory part of the OS• Common to all applications• Responsible for• Security• Management of resources• Enabling a uniform execution environment

Source : http://en.wikipedia.org/wiki/Kernel_(operating_system)

04/15/2023 4

Operating System Kernel Variants• Monolithic kernels• Microkernels• Hybrid (or Modular) kernels• Nanokernels• Exokernels

04/15/2023 5

Why Exokernel Approach ?• In traditional operating systems, systems resources are

managed only by• privileged software• kernel

• Untrusted applications are restricted to • interfaces and implementations of privileged software.

04/15/2023 6

Exokernel Architecture

• Anybody can manage resources. • Exokernels separate protection

from management.• Implemented applications are

called library operating systems (libOSes)• Kernel only ensures that

requested resource is free, and application is allowed to access it. Source : http://en.wikipedia.org/wiki/Exokernel

04/15/2023 7

Have you noticed?• Kernel -> Human Skeleton • Exokernel -> Exoskeleton • Hardware -> Muscle System• LibOS -> Motor System• Programs -> Mind Generated Instructions

04/15/2023 8

You will get to know …• Significant performance improvements for applications ? • Performance of traditional applications (unaltered UNIX

applications) ? • Global performance ? • Integrity of the system ?

04/15/2023 9

Exokernel Principles• Separate protection and management• Expose allocation• Expose names• Expose revocation• Expose information

04/15/2023 10

Exokernel Architecture• Gives more control to applications through libOSes, such as• User level networking • Application controlled virtual memory• File systems

• Traditional operating systems provides only high level abstractions. • Files

• Exokernels allow low level abstractions.• Files• Metadata, Disk blocks, Buffer cache pages

04/15/2023 11

Exokernel Architecture cont’d…• Multiplexing the CPU• Allows a process to save or restore its own registers

• Multiplexing Main Memory• Guards memory accesses between competing

• Multiplexing the Stable Storage• Provides libOSes with access to stable storage at disk block level

04/15/2023 12

Multiplexing Stable Storage• Safely multiplex disks among multiple library file systems

(libFSes).• Allow multiple libFSes to safely share files at raw disk block and

metadata level.• Facilitate cache sharing among libFSes• Address problems of cache coherence, security, and

concurrency.

04/15/2023 13

Overview of XN• Employs UDFs (untrusted deterministic functions). • UDFs allow kernel to safely and efficiently handle any metadata

layout.• Challenge : Efficiently determining access rights to a given disk

block.• CFFS: A library file system (collocating fast file system)• A UNIX like library file system based on XN

04/15/2023 14

Overview of Xok• Multiplex physical resources• CPU multiplexed using round-robin schedules• Application prevented direct access of page tables in x86• Allows efficient Virtual Memory abstraction in application level• Wakeup Prediction, a Boolean expression injected into kernel• Application won’t be scheduled if prediction doesn’t hold• Predicates are efficient, simple but powerful

04/15/2023 15

Overview of ExOS 1.0• Simple and Flexible• Any ExOS functionality can be replaced by application code• Still in research, not production ready• Runs most shells, file utilities and networking applications• Paging, Process swapping, progress groups, windowing are

missed

04/15/2023 16

Performance• Untrusted LibOS support UNIX apps with same performance• Some unaltered UNIX apps runs faster because C-FFS• Kernel programmers can do any optimizations • Tests were carried out by running I/O intensive benchmarks• Even bulk of operations are in application level, Xok perform

comparably well• 19 seconds faster than FreeBSD and OpenBSD

04/15/2023 17

Base System Performance

• Xok/ExOS total running time 41 sec• OpenBSD/C-FFS 51 sec• Pax, cp, diff considerable fast• Cost of low level multiplexing

is negligible

04/15/2023 18

Global Performance• Decentralized resource management provides better

performance for individual apps• ExOS is weak running multiple apps concurrently• Selfish apps consumes large resources and utilizing I/O heavily• Not extensively studied, total running time was used in the

measurements• FreeBSD > OpenBSD > Exokernel in Global Performance

04/15/2023 19

Global performance

04/15/2023 20

Experience• Exposing kernel data structure makes powerful extensible

mechanism• No well defined system API, apps have to recompile if kernel

changes• Libraries are simpler than kernel• Edit, Compile, Debug is faster than Edit, Compile, Reboot,

Debug

04/15/2023 21

Costs of Xok/ExOS• Exokernel interface design isn’t simple, gone through multiple

cycle• Have to allow unprivileged apps to manage resources• Have to protected resources• Valuable Information loss

04/15/2023 22

Advantages and Lessons• Ability to manage their own resources while kernel

maintaining protection. • Ability to enforce a global policy for protection that a

traditional OS can. • Can perform scheduling-related functions previously

performed only by the kernel. • Libraries are simpler to develop than kernels. • Faster development than trusted operating system.• User level page tables are complex

04/15/2023 23

Conclusion• Improved OS performance and flexibility by providing

applications with the capability to manage their own resources. • Unmodified UNIX programs and aggressive applications

optimized using a libOS, performed well on Xok.• Rapid OS development• Competitive performance on un modified UNIX apps even

under heavy multitasking

04/15/2023 24

Thank You !