SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Factored Operating Systems (fos)
The Case for a Scalable Operating System for
Multicores
David Wentzlaff and Anant Agarwal
Big Picture
Designing a new operating system targeting manycore
systems with scalability as the primary design constraint,
where space sharing replaces time sharing to increase
scalability.
Problem Statement
In the near future, a single microprocessor will contain
100’s - 1,000’s cores. The way that an operating system
manages 1,000 processors is so fundamentally different
than the manner in which it manages one or two
processors. The contemporary OS architecture should be
rethought.
Evolution of Manycore Processors
• Single stream performance may not be increasing in the future.
• Microprocessor manufacturers have turned to integrating
multiple processors onto a single die.
• Current examples:
• Intel® Xeon Phi™ Coprocessor 7120A (61 cores)
• Kalray MPPA (256 cores)
• Tilera Tile-Gx72 (72 cores)
• The number of cores will be expanding at an exponential rate
Scalability Problems of Contemporary OS
• Use of a big kernel lock
• Limits the concurrency available within kernel
• Limits the scalability
• Finer-grained locks are used
• Adding locks into an on is time consuming and error prone
• It is common to forget that a piece of data needs to be protected
• Locks can introduce circular dependencies and hence deadlocks
Locks
Scalability Problems of Contemporary OS
• Simply adjusting lock granularity is not enough
• Entire sub-systems of the OS has to be redesigned
• It is very difficult to redesign the OS with the growth rate in the
number of cores
• What is the correct lock granularity?
• too-coarse :the scalability of highly parallel system may be poor
• too-fine : the overhead of locking and unlocking
Locks
Scalability Problems of Contemporary OS
• Scaling aspects of the physical page allocation routines of Linux
was analyzed to investigate how locks scale in a contemporary OS.
• The Linux 2.6.24.7 kernel was utilized on a 16 core Intel quad-
socket quad-core system.
• The test program attempts to allocate memory as quickly as is
possible on each core.
• The OS is forced to demand allocate the memory
• Precision timers and oprofile were utilized
Case Study : Physical Page Allocator
Scalability Problems of Contemporary OS
Scalability Problems of Contemporary OS
• OS + Application code/data in cache.
• Reducing cache hit rates.
• Cache per core is smaller for multicore chips.
• In summary reduces performance.
OS and Applications : OS Locality Aliasing
Scalability Problems of Contemporary OS
• A cache tool which allows us to differentiate operating
system from application memory references is created.
• Using the tool we can evaluate cache system degradation.
• A cache model simulator is constructed to determine cache
miss rate due to the OS, the application and interference
misses caused by the OS and application contending for
cache space.
• We have used Apache2 executing on full stack Linux 2.6
Case Study : Cache Interference
Scalability Problems of Contemporary OS
Scalability Problems of Contemporary OS
Scalability Problems of Contemporary OS
• Contemporary operating systems rely on shared memory for
communication.
• Extending a single threaded operating system into a multi-
threaded kernel.
• Many current embedded multicore processors do not support a
shared memory abstraction.
• Global shared memory easily allows the introduction of data
races.
Reliance on Shared Memory
Scalability Problems of Contemporary OS
• Avoid the use of hardware locks.
• Separate the operating system execution resources from the
application execution resources.
• Reduces implicit resource sharing (Caches/TLBs).
• Utilizes the ample thread parallelism provided by multicore processors.
• Avoid global cache coherent shared memory
• Broadens applicability to architectures which don’t support shared
memory.
• Shared memory hardware may not scale to large core count.
Facts learned from case studies
Design of Factored Operating System
• Space multiplexing replaces time multiplexing.
 Scheduling becomes a layout problem not a time multiplexing problem.
 OS runs on distinct cores from applications.
 Working sets are spatially partitioned; OS does not interfere with applications
cache.
• OS is factored into function specific services.
 Each OS service is distributed into spatially distributed servers.
 Servers collaborate and communicate only via message passing.
 Servers are bound to a core.
 Applications communicate with servers via message passing.
 Servers leverage ideas (caching, replication, spatial distribution, lazy update)
from Internet servers.
Design Principles
Design of Factored Operating System
• In the near future, It is believed that the number of cores on a
single chip will be on the order of the number of active threads in
a system.
• The reliance on temporal multiplexing of resources will be
removed, thus fos replaces traditional time multiplexing with
space multiplexing.
• By scheduling resources spatially, traditional scheduling problems
are transformed into layout and partitioning problems.
Space multiplexing replaces time multiplexing
Design of Factored Operating System
• FOS contains a thin microkernel, a set of servers which together
provide system services which we call the OS layer, and applications
which utilize these services.
• The lowest level of software management comes from the
microkernel.
• A portion of the microkernel executes on each processor core.
• The microkernel responsible for;
• Provides a communication API and code spawning API to applications
and system service servers
• Maintains a name cache used internally to determine the location
(physical core) of the destination of messages.
Structures of FOS
Design of Factored Operating System
OS and application clients executing on the fos-microkernel
Design of Factored Operating System
Microkernel Messaging
• The key service provided by the fos-microkernel to microkernel
clients is that of a reliable messaging layer.
• Each fos-microkernel client can allocate a large number of
receive mailboxes via which it can receive messages.
• The fos-microkernel manages the reliable transport and
enqueuing of messages into the receiving mailbox.
• If a receive mailbox is full, the sending client send call returns an
error.
Design of Factored Operating System
Message walkthrough of an example application file system access.
Design of Factored Operating System
• FOS’s servers are inspired by Internet servers. The lowest level of
software management comes from the microkernel.
• The typical server is designed to process an inbound queue of
requests and is transaction oriented.
• A transaction consists of a request sent to a server, the server
performing some action, and a reply being sent.
• Most FOS servers are designed to use stateless protocols like many
Internet services.
Structures of a Server
Design of Factored Operating System
How scaling issues of contemporary OS mitigated?
• FOS is an inherently message passing operating system, therefore
there are no shared memory locks between cores.
• To avoid implicitly sharing hardware structures such as caches
and translation lookaside buffers (TLBs), fos executes the
operating system on separate processing cores from the
application.
• Many current multicore processors, future multicore processors,
and embedded multicores do not support shared memory
abstractions.
Conclusion
In the next decade, we will have single chips with 100 - 1,000 cores
integrated into a single piece of silicon. In this work we chronicled
some of the problems with current monolithic operating systems and
described these scaling problems. These scaling problems motivate a
rethinking of the manner in which operating systems are structured.
In order to address these problems we propose a factored operating
system (fos) which targets 1000+ core mult core systems and
replaces traditional time sharing.
Thank you
Presented By:
Indika Munaweera

Weitere ähnliche Inhalte

Was ist angesagt?

Operating System-Threads-Galvin
Operating System-Threads-GalvinOperating System-Threads-Galvin
Operating System-Threads-Galvin
Sonali Chauhan
 
WAN & LAN Cluster with Diagrams and OSI explanation
WAN & LAN Cluster with Diagrams and OSI explanationWAN & LAN Cluster with Diagrams and OSI explanation
WAN & LAN Cluster with Diagrams and OSI explanation
Jonathan Reid
 
Virtualization (Distributed computing)
Virtualization (Distributed computing)Virtualization (Distributed computing)
Virtualization (Distributed computing)
Sri Prasanna
 

Was ist angesagt? (20)

Clustering
ClusteringClustering
Clustering
 
Solaris vs Linux
Solaris vs LinuxSolaris vs Linux
Solaris vs Linux
 
Block Level and File Level
Block Level and File LevelBlock Level and File Level
Block Level and File Level
 
Oracle Solaris 11 Built for Clouds
Oracle Solaris 11 Built for Clouds Oracle Solaris 11 Built for Clouds
Oracle Solaris 11 Built for Clouds
 
kernels
 kernels kernels
kernels
 
Microkernel architecture
Microkernel architecture Microkernel architecture
Microkernel architecture
 
Oracle Solaris 11 as a BIG Data Platform Apache Hadoop Use Case
Oracle Solaris 11 as a BIG Data Platform Apache Hadoop Use CaseOracle Solaris 11 as a BIG Data Platform Apache Hadoop Use Case
Oracle Solaris 11 as a BIG Data Platform Apache Hadoop Use Case
 
Modern apps with dcos
Modern apps with dcosModern apps with dcos
Modern apps with dcos
 
Operating system 15 micro kernel based os
Operating system 15 micro kernel based osOperating system 15 micro kernel based os
Operating system 15 micro kernel based os
 
Operating System-Threads-Galvin
Operating System-Threads-GalvinOperating System-Threads-Galvin
Operating System-Threads-Galvin
 
Threads
ThreadsThreads
Threads
 
Using openQRM to Manage Virtual Machines
Using openQRM to Manage Virtual MachinesUsing openQRM to Manage Virtual Machines
Using openQRM to Manage Virtual Machines
 
OpenQrm
OpenQrmOpenQrm
OpenQrm
 
Linux12 clustering onlinux
Linux12 clustering onlinuxLinux12 clustering onlinux
Linux12 clustering onlinux
 
WAN & LAN Cluster with Diagrams and OSI explanation
WAN & LAN Cluster with Diagrams and OSI explanationWAN & LAN Cluster with Diagrams and OSI explanation
WAN & LAN Cluster with Diagrams and OSI explanation
 
Virtualization (Distributed computing)
Virtualization (Distributed computing)Virtualization (Distributed computing)
Virtualization (Distributed computing)
 
Cluster
ClusterCluster
Cluster
 
Kernels and its types
Kernels and its typesKernels and its types
Kernels and its types
 
Distributed operating system
Distributed operating systemDistributed operating system
Distributed operating system
 
Ch3
Ch3Ch3
Ch3
 

Andere mochten auch

รายชื่อคณะทำงาน
รายชื่อคณะทำงานรายชื่อคณะทำงาน
รายชื่อคณะทำงาน
songdet khunta
 
Wamye Be Taniisaken!
Wamye Be Taniisaken!Wamye Be Taniisaken!
Wamye Be Taniisaken!
Keti Tseradze
 
Mmac power point4-17-15 - copy
Mmac power point4-17-15 - copyMmac power point4-17-15 - copy
Mmac power point4-17-15 - copy
mmacusa2015
 
2Q10 Earnings Release
2Q10 Earnings Release2Q10 Earnings Release
2Q10 Earnings Release
Gafisa RI !
 
Xinguang Inflatable Toy Factory
Xinguang Inflatable Toy FactoryXinguang Inflatable Toy Factory
Xinguang Inflatable Toy Factory
guest47d98176
 
Data proyek pt cabaro tahun 2013 2014
Data proyek pt cabaro tahun 2013 2014Data proyek pt cabaro tahun 2013 2014
Data proyek pt cabaro tahun 2013 2014
Rizki Akbar
 

Andere mochten auch (20)

รายชื่อคณะทำงาน
รายชื่อคณะทำงานรายชื่อคณะทำงาน
รายชื่อคณะทำงาน
 
Boe February 10 2009 Agenda
Boe February 10 2009 AgendaBoe February 10 2009 Agenda
Boe February 10 2009 Agenda
 
Simple instruction
Simple instructionSimple instruction
Simple instruction
 
Reference: Mobile payment industry in china 2012-2015
Reference: Mobile payment industry in china 2012-2015 Reference: Mobile payment industry in china 2012-2015
Reference: Mobile payment industry in china 2012-2015
 
Resumes: Remove the Irrelevant
Resumes: Remove the IrrelevantResumes: Remove the Irrelevant
Resumes: Remove the Irrelevant
 
Qewe
QeweQewe
Qewe
 
The Fear of Running out of Money
The Fear of Running out of MoneyThe Fear of Running out of Money
The Fear of Running out of Money
 
Resultados Reunión N16
Resultados Reunión N16Resultados Reunión N16
Resultados Reunión N16
 
Wisdom From A Laugh 57, 58
Wisdom From A Laugh 57, 58Wisdom From A Laugh 57, 58
Wisdom From A Laugh 57, 58
 
Wamye Be Taniisaken!
Wamye Be Taniisaken!Wamye Be Taniisaken!
Wamye Be Taniisaken!
 
Mmac power point4-17-15 - copy
Mmac power point4-17-15 - copyMmac power point4-17-15 - copy
Mmac power point4-17-15 - copy
 
Comentriobblicomoody 130113083659-phpapp01
Comentriobblicomoody 130113083659-phpapp01Comentriobblicomoody 130113083659-phpapp01
Comentriobblicomoody 130113083659-phpapp01
 
FOOD ANYWHERE IS FOOD EVERYWHERE
FOOD ANYWHERE IS FOOD EVERYWHEREFOOD ANYWHERE IS FOOD EVERYWHERE
FOOD ANYWHERE IS FOOD EVERYWHERE
 
Khoa van-tay-kaba e10-fingerprint doorlock
Khoa van-tay-kaba e10-fingerprint doorlockKhoa van-tay-kaba e10-fingerprint doorlock
Khoa van-tay-kaba e10-fingerprint doorlock
 
Pdf Pai
Pdf PaiPdf Pai
Pdf Pai
 
BSidesNYC 2016 - An Adversarial View of SaaS Malware Sandboxes
BSidesNYC 2016 - An Adversarial View of SaaS Malware SandboxesBSidesNYC 2016 - An Adversarial View of SaaS Malware Sandboxes
BSidesNYC 2016 - An Adversarial View of SaaS Malware Sandboxes
 
Some for all rather than more for some: A myth or an opportunity lost?
Some for all rather than more for some: A myth or an opportunity lost?Some for all rather than more for some: A myth or an opportunity lost?
Some for all rather than more for some: A myth or an opportunity lost?
 
2Q10 Earnings Release
2Q10 Earnings Release2Q10 Earnings Release
2Q10 Earnings Release
 
Xinguang Inflatable Toy Factory
Xinguang Inflatable Toy FactoryXinguang Inflatable Toy Factory
Xinguang Inflatable Toy Factory
 
Data proyek pt cabaro tahun 2013 2014
Data proyek pt cabaro tahun 2013 2014Data proyek pt cabaro tahun 2013 2014
Data proyek pt cabaro tahun 2013 2014
 

Ähnlich wie Factored operating systems

An operating system for multicore and clouds: mechanism and implementation
An operating system for multicore and clouds: mechanism and implementationAn operating system for multicore and clouds: mechanism and implementation
An operating system for multicore and clouds: mechanism and implementation
Mohanadarshan Vivekanandalingam
 
Apos week 1 4
Apos week 1   4Apos week 1   4
Apos week 1 4
alixafar
 
Module2 MultiThreads.ppt
Module2 MultiThreads.pptModule2 MultiThreads.ppt
Module2 MultiThreads.ppt
shreesha16
 
Introduction to multi core
Introduction to multi coreIntroduction to multi core
Introduction to multi core
mukul bhardwaj
 
assignment_presentaion_jhvvnvhjhbhjhvjh.pptx
assignment_presentaion_jhvvnvhjhbhjhvjh.pptxassignment_presentaion_jhvvnvhjhbhjhvjh.pptx
assignment_presentaion_jhvvnvhjhbhjhvjh.pptx
23mu36
 

Ähnlich wie Factored operating systems (20)

Factored Operating Systems paper review
Factored Operating Systems paper reviewFactored Operating Systems paper review
Factored Operating Systems paper review
 
An operating system for multicore and clouds: mechanism and implementation
An operating system for multicore and clouds: mechanism and implementationAn operating system for multicore and clouds: mechanism and implementation
An operating system for multicore and clouds: mechanism and implementation
 
Chip Multithreading Systems Need a New Operating System Scheduler
Chip Multithreading Systems Need a New Operating System Scheduler Chip Multithreading Systems Need a New Operating System Scheduler
Chip Multithreading Systems Need a New Operating System Scheduler
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
Parallel Computing - Lec 3
Parallel Computing - Lec 3Parallel Computing - Lec 3
Parallel Computing - Lec 3
 
Symmetric multiprocessing and Microkernel
Symmetric multiprocessing and MicrokernelSymmetric multiprocessing and Microkernel
Symmetric multiprocessing and Microkernel
 
Application Performance & Flexibility on Exokernel Systems paper review
Application Performance & Flexibility on Exokernel Systems paper reviewApplication Performance & Flexibility on Exokernel Systems paper review
Application Performance & Flexibility on Exokernel Systems paper review
 
Data Lake and the rise of the microservices
Data Lake and the rise of the microservicesData Lake and the rise of the microservices
Data Lake and the rise of the microservices
 
Apos week 1 4
Apos week 1   4Apos week 1   4
Apos week 1 4
 
HPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journeyHPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journey
 
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
 
Module2 MultiThreads.ppt
Module2 MultiThreads.pptModule2 MultiThreads.ppt
Module2 MultiThreads.ppt
 
Lecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptxLecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptx
 
ch1.ppt
ch1.pptch1.ppt
ch1.ppt
 
Cosmos DB at VLDB 2019
Cosmos DB at VLDB 2019Cosmos DB at VLDB 2019
Cosmos DB at VLDB 2019
 
Introduction to multi core
Introduction to multi coreIntroduction to multi core
Introduction to multi core
 
Multicore Computers
Multicore ComputersMulticore Computers
Multicore Computers
 
EMBEDDED OS
EMBEDDED OSEMBEDDED OS
EMBEDDED OS
 
Real Time Operating System
Real Time Operating SystemReal Time Operating System
Real Time Operating System
 
assignment_presentaion_jhvvnvhjhbhjhvjh.pptx
assignment_presentaion_jhvvnvhjhbhjhvjh.pptxassignment_presentaion_jhvvnvhjhbhjhvjh.pptx
assignment_presentaion_jhvvnvhjhbhjhvjh.pptx
 

Kürzlich hochgeladen

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 

Kürzlich hochgeladen (20)

2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 

Factored operating systems

  • 1. Factored Operating Systems (fos) The Case for a Scalable Operating System for Multicores David Wentzlaff and Anant Agarwal
  • 2. Big Picture Designing a new operating system targeting manycore systems with scalability as the primary design constraint, where space sharing replaces time sharing to increase scalability.
  • 3. Problem Statement In the near future, a single microprocessor will contain 100’s - 1,000’s cores. The way that an operating system manages 1,000 processors is so fundamentally different than the manner in which it manages one or two processors. The contemporary OS architecture should be rethought.
  • 4. Evolution of Manycore Processors • Single stream performance may not be increasing in the future. • Microprocessor manufacturers have turned to integrating multiple processors onto a single die. • Current examples: • Intel® Xeon Phi™ Coprocessor 7120A (61 cores) • Kalray MPPA (256 cores) • Tilera Tile-Gx72 (72 cores) • The number of cores will be expanding at an exponential rate
  • 5. Scalability Problems of Contemporary OS • Use of a big kernel lock • Limits the concurrency available within kernel • Limits the scalability • Finer-grained locks are used • Adding locks into an on is time consuming and error prone • It is common to forget that a piece of data needs to be protected • Locks can introduce circular dependencies and hence deadlocks Locks
  • 6. Scalability Problems of Contemporary OS • Simply adjusting lock granularity is not enough • Entire sub-systems of the OS has to be redesigned • It is very difficult to redesign the OS with the growth rate in the number of cores • What is the correct lock granularity? • too-coarse :the scalability of highly parallel system may be poor • too-fine : the overhead of locking and unlocking Locks
  • 7. Scalability Problems of Contemporary OS • Scaling aspects of the physical page allocation routines of Linux was analyzed to investigate how locks scale in a contemporary OS. • The Linux 2.6.24.7 kernel was utilized on a 16 core Intel quad- socket quad-core system. • The test program attempts to allocate memory as quickly as is possible on each core. • The OS is forced to demand allocate the memory • Precision timers and oprofile were utilized Case Study : Physical Page Allocator
  • 8. Scalability Problems of Contemporary OS
  • 9. Scalability Problems of Contemporary OS • OS + Application code/data in cache. • Reducing cache hit rates. • Cache per core is smaller for multicore chips. • In summary reduces performance. OS and Applications : OS Locality Aliasing
  • 10. Scalability Problems of Contemporary OS • A cache tool which allows us to differentiate operating system from application memory references is created. • Using the tool we can evaluate cache system degradation. • A cache model simulator is constructed to determine cache miss rate due to the OS, the application and interference misses caused by the OS and application contending for cache space. • We have used Apache2 executing on full stack Linux 2.6 Case Study : Cache Interference
  • 11. Scalability Problems of Contemporary OS
  • 12. Scalability Problems of Contemporary OS
  • 13. Scalability Problems of Contemporary OS • Contemporary operating systems rely on shared memory for communication. • Extending a single threaded operating system into a multi- threaded kernel. • Many current embedded multicore processors do not support a shared memory abstraction. • Global shared memory easily allows the introduction of data races. Reliance on Shared Memory
  • 14. Scalability Problems of Contemporary OS • Avoid the use of hardware locks. • Separate the operating system execution resources from the application execution resources. • Reduces implicit resource sharing (Caches/TLBs). • Utilizes the ample thread parallelism provided by multicore processors. • Avoid global cache coherent shared memory • Broadens applicability to architectures which don’t support shared memory. • Shared memory hardware may not scale to large core count. Facts learned from case studies
  • 15. Design of Factored Operating System • Space multiplexing replaces time multiplexing.  Scheduling becomes a layout problem not a time multiplexing problem.  OS runs on distinct cores from applications.  Working sets are spatially partitioned; OS does not interfere with applications cache. • OS is factored into function specific services.  Each OS service is distributed into spatially distributed servers.  Servers collaborate and communicate only via message passing.  Servers are bound to a core.  Applications communicate with servers via message passing.  Servers leverage ideas (caching, replication, spatial distribution, lazy update) from Internet servers. Design Principles
  • 16. Design of Factored Operating System • In the near future, It is believed that the number of cores on a single chip will be on the order of the number of active threads in a system. • The reliance on temporal multiplexing of resources will be removed, thus fos replaces traditional time multiplexing with space multiplexing. • By scheduling resources spatially, traditional scheduling problems are transformed into layout and partitioning problems. Space multiplexing replaces time multiplexing
  • 17. Design of Factored Operating System • FOS contains a thin microkernel, a set of servers which together provide system services which we call the OS layer, and applications which utilize these services. • The lowest level of software management comes from the microkernel. • A portion of the microkernel executes on each processor core. • The microkernel responsible for; • Provides a communication API and code spawning API to applications and system service servers • Maintains a name cache used internally to determine the location (physical core) of the destination of messages. Structures of FOS
  • 18. Design of Factored Operating System OS and application clients executing on the fos-microkernel
  • 19. Design of Factored Operating System Microkernel Messaging • The key service provided by the fos-microkernel to microkernel clients is that of a reliable messaging layer. • Each fos-microkernel client can allocate a large number of receive mailboxes via which it can receive messages. • The fos-microkernel manages the reliable transport and enqueuing of messages into the receiving mailbox. • If a receive mailbox is full, the sending client send call returns an error.
  • 20. Design of Factored Operating System Message walkthrough of an example application file system access.
  • 21. Design of Factored Operating System • FOS’s servers are inspired by Internet servers. The lowest level of software management comes from the microkernel. • The typical server is designed to process an inbound queue of requests and is transaction oriented. • A transaction consists of a request sent to a server, the server performing some action, and a reply being sent. • Most FOS servers are designed to use stateless protocols like many Internet services. Structures of a Server
  • 22. Design of Factored Operating System
  • 23. How scaling issues of contemporary OS mitigated? • FOS is an inherently message passing operating system, therefore there are no shared memory locks between cores. • To avoid implicitly sharing hardware structures such as caches and translation lookaside buffers (TLBs), fos executes the operating system on separate processing cores from the application. • Many current multicore processors, future multicore processors, and embedded multicores do not support shared memory abstractions.
  • 24. Conclusion In the next decade, we will have single chips with 100 - 1,000 cores integrated into a single piece of silicon. In this work we chronicled some of the problems with current monolithic operating systems and described these scaling problems. These scaling problems motivate a rethinking of the manner in which operating systems are structured. In order to address these problems we propose a factored operating system (fos) which targets 1000+ core mult core systems and replaces traditional time sharing.