SlideShare une entreprise Scribd logo
1  sur  101
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

Contenu connexe

Similaire à How to I/O?

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, JavaScriptbrucelawson
 
Open Data ≠ Open Source - Monktoberfest 2012
Open Data ≠ Open Source - Monktoberfest 2012Open Data ≠ Open Source - Monktoberfest 2012
Open Data ≠ Open Source - Monktoberfest 2012Black Duck by Synopsys
 
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 pagesJon Warbrick
 
Ruler and Liniaal @ Troopers 17
Ruler and Liniaal @ Troopers 17Ruler and Liniaal @ Troopers 17
Ruler and Liniaal @ Troopers 17SensePost
 
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 Uebayashieurobsdcon
 
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 VasiljevskiInstitute 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-v3Rich 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 AnalysisBrian Baskin
 
Whirlwind Tour of SVG (plus RaphaelJS)
Whirlwind Tour of SVG (plus RaphaelJS)Whirlwind Tour of SVG (plus RaphaelJS)
Whirlwind Tour of SVG (plus RaphaelJS)Marc Grabanski
 

Similaire à How to I/O? (20)

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
 
Whirlwind Tour of SVG (plus RaphaelJS)
Whirlwind Tour of SVG (plus RaphaelJS)Whirlwind Tour of SVG (plus RaphaelJS)
Whirlwind Tour of SVG (plus RaphaelJS)
 

Plus de 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 VideoC4Media
 
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 MobileC4Media
 
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 2020C4Media
 
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 ApplicationsC4Media
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No KeeperC4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like OwnersC4Media
 
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 JavaC4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideC4Media
 
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/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
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 SystemsC4Media
 
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.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
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 ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
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 EverywhereC4Media
 
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 ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
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 MoreC4Media
 

Plus de 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
 

Dernier

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 

Dernier (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

How to I/O?