Parallel Systems: Case Studies Flashcards

1
Q

What are the challenges in creating an OS for parallel machines?

A
  • NUMA effects (accessing local memory is faster)
  • Deep memory hierarchy
  • False sharing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are principles of parallel machines?

A

1) Cache conscious decisions
2) Limit shared system data structures
3) Keep memory access local

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How do we make parallel OSes scalable?

A

For every subsystem:

  • Determine functional needs of service to ensure concurrency
  • Minimize shared data structures
  • Where possible, replicate/partition system data structures (less locking, more concurrency)
  • Use cache coherence as a safety blanket
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How does Tornado succeed as a parallel machine OS?

A
  • Uses a clustered object
  • Illusion of a single object (uses different object references)
  • Degree of clustering a choice of the implementer
  • Uses Protected Procedure Call for consistency
  • Every object is a protected domain
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How would could page fault services be made possible in a parallel OS?

A
  • Page table is common
  • Page fault handler for each node
  • Page table data structure shared by all handlers
  • Page fault services will be serializable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the two scenarios for parallel OSes and page fault services?

A
  • Easy scenario: multiprocess workload (threads are independent, page tables are separate)
  • Hard scenario: multithreaded workload where address space is shared, page table is shared, and entries shared in processor TLB
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How would Tornado handle memory management?

A
  • Process object = PCB (shared by threads on the same CPU)
  • Divides address space into regions, managed by a file cache manager
  • Carve up backing store (taken care of by file cache manager)
  • Page frame manager is taken care of by DRAM
  • Page I/O is taken care of by cached object representation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

In Tornado, how is the process object shared?

A

Object is replicated per CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

In Tornado, how are region objects shared?

A

Partial replication for group of CPUs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

In Tornado, how are the file cache manager objects shared?

A

True shared object

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

In Tornado, how is locking handled?

A
  • Hierarchical locking kills concurrency and is bad
  • Non-hierarchical locking and existence guarantee will be sufficient (use reference count and existence guarantee instead)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the characteristics of Tornado?

A
  • Object oriented design for scalability
  • Multiple implementations of OS objects
  • Optimize common case (page fault handling vs region destruction)
  • No hierarchical locking
  • Limited sharing of OS data structures
  • Pays attention to cache affinity
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the ideas behind Corey?

A
  • Functions like Exokernel in that it exposes kernel mechanisms to applications
  • Address ranges in an application
  • Shares (intent to share with other threads)
  • Dedicated cores for kernel activity (confines locality for kernel threads to a few cores)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the motivations behind Corey?

A
  • For structuring OS for shared memory multiprocessors
  • Limits sharing kernel data structures, which limits concurrency and increases contention
  • Involves apps on top of the OS to give hints to the kernel
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the idea behind Cellular Disco?

A

Virtualization of multiprocessing machines

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How does Cellular Disco work?

A
  • Virtual layer manages CPU resources
  • Takes advantage of native OS below it
  • Rewrites interrupts to make it look like there is only one guest VM to one host (Cellular Disco to Host Irix)
  • Also has to rewrite completion interrupt vector so call goes back to Cellular Disco (Host Irix to Cellular Disco)
  • Always traps and emulates
17
Q

What are the benefits of Cellular Disco?

A
  • Overhead kept low (within 10%)
  • Cellular Disco does as well as operating system in managing resources via construction and experimentation
  • Host OS is not changed