Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Towards Meta-Level Engineering and Tooling for ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
580
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
190
Other Decks in Research
See All in Research
横浜市長(山中氏)の言動にかかる第三者による調査報告書
sishi2026
0
570
VLMの推論を高速化する視覚トークン削減の仕組み
tattaka
2
340
[ACL 2026 Demo] Fast-MIA: Efficient and Scalable Membership Inference for LLMs
upura
0
130
プレイス・ワークショップ秋葉原
izumiyama_lab
1
110
ros2-perf-multihost: 分散システムにおける客観的なアーキテクチャ評価フレームワーク
takasehideki
0
280
Evaluation génomique des femelles laitières croisées : comprendre la méthode pour accompagner les éleveurs à son utilisation
institudelelevage
PRO
0
140
PHTalks Bengaluru - SSRF When All Else Fails
dk999
0
1.2k
クラウド・AI 時代の研究開発 DX / R&D Digital Transformation
hariby
0
180
2026年6月_副業コンプライアンス調査_業界別リスク度分析_株式会社フクスケ.pdf
fkske
0
110
IA for theory
gpeyre
1
450
【ローカルAIに向き合う展示会vol.2】液体時間定数型モジュールを用いた オリジナルの双方向エンコーダーモデルNexteraBERT 推論速度向上検討並びにダウンストリーム評価
rikkabotan7
0
220
Visual SLAM未来予測 / Future Prediction in Visual SLAM
koide3
1
1.1k
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
290
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
900
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Deep Space Network (abreviated)
tonyrice
0
350
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
520
Paper Plane (Part 1)
katiecoart
PRO
2
11k
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?