Related Work
From XOmB wiki
|
This page or section is not sufficiently complete and has a todo section. Please help by expanding it |
A collection of resources, mostly systems papers, to draw from when considering design decisions.
Contents |
OSes
Alternate OS architectures (micro/exo/nano-kernels)
- KeyKOS nanokernel - an ultra-reliable Utility Computing kernel supporting multiple OSes. similar goals to the exokernel
- exokernel - securely multiplex and expose all hardware resources. leave abstraction to userspace library operating systems
- microkernel - inter-process communication is the fundamental abstraction. most privileged code is moved to 'server' processes which may be able to be restarted in case of a failure
OSes designed for Multicore Scalability
- the Corey exokernel
- Helios, a multicore extension of the Microsoft Research kernel Singularity
- Barrelfish, another MSR OS for multicore
Userspace Systems Abstractions
Scheduling
- Scheduler Activations - rather than giving processes the illusion of continuous execution on a dedicated CPU, this paper proposes communication between OS and process about when and where the process is scheduled.
- CPU Inheritance Scheduling awesome userspace scheduling mechanism that supports other schemes including activations.
- userspace paging/swapping - find some references
Market-based Resource Scheduling
- Free-Market Resource Scheduling in GNU Hurd (If nothing else, we can steal this paper's citations)
- Market mechanisms in a programmed system (again, if nothing else, Citeseer list some promising citations)
- A price-anticipating resource allocation mechanism for distributed shared clusters
- A taxonomy of market-based resource management systems for utility-driven cluster computing
- Economic Scheduling in Grid Computing
- A MicroEconomic Approach to Conflict Resolution in Mobile Computing
- Auction Protocols for Decentralized Scheduling
- A Market-Based Scheduler for JXTA-Based Peer-to-Peer Computing System
- Self-Recharging Virtual Currency
Performance Considerations
Caches and Scheduling
- Page Coloring - use knowledge of CPU cache associativity to assign certain physical pages to certain processes, effectively dedicating portions of the cache to each process
- affinity scheduling- to get the best use of CPU caches, run processes on the same CPU that they were last scheduled on
Scalable Synchronization
- Waitfree synchronization
- ZooKeeper: Wait-free coordination for Internet-scale systems
- lockfree
- Algorithms for scalable synchronization on shared-memory multiprocessors
Virtual Machines
Finding Systems Papers
Systems Group's publications pages
- Flux group at Utah (OSkit)
- PDOS group at MIT (xok)
- Parallel Data Lab at CMU
- Storage System Research Center at UCSC

