42
Models of Computation for Massive Data Jeff M. Phillips August 28, 2013

Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Models of Computation for Massive Datajeffp/teaching/MCMD/MMD-intro.pdf · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

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 · Models of Computation for Massive Data Je M. Phillips August 28, 2013. Outline Sequential: I External Memory

Data Group

Data Group MeetingThursdays @ 12:15-1:30pm in LCR

(to be confirmed)

http://datagroup.cs.utah.edu/dbgroup.php