Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White...

25
Extreme Data-Intensive Scientific Computing on GPUs Alex Szalay JHU

Transcript of Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White...

Page 1: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Extreme Data-Intensive

Scientific Computing on GPUs

Alex Szalay

JHU

Page 2: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

• Scientific data doubles every year

– caused by successive generations

of inexpensive sensors +

exponentially faster computing

– Moore’s Law!!!!

• Changes the nature of scientific computing

• Cuts across disciplines (eScience)

• It becomes increasingly harder to extract knowledge

• 20% of the world‟s servers go into centers by the “Big 5”

– Google, Microsoft, Yahoo, Amazon, eBay

• So it is not only the scientific data!

An Exponential World

19701975

19801985

19901995

2000

0.1

1

10

100

1000

CCDs Glass

Page 3: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Scientific Data Analysis Today

• Scientific data is doubling every year, reaching PBs

• Data is everywhere, never will be at a single location

• Architectures increasingly CPU-heavy, IO-poor

• Data-intensive scalable architectures needed

• Databases are a good starting point

• Scientists need special features (arrays, GPUs)

• Most data analysis done on midsize BeoWulf clusters

• Universities hitting the “power wall”

• Soon we cannot even store the incoming data stream

• Not scalable, not maintainable…

Page 4: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Non-Incremental Changes

• Science is moving from hypothesis-driven to data-

driven discoveries

• Need new randomized, incremental algorithms

– Best result in 1 min, 1 hour, 1 day, 1 week

• New computational tools and strategies

… not just statistics, not just computer science,

not just astronomy…

• Need new data intensive scalable architectures

Astronomy has always been data-driven….

now becoming more generally accepted

Page 5: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Continuing Growth

How long does the data growth continue?• High end always linear

• Exponential comes from technology + economics– rapidly changing generations

– like CCD’s replacing plates, and become ever cheaper

• How many generations of instruments are left?

• Are there new growth areas emerging?

• Software is becoming a new kind of instrument– Value added data

– Hierarchical data replication

– Large and complex simulations

Page 6: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Cosmological Simulations

In 2000 cosmological simulations had 1010 particles and

produced over 30TB of data (Millennium)

• Build up dark matter halos

• Track merging history of halos

• Use it to assign star formation history

• Combination with spectral synthesis

• Realistic distribution of galaxy types

• Today: simulations with 1012 particles and PB of output

are under way (MillenniumXXL, Silver River, etc)

• Hard to analyze the data afterwards -> need DB

• What is the best way to compare to real data?

Page 7: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Immersive Turbulence

“… the last unsolved problem of classical physics…” Feynman

• Understand the nature of turbulence

– Consecutive snapshots of a large

simulation of turbulence:

now 30 Terabytes

– Treat it as an experiment, play with

the database!

– Shoot test particles (sensors) from

your laptop into the simulation,

like in the movie Twister

– Next: 70TB MHD simulation

• New paradigm for analyzing simulations!

with C. Meneveau, S. Chen (Mech. E), G. Eyink (Applied Math), R. Burns (CS)

Page 8: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Daily Usage

Page 9: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Visualizing Petabytes

• Needs to be done where the data is…

• It is easier to send a HD 3D video stream to the user

than all the data

– Interactive visualizations driven remotely

• Visualizations are becoming IO limited:

precompute octree and prefetch to SSDs

• It is possible to build individual servers with extreme

data rates (5GBps per server… see Data-Scope)

• Prototype on turbulence simulation already works:

data streaming directly from DB to GPU

• N-body simulations next

Page 10: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Kai Buerger, Technische Universitat Munich

Streaming Visualization of Turbulence

Page 11: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Kai Buerger, Technische Universitat Munich

Visualization of the Vorticity

Page 12: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Amdahl’s Laws

Gene Amdahl (1965): Laws for a balanced system

i. Parallelism: max speedup is S/(S+P)

ii. One bit of IO/sec per instruction/sec (BW)

iii. One byte of memory per one instruction/sec (MEM)

Modern multi-core systems move farther

away from Amdahl‟s Laws

(Bell, Gray and Szalay 2006)

Page 13: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Amdahl Numbers for Data Sets

1.E-05

1.E-04

1.E-03

1.E-02

1.E-01

1.E+00

Am

da

hl

nu

mb

er

Data generation Data Analysis

Page 14: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

The Data Sizes Involved

0

1

10

100

1000

10000

Te

rab

yte

s

Page 15: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

DISC Needs Today

• Disk space, disk space, disk space!!!!

• Current problems not on Google scale yet:– 10-30TB easy, 100TB doable, 300TB really hard

– For detailed analysis we need to park data for several months

• Sequential IO bandwidth– If not sequential for large data set, we cannot do it

• How do can move 100TB within a University?– 1Gbps 10 days

– 10 Gbps 1 day (but need to share backbone)

– 100 lbs box few hours

• From outside?– Dedicated 10Gbps or FedEx

Page 16: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Tradeoffs Today

Stu Feldman: Extreme computing is about tradeoffs

Ordered priorities for data-intensive scientific computing

1. Total storage (-> low redundancy)

2. Cost (-> total cost vs price of raw disks)

3. Sequential IO (-> locally attached disks, fast ctrl)

4. Fast stream processing (->GPUs inside server)

5. Low power (-> slow normal CPUs, lots of disks/mobo)

The order will be different in a few years...and scalability

may appear as well

Page 17: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Increased Diversification

One shoe does not fit all!

• Diversity grows naturally, no matter what

• Evolutionary pressures help– Large floating point calculations move to GPUs

– Fast IO moves to high Amdahl number systems

– Large data require lots of cheap disks

– Stream processing emerging

– noSQL vs databases vs column store etc

• Individual groups want subtle specializations

• Larger systems are more efficient

• Smaller systems have more agility

Page 18: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Cyberbricks

• 36-node Amdahl cluster using 1200W total

– Zotac Atom/ION motherboards

– 4GB of memory, N330 dual core Atom, 16 GPU cores

• Aggregate disk space 148TB– 36 x 120GB SSD = 4.3TB

– 72x 2TB Samsung F1 = 144.0TB

• Blazing I/O Performance: 18GB/s

• Amdahl number = 1 for under $30K

• Using SQL+GPUs for data mining:– 6.4B multidimensional regressions

in 5 minutes over 1.2TB

– Ported Random Forest module from R to SQL/CUDA

Szalay, Bell, Huang, Terzis, White (Hotpower-09)

Page 19: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Extending SQL Server to GPUs

• User Defined Functions in DB execute inside CUDA

– 100x gains in floating point heavy computations

• Dedicated service for direct access

– Shared memory IPC w/ on-the-fly data transform

Richard Wilton and Tamas Budavari (JHU)

Page 20: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

The Impact of GPUs

• We need to reconsider the N logN only approach

• Once we can run 100K threads, maybe running SIMD

N2 on smaller partitions is also acceptable

• Potential impact on genomics huge

– Sequence matching using parallel brute force vs dynamic

programming?

• Integrating CUDA with SQL

Server, using UDF+IPC

• Galaxy correlation functions:

400 trillion galaxy pairs!

• Written by Tamas Budavari

Page 21: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

JHU Data-Scope

• Funded by NSF MRI to build a new „instrument‟ to look at data

• Goal: 102 servers for $1M + about $200K switches+racks

• Two-tier: performance (P) and storage (S)

• Large (5PB) + cheap + fast (400+GBps), but …

. ..a special purpose instrument

Revised

1P 1S All P All S Full

servers 1 1 90 6 102

rack units 4 34 360 204 564

capacity 24 720 2160 4320 6480 TB

price 8.8 57 8.8 57 792 $K

power 1.4 10 126 60 186 kW

GPU* 1.35 0 121.5 0 122 TF

seq IO 5.3 3.8 477 23 500 GBps

IOPS 240 54 21600 324 21924 kIOPS

netwk bw 10 20 900 240 1140 Gbps

Page 22: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Performance Server

• Supermicro SC846A Chassis + upgraded PSU

• X8DAH+F-O motherboard 4 PCIe x16, 3 x8

• Dual X5650 6-core Westmere

• 48GB of memory

• 2x LSI 9201-16i disk controller

• SolarFlare 10GoE Ethernet card with RJ45

• 24 direct attached SATA-2 disks (Samsung 1TB F3)

• 4 x 120GB OCZ Deneva Enterprise Sync SSD

• nVIDIA C2070 6GB Fermi Tesla cards (0,1,2)

• All slots filled

Page 23: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Proposed Projects at JHU

Discipline data [TB]

Astrophysics 930

HEP/Material Sci. 394

CFD 425

BioInformatics 414

Environmental 660

Total 2823

0

1

2

3

4

5

6

7

8

10 20 40 80 160 320 640

data set size [TB]

A total of 19 projects proposed for the Data-Scope, more

coming, data lifetimes on the system between 3 mo and 3 yrs

Page 24: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

Summary

• Real multi-PB solutions are needed NOW!– We have to build it ourselves

• Multi-faceted challenges– No single trivial breakthrough, will need multiple thrusts

– Various scalable algorithms, new statistical tricks

• Current architectures cannot scale much further– Need to get off the curve leading to power wall

• Adoption of new technologies is a difficult process– Increasing diversification

– Need to train people with new skill sets (Π shaped people)

• A new, Fourth Paradigm of science is emerging– Many common patterns across all scientific disciplines

but it is not incremental….

Page 25: Extreme Data-Intensive Scientific Computing on GPUs · Szalay, Bell, Huang, Terzis, White (Hotpower-09) Extending SQL Server to GPUs • User Defined Functions in DB execute inside

“If I had asked my customers what they wanted,

they would have said faster horses…”

Henry Ford

From a recent book by Eric Haseltine:

“Long Fuse and Big Bang”