factored operating systems paper review

19
Factored Operating Systems The Case for a Scalable Operating System for Multicores By Vimukthi Bandara Wickramasinghe

Upload: vimukthi-wickramasinghe

Post on 06-Aug-2015

80 views

Category:

Engineering


1 download

TRANSCRIPT

Factored Operating Systems

The Case for a Scalable Operating System for Multicores

By Vimukthi Bandara Wickramasinghe

Overview

● Scalability of contemporary operating systems

● Factored operating system - Background

● Factored operating system - Design

● Factored operating system - Advantages

● Conclusion

Scalability of contemporary operating systems

• Single stream performance of processors

will not increase.

• Exponential growth is expected in

number of cores.

• Current SMP OSs are not designed to

handle 1000+cores.

• Linux 2.6 kernel is investigated here for

scalability problems.

Scalability problem : Locking

● Contemporary SMP OSs use locks in the kernel.

● Linux used a big kernel lock(2009).

● This limits concurrency.

● One alternative - introduce finer grained locking.

○ may cause protection breaches

○ may cause deadlocks

● Processor parallelism will increase exponentially. But lock granularity can

not.

Locking in physical page allocator

Scalability problem : Locality Aliasing

● OS + Application code/data in cache.

● Reducing cache hit rates.

● Cache per core is smaller for multicore chips.

● In summary reduces performance.

Cache miss rates for Apache2 on Linux

Scalability problem : Shared memory

● Currently OSs communicate using shared memory.

● This is inherently non scalable.

● Current shared memory systems can not support more than 100 cores.

● Future processors probably won’t have shared memory.

Factored operating system - Background

Analysis of contemporary OSs lead to following requirements for a scalable

OS.

• Avoid the use of hardware locks.

• Separate the operating system execution resources from the application

execution resources.

• Avoid global cache coherent shared memory.

Factored Operating System(FOS)“ FOS is a new scalable operating system targeted at 1000+ core systems. “

Factored operating system - Design

FOS design principles,

• Space multiplexing replaces time multiplexing.

• OS is factored into function specific services.

FOS Structure

FOS-microkernel

● A portion of FOS-microkernel executes on each core.

● Main service provided by this microkernel is messaging.

● Applications access OS services through messaging.

● Microkernel also maintains a cache of name mapping.

FOS messaging

FOS server structure

Factored Operating System - Advantages

• Removing dependency on shared memory for communication.

• Number of servers for a service scales with number of cores.

• Spatial scheduling.

• No context switch with micro kernel messaging.

• OS services and application code execute on different

cores(factored).

Conclusion

• Next decade is the age of 1000+ core processors.

• Scalability challenge for current OSs.

• FOS explores the ways of meeting this challenge.

Any Questions?

Thank you..