multiversev3vee.org/talks/hpdc16.pdf · 2016. 7. 6. · multiverse 26 generate a specialized os...
Post on 03-Feb-2021
2 Views
Preview:
TRANSCRIPT
-
MULTIVERSEAutomatic Hybridization of Runtime Systems
Kyle C. Hale, Conor Hetland, Peter Dinda
1
-
HYBRID PARALLEL RUNTIMESLONG-TERM GOAL:
let’s reimagine systems S/W stack for parallel runtimes (esp. for high-level parallel languages)
OS gets in the way: imposed abstractions, hides HW capabilities
avoid duplicated functionality in the runtime system and OS
explore new ways of doing things!
why in the world?
2
-
A THOUGHT EXPERIMENT
3
-
2 ASSUMPTIONS
1. YOU ARE A HARDCORE OS HACKERexpert parallel programmerelite performance engineer
you have masochistic tendenciesyou can squash bugs like no one’s business
4
-
2 ASSUMPTIONS
2. YOU HAVE INFINITE TIME ON YOUR HANDS
5
-
NOW, GO BUILD A PARALLEL RUNTIME SYSTEM
*on raw hardware
6
-
HOW DIFFERENT IS YOUR RUNTIME FROM A TYPICAL OS KERNEL?
7
[Hale et al., VEE ’16]
[Hale et al., HPDC ‘15]
-
PROBLEM:you’ve already built a runtime for Linux
building it from scratch is hard
8
-
Linux user-space code
specialized OS kernel
9
-
OKAY, LESS AMBITIOUS
10
I’ll give you a kernel framework
Now you just have to port, probably add some functionality
-
11
instead of starting from scratch, we can port to
kernel mode:
DIFFICULT TIME-CONSUMING
ERROR-PRONE
-
12
development cycle:
ADD FUNCTION
REBUILD
BOOT specialized kernel
do{
}while(kernelfallsover)
-
13
much of the functionality is
NOT ON THE CRITICAL PATH
FURTHERMORE
-
Linux user-space code
specialized OS kernel
14
-
15
MULTIVERSE
-
C/C++ source tree for runtime system
point Multiverse to runtime’s source tree
rebuild
run it (boots as kernel)
identify hotspots
bring functionality into your kernel
16
Automatic Hybridization
-
WHAT YOU GET
17
your runtime system
Linux Specialized OS environment
Hardware (Virtual or Physical)
your runtime system
leverage general-purpose OS for legacy functionality
kernel mode
-
MULTIVERSE IMPLEMENTS AUTOMATIC HYBRIDIZATION
18
your runtime system
Linux Specialized OS environment
Hardware (Virtual or Physical)
your runtime systemUniverse
1Universe
2
-
ON TOP OF VIRTUALIZATION
19
your runtime system
Linux specialized OS
Hybrid Virtual Machine
Multiverse runtime layer
your runtime system
thread_create()events: page faults, system calls, exceptions
-
FREEBIE: WORKS WITH OUT OF THE BOX PTHREADS APPS
20
-
FREEBIE: WORKS WITH OUT OF THE BOX PTHREADS APPS
21
pthread app
Linux specialized OS
Hybrid Virtual Machine
Multiverse runtime layer pthread applow noise
environment
-
RACKET
22
most widely used Scheme implementation
runtime system: 800K lines of code
complex, JIT-based runtime, managed memory, garbage collection, etc.
complexity makes it good option for testing Multiverse
-
23
-
24
-
LOW OVERHEADS
0
10
20
30
40
50
fannk
uch-r
edux
binary
-tree-2 fas
tafas
ta-3
nbod
y
spec
tral-n
orm
mand
elbrot
-2
Run
time
(s)
NativeVirtual
Multiverse
25
-
MULTIVERSE
26
generate a specialized OS kernel (HRT) from a Linux user-space app/runtime system by
rebuilding
hybridized runtime is bridged with Linux to provide legacy functionality (e.g. system calls)
very slight overheads (100s of ns) for forwarded events, little effect on performance overall
-
THANKS
Nautilus Aerokernel Framework: http://nautilus.halek.co
Prescience Lab: presciencelab.org
my website: http://halek.co
27
Hobbes Project: xstack.sandia.gov/hobbes
http://nautilus.halek.cohttp://presciencelab.orghttp://halek.cohttp://xstack.sandia.gov/hobbes
-
BACKUPS
28
-
29
v3vee.org v3vee.org/palacios
nautilus.halek.co
top related