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
570
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
HAKARI-Bench - 実運用視点での情報検索モデル評価ベンチマーク
hotchpotch
1
740
[最先端NLP勉強会2026] Agentic Rubrics as Contextual Verifiers for SWE Agents
rfujii
1
340
データサイエンティストの就労意識~2015 → 2026 一般(個人)会員アンケートより
datascientistsociety
PRO
0
770
SAM3を用いたコマ・吹き出しの 領域検出と分割構造からの読み順推定
kzmssk
0
120
SOTAのさらに先へ:厳しい推論制約下での高性能モデルのPost-Training
analokmaus
0
1.5k
Fukui Shibiten 39 - AI Art
butchi
0
190
MM-OVSeg: Multimodal Optical–SAR Fusion for Open-Vocabulary Segmentation in Remote Sensing
satai
3
130
敵対生成プロンプト同時探索による内省型プロンプト最適化
kinoue_smarthr
0
410
CVPR2026論文紹介_VLMにとって良いvision encoderとは何か?Rethinking Model Selection in VLM Through the Lens of Gromov-Wasserstein Distance
kobayashi31
1
210
PHTalks Bengaluru - SSRF When All Else Fails
dk999
0
1.1k
OWASP AISVS - C7
shiell
2
690
JPA2026_NetworkTutorial_JunKashihara
junkashihara
0
140
Featured
See All Featured
Test your architecture with Archunit
thirion
2
2.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Abbi's Birthday
coloredviolet
3
9.9k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
690
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Side Projects
sachag
455
43k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
340
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Site-Speed That Sticks
csswizardry
13
1.5k
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?