Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
wiki1116: Adaptive_Partitioning_Technology

History -- or What's a Partition and why it is Adapative?#


Some customers were asking us to run virtual machines, or even for ARINC 653 compliance, so they could better manage their cpu time and memory resources. "Not real time" we thought. So over a few beers, we asked them what problems they really wanted to solve. It came down to three basic scenarios:
  1. The untrusted application: the ability to put a possibly nasty application into some kind of constrained box so it cannot hog resources to the point it will limit the rest of the system
  2. Selling Throughput: the ability to divide a system by capacity and performance into several pieces, sell each piece to a different customer, and then charge for the capabilities (speed, throughput) of that piece
  3. Emergency Reserve: the ability to reserve a chunk of cpu time and memory so an emergency recovery shell still work when the system becomes overloaded or degraded.

Hmm. We thought. Virtualization-like solutions can do that but they are inflexible and not real time. We figured we could divide, or partition, system resources in a way we can reconfigure on-the-fly and make it realtime too. So there.


The Tech#


The basic ideas are to
  1. Provide guarantees of cpu time and memory available to applications.
  2. Provide limits, or controls, on time and space consumption.
  3. Allow for dynamic reconfiguration.
  4. Still provide priority-preemptive thread scheduling.

There are two components, a fair share scheduler, actually a partition scheduler, and a memory control system called, "memory partitioning". They provide time and space partitions, respectively. The two kinds of partitions can be used independently, or used together. A third piece, partitioning of filesystem resources is Coming Real Soon Now(TM).




Active Tab Versions Inactive Tab - left sideAssociations Inactive Tab - left sideAttachments Inactive Tab - left sideBack LinksInactive Tab - right side  
    Version From To Version Comment Created By
    Version 18 tiny grammar fix Attilla Danko(deleted)  -  09/11/2007
    Version 17 Michael Kisel  -  09/11/2007
    Version 16 spelling correction Steve Bergwerff  -  09/10/2007
    Version 15 typos Douglas Bailey  -  08/31/2007
    Version 14 Attilla Danko(deleted)  -  08/31/2007
    Version 13 Attilla Danko(deleted)  -  08/31/2007
    Version 12 Attilla Danko(deleted)  -  08/31/2007
    Version 11 Attilla Danko(deleted)  -  08/31/2007
    Version 10 Attilla Danko(deleted)  -  08/31/2007
    Version 9 Attilla Danko(deleted)  -  08/31/2007
    Version 8 Attilla Danko(deleted)  -  08/30/2007
    Version 7 Attilla Danko(deleted)  -  08/30/2007
    Version 6 Attilla Danko(deleted)  -  08/30/2007
    Version 5 Attilla Danko(deleted)  -  08/30/2007
    Version 4 Attilla Danko(deleted)  -  08/20/2007
    Version 3 Attilla Danko(deleted)  -  08/20/2007
    Version 2 Steve Bergwerff  -  08/13/2007
    Version 1 Steve Bergwerff  -  08/13/2007