SlideShare a Scribd company logo
How To I/O?
Todd L. Montgomery
@toddlmontgomery
StoneTor
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
http://www.infoq.com/presentations/
io-challenges
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon San Francisco
www.qconsf.com
I/O? Really?
What used to be true
… is still true
Except when it isn’t
Case Study: Aeron
Takeaways
I/O? Really?
M.2
DDRSSD
PCIe - 3/4
100 GbE
…
OmniPath
CPUs
Cache / Memory
Fast networks - I/O-“ish"
Storage
700+ MBps
Network
10Gbps
<15us latency
Accumulated
Improvement
Time
Network
Bandwidth
Response Time
Storage
Capacity
CPU Cores
Memory
Capacity
It’s all good…
nothing to worry about…
right?
What used to be true
Synchronous
Read/Write
Streaming
Read/Write
Striding
not just for memory
VM
Storage
RDMA
00004f0: 27cf 5c08 726b 8da2 486d f305 8e18 8727 '..rk..Hm.....'
0000500: 07ba 9b14 18e9 90da ce20 8569 6d49 1b2c ......... .imI.,
0000510: 0b02 a02b 5095 cb25 5f11 76b8 1ae2 13d4 ...+P..%_.v.....
0000520: 2148 8924 2220 1e30 e325 5f71 44e5 98c4 !H.$" .0.%_qD...
0000530: 621b 0a55 e068 4ad3 01d0 0259 4845 8028 b..U.hJ....YHE.(
0000540: 0999 5cbe e2ac cca4 6a31 bbc2 b2b6 e520 .......j1.....
0000550: ce7e 86fb d4e3 cdf8 f7c2 b76a 14ad 62ff .~.........j..b.
0000560: aec2 776a f4cf f46f 99ee cfc4 6a8b 7682 ..wj...o....j.v.
0000570: 6270 af16 1576 8bbe 39b1 56c9 81f1 218d bp...v..9.V...!.
0000580: 3277 1b3b 62de 1ca2 37b4 d218 a706 51f2 2w.;b...7.....Q.
0000590: a680 bd8d 7f05 2b35 1882 dea4 7607 d0d1 ......+5....v...
00005a0: c885 770e 91d3 4d92 ae90 bb18 9e8d 15bd ..w...M.........
00005b0: 3154 b266 1c94 bc80 de89 1f50 a5a8 83b6 1T.f.......P....
00005c0: 9c0e 3dc6 21b5 d391 f2d9 0929 a4b0 82d4 ..=.!......)....
00004f0: 27cf 5c08 726b 8da2 486d f305 8e18 8727 '..rk..Hm.....'
0000500: 07ba 9b14 18e9 90da ce20 8569 6d49 1b2c ......... .imI.,
0000510: 0b02 a02b 5095 cb25 5f11 76b8 1ae2 13d4 ...+P..%_.v.....
0000520: 2148 8924 2220 1e30 e325 5f71 44e5 98c4 !H.$" .0.%_qD...
0000530: 621b 0a55 e068 4ad3 01d0 0259 4845 8028 b..U.hJ....YHE.(
0000540: 0999 5cbe e2ac cca4 6a31 bbc2 b2b6 e520 .......j1.....
0000550: ce7e 86fb d4e3 cdf8 f7c2 b76a 14ad 62ff .~.........j..b.
0000560: aec2 776a f4cf f46f 99ee cfc4 6a8b 7682 ..wj...o....j.v.
0000570: 6270 af16 1576 8bbe 39b1 56c9 81f1 218d bp...v..9.V...!.
0000580: 3277 1b3b 62de 1ca2 37b4 d218 a706 51f2 2w.;b...7.....Q.
0000590: a680 bd8d 7f05 2b35 1882 dea4 7607 d0d1 ......+5....v...
00005a0: c885 770e 91d3 4d92 ae90 bb18 9e8d 15bd ..w...M.........
00005b0: 3154 b266 1c94 bc80 de89 1f50 a5a8 83b6 1T.f.......P....
00005c0: 9c0e 3dc6 21b5 d391 f2d9 0929 a4b0 82d4 ..=.!......)....
00004f0: 27cf 5c08 726b 8da2 486d f305 8e18 8727 '..rk..Hm.....'
0000500: 07ba 9b14 18e9 90da ce20 8569 6d49 1b2c ......... .imI.,
0000510: 0b02 a02b 5095 cb25 5f11 76b8 1ae2 13d4 ...+P..%_.v.....
0000520: 2148 8924 2220 1e30 e325 5f71 44e5 98c4 !H.$" .0.%_qD...
0000530: 621b 0a55 e068 4ad3 01d0 0259 4845 8028 b..U.hJ....YHE.(
0000540: 0999 5cbe e2ac cca4 6a31 bbc2 b2b6 e520 .......j1.....
0000550: ce7e 86fb d4e3 cdf8 f7c2 b76a 14ad 62ff .~.........j..b.
0000560: aec2 776a f4cf f46f 99ee cfc4 6a8b 7682 ..wj...o....j.v.
0000570: 6270 af16 1576 8bbe 39b1 56c9 81f1 218d bp...v..9.V...!.
0000580: 3277 1b3b 62de 1ca2 37b4 d218 a706 51f2 2w.;b...7.....Q.
0000590: a680 bd8d 7f05 2b35 1882 dea4 7607 d0d1 ......+5....v...
00005a0: c885 770e 91d3 4d92 ae90 bb18 9e8d 15bd ..w...M.........
00005b0: 3154 b266 1c94 bc80 de89 1f50 a5a8 83b6 1T.f.......P....
00005c0: 9c0e 3dc6 21b5 d391 f2d9 0929 a4b0 82d4 ..=.!......)....
00004f0: 27cf 5c08 726b 8da2 486d f305 8e18 8727 '..rk..Hm.....'
0000500: 07ba 9b14 18e9 90da ce20 8569 6d49 1b2c ......... .imI.,
0000510: 0b02 a02b 5095 cb25 5f11 76b8 1ae2 13d4 ...+P..%_.v.....
0000520: 2148 8924 2220 1e30 e325 5f71 44e5 98c4 !H.$" .0.%_qD...
0000530: 621b 0a55 e068 4ad3 01d0 0259 4845 8028 b..U.hJ....YHE.(
0000540: 0999 5cbe e2ac cca4 6a31 bbc2 b2b6 e520 .......j1.....
0000550: ce7e 86fb d4e3 cdf8 f7c2 b76a 14ad 62ff .~.........j..b.
0000560: aec2 776a f4cf f46f 99ee cfc4 6a8b 7682 ..wj...o....j.v.
0000570: 6270 af16 1576 8bbe 39b1 56c9 81f1 218d bp...v..9.V...!.
0000580: 3277 1b3b 62de 1ca2 37b4 d218 a706 51f2 2w.;b...7.....Q.
0000590: a680 bd8d 7f05 2b35 1882 dea4 7607 d0d1 ......+5....v...
00005a0: c885 770e 91d3 4d92 ae90 bb18 9e8d 15bd ..w...M.........
00005b0: 3154 b266 1c94 bc80 de89 1f50 a5a8 83b6 1T.f.......P....
00005c0: 9c0e 3dc6 21b5 d391 f2d9 0929 a4b0 82d4 ..=.!......)....
00004f0: 27cf 5c08 726b 8da2 486d f305 8e18 8727 '..rk..Hm.....'
0000500: 07ba 9b14 18e9 90da ce20 8569 6d49 1b2c ......... .imI.,
0000510: 0b02 a02b 5095 cb25 5f11 76b8 1ae2 13d4 ...+P..%_.v.....
0000520: 2148 8924 2220 1e30 e325 5f71 44e5 98c4 !H.$" .0.%_qD...
0000530: 621b 0a55 e068 4ad3 01d0 0259 4845 8028 b..U.hJ....YHE.(
0000540: 0999 5cbe e2ac cca4 6a31 bbc2 b2b6 e520 .......j1.....
0000550: ce7e 86fb d4e3 cdf8 f7c2 b76a 14ad 62ff .~.........j..b.
0000560: aec2 776a f4cf f46f 99ee cfc4 6a8b 7682 ..wj...o....j.v.
0000570: 6270 af16 1576 8bbe 39b1 56c9 81f1 218d bp...v..9.V...!.
0000580: 3277 1b3b 62de 1ca2 37b4 d218 a706 51f2 2w.;b...7.....Q.
0000590: a680 bd8d 7f05 2b35 1882 dea4 7607 d0d1 ......+5....v...
00005a0: c885 770e 91d3 4d92 ae90 bb18 9e8d 15bd ..w...M.........
00005b0: 3154 b266 1c94 bc80 de89 1f50 a5a8 83b6 1T.f.......P....
00005c0: 9c0e 3dc6 21b5 d391 f2d9 0929 a4b0 82d4 ..=.!......)....
00004f0: 27cf 5c08 726b 8da2 486d f305 8e18 8727 '..rk..Hm.....'
0000500: 07ba 9b14 18e9 90da ce20 8569 6d49 1b2c ......... .imI.,
0000510: 0b02 a02b 5095 cb25 5f11 76b8 1ae2 13d4 ...+P..%_.v.....
0000520: 2148 8924 2220 1e30 e325 5f71 44e5 98c4 !H.$" .0.%_qD...
0000530: 621b 0a55 e068 4ad3 01d0 0259 4845 8028 b..U.hJ....YHE.(
0000540: 0999 5cbe e2ac cca4 6a31 bbc2 b2b6 e520 .......j1.....
0000550: ce7e 86fb d4e3 cdf8 f7c2 b76a 14ad 62ff .~.........j..b.
0000560: aec2 776a f4cf f46f 99ee cfc4 6a8b 7682 ..wj...o....j.v.
0000570: 6270 af16 1576 8bbe 39b1 56c9 81f1 218d bp...v..9.V...!.
0000580: 3277 1b3b 62de 1ca2 37b4 d218 a706 51f2 2w.;b...7.....Q.
0000590: a680 bd8d 7f05 2b35 1882 dea4 7607 d0d1 ......+5....v...
00005a0: c885 770e 91d3 4d92 ae90 bb18 9e8d 15bd ..w...M.........
00005b0: 3154 b266 1c94 bc80 de89 1f50 a5a8 83b6 1T.f.......P....
00005c0: 9c0e 3dc6 21b5 d391 f2d9 0929 a4b0 82d4 ..=.!......)....
SSDs
RDMA
Random Access is OK!?…
… is still true
Striding
still works well
Striding
still works well
+ more patterns
Random Access
incurs a penalty
Random Access
incurs a PENALTY
Random Access
-10%*, -10x, -100x
Streaming
Read/Write
still true
Except when it isn’t
Synchronous
Read/Write
never really was true
[Incorrect] Assumption
Oh.. You’re doing I/O, you don’t
care about being fast
Scheduling Jitter
Locks
LOCKS!!!
It’s more likely you are
blocked on locks than on
the I/O device itself
Most I/O is so fast, that
the price of locking can
overshadow it
But it’s not just locking…
Data Formats (binary?)
Algorithms
Protocols
…
It is highly doubtful that you
are being held back by
the network or storage
The reason(s)
Accumulated
Improvement
Time
Network
Bandwidth
Response Time
Storage
Capacity
CPU Cores
Memory
Capacity
The OS has locks
The runtime has locks*
Algorithms have coherence**
Algorithms Matter
Configuration that Outperforms a Single Thread
SSD + 1 thread of goodness
>
128 cores of so-so
http://www.frankmcsherry.org/graph/scalability/cost/2015/01/15/COST.html
http://blog.acolyer.org/2015/06/05/scalability-but-at-what-cost/
You can’t escape the Math
"AmdahlsLaw" by Daniels220 at English Wikipedia - Own work based on: File:AmdahlsLaw.png. Licensed under CC BY-SA 3.0 via Wikimedia Commons
Contention isn’t the biggest enemy
Coherence is!
Universal Scalability Law
0
2
4
6
8
10
12
14
16
18
20
1 2 4 8 16 32 64 128 256 512 1024
Speedup
Processors
Amdahl USL
Also
Coherence traffic eats up
bandwidth
Defeating Contention
Smart Batching (Natural Batching)
http://mechanical-sympathy.blogspot.com/2011/10/smart-batching.html
Accumulated
Improvement
Time
Network
Bandwidth
Response Time
Storage
Capacity
CPU Cores
Memory
Capacity
Accumulated
Improvement
Time
Network
Bandwidth
Response Time
Storage
Capacity
CPU Cores
Memory
Capacity
Batching…
Resource
Resource
Ring Buffer
Batching Thread
Resource
Pull off as much waiting
data as possible
Single Writer Principle
Avoid Resource Contention
Batching only when needed
Rate Decoupling
Back Pressure
Reading
sendfile / slice / transferTo
Read in (multiple) page size chunks
Reduce kernel calls
Async I/O
The cost of locks
DatagramChannelImpl
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8-b132/sun/nio/ch/DatagramChannelImpl.java#DatagramChannelImpl
public int write(ByteBuffer buf)
{
synchronized (writeLock) {
synchronized (stateLock) { … } … }
}
public int read(ByteBuffer buf)
{
synchronized (readLock) {
synchronized (stateLock) { … } … }
}
send & receive are similar
Bias Locking
Same thread constructing,
reading, & writing
= 1+ microsecond
Freedom!
Lock-Free, Wait-Free
http://en.wikipedia.org/wiki/Non-blocking_algorithm
Words Matter
Obstruction-Freedom
Partially completed operations
aborted & changes made rolled back
Lock-Freedom
Individual thread may starve, but
guaranteed system-wide throughput
Lock-Free is Obstruction-Free
Wait-Freedom
Starvation free and guaranteed
system-wide throughput
Wait-Free is Lock-Free
These properties are
awesome!
Who wouldn’t want them?
System-wide properties start
at the lowest level
Essence
Just because we could take an
action right now, doesn’t mean
we should
Case Study: Aeron
https://github.com/real-logic/Aeron
Append-only Data Structures
Header
Message
Log
Header
Message
Header
Message
Header
Message
Log
Efficiently
Replicating an Append-only Log
What If…?
The Data Structure could be
directly sent to the “network”?
and saved to “storage”?
Header
Message
Header
Message
Position in Log
Length
Header
Message
Position in Log
Length
Version/Flags
Type
etc.
+
Header
Message
Fragment 0
Header
Message
Header
Message
Fragment 0
Header
Message
Header
Message
Header
Message
Header
Message
Fragment 0
Header
Message
Header
Message
Header
Message
Header
Message
Fragment 0
Fragment 1
Header
Message
Header
Message
Header
Message
Header
Message
Header
Message
Header
Message
Fragment 0
Fragment 1
Takeaways
We are loosing 30% memory
bandwidth*…
Oh &^%(&^!
Observed by Martin Thompson
Stream over Data
Predictable Access
Batching
Algorithms
Avoid contention
Avoid coherence*
@toddlmontgomery
Questions?
• Aeron https://github.com/real-logic/Aeron
• Twitter @toddlmontgomery
Thank You!
StoneTor
Watch the video with slide synchronization on
InfoQ.com!
http://www.infoq.com/presentations/io-
challenges

More Related Content

Similar to How to I/O?

LT SAP HANAネットワークプロトコル初段
LT SAP HANAネットワークプロトコル初段LT SAP HANAネットワークプロトコル初段
LT SAP HANAネットワークプロトコル初段
Koji Shinkubo
 
Web Anywhere: Mobile Optimisation With HTML5, CSS3, JavaScript
Web Anywhere: Mobile Optimisation With HTML5, CSS3, JavaScriptWeb Anywhere: Mobile Optimisation With HTML5, CSS3, JavaScript
Web Anywhere: Mobile Optimisation With HTML5, CSS3, JavaScript
brucelawson
 
Open Data ≠ Open Source - Monktoberfest 2012
Open Data ≠ Open Source - Monktoberfest 2012Open Data ≠ Open Source - Monktoberfest 2012
Open Data ≠ Open Source - Monktoberfest 2012
Black Duck by Synopsys
 
Osc2010tokyo fall
Osc2010tokyo fallOsc2010tokyo fall
Osc2010tokyo fall
Hideki Yamane
 
KILL MD5
KILL MD5KILL MD5
KILL MD5
Ange Albertini
 
HTML5 and the web of tomorrow!
HTML5  and the  web of tomorrow!HTML5  and the  web of tomorrow!
HTML5 and the web of tomorrow!
Christian Heilmann
 
Syndicated content on your web pages
Syndicated content on your web pagesSyndicated content on your web pages
Syndicated content on your web pages
Jon Warbrick
 
Ruler and Liniaal @ Troopers 17
Ruler and Liniaal @ Troopers 17Ruler and Liniaal @ Troopers 17
Ruler and Liniaal @ Troopers 17
SensePost
 
Porting Valgrind to NetBSD and OpenBSD by Masao Uebayashi
Porting Valgrind to NetBSD and OpenBSD by Masao UebayashiPorting Valgrind to NetBSD and OpenBSD by Masao Uebayashi
Porting Valgrind to NetBSD and OpenBSD by Masao Uebayashi
eurobsdcon
 
Example 006
Example 006Example 006
Example 006
klubandayak
 
I own copyright, so I pwn you!
I own copyright, so I pwn you!I own copyright, so I pwn you!
I own copyright, so I pwn you!
Dorothea Salo
 
ambil aja
ambil aja ambil aja
ambil aja
muxander
 
Avoiding Black Boxes with Data Science part I & II - Marko Vasiljevski
 Avoiding Black Boxes with Data Science part I & II - Marko Vasiljevski Avoiding Black Boxes with Data Science part I & II - Marko Vasiljevski
Avoiding Black Boxes with Data Science part I & II - Marko Vasiljevski
Institute of Contemporary Sciences
 
Monktoberfest open data-rms-2012-v3
Monktoberfest open data-rms-2012-v3Monktoberfest open data-rms-2012-v3
Monktoberfest open data-rms-2012-v3
Rich Sands
 
PE보다 스크립트 - 핵인싸 악성코드의 진단 우회방식
PE보다 스크립트 - 핵인싸 악성코드의 진단 우회방식PE보다 스크립트 - 핵인싸 악성코드의 진단 우회방식
PE보다 스크립트 - 핵인싸 악성코드의 진단 우회방식
HeungSoo Kang
 
2010科管局企業社會責任報告
2010科管局企業社會責任報告2010科管局企業社會責任報告
2010科管局企業社會責任報告
CSRone
 
Java bytecode Malware Analysis
Java bytecode Malware AnalysisJava bytecode Malware Analysis
Java bytecode Malware Analysis
Brian Baskin
 

Similar to How to I/O? (20)

LT SAP HANAネットワークプロトコル初段
LT SAP HANAネットワークプロトコル初段LT SAP HANAネットワークプロトコル初段
LT SAP HANAネットワークプロトコル初段
 
Web Anywhere: Mobile Optimisation With HTML5, CSS3, JavaScript
Web Anywhere: Mobile Optimisation With HTML5, CSS3, JavaScriptWeb Anywhere: Mobile Optimisation With HTML5, CSS3, JavaScript
Web Anywhere: Mobile Optimisation With HTML5, CSS3, JavaScript
 
Open Data ≠ Open Source - Monktoberfest 2012
Open Data ≠ Open Source - Monktoberfest 2012Open Data ≠ Open Source - Monktoberfest 2012
Open Data ≠ Open Source - Monktoberfest 2012
 
Dance4life Int
Dance4life IntDance4life Int
Dance4life Int
 
Dance4life Int
Dance4life IntDance4life Int
Dance4life Int
 
Osc2010tokyo fall
Osc2010tokyo fallOsc2010tokyo fall
Osc2010tokyo fall
 
KILL MD5
KILL MD5KILL MD5
KILL MD5
 
HTML5 and the web of tomorrow!
HTML5  and the  web of tomorrow!HTML5  and the  web of tomorrow!
HTML5 and the web of tomorrow!
 
Hta r31
Hta r31Hta r31
Hta r31
 
Syndicated content on your web pages
Syndicated content on your web pagesSyndicated content on your web pages
Syndicated content on your web pages
 
Ruler and Liniaal @ Troopers 17
Ruler and Liniaal @ Troopers 17Ruler and Liniaal @ Troopers 17
Ruler and Liniaal @ Troopers 17
 
Porting Valgrind to NetBSD and OpenBSD by Masao Uebayashi
Porting Valgrind to NetBSD and OpenBSD by Masao UebayashiPorting Valgrind to NetBSD and OpenBSD by Masao Uebayashi
Porting Valgrind to NetBSD and OpenBSD by Masao Uebayashi
 
Example 006
Example 006Example 006
Example 006
 
I own copyright, so I pwn you!
I own copyright, so I pwn you!I own copyright, so I pwn you!
I own copyright, so I pwn you!
 
ambil aja
ambil aja ambil aja
ambil aja
 
Avoiding Black Boxes with Data Science part I & II - Marko Vasiljevski
 Avoiding Black Boxes with Data Science part I & II - Marko Vasiljevski Avoiding Black Boxes with Data Science part I & II - Marko Vasiljevski
Avoiding Black Boxes with Data Science part I & II - Marko Vasiljevski
 
Monktoberfest open data-rms-2012-v3
Monktoberfest open data-rms-2012-v3Monktoberfest open data-rms-2012-v3
Monktoberfest open data-rms-2012-v3
 
PE보다 스크립트 - 핵인싸 악성코드의 진단 우회방식
PE보다 스크립트 - 핵인싸 악성코드의 진단 우회방식PE보다 스크립트 - 핵인싸 악성코드의 진단 우회방식
PE보다 스크립트 - 핵인싸 악성코드의 진단 우회방식
 
2010科管局企業社會責任報告
2010科管局企業社會責任報告2010科管局企業社會責任報告
2010科管局企業社會責任報告
 
Java bytecode Malware Analysis
Java bytecode Malware AnalysisJava bytecode Malware Analysis
Java bytecode Malware Analysis
 

More from C4Media

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
C4Media
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
C4Media
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
C4Media
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
C4Media
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
C4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
C4Media
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
C4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
C4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
C4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
C4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
C4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
C4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
C4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
C4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
C4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
C4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
C4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
C4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
C4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
C4Media
 

More from C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 

Recently uploaded (20)

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 

How to I/O?