Midori Presentation
Midori Presentation
Midori Presentation
by-
Sagar R. Yeole
• Inexpensive to create
– Communication has low overhead
– Cost comparison:
Sends Receives
Asynchronous Synchronous
block until specific message
arrives
Exchange Heap
Design Overview
• Describes a program’s
– Resources
– Capabilities
– Dependencies
• Defined at Design-Time
– Specified with inline code
• Prevents conflicts
1. Load Manifest
• Privileged Code
Channels 22
Child Processes 21
Configuration 25
Exchange Heap 8
Hardware Access 16
Linked Stacks 6
Paged Memory 17
Security Principals 3
Total 192
Compile-Time Reflection
• Reflection:
The ability of a program to modify its behavior or is structure.
• Run-Time Reflection
– Basis of Java VM and CLR
– Explicitly Prohibited in Singularity
• Compile-Time Reflection
– High Level Transform Constructs are created at compile time
– Act like templates
– Placeholders are filled by a generator later
– Can be statically verified at compile time
Heterogeneous Multiprocessing
• Dynamic Specialization:
Processors are designated to run only OS code or Application code
– Improved Branch Prediction
– Improved Cache Locality
– Conducted by Chakraborty et al.
• Sing #
– 90% of the kernel is written in type safe Sing#
– A significant code is written in unsafe sing
• Out of which 48% is Garbage Collector
• Remaining is Memory Management & IO Subsystems
• C++
– 6% of the code is written covering kernel debugger & low level
system initialization code
• Assembly Language
– Small Pockets of Assembly Language is used
Disk Performance: Read
Disk Performance: Write
Inter Process Communication Cost
? ?
?