getting beyond the filesystem: new models for data intensive scientific computing douglas thain...

23
Getting Beyond the Getting Beyond the Filesystem: Filesystem: New Models for New Models for Data Intensive Scientific Computing Data Intensive Scientific Computing Douglas Thain Douglas Thain University of Notre Dame University of Notre Dame HEC FSIO Workshop HEC FSIO Workshop 6 August 2009 6 August 2009

Post on 20-Dec-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

Getting Beyond the Filesystem: Getting Beyond the Filesystem: New Models forNew Models for

Data Intensive Scientific ComputingData Intensive Scientific Computing

Douglas ThainDouglas ThainUniversity of Notre DameUniversity of Notre Dame

HEC FSIO WorkshopHEC FSIO Workshop6 August 20096 August 2009

The Standard ModelThe Standard Model

Disk

Disk Disk

Disk

Disk Disk

Disk

Disk

Disk

CPU CPU CPU

CPU CPU CPU

CPU CPU CPU

File System

Upload Data

1

Batch System

Submit 1M Jobs

2

3

Access Data

PF The user has to

guess at what the

filesystem is good at.

The FS has to guess what what the user is going to do next.

Understand what the userUnderstand what the useris trying to is trying to accomplishaccomplish..

…not what they are …not what they are strugglingstrugglingto run on this machine right now.to run on this machine right now.

The Context: Biometrics ResearchThe Context: Biometrics ResearchComputer Vision Research Lab at Notre Dame:Computer Vision Research Lab at Notre Dame:

Kinds of research questions:Kinds of research questions:– How does human variation affect matching?How does human variation affect matching?– What’s the reliability of 3D versus 2D?What’s the reliability of 3D versus 2D?– Can we reliably extract a good iris image from an Can we reliably extract a good iris image from an

imperfect video, and use it for matching?imperfect video, and use it for matching?

A great context for systems research:A great context for systems research:– Committed collaborators, lots of data, problems of Committed collaborators, lots of data, problems of

unbounded size, some time sensitivity, real impact.unbounded size, some time sensitivity, real impact.– Acquiring TB data/month, sustained 90% CPU util.Acquiring TB data/month, sustained 90% CPU util.– Always composing workloads that break Always composing workloads that break

something.something.

BXGrid SchemaBXGrid Schema

fileid = 24305size = 300Ktype = jpgsum = abc123…

replicaid=423state=ok

replicaid=105state=ok

replicaid=293state=creating

replicaid=102state=deleting

TypeType SubjectSubject EyeEye ColorColor FileIDFileID

IrisIris S100S100 RightRight BlueBlue 1048610486

IrisIris S100S100 LeftLeft BlueBlue 1048710487

IrisIris S203S203 RightRight BrownBrown 2430424304

IrisIris S203S203 LeftLeft BrownBrown 2430524305

Scientific Metadata

General Metadata

ImmutableReplicas

BXGrid AbstractionsBXGrid Abstractions

B1

B2

B3

A1 A2 A3

F F F

F

F F

F F

F

L brown

L blue

R brown

R brown

eye color

G

G

G

ROCCurve

S = Select( color=“brown” )

B = Transform( S,G )

M = AllPairs( A, B, F )

H. Bui et al, “BXGrid: A Repository and Experimental Abstraction”Special Issue on e-Science, Journal of Cluster Computing, 2009.

S

An An abstractionabstraction is a declarative is a declarative specification of both the data and specification of both the data and computation in a batch workloadcomputation in a batch workload

(Think SQL for clusters.)(Think SQL for clusters.)

A0

AllPairs( set A, set B, func F )AllPairs( set A, set B, func F )

A1

An

B0 B1 Bn

F

0.5 0.2 0.9 0.8

0.10.30.4

0.20.60.61.0

0.50.10.70.3

B2

A2

Moretti, et al, “All-Pairs: An Abstraction for Data IntensiveComputing on Campus Grids”, TPDS, to appear in 2009.

> AllPairs IrisA IrisB MyComp.exe> AllPairs IrisA IrisB MyComp.exe

How can All-Pairs do better?How can All-Pairs do better?

No demand paging!No demand paging!Distribute the data via spanning tree.Distribute the data via spanning tree.Metadata lookup can be cached forever.Metadata lookup can be cached forever.File locations can be cached optimistically.File locations can be cached optimistically.Compute the right number of CPUs to use.Compute the right number of CPUs to use.Check for data integrity, but on failure, don’t Check for data integrity, but on failure, don’t abort, just migrate.abort, just migrate.On a multicore CPU, use multiple threads and a On a multicore CPU, use multiple threads and a cache-aware access algorithm.cache-aware access algorithm.Decide at runtime whether to run here on 4 Decide at runtime whether to run here on 4 cores, or run on the entire cluster.cores, or run on the entire cluster.

Number of CPUs

Tur

naro

und

Tim

e200

What’s the Upshot?What’s the Upshot?

The end user gets scalable performance The end user gets scalable performance always at the “sweet spot” of the system.always at the “sweet spot” of the system.It works despite many different failure It works despite many different failure modes, including uncooperative admins.modes, including uncooperative admins.60Kx60K All-Pairs ran on 100-500 CPUs 60Kx60K All-Pairs ran on 100-500 CPUs over one week, largest known experiment over one week, largest known experiment on public data in the field.on public data in the field.All-Pairs abstraction is 4X more efficient All-Pairs abstraction is 4X more efficient than the standard model.than the standard model.

A0

AllPairs( set A, set B, func F )AllPairs( set A, set B, func F )

A1

An

B0 B1 Bn

F

0.5 0.2 0.9 0.8

0.10.30.4

0.20.60.61.0

0.50.10.70.3

B2

A2

Moretti, et al, “All-Pairs: An Abstraction for Data IntensiveComputing on Campus Grids”, TPDS, to appear in 2009.

A0

SomePairs( set A, set B, pairs P, func F )SomePairs( set A, set B, pairs P, func F )

A1

An

B0 B1 Bn

0.5 0.2 0.9 0.8

0.10.50.30.4

0.20.60.61.0

0.50.10.70.3

B2

A2

(0,1)(0,2)(1,1)(1,2)(2,0)(2,2)(2,3)

P

Moretti, et al, “Scalable Modular Genome Assemblyon Campus Grids”, under review in 2009.

Wavefront ( R[x,0], R[0,y], F(x,y,d) )Wavefront ( R[x,0], R[0,y], F(x,y,d) )

R[4,2]

R[3,2] R[4,3]

R[4,4]R[3,4]R[2,4]

R[4,0]R[3,0]R[2,0]R[1,0]R[0,0]

R[0,1]

R[0,2]

R[0,3]

R[0,4]

Fx

yd

Fx

yd

Fx

yd

Fx

yd

Fx

yd

Fx

yd

F

F

y

y

x

x

d

d

x F Fx

yd yd

Yu et al, “Harnessing Parallelism in Multicore Clusters with theAll-Pairs and Wavefront Abstractions”, IEEE HPDC 2009.

Directed GraphDirected Graph

part1 part2 part3: input.data split.py ./split.py input.data

out1: part1 mysim.exe ./mysim.exe part1 >out1

out2: part2 mysim.exe ./mysim.exe part2 >out2

out3: part3 mysim.exe ./mysim.exe part3 >out3

result: out1 out2 out3 join.py ./join.py out1 out2 out3 > result

Thain and Moretti, “Abstractions for Cloud Computing withCondor”, in Handbook of Cloud Computing Services, in press.

ContributionsContributions

Repository for Scientific Data:Repository for Scientific Data:– Provide a better match with end user goals.Provide a better match with end user goals.– Simplify scalability, management, recovery…Simplify scalability, management, recovery…

Abstractions for Large Scale Computing:Abstractions for Large Scale Computing:– Expose actual data needs of computation.Expose actual data needs of computation.– Simplify scalability, consistency, recovery…Simplify scalability, consistency, recovery…– Enable transparent portability from single Enable transparent portability from single

CPU to multicore to cluster to grid.CPU to multicore to cluster to grid.

Are there other useful abstractions?Are there other useful abstractions?

HECURA SummaryHECURA SummaryImpact on real science:Impact on real science:– Production quality data repository used to produce Production quality data repository used to produce

datasets accepted by NIST and published to community. datasets accepted by NIST and published to community. “Indispensable”“Indispensable”

– Abstractions used to scale up student’s daily “scratch” Abstractions used to scale up student’s daily “scratch” work to 500 CPUs; increased data coverage of published work to 500 CPUs; increased data coverage of published results by two orders of magnitude.results by two orders of magnitude.

– Planning to adapt prototype to Civil Eng CDI project.Planning to adapt prototype to Civil Eng CDI project.

Impact on computer science:Impact on computer science:– Open source tools that run on Condor, SGE, multicore, Open source tools that run on Condor, SGE, multicore,

recently with independent users.recently with independent users.– 1 chapter, 2 journal papers, 4 conference papers.1 chapter, 2 journal papers, 4 conference papers.

Broader ImpactBroader Impact– Integration into courses, used by other projects at ND.Integration into courses, used by other projects at ND.– Undergrad co-authors from ND and elsewhere.Undergrad co-authors from ND and elsewhere.

ParticipantsParticipantsFaculty:Faculty:– Douglas Thain and Patrick FlynnDouglas Thain and Patrick Flynn

Graduate Students:Graduate Students:– Christopher Moretti (Abstractions)Christopher Moretti (Abstractions)– Hoang Bui (Repository)Hoang Bui (Repository)– Li Yu (Multicore)Li Yu (Multicore)

Undergraduates:Undergraduates:– Jared BulosanJared Bulosan– Michael KellyMichael Kelly– Christopher Lyon (North Carolina A&T Univ)Christopher Lyon (North Carolina A&T Univ)– Mark PasquierMark Pasquier– Kameron Srimoungchanh (Clemson Univ)Kameron Srimoungchanh (Clemson Univ)– Rachel WittyRachel Witty

For more information:For more information:

The Cooperative Computing LabThe Cooperative Computing Lab– http://www.cse.nd.edu/~cclhttp://www.cse.nd.edu/~ccl

Cloud Computing and ApplicationsCloud Computing and Applications– October 20-21, Chicago ILOctober 20-21, Chicago IL– http://www.cca09.orghttp://www.cca09.org

This work was supported by the This work was supported by the National Science Foundation via National Science Foundation via grant CCF-06-21434.grant CCF-06-21434.