SlideShare a Scribd company logo
1 of 33
Download to read offline
THE #2NDHALF
SCALING
tikalk.com
https://www.linkedin.com/in/salo-shp/
#2ndhalf #next2 #scale #distributed #voodoo
#chaos #hashxor #opensource #performance-
tuning #io #bigdata #devops #monitoring
#architecture #orchestra #cloud
चतुरङ् ग
https://en.wikipedia.org/wiki/Chaturanga
https://www.kurzweilai.net/the-law-of-accelerating-returns
1 2 4 8 16 32 64 128
256 512 1K 2K 4K 8K 16K 32K
64K 128K 256K 512K 1M 2M 4M 8M
16M 32M 64M 128M 256M 512M 1G 2G
4G 8G 16G 32G 64G 128G 256G 512G
1T 2T 4T 8T 16T 32T 64T 128T
256T 512T 1P 2P 4P 8P 16P 32P
64P 128P 256P 512P 1E 2E 4E 8E
“It should be pointed out that as the emperor and the inventor went through
the first half of the chess board, things were fairly uneventful…”
1 2 4 8 16 32 64 128
256 512 1K 2K 4K 8K 16K 32K
64K 128K 256K 512K 1M 2M 4M 8M
16M 32M 64M 128M 256M 512M 1G 2G
4G 8G 16G 32G 64G 128G 256G 512G
1T 2T 4T 8T 16T 32T 64T 128T
256T 512T 1P 2P 4P 8P 16P 32P
64P 128P 256P 512P 1E 2E 4E 8E
“It was as they progressed through the second half of the chessboard
that the situation quickly deteriorated …”
#2NDHALF
1 2 4 8 16 32 64 128
256 512 1K 2K 4K 8K 16K 32K
64K 128K 256K 512K 1M 2M 4M 8M
16M 32M 64M 128M 256M 512M 1G 2G
4G 8G 16G 32G 64G 128G 256G 512G
1T 2T 4T 8T 16T 32T 64T 128T
256T 512T 1P 2P 4P 8P 16P 32P
64P 128P 256P 512P 1E 2E 4E 8E
Marin
Mersenne
>>> '{:,}'.format(sum([2**i for i in range(0, 64)]))
'18,446,744,073,709,551,615'
>>> '{:,}'.format( 2**64 - 1 )
’18,446,744,073,709,551,615’
1 2 4 8 16 32 64 128
256 512 1K 2K 4K 8K 16K 32K
64K 128K 256K 512K 2M 4M 8M
16M 32M 64M 128M 256M 512M 2G
4G 8G 16G 32G 64G 128G 256G 512G
1T 2T 4T 8T 16T 32T 64T 128T
256T 512T 1P 2P 4P 8P 16P 32P
64P 128P 256P 512P 1E 2E 4E 8E
05:16:04
1G
1M
https://www.guinnessworldrecords.com/news/2019/10/jennifer-aniston-makes-friends-on-instagram-breaks-
guinness-world-records-title-595535/
THE FASTEST TIME TO REACH ONE MILLION FOLLOWERS
1 2 4 8 16 32 64 128
256 512 1K 2K 4K 8K 16K 32K
64K 128K 256K 512K 2M 4M 8M
16M 32M 64M 128M 256M 1G 2G
4G 8G 16G 32G 64G 128G 256G 512G
1T 2T 4T 8T 16T 32T 64T 128T
256T 512T 1P 2P 4P 8P 16P 32P
64P 128P 256P 512P 1E 2E 4E 8E
500,000,000 / 24 / 60 * ( 5 * 60 + 16 )
109,722,222 -> 0.911%
512M
https://instagram-press.com/our-story/
https://edition.cnn.com/2019/10/16/entertainment/jennifer-aniston-broke-instagram-trnd/index.html
1M
UNIT TESTS
PERFORMANCE TUNING OF A F15 ENGINE
1 2 4 8 16 32 64 128
256 512 1K 2K 4K 8K 16K 32K
64K 128K 256K 512K 1M 2M 4M 8M
16M 32M 64M 128M 256M 512M 1G 2G
4G 8G 16G 32G 64G 128G 256G 512G
1T 2T 4T 8T 16T 32T 64T 128T
256T 512T 1P 2P 4P 8P 16P 32P
64P 128P 256P 512P 1E 2E 4E 8E
WHERE
U AT ?..
BACKGROUND - PERMUTATIONS CALCULATION
POSSIBLE PROTEINS FOR 20 AMINO-ACIDS
https://sciencing.com/many-possible-different-amino-acids-5343578.html
BACKGROUND - PERMUTATIONS CALCULATION
SCALING REQUIREMENTS - TIME
Number of Hosts
Class size
2553
= 16,581,375
Port Scanning - 10.0.0.0/8
16,581,375 * 65,536 = 1,086,676,992,000 = 12,577,280days
16,581,375 * 1,024 = 16,979,328,000 = 196,520days
16,581,375 * 1 = 16,581,375 = 191.9days
BACKGROUND - PERMUTATIONS CALCULATION
SCALING REQUIREMENTS - PRICE
Wardriving
iw dev wlan0 set channel CH
THE RIGHT TOOL FOR THE RIGHT JOB
DECREASING WORK UNITS
▸ Monitor everything
▸ Determine your current square
(set the worker unit)
▸ Prepare a quantifiable test
▸ Run the test at increasing orders of
magnitude (2^0, 2^1 … 2^n)
▸ Analyse bottle-necks
▸ Design and deploy the #next2
BACKGROUND - DISTRIBUTION CALCULATION
1. import hashlib, itertools, time
2. lower = 'abcdefghijklmnopqrstuvwxyz'
3. start_time = time.perf_counter()
4. [hashlib.md5(bytes(str(x), 'utf-8')).hexdigest() for x in
list(itertools.product(*[lower], repeat=1))]
[‘cfea63879ac12dfbea87b362984813f1','3dfeeb11befd8433f21911388151
d326' ………’9b2c180e2c7ed04cb1bb742e5d112efa’]
5. time.perf_counter() - start_time
A QUANTIFIABLE TEST
PERMUTATION CALCULATIONS
UNDERSTANDING THE PROBLEM DOMAIN
? ? ? ? ? ? ? ? ?
WR X
Linux permissions permutations
PERMUTATIONS CALCULATION
3+3+3 DIGIT BINARY NUMBER
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Number of Options
String Length
? ? ?
23
* 23
* 23
= 512
{0,1} = 2 options
23
= 8
1 2 4 16 32 64 128
256 1K 2K 4K 8K 16K 32K
64K 128K 256K 512K 1M 2M 4M 8M
16M 32M 64M 128M 256M 512M 1G 2G
4G 8G 16G 32G 64G 128G 256G 512G
1T 2T 4T 8T 16T 32T 64T 128T
256T 512T 1P 2P 4P 8P 16P 32P
64P 128P 256P 512P 1E 2E 4E 8E
8
512
BACKGROUND - PERMUTATIONS CALCULATION
PERMUTATION CALCULATIONS
A A A
A A B
N N N
N N O
Z Z Y
Z Z Z
Number of Options
String Length
? ? ?
263
= 17,576
{A-Z} = 26 options
.
..
..
.
N N P
3 capital letters WRD
1 2 4 16 32 64 128
256 512 1K 2K 4K 8K 16K 32K
64K 128K 256K 512K 1M 2M 4M 8M
16M 32M 64M 128M 256M 512M 1G 2G
4G 8G 16G 32G 64G 128G 256G 512G
1T 2T 4T 8T 16T 32T 64T 128T
256T 512T 1P 2P 4P 8P 16P 32P
64P 128P 256P 512P 1E 2E 4E 8E
8
263
= 17,576
BACKGROUND - PERMUTATIONS CALCULATION
PERMUTATION CALCULATIONS
A A A
A A A
N N N
N N N
Z Z Z
Z Z Z
Number of Options
String Length
? ? ?
264
= 456,976
{A-Z} = 26 options
.
..
..
.
N N N
4 capital letters word
A
B
N
O
Y
Z
?
P
1 2 4 16 32 64 128
256 512 1K 2K 4K 8K 16K 32K
64K 128K 256K 512K 1M 2M 4M 8M
16M 32M 64M 128M 256M 512M 1G 2G
4G 8G 16G 32G 64G 128G 256G 512G
1T 2T 4T 8T 16T 32T 64T 128T
256T 512T 1P 2P 4P 8P 16P 32P
64P 128P 256P 512P 1E 2E 4E 8E
8
456,976
BACKGROUND - PERMUTATIONS CALCULATION
? ? ?
528
= 53,459,728,531,456
{a-z,A-Z} = 26 + 26 = 52 options
8 letters word
? ? ? ? ?
SCALING REQUIREMENTS - CPU
1 2 4 16 32 64 128
256 512 1K 2K 4K 8K 16K 32K
64K 128K 256K 512K 1M 2M 4M 8M
16M 32M 64M 128M 256M 512M 1G 2G
4G 8G 16G 32G 64G 128G 256G 512G
1T 2T 4T 8T 16T 32T 64T 128T
256T 512T 1P 2P 4P 8P 16P 32P
64P 128P 256P 512P 1E 2E 4E 8E
8
53,459,728,531,456
BACKGROUND - DISTRIBUTION CALCULATION
528
= 53,459,728,531,456
(52^8)b / 8(B) / 1024 / 1024 / 1024
= 6223.5 GiB
Storage
requirement
for a 1 bit task
SCALING REQUIREMENTS - STORAGE
BACKGROUND - DISTRIBUTION CALCULATION
>>> hashlib.md5(b"password").hexdigest()
‘5f4dcc3b5aa765d61d8327deb882cf99'
>>> len(hashlib.md5(b”password").digest())
16
>>> len('password'.encode())
8
>>> '{:,}'.format(sum([(52**x * (16+x)) for x in range(1, 9)]))
‘1,307,122,220,563,796' ~= 1.1PiB
< 8 letters word
16
16
8
x
SCALING REQUIREMENTS - STORAGE
password
1b 2b 4b 1B 2B 4B 8B 16B
32B 64B 128B 256B 512B 1K 2K 4K
8K 16K 32K 64K 128K 256K 512K 1M
2M 4M 8M 16M 32M 64M 128M 256M
512M 1G 2G 4G 8G 16G 32G 64G
128G 256G 512G 1T 2T 4T 8T 16T
32T 64T 128T 256T 512T 1P 2P 4P
8P 16P 32P 64P 128P 256P 512P 1E
1,308,191,004,063,840
1 2 4 8 16 32 64 128
256 512 1K 2K 4K 8K 16K 32K
64K 128K 256K 512K 1M 2M 4M 8M
16M 32M 64M 128M 256M 512M 1G 2G
4G 8G 16G 32G 64G 128G 256G 512G
1T 2T 4T 8T 16T 32T 64T 128T
256T 512T 1P 2P 4P 8P 16P 32P
64P 128P 256P 512P 1E 2E 4E 8E
f = 1/t
Chaos &
Overhead
BACKGROUND - DISTRIBUTION CALCULATION
528
= 53,459,728,531,456
8 letters word
520
* 528
= 528
= 1 * 528
= 528
Number
Of Workers
Tasks per
worker
= 521
* 527
= 528
xa
* xb
= = x * * (a + b)
BACKGROUND - DISTRIBUTION CALCULATION
(26 + 26)8
= 53,459,728,531,456
8 letters word
521
* 527
= 528
= 52 * 1,028,071,702,528 = 119.6GB
Number
Of Workers
Tasks per
worker
Storage
requirement
for a 1 bit task
THE RIGHT TOOL FOR THE RIGHT JOB
CHOOSE YOUR FAVOURITE 2 TCP FLAGS ;-)
Time
Complexity Price
t1 t2 t3 t4 t5 t7
Questions?

More Related Content

What's hot

Linux-Permission
Linux-PermissionLinux-Permission
Linux-PermissionColin Su
 
Unified Data Platform, by Pauline Yeung of Cisco Systems
Unified Data Platform, by Pauline Yeung of Cisco SystemsUnified Data Platform, by Pauline Yeung of Cisco Systems
Unified Data Platform, by Pauline Yeung of Cisco SystemsAltinity Ltd
 
Tricks every ClickHouse designer should know, by Robert Hodges, Altinity CEO
Tricks every ClickHouse designer should know, by Robert Hodges, Altinity CEOTricks every ClickHouse designer should know, by Robert Hodges, Altinity CEO
Tricks every ClickHouse designer should know, by Robert Hodges, Altinity CEOAltinity Ltd
 
Webinar slides: MORE secrets of ClickHouse Query Performance. By Robert Hodge...
Webinar slides: MORE secrets of ClickHouse Query Performance. By Robert Hodge...Webinar slides: MORE secrets of ClickHouse Query Performance. By Robert Hodge...
Webinar slides: MORE secrets of ClickHouse Query Performance. By Robert Hodge...Altinity Ltd
 
ClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEO
ClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEOClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEO
ClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEOAltinity Ltd
 
SSL Failing, Sharing, and Scheduling
SSL Failing, Sharing, and SchedulingSSL Failing, Sharing, and Scheduling
SSL Failing, Sharing, and SchedulingDavid Evans
 
Five Great Ways to Lose Data on Kubernetes - KubeCon EU 2020
Five Great Ways to Lose Data on Kubernetes - KubeCon EU 2020Five Great Ways to Lose Data on Kubernetes - KubeCon EU 2020
Five Great Ways to Lose Data on Kubernetes - KubeCon EU 2020Altinity Ltd
 
SequoiaDB Distributed Relational Database
SequoiaDB Distributed Relational DatabaseSequoiaDB Distributed Relational Database
SequoiaDB Distributed Relational Databasewangzhonnew
 
How To Crack RSA Netrek Binary Verification System
How To Crack RSA Netrek Binary Verification SystemHow To Crack RSA Netrek Binary Verification System
How To Crack RSA Netrek Binary Verification SystemJay Corrales
 
Tiered storage intro. By Robert Hodges, Altinity CEO
Tiered storage intro. By Robert Hodges, Altinity CEOTiered storage intro. By Robert Hodges, Altinity CEO
Tiered storage intro. By Robert Hodges, Altinity CEOAltinity Ltd
 
Fun with click house window functions webinar slides 2021-08-19
Fun with click house window functions webinar slides  2021-08-19Fun with click house window functions webinar slides  2021-08-19
Fun with click house window functions webinar slides 2021-08-19Altinity Ltd
 
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...Altinity Ltd
 
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEO
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEOClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEO
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEOAltinity Ltd
 
Clickhouse Capacity Planning for OLAP Workloads, Mik Kocikowski of CloudFlare
Clickhouse Capacity Planning for OLAP Workloads, Mik Kocikowski of CloudFlareClickhouse Capacity Planning for OLAP Workloads, Mik Kocikowski of CloudFlare
Clickhouse Capacity Planning for OLAP Workloads, Mik Kocikowski of CloudFlareAltinity Ltd
 
ClickHouse and the Magic of Materialized Views, By Robert Hodges and Altinity...
ClickHouse and the Magic of Materialized Views, By Robert Hodges and Altinity...ClickHouse and the Magic of Materialized Views, By Robert Hodges and Altinity...
ClickHouse and the Magic of Materialized Views, By Robert Hodges and Altinity...Altinity Ltd
 
Your first ClickHouse data warehouse
Your first ClickHouse data warehouseYour first ClickHouse data warehouse
Your first ClickHouse data warehouseAltinity Ltd
 

What's hot (20)

Linux-Permission
Linux-PermissionLinux-Permission
Linux-Permission
 
Unified Data Platform, by Pauline Yeung of Cisco Systems
Unified Data Platform, by Pauline Yeung of Cisco SystemsUnified Data Platform, by Pauline Yeung of Cisco Systems
Unified Data Platform, by Pauline Yeung of Cisco Systems
 
Tricks every ClickHouse designer should know, by Robert Hodges, Altinity CEO
Tricks every ClickHouse designer should know, by Robert Hodges, Altinity CEOTricks every ClickHouse designer should know, by Robert Hodges, Altinity CEO
Tricks every ClickHouse designer should know, by Robert Hodges, Altinity CEO
 
Webinar slides: MORE secrets of ClickHouse Query Performance. By Robert Hodge...
Webinar slides: MORE secrets of ClickHouse Query Performance. By Robert Hodge...Webinar slides: MORE secrets of ClickHouse Query Performance. By Robert Hodge...
Webinar slides: MORE secrets of ClickHouse Query Performance. By Robert Hodge...
 
ClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEO
ClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEOClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEO
ClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEO
 
Ac cuda c_4
Ac cuda c_4Ac cuda c_4
Ac cuda c_4
 
Vertica trace
Vertica traceVertica trace
Vertica trace
 
Full Text Search in PostgreSQL
Full Text Search in PostgreSQLFull Text Search in PostgreSQL
Full Text Search in PostgreSQL
 
SSL Failing, Sharing, and Scheduling
SSL Failing, Sharing, and SchedulingSSL Failing, Sharing, and Scheduling
SSL Failing, Sharing, and Scheduling
 
Five Great Ways to Lose Data on Kubernetes - KubeCon EU 2020
Five Great Ways to Lose Data on Kubernetes - KubeCon EU 2020Five Great Ways to Lose Data on Kubernetes - KubeCon EU 2020
Five Great Ways to Lose Data on Kubernetes - KubeCon EU 2020
 
Explain this!
Explain this!Explain this!
Explain this!
 
SequoiaDB Distributed Relational Database
SequoiaDB Distributed Relational DatabaseSequoiaDB Distributed Relational Database
SequoiaDB Distributed Relational Database
 
How To Crack RSA Netrek Binary Verification System
How To Crack RSA Netrek Binary Verification SystemHow To Crack RSA Netrek Binary Verification System
How To Crack RSA Netrek Binary Verification System
 
Tiered storage intro. By Robert Hodges, Altinity CEO
Tiered storage intro. By Robert Hodges, Altinity CEOTiered storage intro. By Robert Hodges, Altinity CEO
Tiered storage intro. By Robert Hodges, Altinity CEO
 
Fun with click house window functions webinar slides 2021-08-19
Fun with click house window functions webinar slides  2021-08-19Fun with click house window functions webinar slides  2021-08-19
Fun with click house window functions webinar slides 2021-08-19
 
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
 
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEO
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEOClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEO
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEO
 
Clickhouse Capacity Planning for OLAP Workloads, Mik Kocikowski of CloudFlare
Clickhouse Capacity Planning for OLAP Workloads, Mik Kocikowski of CloudFlareClickhouse Capacity Planning for OLAP Workloads, Mik Kocikowski of CloudFlare
Clickhouse Capacity Planning for OLAP Workloads, Mik Kocikowski of CloudFlare
 
ClickHouse and the Magic of Materialized Views, By Robert Hodges and Altinity...
ClickHouse and the Magic of Materialized Views, By Robert Hodges and Altinity...ClickHouse and the Magic of Materialized Views, By Robert Hodges and Altinity...
ClickHouse and the Magic of Materialized Views, By Robert Hodges and Altinity...
 
Your first ClickHouse data warehouse
Your first ClickHouse data warehouseYour first ClickHouse data warehouse
Your first ClickHouse data warehouse
 

Similar to Scaling the #2ndhalf

eBPF Perf Tools 2019
eBPF Perf Tools 2019eBPF Perf Tools 2019
eBPF Perf Tools 2019Brendan Gregg
 
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance FuckupsNETFest
 
Precomputed Voxelized-Shadows for Large-scale Scene and Many lights
Precomputed Voxelized-Shadows for Large-scale Scene and Many lightsPrecomputed Voxelized-Shadows for Large-scale Scene and Many lights
Precomputed Voxelized-Shadows for Large-scale Scene and Many lightsSeongdae Kim
 
쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자
쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자
쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자Seongdae Kim
 
Descriptive analytics in r programming language
Descriptive analytics in r programming languageDescriptive analytics in r programming language
Descriptive analytics in r programming languageAshwini Mathur
 
re:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflixre:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at NetflixBrendan Gregg
 
Top-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptxTop-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptxTier1 app
 
Understanding Performance with DTrace
Understanding Performance with DTraceUnderstanding Performance with DTrace
Understanding Performance with DTraceahl0003
 
クラウドDWHとしても進化を続けるPivotal Greenplumご紹介
クラウドDWHとしても進化を続けるPivotal Greenplumご紹介クラウドDWHとしても進化を続けるPivotal Greenplumご紹介
クラウドDWHとしても進化を続けるPivotal Greenplumご紹介Masayuki Matsushita
 
Архитектура коммутаторов Cisco Catalyst 6500
Архитектура коммутаторов Cisco Catalyst 6500Архитектура коммутаторов Cisco Catalyst 6500
Архитектура коммутаторов Cisco Catalyst 6500Cisco Russia
 
Nodejs性能分析优化和分布式设计探讨
Nodejs性能分析优化和分布式设计探讨Nodejs性能分析优化和分布式设计探讨
Nodejs性能分析优化和分布式设计探讨flyinweb
 
Debugging linux issues with eBPF
Debugging linux issues with eBPFDebugging linux issues with eBPF
Debugging linux issues with eBPFIvan Babrou
 
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...RISC-V International
 
Varnish @ Velocity Ignite
Varnish @ Velocity IgniteVarnish @ Velocity Ignite
Varnish @ Velocity IgniteArtur Bergman
 
Exploring Parallel Merging In GPU Based Systems Using CUDA C.
Exploring Parallel Merging In GPU Based Systems Using CUDA C.Exploring Parallel Merging In GPU Based Systems Using CUDA C.
Exploring Parallel Merging In GPU Based Systems Using CUDA C.Rakib Hossain
 
Hailey_Database_Performance_Made_Easy_through_Graphics.pdf
Hailey_Database_Performance_Made_Easy_through_Graphics.pdfHailey_Database_Performance_Made_Easy_through_Graphics.pdf
Hailey_Database_Performance_Made_Easy_through_Graphics.pdfcookie1969
 
(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...
(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...
(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...Ji Hyung Moon
 
LSFMM 2019 BPF Observability
LSFMM 2019 BPF ObservabilityLSFMM 2019 BPF Observability
LSFMM 2019 BPF ObservabilityBrendan Gregg
 

Similar to Scaling the #2ndhalf (20)

eBPF Perf Tools 2019
eBPF Perf Tools 2019eBPF Perf Tools 2019
eBPF Perf Tools 2019
 
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
 
Precomputed Voxelized-Shadows for Large-scale Scene and Many lights
Precomputed Voxelized-Shadows for Large-scale Scene and Many lightsPrecomputed Voxelized-Shadows for Large-scale Scene and Many lights
Precomputed Voxelized-Shadows for Large-scale Scene and Many lights
 
쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자
쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자
쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자
 
Descriptive analytics in r programming language
Descriptive analytics in r programming languageDescriptive analytics in r programming language
Descriptive analytics in r programming language
 
re:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflixre:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflix
 
Top-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptxTop-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptx
 
Understanding Performance with DTrace
Understanding Performance with DTraceUnderstanding Performance with DTrace
Understanding Performance with DTrace
 
クラウドDWHとしても進化を続けるPivotal Greenplumご紹介
クラウドDWHとしても進化を続けるPivotal Greenplumご紹介クラウドDWHとしても進化を続けるPivotal Greenplumご紹介
クラウドDWHとしても進化を続けるPivotal Greenplumご紹介
 
Performance Risk Management
Performance Risk ManagementPerformance Risk Management
Performance Risk Management
 
Архитектура коммутаторов Cisco Catalyst 6500
Архитектура коммутаторов Cisco Catalyst 6500Архитектура коммутаторов Cisco Catalyst 6500
Архитектура коммутаторов Cisco Catalyst 6500
 
Nodejs性能分析优化和分布式设计探讨
Nodejs性能分析优化和分布式设计探讨Nodejs性能分析优化和分布式设计探讨
Nodejs性能分析优化和分布式设计探讨
 
Debugging linux issues with eBPF
Debugging linux issues with eBPFDebugging linux issues with eBPF
Debugging linux issues with eBPF
 
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
 
Varnish @ Velocity Ignite
Varnish @ Velocity IgniteVarnish @ Velocity Ignite
Varnish @ Velocity Ignite
 
Exploring Parallel Merging In GPU Based Systems Using CUDA C.
Exploring Parallel Merging In GPU Based Systems Using CUDA C.Exploring Parallel Merging In GPU Based Systems Using CUDA C.
Exploring Parallel Merging In GPU Based Systems Using CUDA C.
 
Brkdct 3101
Brkdct 3101Brkdct 3101
Brkdct 3101
 
Hailey_Database_Performance_Made_Easy_through_Graphics.pdf
Hailey_Database_Performance_Made_Easy_through_Graphics.pdfHailey_Database_Performance_Made_Easy_through_Graphics.pdf
Hailey_Database_Performance_Made_Easy_through_Graphics.pdf
 
(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...
(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...
(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...
 
LSFMM 2019 BPF Observability
LSFMM 2019 BPF ObservabilityLSFMM 2019 BPF Observability
LSFMM 2019 BPF Observability
 

More from Salo Shp

Outside The Wire
Outside The WireOutside The Wire
Outside The WireSalo Shp
 
Scaling IO-bound microservices
Scaling IO-bound microservicesScaling IO-bound microservices
Scaling IO-bound microservicesSalo Shp
 
Distributed HPC monitoring
Distributed HPC monitoringDistributed HPC monitoring
Distributed HPC monitoringSalo Shp
 
Infrastructure Fuzzing
Infrastructure FuzzingInfrastructure Fuzzing
Infrastructure FuzzingSalo Shp
 
Cyber Oriented Engineering
Cyber Oriented EngineeringCyber Oriented Engineering
Cyber Oriented EngineeringSalo Shp
 
Remote secured storage
Remote secured storageRemote secured storage
Remote secured storageSalo Shp
 
Pluggable Monitoring
Pluggable MonitoringPluggable Monitoring
Pluggable MonitoringSalo Shp
 

More from Salo Shp (7)

Outside The Wire
Outside The WireOutside The Wire
Outside The Wire
 
Scaling IO-bound microservices
Scaling IO-bound microservicesScaling IO-bound microservices
Scaling IO-bound microservices
 
Distributed HPC monitoring
Distributed HPC monitoringDistributed HPC monitoring
Distributed HPC monitoring
 
Infrastructure Fuzzing
Infrastructure FuzzingInfrastructure Fuzzing
Infrastructure Fuzzing
 
Cyber Oriented Engineering
Cyber Oriented EngineeringCyber Oriented Engineering
Cyber Oriented Engineering
 
Remote secured storage
Remote secured storageRemote secured storage
Remote secured storage
 
Pluggable Monitoring
Pluggable MonitoringPluggable Monitoring
Pluggable Monitoring
 

Recently uploaded

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 

Recently uploaded (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 

Scaling the #2ndhalf

  • 2. tikalk.com https://www.linkedin.com/in/salo-shp/ #2ndhalf #next2 #scale #distributed #voodoo #chaos #hashxor #opensource #performance- tuning #io #bigdata #devops #monitoring #architecture #orchestra #cloud
  • 5. 1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M 2M 4M 8M 16M 32M 64M 128M 256M 512M 1G 2G 4G 8G 16G 32G 64G 128G 256G 512G 1T 2T 4T 8T 16T 32T 64T 128T 256T 512T 1P 2P 4P 8P 16P 32P 64P 128P 256P 512P 1E 2E 4E 8E “It should be pointed out that as the emperor and the inventor went through the first half of the chess board, things were fairly uneventful…”
  • 6. 1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M 2M 4M 8M 16M 32M 64M 128M 256M 512M 1G 2G 4G 8G 16G 32G 64G 128G 256G 512G 1T 2T 4T 8T 16T 32T 64T 128T 256T 512T 1P 2P 4P 8P 16P 32P 64P 128P 256P 512P 1E 2E 4E 8E “It was as they progressed through the second half of the chessboard that the situation quickly deteriorated …” #2NDHALF
  • 7. 1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M 2M 4M 8M 16M 32M 64M 128M 256M 512M 1G 2G 4G 8G 16G 32G 64G 128G 256G 512G 1T 2T 4T 8T 16T 32T 64T 128T 256T 512T 1P 2P 4P 8P 16P 32P 64P 128P 256P 512P 1E 2E 4E 8E Marin Mersenne >>> '{:,}'.format(sum([2**i for i in range(0, 64)])) '18,446,744,073,709,551,615' >>> '{:,}'.format( 2**64 - 1 ) ’18,446,744,073,709,551,615’
  • 8. 1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 2M 4M 8M 16M 32M 64M 128M 256M 512M 2G 4G 8G 16G 32G 64G 128G 256G 512G 1T 2T 4T 8T 16T 32T 64T 128T 256T 512T 1P 2P 4P 8P 16P 32P 64P 128P 256P 512P 1E 2E 4E 8E 05:16:04 1G 1M https://www.guinnessworldrecords.com/news/2019/10/jennifer-aniston-makes-friends-on-instagram-breaks- guinness-world-records-title-595535/ THE FASTEST TIME TO REACH ONE MILLION FOLLOWERS
  • 9. 1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 2M 4M 8M 16M 32M 64M 128M 256M 1G 2G 4G 8G 16G 32G 64G 128G 256G 512G 1T 2T 4T 8T 16T 32T 64T 128T 256T 512T 1P 2P 4P 8P 16P 32P 64P 128P 256P 512P 1E 2E 4E 8E 500,000,000 / 24 / 60 * ( 5 * 60 + 16 ) 109,722,222 -> 0.911% 512M https://instagram-press.com/our-story/ https://edition.cnn.com/2019/10/16/entertainment/jennifer-aniston-broke-instagram-trnd/index.html 1M
  • 10. UNIT TESTS PERFORMANCE TUNING OF A F15 ENGINE
  • 11. 1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M 2M 4M 8M 16M 32M 64M 128M 256M 512M 1G 2G 4G 8G 16G 32G 64G 128G 256G 512G 1T 2T 4T 8T 16T 32T 64T 128T 256T 512T 1P 2P 4P 8P 16P 32P 64P 128P 256P 512P 1E 2E 4E 8E WHERE U AT ?..
  • 12. BACKGROUND - PERMUTATIONS CALCULATION POSSIBLE PROTEINS FOR 20 AMINO-ACIDS https://sciencing.com/many-possible-different-amino-acids-5343578.html
  • 13. BACKGROUND - PERMUTATIONS CALCULATION SCALING REQUIREMENTS - TIME Number of Hosts Class size 2553 = 16,581,375 Port Scanning - 10.0.0.0/8 16,581,375 * 65,536 = 1,086,676,992,000 = 12,577,280days 16,581,375 * 1,024 = 16,979,328,000 = 196,520days 16,581,375 * 1 = 16,581,375 = 191.9days
  • 14. BACKGROUND - PERMUTATIONS CALCULATION SCALING REQUIREMENTS - PRICE Wardriving iw dev wlan0 set channel CH
  • 15. THE RIGHT TOOL FOR THE RIGHT JOB DECREASING WORK UNITS ▸ Monitor everything ▸ Determine your current square (set the worker unit) ▸ Prepare a quantifiable test ▸ Run the test at increasing orders of magnitude (2^0, 2^1 … 2^n) ▸ Analyse bottle-necks ▸ Design and deploy the #next2
  • 16. BACKGROUND - DISTRIBUTION CALCULATION 1. import hashlib, itertools, time 2. lower = 'abcdefghijklmnopqrstuvwxyz' 3. start_time = time.perf_counter() 4. [hashlib.md5(bytes(str(x), 'utf-8')).hexdigest() for x in list(itertools.product(*[lower], repeat=1))] [‘cfea63879ac12dfbea87b362984813f1','3dfeeb11befd8433f21911388151 d326' ………’9b2c180e2c7ed04cb1bb742e5d112efa’] 5. time.perf_counter() - start_time A QUANTIFIABLE TEST
  • 17. PERMUTATION CALCULATIONS UNDERSTANDING THE PROBLEM DOMAIN ? ? ? ? ? ? ? ? ? WR X Linux permissions permutations
  • 18. PERMUTATIONS CALCULATION 3+3+3 DIGIT BINARY NUMBER 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Number of Options String Length ? ? ? 23 * 23 * 23 = 512 {0,1} = 2 options 23 = 8
  • 19. 1 2 4 16 32 64 128 256 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M 2M 4M 8M 16M 32M 64M 128M 256M 512M 1G 2G 4G 8G 16G 32G 64G 128G 256G 512G 1T 2T 4T 8T 16T 32T 64T 128T 256T 512T 1P 2P 4P 8P 16P 32P 64P 128P 256P 512P 1E 2E 4E 8E 8 512
  • 20. BACKGROUND - PERMUTATIONS CALCULATION PERMUTATION CALCULATIONS A A A A A B N N N N N O Z Z Y Z Z Z Number of Options String Length ? ? ? 263 = 17,576 {A-Z} = 26 options . .. .. . N N P 3 capital letters WRD
  • 21. 1 2 4 16 32 64 128 256 512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M 2M 4M 8M 16M 32M 64M 128M 256M 512M 1G 2G 4G 8G 16G 32G 64G 128G 256G 512G 1T 2T 4T 8T 16T 32T 64T 128T 256T 512T 1P 2P 4P 8P 16P 32P 64P 128P 256P 512P 1E 2E 4E 8E 8 263 = 17,576
  • 22. BACKGROUND - PERMUTATIONS CALCULATION PERMUTATION CALCULATIONS A A A A A A N N N N N N Z Z Z Z Z Z Number of Options String Length ? ? ? 264 = 456,976 {A-Z} = 26 options . .. .. . N N N 4 capital letters word A B N O Y Z ? P
  • 23. 1 2 4 16 32 64 128 256 512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M 2M 4M 8M 16M 32M 64M 128M 256M 512M 1G 2G 4G 8G 16G 32G 64G 128G 256G 512G 1T 2T 4T 8T 16T 32T 64T 128T 256T 512T 1P 2P 4P 8P 16P 32P 64P 128P 256P 512P 1E 2E 4E 8E 8 456,976
  • 24. BACKGROUND - PERMUTATIONS CALCULATION ? ? ? 528 = 53,459,728,531,456 {a-z,A-Z} = 26 + 26 = 52 options 8 letters word ? ? ? ? ? SCALING REQUIREMENTS - CPU
  • 25. 1 2 4 16 32 64 128 256 512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M 2M 4M 8M 16M 32M 64M 128M 256M 512M 1G 2G 4G 8G 16G 32G 64G 128G 256G 512G 1T 2T 4T 8T 16T 32T 64T 128T 256T 512T 1P 2P 4P 8P 16P 32P 64P 128P 256P 512P 1E 2E 4E 8E 8 53,459,728,531,456
  • 26. BACKGROUND - DISTRIBUTION CALCULATION 528 = 53,459,728,531,456 (52^8)b / 8(B) / 1024 / 1024 / 1024 = 6223.5 GiB Storage requirement for a 1 bit task SCALING REQUIREMENTS - STORAGE
  • 27. BACKGROUND - DISTRIBUTION CALCULATION >>> hashlib.md5(b"password").hexdigest() ‘5f4dcc3b5aa765d61d8327deb882cf99' >>> len(hashlib.md5(b”password").digest()) 16 >>> len('password'.encode()) 8 >>> '{:,}'.format(sum([(52**x * (16+x)) for x in range(1, 9)])) ‘1,307,122,220,563,796' ~= 1.1PiB < 8 letters word 16 16 8 x SCALING REQUIREMENTS - STORAGE password
  • 28. 1b 2b 4b 1B 2B 4B 8B 16B 32B 64B 128B 256B 512B 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M 2M 4M 8M 16M 32M 64M 128M 256M 512M 1G 2G 4G 8G 16G 32G 64G 128G 256G 512G 1T 2T 4T 8T 16T 32T 64T 128T 256T 512T 1P 2P 4P 8P 16P 32P 64P 128P 256P 512P 1E 1,308,191,004,063,840
  • 29. 1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M 2M 4M 8M 16M 32M 64M 128M 256M 512M 1G 2G 4G 8G 16G 32G 64G 128G 256G 512G 1T 2T 4T 8T 16T 32T 64T 128T 256T 512T 1P 2P 4P 8P 16P 32P 64P 128P 256P 512P 1E 2E 4E 8E f = 1/t Chaos & Overhead
  • 30. BACKGROUND - DISTRIBUTION CALCULATION 528 = 53,459,728,531,456 8 letters word 520 * 528 = 528 = 1 * 528 = 528 Number Of Workers Tasks per worker = 521 * 527 = 528 xa * xb = = x * * (a + b)
  • 31. BACKGROUND - DISTRIBUTION CALCULATION (26 + 26)8 = 53,459,728,531,456 8 letters word 521 * 527 = 528 = 52 * 1,028,071,702,528 = 119.6GB Number Of Workers Tasks per worker Storage requirement for a 1 bit task
  • 32. THE RIGHT TOOL FOR THE RIGHT JOB CHOOSE YOUR FAVOURITE 2 TCP FLAGS ;-) Time Complexity Price
  • 33. t1 t2 t3 t4 t5 t7 Questions?