ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
Node Node Node
Process
Thread
Network
Thread
Thread
Thread
Memory
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
original
frontend
C/C++
Obj-C
Swift
Fortran
Ada
Go
original
language
iPhone
Android
Raspberry Pi
PC
objectfile
Clang
dragon
egg
LLVM
Optimizer
ARM
backend
x86
backend
Node (VM)
Process
clang
C/C++ LLVM-IR Thread Thread
Memory
original
frontend
C/C++
Obj-C
Swift
Fortran
Ada
Go
original
language
LLVM?
each
compiler
AST
web
browser
PROCESS
WARP
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
Node A Node B
Scheduler
warp_thread
VM
Scheduler
VM
Network
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
main
funcA
main
funcA
funcB
main
funcA
main
main
main
main
caller
main
main
caller caller
funcA funcA funcA
caller
funcB
main
funcA
main funcB
C++
Electron
Android SDK + JNI
emscripten
Linux / Mac
Android
web
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
! "
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë
PROCESS WARP¡¸¥×¥í¥»¥¹¤¬¥Ç¥Ð¥¤¥¹ég¤ÇÒÆ„Ó¤¹¤ë¡¹Ê˽M¤ß¤ò×÷¤ë

More Related Content