52
Baltimore, MD

Commandments of scale

Embed Size (px)

Citation preview

Page 1: Commandments of scale

Baltimore, MD

Page 2: Commandments of scale

Thank you! Thank you!Organizers:

Jason DixonKatherine Jeschke

Brand/Design & A/VMiguel MontanezJess Brown

PhotographyClinton WolfeCiprian Tutu

StaffDeAnna GibsonPat NortonSherry Schlossnagle

Page 3: Commandments of scale

A Brief History of Computing

1877 switchboard... lessons? boys are childish jerks, hire women.

Page 4: Commandments of scale

A Brief History of Computing

1877 switchboard... lessons? boys are childish jerks, hire women.

Page 5: Commandments of scale

sundial likely of ancient greek origindigital clock invented in 1972 by the watchmaking company called HamiltonMD5 hashing by Ronald RivestAmazon dynamo (consistent hashing of data across distributed nodes)amongst others: Werner Vogels

Page 6: Commandments of scale

sundial likely of ancient greek origindigital clock invented in 1972 by the watchmaking company called HamiltonMD5 hashing by Ronald RivestAmazon dynamo (consistent hashing of data across distributed nodes)amongst others: Werner Vogels

Page 7: Commandments of scale

sundial likely of ancient greek origindigital clock invented in 1972 by the watchmaking company called HamiltonMD5 hashing by Ronald RivestAmazon dynamo (consistent hashing of data across distributed nodes)amongst others: Werner Vogels

Page 8: Commandments of scale

/* Process each 16-word block. */ For i = 0 to N/16-1 do

/* Copy block i into X. */ For j = 0 to 15 do Set X[j] to M[i*16+j]. end /* of loop on j */

/* Save A as AA, B as BB, C as CC, and D as DD. */ AA = A BB = B

CC = C DD = D

/* Round 1. */ /* Let [abcd k s i] denote the operation a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */ /* Do the following 16 operations. */ [ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4] [ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8] [ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12] [ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16]

/* Round 2. */ /* Let [abcd k s i] denote the operation a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */ /* Do the following 16 operations. */ [ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20] [ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA 4 20 24] [ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA 8 20 28] [ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31] [BCDA 12 20 32]

/* Round 3. */ /* Let [abcd k s t] denote the operation a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */ /* Do the following 16 operations. */ [ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA 14 23 36] [ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA 10 23 40] [ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43] [BCDA 6 23 44] [ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47] [BCDA 2 23 48]

/* Round 4. */ /* Let [abcd k s t] denote the operation a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */ /* Do the following 16 operations. */ [ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52] [ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA 1 21 56] [ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA 13 21 60] [ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA 9 21 64]

/* Then perform the following additions. (That is increment each of the four registers by the value it had before this block was started.) */ A = A + AA B = B + BB C = C + CC D = D + DD

end /* of loop on i */

sundial likely of ancient greek origindigital clock invented in 1972 by the watchmaking company called HamiltonMD5 hashing by Ronald RivestAmazon dynamo (consistent hashing of data across distributed nodes)amongst others: Werner Vogels

Page 9: Commandments of scale

/* Process each 16-word block. */ For i = 0 to N/16-1 do

/* Copy block i into X. */ For j = 0 to 15 do Set X[j] to M[i*16+j]. end /* of loop on j */

/* Save A as AA, B as BB, C as CC, and D as DD. */ AA = A BB = B

CC = C DD = D

/* Round 1. */ /* Let [abcd k s i] denote the operation a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */ /* Do the following 16 operations. */ [ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4] [ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8] [ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12] [ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16]

/* Round 2. */ /* Let [abcd k s i] denote the operation a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */ /* Do the following 16 operations. */ [ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20] [ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA 4 20 24] [ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA 8 20 28] [ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31] [BCDA 12 20 32]

/* Round 3. */ /* Let [abcd k s t] denote the operation a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */ /* Do the following 16 operations. */ [ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA 14 23 36] [ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA 10 23 40] [ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43] [BCDA 6 23 44] [ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47] [BCDA 2 23 48]

/* Round 4. */ /* Let [abcd k s t] denote the operation a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */ /* Do the following 16 operations. */ [ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52] [ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA 1 21 56] [ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA 13 21 60] [ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA 9 21 64]

/* Then perform the following additions. (That is increment each of the four registers by the value it had before this block was started.) */ A = A + AA B = B + BB C = C + CC D = D + DD

end /* of loop on i */

sundial likely of ancient greek origindigital clock invented in 1972 by the watchmaking company called HamiltonMD5 hashing by Ronald RivestAmazon dynamo (consistent hashing of data across distributed nodes)amongst others: Werner Vogels

Page 10: Commandments of scale

1664 Robert Hooke: sound transmission through a distended wire1969 first known FIFO impl. Peter Alfke at Fairchild SemiconductorEavesdropping was developed by “bad children”1987 “Exploiting virtual synchrony in distributed systems” by Birman and Joseph

Page 11: Commandments of scale

1664 Robert Hooke: sound transmission through a distended wire1969 first known FIFO impl. Peter Alfke at Fairchild SemiconductorEavesdropping was developed by “bad children”1987 “Exploiting virtual synchrony in distributed systems” by Birman and Joseph

Page 12: Commandments of scale

1664 Robert Hooke: sound transmission through a distended wire1969 first known FIFO impl. Peter Alfke at Fairchild SemiconductorEavesdropping was developed by “bad children”1987 “Exploiting virtual synchrony in distributed systems” by Birman and Joseph

Page 13: Commandments of scale

1664 Robert Hooke: sound transmission through a distended wire1969 first known FIFO impl. Peter Alfke at Fairchild SemiconductorEavesdropping was developed by “bad children”1987 “Exploiting virtual synchrony in distributed systems” by Birman and Joseph

Page 14: Commandments of scale

1664 Robert Hooke: sound transmission through a distended wire1969 first known FIFO impl. Peter Alfke at Fairchild SemiconductorEavesdropping was developed by “bad children”1987 “Exploiting virtual synchrony in distributed systems” by Birman and Joseph

Page 15: Commandments of scale

1854 Ignazio Porro patented this binocular designmailboxes Paris in the 18th century, Britian in the 19th century1987 the International Organization for Standardization set for the OSI model16th century, popularized in the Elizabethan era for hangings1956 IBM introduced the harddriveGraphs? perhaps cavemen.Pressure measurement: Evangelista Torricelli in 1643 and te U-Tube by Christian Huygens in 1661SMS concept was developed in the Franco-German GSM cooperation in 1984Harold Black made the first negative feedback amplifier in the 1930s... inspiring at least me.

the construction of monitoring systems

Page 16: Commandments of scale

1854 Ignazio Porro patented this binocular designmailboxes Paris in the 18th century, Britian in the 19th century1987 the International Organization for Standardization set for the OSI model16th century, popularized in the Elizabethan era for hangings1956 IBM introduced the harddriveGraphs? perhaps cavemen.Pressure measurement: Evangelista Torricelli in 1643 and te U-Tube by Christian Huygens in 1661SMS concept was developed in the Franco-German GSM cooperation in 1984Harold Black made the first negative feedback amplifier in the 1930s... inspiring at least me.

the construction of monitoring systems

Page 17: Commandments of scale

1854 Ignazio Porro patented this binocular designmailboxes Paris in the 18th century, Britian in the 19th century1987 the International Organization for Standardization set for the OSI model16th century, popularized in the Elizabethan era for hangings1956 IBM introduced the harddriveGraphs? perhaps cavemen.Pressure measurement: Evangelista Torricelli in 1643 and te U-Tube by Christian Huygens in 1661SMS concept was developed in the Franco-German GSM cooperation in 1984Harold Black made the first negative feedback amplifier in the 1930s... inspiring at least me.

the construction of monitoring systems

Page 18: Commandments of scale

1854 Ignazio Porro patented this binocular designmailboxes Paris in the 18th century, Britian in the 19th century1987 the International Organization for Standardization set for the OSI model16th century, popularized in the Elizabethan era for hangings1956 IBM introduced the harddriveGraphs? perhaps cavemen.Pressure measurement: Evangelista Torricelli in 1643 and te U-Tube by Christian Huygens in 1661SMS concept was developed in the Franco-German GSM cooperation in 1984Harold Black made the first negative feedback amplifier in the 1930s... inspiring at least me.

the construction of monitoring systems

Page 19: Commandments of scale

RFC1901

1854 Ignazio Porro patented this binocular designmailboxes Paris in the 18th century, Britian in the 19th century1987 the International Organization for Standardization set for the OSI model16th century, popularized in the Elizabethan era for hangings1956 IBM introduced the harddriveGraphs? perhaps cavemen.Pressure measurement: Evangelista Torricelli in 1643 and te U-Tube by Christian Huygens in 1661SMS concept was developed in the Franco-German GSM cooperation in 1984Harold Black made the first negative feedback amplifier in the 1930s... inspiring at least me.

the construction of monitoring systems

Page 20: Commandments of scale

RFC1901

1854 Ignazio Porro patented this binocular designmailboxes Paris in the 18th century, Britian in the 19th century1987 the International Organization for Standardization set for the OSI model16th century, popularized in the Elizabethan era for hangings1956 IBM introduced the harddriveGraphs? perhaps cavemen.Pressure measurement: Evangelista Torricelli in 1643 and te U-Tube by Christian Huygens in 1661SMS concept was developed in the Franco-German GSM cooperation in 1984Harold Black made the first negative feedback amplifier in the 1930s... inspiring at least me.

the construction of monitoring systems

Page 21: Commandments of scale

RFC1901

1854 Ignazio Porro patented this binocular designmailboxes Paris in the 18th century, Britian in the 19th century1987 the International Organization for Standardization set for the OSI model16th century, popularized in the Elizabethan era for hangings1956 IBM introduced the harddriveGraphs? perhaps cavemen.Pressure measurement: Evangelista Torricelli in 1643 and te U-Tube by Christian Huygens in 1661SMS concept was developed in the Franco-German GSM cooperation in 1984Harold Black made the first negative feedback amplifier in the 1930s... inspiring at least me.

the construction of monitoring systems

Page 22: Commandments of scale

RFC1901

1854 Ignazio Porro patented this binocular designmailboxes Paris in the 18th century, Britian in the 19th century1987 the International Organization for Standardization set for the OSI model16th century, popularized in the Elizabethan era for hangings1956 IBM introduced the harddriveGraphs? perhaps cavemen.Pressure measurement: Evangelista Torricelli in 1643 and te U-Tube by Christian Huygens in 1661SMS concept was developed in the Franco-German GSM cooperation in 1984Harold Black made the first negative feedback amplifier in the 1930s... inspiring at least me.

the construction of monitoring systems

Page 23: Commandments of scale

RFC1901

1854 Ignazio Porro patented this binocular designmailboxes Paris in the 18th century, Britian in the 19th century1987 the International Organization for Standardization set for the OSI model16th century, popularized in the Elizabethan era for hangings1956 IBM introduced the harddriveGraphs? perhaps cavemen.Pressure measurement: Evangelista Torricelli in 1643 and te U-Tube by Christian Huygens in 1661SMS concept was developed in the Franco-German GSM cooperation in 1984Harold Black made the first negative feedback amplifier in the 1930s... inspiring at least me.

the construction of monitoring systems

Page 24: Commandments of scale

RFC1901

1854 Ignazio Porro patented this binocular designmailboxes Paris in the 18th century, Britian in the 19th century1987 the International Organization for Standardization set for the OSI model16th century, popularized in the Elizabethan era for hangings1956 IBM introduced the harddriveGraphs? perhaps cavemen.Pressure measurement: Evangelista Torricelli in 1643 and te U-Tube by Christian Huygens in 1661SMS concept was developed in the Franco-German GSM cooperation in 1984Harold Black made the first negative feedback amplifier in the 1930s... inspiring at least me.

the construction of monitoring systems

Page 25: Commandments of scale

RFC1901

1854 Ignazio Porro patented this binocular designmailboxes Paris in the 18th century, Britian in the 19th century1987 the International Organization for Standardization set for the OSI model16th century, popularized in the Elizabethan era for hangings1956 IBM introduced the harddriveGraphs? perhaps cavemen.Pressure measurement: Evangelista Torricelli in 1643 and te U-Tube by Christian Huygens in 1661SMS concept was developed in the Franco-German GSM cooperation in 1984Harold Black made the first negative feedback amplifier in the 1930s... inspiring at least me.

the construction of monitoring systems

Page 26: Commandments of scale

RFC1901

1854 Ignazio Porro patented this binocular designmailboxes Paris in the 18th century, Britian in the 19th century1987 the International Organization for Standardization set for the OSI model16th century, popularized in the Elizabethan era for hangings1956 IBM introduced the harddriveGraphs? perhaps cavemen.Pressure measurement: Evangelista Torricelli in 1643 and te U-Tube by Christian Huygens in 1661SMS concept was developed in the Franco-German GSM cooperation in 1984Harold Black made the first negative feedback amplifier in the 1930s... inspiring at least me.

the construction of monitoring systems

Page 27: Commandments of scale

RFC1901

1854 Ignazio Porro patented this binocular designmailboxes Paris in the 18th century, Britian in the 19th century1987 the International Organization for Standardization set for the OSI model16th century, popularized in the Elizabethan era for hangings1956 IBM introduced the harddriveGraphs? perhaps cavemen.Pressure measurement: Evangelista Torricelli in 1643 and te U-Tube by Christian Huygens in 1661SMS concept was developed in the Franco-German GSM cooperation in 1984Harold Black made the first negative feedback amplifier in the 1930s... inspiring at least me.

the construction of monitoring systems

Page 28: Commandments of scale

Keep on keepin’ on.

Eventually we’ll get it (more) right

We need to keep improving.

Internet engineering is still very young.

Page 29: Commandments of scale

Ten Commandments

ofWeb Scale

@postwait: the “Webscale! Wow!” campaign

Page 30: Commandments of scale

I. Thou shalt not claim hugeness falsely

1TB is not a lot of data100 million tuples is not a large table1000 write transactions/second is not a lotA distributed system must contain 3 nodesA geographically distributed system must exceed one of:

1+ node in each of 3+ locations3+ nodes in each of 2+ locations

Page 31: Commandments of scale

I. Thou shalt not claim hugeness falsely

1TB is not a lot of data

100 million tuples is not a large table

1000 write transactions/second is not a lot

A distributed system must contain 3 nodes

A geographically distributed system must exceed one of:

1+ node in each of 3+ locations

3+ nodes in each of 2+ locations

Page 32: Commandments of scale

II. Thou shalt not worship shininess

shiny does not mean goodgood means goodcope

Page 33: Commandments of scale

II. Thou shalt not worship shininess

shiny does not mean good

good means good

cope

Page 34: Commandments of scale

III. Thou shalt always remain recoverable.

data is preciousmap acceptable business liability to technical tolerances in systemsnever trust your systemstest failures; force failuresthis is particularly true in large scale systemsrecoverability of petabytes is “non-trivial”

Page 35: Commandments of scale

III. Thou shalt always remain recoverable.

data is preciousmap acceptable business liability to technical tolerances in systemsnever trust your systems

test failures; force failuresthis is particularly true in large scale systems

recoverability of petabytes is “non-trivial”

Page 36: Commandments of scale

IV. Respect that different problems may need different solutions

a set P of problems is being solved by technology T.Pnew is added to P and T is found insufficient.a new technology S solves Pnew wellso now P must be solved by S.This only proves: flawed logic

Results in: poorly fitted solutions

Page 37: Commandments of scale

IV. Respect that different problems may need different solutions

a set P of problems is being solved by technology T.Pnew is added to P and T is found insufficient.a new technology S solves Pnew wellso now P must be solved by S.

This only proves: flawed logicResults in: poorly fitted solutions

Page 38: Commandments of scale

V. Thou shalt not covet thy neighbor’s technology.

unless one wish to covet their problems and failures to.do not learn by copying technologies and implementations.learn by adapting designs and sharing experiences.

Page 39: Commandments of scale

V. Thou shalt not covet thy neighbor’s technology.

unless one wish to covet their problems and failures to.do not learn by copying technologies and implementations.learn by adapting designs and sharing experiences.

Page 40: Commandments of scale

VI. That which cannot be measured cannot be scaled.

in a world where nothing is implemented, only designed,empirical measurement is the closest thing to realitywithout measurement you are blindmeasure everything

forget nothingmeasurement is a prerequisite of success

Page 41: Commandments of scale

VI. That which cannot be measured cannot be scaled.

in a world where nothing is implemented, only designed,empirical measurement is the closest thing to realitywithout measurement you are blindmeasure everything

forget nothingmeasurement is a prerequisite of success

Page 42: Commandments of scale

VII. Operate even in the greatest of storms

overall robustness is achieved through individual fragility

the architecture should be highly componentized

each component should perform well or not at all

the overall system should operate despite removal of as many components as possible

Page 43: Commandments of scale

VII. Operate even in the greatest of storms

overall robustness is achieved through individual fragility

the architecture should be highly componentized

each component should perform well or not at all

the overall system should operate despite removal of as many components as possible

Page 44: Commandments of scale

VIII. Embrace the math of engineers

89 + 23 = 11089 + 23 != 11.2validate all your models, calculations and extrapolations with back-of-the-envelope maththou shalt have adequate quantity of envelopes.

Page 45: Commandments of scale

VIII. Embrace the math of engineers

89 + 23 = 11089 + 23 != 11.2validate all your models, calculations and extrapolations with back-of-the-envelope maththou shalt have adequate quantity of envelopes.

Page 46: Commandments of scale

IX. Thou shalt perform most favourably

scaling out is required in some problem spacespoor performance is not required in anyscaling out (or the ability to do so) isno excuse for poor performance

Page 47: Commandments of scale

IX. Thou shalt perform most favourably

scaling out is required in some problem spacespoor performance is not required in anyscaling out (or the ability to do so) isno excuse for poor performance

Page 48: Commandments of scale

X. Thou shalt be consistent... eventually

eventual consistency only works when it is eventually consistent.building these systems is hard.thou shalt not use those yet to be proved correct.

Page 49: Commandments of scale

X. Thou shalt be consistent... eventually

eventual consistency only works when it is eventually consistent.building these systems is hard.thou shalt not use those yet to be proved correct.

Page 50: Commandments of scale

XI. Thou shalt share with your brothers and sisters.

(one for the road)we can learn by failureswe can learn from the experiences of our peersI suggest a healthy mix

Page 51: Commandments of scale

XI. Thou shalt share with your brothers and sisters.

we can learn by failureswe can learn from the experiences of our peersI suggest a healthy mix

Page 52: Commandments of scale

Baltimore, MD