Virtual Machine Design for Parallel Dynamic Programming Languages
summary
Claims a concrete VM design: implements parallel worlds for isolation, on-demand page sharing and reconciliation using x86 virtual memory segmentation and memory-protection tricks, plus a transactional reconciliation algorithm to make large atomic ops appear atomic. Builds a Parallel RPython-based PyPy VM and runs threaded microbenchmarks, reporting up to 7.5× speedup on 8 cores (paper links results). JIT assumptions remain valid because worlds hide concurrent interference, and the implementation proves the approach is practical on commodity 64-bit CPUs.
AI-written summary · about
chapters (11)
- 0:00Start
- 0:06Virtual Machine Design for Parallel Dynamic Programming Languages
- 2:04Just-in-Time Compiler and Concurrency
- 4:20Memory Model
- 5:54Thread Safe Object Model
- 7:11Approach
- 8:54World Reconciliation
- 9:40Transactional Execution
- 13:56Worlds as Memory Segments
- 15:44Summary
- 16:52Support Evaluation
related talks
48mOne VM To Rule Them All
44mBuild Your Own VM with JIT Compilation for Dummies
11mUsing Pyrope To Create Transformable RISC V Architectures
01h 02mMemory and Compilers
21mVirtualizing Continuations
40mJoy of Meta-Tracing Just-in-Time Compilation: More Than Just a VM Generator
35mProgramming 'brainfuck' and virtual machines
48mOptimizing Performance using a VM and Go Plugins
