Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Towards Meta-Level Engineering and Tooling for ...
Search
Stefan Marr
March 24, 2016
Research
1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Towards Meta-Level Engineering and Tooling for Complex Concurrent Systems
Stefan Marr
March 24, 2016
More Decks by Stefan Marr
See All by Stefan Marr
Actors! And now? An Implementer's Perspective onHigh-level Concurrency Models,Debugging Tools,and the Future of Automatic Bug Mitigation
smarr
0
560
How do we do Benchmark?Impressions from Conversations with the Community
smarr
0
11k
Metaprogramming, Metaobject Protocols, Gradual Type Checks: Optimizing the "Unoptimizable" Using Old Ideas
smarr
1
3.7k
Few Versatile vs. Many Specialized Collections: How to design a collection library for exploratory programming?
smarr
0
3.2k
Multi-Paradigm Concurrent Debugger
smarr
0
180
Other Decks in Research
See All in Research
英語教育 “研究” のあり方:学術知とアウトリーチの緊張関係
terasawat
1
1k
Fukui Shibiten 39 - AI Art
butchi
0
150
はじまりの クエスチョンブック —余暇と豊かさにあふれた社会とは?
culturaltransition
PRO
0
570
全国町字単位空き家率推定データver1.0データ仕様
microbaseinc
0
130
GLIM とMegaParticles:正規分布近似の限界とタイトカップリング&パーティクルフィルタの進展 / GLIM and MegaParticles : Progress of the distribution representation in SLAM
koide3
0
600
敵対生成プロンプト同時探索による内省型プロンプト最適化
kinoue_smarthr
0
320
Model Discovery and Graph Simulation: A Lightweight Gateway to Chaos Engineering
anatolykr
0
230
2026 東京科学大 情報通信系 研究室紹介 (大岡山)
icttitech
0
4.1k
Cross-Media Information Spaces and Architectures
signer
PRO
0
320
SOTAのさらに先へ:厳しい推論制約下での高性能モデルのPost-Training
analokmaus
0
1.4k
CVPR2026論文紹介_VLMにとって良いvision encoderとは何か?Rethinking Model Selection in VLM Through the Lens of Gromov-Wasserstein Distance
kobayashi31
1
170
2026年度 生成AI を活用した論文執筆ガイド/ワークショップ / 2026 Academic Year Guide to Writing Papers Using Generative AI - Workshop
ks91
PRO
0
190
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.5k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
880
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Amusing Abliteration
ianozsvald
1
240
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
370
The Limits of Empathy - UXLibs8
cassininazir
1
520
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
400
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Speed Design
sergeychernyshev
33
1.9k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Between Models and Reality
mayunak
4
380
Transcript
Stefan Marr, Elisa Gonzalez Boix, Hanspeter Mössenböck Towards Meta-Level Engineering
and Tooling for Complex Concurrent Systems
ApplicaFons in the MulFcore Age 2 Concurrency Model: event-loops or
actors User Interface asynchronous event-driven
ApplicaFons in the MulFcore Age 3 ~/Library/Mail$ sqlite3 EnvelopeIndex SQLite
version 3.7.7.1sqlite> .schema CREATE TABLE addresses (ROWID int, address, comment); CREATE TABLE messages (ROWID int, message_id, document_id, in_reply_to, remote_id int, sender int…); Data Storage consistency required transacFonal backends Concurrency Model: transacFonal operaFons
ApplicaFons in the MulFcore Age 4 Data Analysis and Processing
performance sensiFve Concurrency Model: data-parallel queries, map/reduce, fork/join, …
And, This is Real! hUp://stefan-marr.de/ 2014/07/why-is-concurrent- programming-hard/ 5 Tasharofi, S.;
Dinges, P. & Johnson, R. E. Why Do Scala Developers Mix the Actor Model with other Concurrency Models? ECOOP 2013. Apple Mail
How to provide tooling for all of them? 6
Research Challenges • Debugger for MulFple Concurrency Models • Minimizing
Interference 7 How to Abstract from Concurrency Models?
A DEBUGGER FOR SUCH APPLICATIONS SupporFng a Wide Range of
Concurrency Models. 8
Subsystems as CommunicaFng Event Loops 9 Actor A Actor B
Actor Principle
Subsystems as CommunicaFng Event Loops 10 Actor A Actor B
In Theory: One Message at a Time
Subsystems as CommunicaFng Event Loops 11 Actor A Actor B
Actors Contain Objects
Subsystems as CommunicaFng Event Loops 12 Actor A Actor B
Which message cause which changes?
Subsystems as CommunicaFng Event Loops 13 Actor A Actor B
caused? caused?
Subsystem uses TransacFons 14 Actor A Subsystem B
Subsystem uses TransacFons 15 Subsystem B
Subsystem uses TransacFons 16 Subsystem B
Subsystem uses TransacFons Subsystem B Thread A Thread B
Subsystem uses TransacFons Subsystem B Thread A Thread B Thread
A
Subsystem uses TransacFons Subsystem B Thread A Thread B Thread
A Thread B How did transacFons interact?
Requirements • High-level representaFon of concepts • Move between abstracFon
levels • Enable – Observe AcFons (History) – Understand Dependencies – Interact and Explore 20
MINIMIZING INTERFERENCE Research Challenge 21
Shared Resource in Message-based System 22 Synchro nizer Shared “Mutable”
Resource Added later, forgot about synchronizer
Shared Resource in Message-based System 23 Synchro nizer Shared “Mutable”
Resource 75% probability 25% probability
AUaching Debugger 24 Synchro nizer Shared “Mutable” Resource Debugger
With Debugger 25 Synchro nizer Shared “Mutable” Resource Debugger 99%
probability 1% probability
Tradeoff: Precision vs. Interference • How to minimize recorded data?
– Maximize re-synthesized informaFon – ParFal re-execuFon? • Independent of the concurrency model? 26
HOW TO ABSTRACT FROM CONCURRENCY MODELS? Research Challenge 27
What are common properFes for debugging? 28
Causality: Control & Data Dependencies 29 Details different for each
Concurrency Model
Scheduling Dependencies 30 Async message sends, rendevous semanFcs, blocking semanFcs,
...
Challenge: Support Wide Range of Concepts ConflicFng Goals – ImplementaFon Level:
Use common abstracFons – Tool Level: Show expected semanFcs 31 EnFty Event causes influences * *
SOMns: A Smalltalk with Actors 32 • • JavaScript, Node.js
5.4.0 JavaScript, GraalJS Ruby, JRuby+Truffle SOMns, Newspeak Java, 1.8.0_66 1 2 3 4 5 6 7 8 9 10 11 12 Runtime Factor, normalized to Java 1.8.0_66 (lower is better) Dynamic Language Research Planorm Faster than V8
Actor Performance On Par with JVM Frameworks 33 Chameneos ConcurrentSorted
LinkedList Counting ForkJoinThroughput PingPong RadixSort ThreadRing Geo Mean 0 1 2 3 4 5 6 7 8 Runtime factor over Scalaz lower is better Akka Jetlang SOMns Scalaz
Research Goals • Debugger for MulFple Concurrency Models • Minimizing
Interference 34 How to Abstract from Concurrency Models?