This document discusses several "laws" or principles related to software development and computing. It begins with an introduction to Moore's Law from 1965, which states that the number of transistors on integrated circuits doubles approximately every two years. It then covers Amdahl's Law from 1967 about the speedup obtained from parallel computing. Gustafson's Law from 1988 challenges Amdahl's Law by arguing that if tasks can be made larger, speedup can be greater than Amdahl predicted. The document also discusses Little's Law about queues and wait times, Conway's Law relating organizational structure to system design, Brook's Law about adding people to late projects, and building trust for connected systems.
8. January 2019 !8
THE COMPUTER YOU WANT, COSTS ALWAYS 5000$
iMac Pro
27-display
8-Core
Radeon Pro Vega 56 graphics processor
32GB
1TB SSD
10Gb Ethernet
$4,999
9. January 2019 !9
MOORE’S LAW. 1965
• At 1965 Gordon Moore was asked by “Electronics” magazine about the future
of semiconductor components industry.
• The complexity for minimum component costs has increased at a rate of
roughly a factor of two per year
• Originally the law deals with number of transistors but generally it is looked as
computing power doubles at 1.5 year.
“THE NUMBER OF TRANSISTORS IN A DENSE INTEGRATED CIRCUIT
DOUBLES APPROXIMATELY EVERY TWO YEARS.”
13. January 2019 !13
AMDHAL’S LAW. 1967
Originally presented at American Federation of Information Processing Societies
Spring Joint Computer Conference in 1967.
speedup =
1
a +
p
N
a - serial part of job
p - parallel part of job
N - number of parallel workers
a = 1 − p
15. January 2019 !15
GUSTAFSONS’S LAW 1988
The article “Reevaluating Amdahl's Law ” at 1988.
If task can be made bigger …
s - serial part of job
N - number of processors
speedup = N(1 − s) + s = N + (1 − N)s
16. January 2019 !16
GUSTAFSONS’S LAW 1988
The article “Reevaluating Amdahl's Law ” at 1988.
If task can be made bigger …
s - serial part of job
N - number of processors
speedup = N(1 − s) + s = 10 + (1 − 10) * 0.4 = 6.4
21. January 2019 !21
Problem: why feature which required just 3-4
days of work was ready 2-4 weeks later?
22. January 2019 !22
5 Pizzas Completed per Hour (12 minutes)
30 Pizzas in Process (i.e 30 customers)
Average Wait Time per Pizza ?
6 Hours per pizza !!
30. January 2019 !30
CONWAY’S LAW
• Melvin Conway 1967
• “organizations which design systems ... are constrained
to produce designs which are copies of the
communication structures of these organizations”