models of computation for massive datajeffp/teaching/mcmd/mmd-intro.pdf · class work 1 credit...
TRANSCRIPT
![Page 1: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/1.jpg)
Models of Computation for Massive Data
Jeff M. Phillips
August 28, 2013
![Page 2: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/2.jpg)
OutlineSequential:
I External Memory / (I/O)-Efficient
I Streaming
Parallel:
I PRAM and BSP
I MapReduce
I GP-GPU
I Distributed Computing
runt
ime
data size
![Page 3: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/3.jpg)
RAM Model
RAM model (Von NeumannArchitecture):
I CPU and Memory
I CPU Operations (+, −, ∗, . . .)constant time
I Data stored as words, not bits.
I Read, Write take constanttime.
RAM
CPU
![Page 4: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/4.jpg)
Today’s Reality
What your computer actuallylooks like:
I 3+ layers of memoryhierarchy.
I Small number of CPUs.
Many variations!
Disk
CPU
RAM
L2
L1
fasterbigg
er4 MB
2 GB
164 GB
CPU
L1
![Page 5: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/5.jpg)
RAM Model
RAM model (Von NeumannArchitecture):
I CPU and Memory
I CPU Operations (+, −, ∗, . . .)constant time
I Data stored as words, not bits.
I Read, Write take constanttime.
RAM
CPU
![Page 6: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/6.jpg)
External Memory Model
D
P
M
block I/O
I N = size of probleminstance
I B = size of disk block
I M = number of itemsthat fits in Memory
I T = number of items inoutput
I I/O = block movebetween Memory and Disk
Advanced Data Structures: Sorting, Searching
![Page 7: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/7.jpg)
External Memory Model
D
P
M
block I/O
I N = size of probleminstance
I B = size of disk block
I M = number of itemsthat fits in Memory
I T = number of items inoutput
I I/O = block movebetween Memory and Disk
Advanced Data Structures: Sorting, Searching
![Page 8: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/8.jpg)
Streaming Model
CPU
word 2 [n]
lengt
hm
memory
CPU makes ”one pass” on data
I Ordered set A = 〈a1, a2, . . . , am〉I Each ai ∈ [n], size log n
I Compute f (A) or maintain f (Ai )for Ai = 〈a1, a2, . . . , ai 〉.
I Space restricted toS = O(poly(log m, log n)).
I Updates O(poly(S)) for each ai .
Advanced Algorithms: Approximate, Randomized
![Page 9: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/9.jpg)
Streaming Model
CPU
word 2 [n]
lengt
hm
memory
CPU makes ”one pass” on data
I Ordered set A = 〈a1, a2, . . . , am〉I Each ai ∈ [n], size log n
I Compute f (A) or maintain f (Ai )for Ai = 〈a1, a2, . . . , ai 〉.
I Space restricted toS = O(poly(log m, log n)).
I Updates O(poly(S)) for each ai .
Advanced Algorithms: Approximate, Randomized
![Page 10: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/10.jpg)
PRAM
Many (p) processors. Accessshared memory:
I EREW : Exclusive ReadExclusive Write
I CREW : Concurrent ReadExclusive Write
I CRCW : Concurrent ReadConcurrent Write
Simple model, but hasshortcomings......such as Synchronization.
RAM
CPU1 CPU2 CPUp
Advanced Algorithms
![Page 11: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/11.jpg)
PRAM
Many (p) processors. Accessshared memory:
I EREW : Exclusive ReadExclusive Write
I CREW : Concurrent ReadExclusive Write
I CRCW : Concurrent ReadConcurrent Write
Simple model, but hasshortcomings......such as Synchronization.
RAM
CPU1 CPU2 CPUp
Advanced Algorithms
![Page 12: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/12.jpg)
Bulk Synchronous Parallel
Each Processor has its own MemoryParallelism Procedes in Rounds:
1. Compute: Each processorcomputes on its own Data: wi .
2. Synchronize: Each processor sendsmessages to others:si = MessSize×CommCost.
3. Barrier: All processors wait untilothers done.
Runtime: max wi + max si
CPU
RAM
CPU
RAM
CPU
RAM
CPU
RAM
CPU
RAM
Pro: Captures Parallelism and SynchronizationCon: Ignores Locality.
![Page 13: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/13.jpg)
Bulk Synchronous Parallel
Each Processor has its own MemoryParallelism Procedes in Rounds:
1. Compute: Each processorcomputes on its own Data: wi .
2. Synchronize: Each processor sendsmessages to others:si = MessSize×CommCost.
3. Barrier: All processors wait untilothers done.
Runtime: max wi + max si
CPU
RAM
CPU
RAM
CPU
RAM
CPU
RAM
CPU
RAM
Pro: Captures Parallelism and SynchronizationCon: Ignores Locality.
![Page 14: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/14.jpg)
Bulk Synchronous Parallel
Each Processor has its own MemoryParallelism Procedes in Rounds:
1. Compute: Each processorcomputes on its own Data: wi .
2. Synchronize: Each processor sendsmessages to others:si = MessSize×CommCost.
3. Barrier: All processors wait untilothers done.
Runtime: max wi + max si
CPU
RAM
CPU
RAM
CPU
RAM
CPU
RAM
CPU
RAM
Pro: Captures Parallelism and SynchronizationCon: Ignores Locality.
![Page 15: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/15.jpg)
MapReduce
Each Processor has full hard drive,data items < key,value >.Parallelism Procedes in Rounds:
I Map: assigns items to processorby key.
I Reduce: processes all items usingvalue. Usually combines manyitems with same key.
Repeat M+R a constant number oftimes, often only one round.
I Optional post-processing step.
CPU
RAM
CPU
RAM
CPU
RAM
MAP
REDUCE
Pro: Robust (duplication) and simple. Can harness LocalityCon: Somewhat restrictive model
Advanced Algorithms
![Page 16: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/16.jpg)
MapReduce
Each Processor has full hard drive,data items < key,value >.Parallelism Procedes in Rounds:
I Map: assigns items to processorby key.
I Reduce: processes all items usingvalue. Usually combines manyitems with same key.
Repeat M+R a constant number oftimes, often only one round.
I Optional post-processing step.
CPU
RAM
CPU
RAM
CPU
RAM
MAP
REDUCE
Pro: Robust (duplication) and simple. Can harness LocalityCon: Somewhat restrictive model
Advanced Algorithms
![Page 17: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/17.jpg)
General Purpose GPU
Massive parallelism on your desktop.Uses Graphics Processing Unit.Designed for efficient video rasterizing.Each processor corresponds to pixel p
I depth buffer:D(p) = mini ||x − wi ||
I color buffer: C (p) =∑
i αiχi
I ...
X
wi
p
Pro: Fine grain, massive parallelism. Cheap. Harnesses Locality.Con: Somewhat restrictive model, hierarchy. Small memory.
![Page 18: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/18.jpg)
Distributed Computing
Many small slow processors with data.Communication very expensive.
I Report to base station
I Merge tree
I Unorganized (peer-to-peer)
CPU
RAMbase
station
01100
01100 01100
01100
01100
01100
01100
01100
Data collection or Distribution
![Page 19: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/19.jpg)
Distributed Computing
Many small slow processors with data.Communication very expensive.
I Report to base station
I Merge tree
I Unorganized (peer-to-peer)
CPU
RAMbase
station
01100
01100 01100
01100
01100
01100
01100
01100
Data collection or Distribution
![Page 20: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/20.jpg)
Distributed Computing
Many small slow processors with data.Communication very expensive.
I Report to base station
I Merge tree
I Unorganized (peer-to-peer)
01100
0110001100
01100
01100
01100
01100
01100
01100
Data collection or Distribution
![Page 21: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/21.jpg)
Distributed Computing
Many small slow processors with data.Communication very expensive.
I Report to base station
I Merge tree
I Unorganized (peer-to-peer)
01100
0110001100
01100
01100
01100
01100
01100
01100
Data collection or Distribution
Advanced Algorithms: Approximate, Randomized
![Page 22: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/22.jpg)
Themes
What are course goals?
I How to analyze algorithms in each model
I Taste of how to use each model
I When to use each model
Work Plan:I 1-3 weeks each model.
I Background and Model.I Example algorithms analysis in each model.
I/O Stream Parallel MapReduce GPU Distributed
4 5 4 4 3 3
![Page 23: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/23.jpg)
Themes
What are course goals?
I How to analyze algorithms in each model
I Taste of how to use each model
I When to use each model
Work Plan:I 1-3 weeks each model.
I Background and Model.I Example algorithms analysis in each model.
I/O Stream Parallel MapReduce GPU Distributed
4 5 4 4 3 3
![Page 24: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/24.jpg)
Class Work
1 Credit Students:
I Attend Class. (some Fridays less important)
I Ask Questions.
I If above lacking, may have quizzes.
I Scribing Notes, Video-taping Lectures, or Giving Lectures.
3 Credit Students:Must also do a project!
I Project Proposal (Aug 30).Approved or Rejected by Sept 4.
I Intermediate Report (Oct 23).
I Presentations (Dec 11 or 13).
![Page 25: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/25.jpg)
Sequential Review
Turing Machines (Alan Turing 1936)
I Single Tape: MoveL, MoveR, read, write
I each constant time
I content pointer memory, infinite tape (memory)
Von Neumann Architecture (Von Neumann + Eckert + Mauchly1945)
I based on ENIAC
I CPU + Memory (RAM): read, write, op = constant time
How fast are the following?
I Scanning (max):TM: O(n) VNA: O(n)
I Sorting:TM: O(n2) VNA: O(n log n)
I Searching:TM: O(n) VNA: O(log n)
![Page 26: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/26.jpg)
Sequential ReviewTuring Machines (Alan Turing 1936)
I Single Tape: MoveL, MoveR, read, write
I each constant time
I content pointer memory, infinite tape (memory)
Von Neumann Architecture (Von Neumann + Eckert + Mauchly1945)
I based on ENIAC
I CPU + Memory (RAM): read, write, op = constant time
How fast are the following?
I Scanning (max):TM: O(n) VNA: O(n)
I Sorting:TM: O(n2) VNA: O(n log n)
I Searching:TM: O(n) VNA: O(log n)
![Page 27: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/27.jpg)
Sequential ReviewTuring Machines (Alan Turing 1936)
I Single Tape: MoveL, MoveR, read, write
I each constant time
I content pointer memory, infinite tape (memory)
Von Neumann Architecture (Von Neumann + Eckert + Mauchly1945)
I based on ENIAC
I CPU + Memory (RAM): read, write, op = constant time
How fast are the following?
I Scanning (max):TM: O(n) VNA: O(n)
I Sorting:TM: O(n2) VNA: O(n log n)
I Searching:TM: O(n) VNA: O(log n)
![Page 28: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/28.jpg)
Sequential ReviewTuring Machines (Alan Turing 1936)
I Single Tape: MoveL, MoveR, read, write
I each constant time
I content pointer memory, infinite tape (memory)
Von Neumann Architecture (Von Neumann + Eckert + Mauchly1945)
I based on ENIAC
I CPU + Memory (RAM): read, write, op = constant time
How fast are the following?
I Scanning (max):
TM: O(n) VNA: O(n)
I Sorting:TM: O(n2) VNA: O(n log n)
I Searching:TM: O(n) VNA: O(log n)
![Page 29: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/29.jpg)
Sequential ReviewTuring Machines (Alan Turing 1936)
I Single Tape: MoveL, MoveR, read, write
I each constant time
I content pointer memory, infinite tape (memory)
Von Neumann Architecture (Von Neumann + Eckert + Mauchly1945)
I based on ENIAC
I CPU + Memory (RAM): read, write, op = constant time
How fast are the following?
I Scanning (max):TM: O(n) VNA: O(n)
I Sorting:TM: O(n2) VNA: O(n log n)
I Searching:TM: O(n) VNA: O(log n)
![Page 30: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/30.jpg)
Sequential ReviewTuring Machines (Alan Turing 1936)
I Single Tape: MoveL, MoveR, read, write
I each constant time
I content pointer memory, infinite tape (memory)
Von Neumann Architecture (Von Neumann + Eckert + Mauchly1945)
I based on ENIAC
I CPU + Memory (RAM): read, write, op = constant time
How fast are the following?
I Scanning (max):TM: O(n) VNA: O(n)
I Sorting:
TM: O(n2) VNA: O(n log n)
I Searching:TM: O(n) VNA: O(log n)
![Page 31: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/31.jpg)
Sequential ReviewTuring Machines (Alan Turing 1936)
I Single Tape: MoveL, MoveR, read, write
I each constant time
I content pointer memory, infinite tape (memory)
Von Neumann Architecture (Von Neumann + Eckert + Mauchly1945)
I based on ENIAC
I CPU + Memory (RAM): read, write, op = constant time
How fast are the following?
I Scanning (max):TM: O(n) VNA: O(n)
I Sorting:TM: O(n2) VNA: O(n log n)
I Searching:TM: O(n) VNA: O(log n)
![Page 32: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/32.jpg)
Sequential ReviewTuring Machines (Alan Turing 1936)
I Single Tape: MoveL, MoveR, read, write
I each constant time
I content pointer memory, infinite tape (memory)
Von Neumann Architecture (Von Neumann + Eckert + Mauchly1945)
I based on ENIAC
I CPU + Memory (RAM): read, write, op = constant time
How fast are the following?
I Scanning (max):TM: O(n) VNA: O(n)
I Sorting:TM: O(n2) VNA: O(n log n)
I Searching:
TM: O(n) VNA: O(log n)
![Page 33: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/33.jpg)
Sequential ReviewTuring Machines (Alan Turing 1936)
I Single Tape: MoveL, MoveR, read, write
I each constant time
I content pointer memory, infinite tape (memory)
Von Neumann Architecture (Von Neumann + Eckert + Mauchly1945)
I based on ENIAC
I CPU + Memory (RAM): read, write, op = constant time
How fast are the following?
I Scanning (max):TM: O(n) VNA: O(n)
I Sorting:TM: O(n2) VNA: O(n log n)
I Searching:TM: O(n) VNA: O(log n)
![Page 34: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/34.jpg)
AsymptoticsHow large (in seconds) is:
I Searching (log n)
I Max (n)
I Merge-Sort (n log n)
I Bubble-Sort (n2) ... or Dynamic Programming
n = 10 102 103 104 105 106 107 108 109
Search 0.000001 0.000001 0.000001 0.000002 0.000001 0.000002 0.000002 0.000007 0.001871
Max 0.000003 0.000005 0.000006 0.000048 0.000387 0.003988 0.040698 9.193987 >15 minMerge 0.000005 0.000030 0.000200 0.002698 0.029566 0.484016 7.833908 137.9388 -Bubble 0.000003 0.000105 0.007848 0.812912 83.12960 ∼2 hour ∼9 days -
Complexity Theory:
I log: poly log(n) = logc n (... need to load data)
I P : poly(n) = nc (many cool algorithms)
I EXP: exp(n) = cn (usually hopeless ... but 0.00001n not bad)
I NP: verify solution in P, find solution conjectured EXP(If EXP number parallel machines, then in P time)
![Page 35: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/35.jpg)
AsymptoticsHow large (in seconds) is:
I Searching (log n)
I Max (n)
I Merge-Sort (n log n)
I Bubble-Sort (n2) ... or Dynamic Programming
n = 10 102 103 104 105 106 107 108 109
Search 0.000001 0.000001 0.000001 0.000002 0.000001 0.000002 0.000002 0.000007 0.001871Max 0.000003 0.000005 0.000006 0.000048 0.000387 0.003988 0.040698 9.193987 >15 min
Merge 0.000005 0.000030 0.000200 0.002698 0.029566 0.484016 7.833908 137.9388 -Bubble 0.000003 0.000105 0.007848 0.812912 83.12960 ∼2 hour ∼9 days -
Complexity Theory:
I log: poly log(n) = logc n (... need to load data)
I P : poly(n) = nc (many cool algorithms)
I EXP: exp(n) = cn (usually hopeless ... but 0.00001n not bad)
I NP: verify solution in P, find solution conjectured EXP(If EXP number parallel machines, then in P time)
![Page 36: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/36.jpg)
AsymptoticsHow large (in seconds) is:
I Searching (log n)
I Max (n)
I Merge-Sort (n log n)
I Bubble-Sort (n2) ... or Dynamic Programming
n = 10 102 103 104 105 106 107 108 109
Search 0.000001 0.000001 0.000001 0.000002 0.000001 0.000002 0.000002 0.000007 0.001871Max 0.000003 0.000005 0.000006 0.000048 0.000387 0.003988 0.040698 9.193987 >15 min
Merge 0.000005 0.000030 0.000200 0.002698 0.029566 0.484016 7.833908 137.9388 -
Bubble 0.000003 0.000105 0.007848 0.812912 83.12960 ∼2 hour ∼9 days -
Complexity Theory:
I log: poly log(n) = logc n (... need to load data)
I P : poly(n) = nc (many cool algorithms)
I EXP: exp(n) = cn (usually hopeless ... but 0.00001n not bad)
I NP: verify solution in P, find solution conjectured EXP(If EXP number parallel machines, then in P time)
![Page 37: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/37.jpg)
AsymptoticsHow large (in seconds) is:
I Searching (log n)
I Max (n)
I Merge-Sort (n log n)
I Bubble-Sort (n2) ... or Dynamic Programming
n = 10 102 103 104 105 106 107 108 109
Search 0.000001 0.000001 0.000001 0.000002 0.000001 0.000002 0.000002 0.000007 0.001871Max 0.000003 0.000005 0.000006 0.000048 0.000387 0.003988 0.040698 9.193987 >15 min
Merge 0.000005 0.000030 0.000200 0.002698 0.029566 0.484016 7.833908 137.9388 -Bubble 0.000003 0.000105 0.007848 0.812912 83.12960 ∼2 hour ∼9 days -
Complexity Theory:
I log: poly log(n) = logc n (... need to load data)
I P : poly(n) = nc (many cool algorithms)
I EXP: exp(n) = cn (usually hopeless ... but 0.00001n not bad)
I NP: verify solution in P, find solution conjectured EXP(If EXP number parallel machines, then in P time)
![Page 38: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/38.jpg)
AsymptoticsHow large (in seconds) is:
I Searching (log n)
I Max (n)
I Merge-Sort (n log n)
I Bubble-Sort (n2) ... or Dynamic Programming
n = 10 102 103 104 105 106 107 108 109
Search 0.000001 0.000001 0.000001 0.000002 0.000001 0.000002 0.000002 0.000007 0.001871Max 0.000003 0.000005 0.000006 0.000048 0.000387 0.003988 0.040698 9.193987 >15 min
Merge 0.000005 0.000030 0.000200 0.002698 0.029566 0.484016 7.833908 137.9388 -Bubble 0.000003 0.000105 0.007848 0.812912 83.12960 ∼2 hour ∼9 days -
Complexity Theory:
I log: poly log(n) = logc n (... need to load data)
I P : poly(n) = nc (many cool algorithms)
I EXP: exp(n) = cn (usually hopeless ... but 0.00001n not bad)
I NP: verify solution in P, find solution conjectured EXP(If EXP number parallel machines, then in P time)
![Page 39: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/39.jpg)
AsymptoticsHow large (in seconds) is:
I Searching (log n)
I Max (n)
I Merge-Sort (n log n)
I Bubble-Sort (n2) ... or Dynamic Programming
n = 10 102 103 104 105 106 107 108 109
Search 0.000001 0.000001 0.000001 0.000002 0.000001 0.000002 0.000002 0.000007 0.001871Max 0.000003 0.000005 0.000006 0.000048 0.000387 0.003988 0.040698 9.193987 >15 min
Merge 0.000005 0.000030 0.000200 0.002698 0.029566 0.484016 7.833908 137.9388 -Bubble 0.000003 0.000105 0.007848 0.812912 83.12960 ∼2 hour ∼9 days -
Complexity Theory:
I log: poly log(n) = logc n (... need to load data)
I P : poly(n) = nc (many cool algorithms)
I EXP: exp(n) = cn (usually hopeless ... but 0.00001n not bad)
I NP: verify solution in P, find solution conjectured EXP(If EXP number parallel machines, then in P time)
![Page 40: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/40.jpg)
AsymptoticsHow large (in seconds) is:
I Searching (log n)
I Max (n)
I Merge-Sort (n log n)
I Bubble-Sort (n2) ... or Dynamic Programming
n = 10 102 103 104 105 106 107 108 109
Search 0.000001 0.000001 0.000001 0.000002 0.000001 0.000002 0.000002 0.000007 0.001871Max 0.000003 0.000005 0.000006 0.000048 0.000387 0.003988 0.040698 9.193987 >15 min
Merge 0.000005 0.000030 0.000200 0.002698 0.029566 0.484016 7.833908 137.9388 -Bubble 0.000003 0.000105 0.007848 0.812912 83.12960 ∼2 hour ∼9 days -
Complexity Theory:
I log: poly log(n) = logc n (... need to load data)
I P : poly(n) = nc (many cool algorithms)
I EXP: exp(n) = cn (usually hopeless ... but 0.00001n not bad)
I NP: verify solution in P, find solution conjectured EXP(If EXP number parallel machines, then in P time)
![Page 41: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/41.jpg)
AsymptoticsHow large (in seconds) is:
I Searching (log n)
I Max (n)
I Merge-Sort (n log n)
I Bubble-Sort (n2) ... or Dynamic Programming
n = 10 102 103 104 105 106 107 108 109
Search 0.000001 0.000001 0.000001 0.000002 0.000001 0.000002 0.000002 0.000007 0.001871Max 0.000003 0.000005 0.000006 0.000048 0.000387 0.003988 0.040698 9.193987 >15 min
Merge 0.000005 0.000030 0.000200 0.002698 0.029566 0.484016 7.833908 137.9388 -Bubble 0.000003 0.000105 0.007848 0.812912 83.12960 ∼2 hour ∼9 days -
Complexity Theory:
I log: poly log(n) = logc n (... need to load data)
I P : poly(n) = nc (many cool algorithms)
I EXP: exp(n) = cn (usually hopeless ... but 0.00001n not bad)
I NP: verify solution in P, find solution conjectured EXP(If EXP number parallel machines, then in P time)
![Page 42: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Class Work 1 Credit Students: I Attend Class. (some Fridays less important) I Ask Questions. I If above](https://reader034.vdocument.in/reader034/viewer/2022042107/5e864bfed5936d3ce7156bd3/html5/thumbnails/42.jpg)
Data Group
Data Group MeetingThursdays @ 12:15-1:30pm in LCR
(to be confirmed)
http://datagroup.cs.utah.edu/dbgroup.php