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
 
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
 
ATO Linux Performance 2018
ATO Linux Performance 2018ATO Linux Performance 2018
ATO Linux Performance 2018Brendan 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
 
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
 
ATO Linux Performance 2018
ATO Linux Performance 2018ATO Linux Performance 2018
ATO Linux Performance 2018
 

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

Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Recently uploaded (20)

Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.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
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

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?