30
Introduction to Scientific and Technical computing SSC 335/394, 2011 Victor Eijkhout

Introduction to Scientific and Technical computing

Embed Size (px)

DESCRIPTION

Introduction to Scientific and Technical computing. SSC 335/394, 2011 Victor Eijkhout. Who, what, why, how. Instructors from Texas Advanced Computing Center Scientific computing About this course. TACC Mission. - PowerPoint PPT Presentation

Citation preview

Page 1: Introduction to Scientific and Technical computing

Introduction to Scientific and Technical computing

SSC 335/394, 2011Victor Eijkhout

Page 2: Introduction to Scientific and Technical computing

Who, what, why, how

• Instructors from Texas Advanced Computing Center

• Scientific computing• About this course

Page 3: Introduction to Scientific and Technical computing

TACC Mission

To enhance research, development, and education

and to improve society through the application of

advanced computing technologies.

Page 4: Introduction to Scientific and Technical computing

TACC HPC & Storage Resources

Sun StorageTek, 20 PB max capacity

Ranch

Dell dual-socket 6-core Intel Cluster2200 Nodes, ~300 TFlops44 TB memoryInfiniband Interconnect>1PB Lustre File System

LONESTARRangerSun quad-socket quad-core AMD Cluster3900 Nodes, ~570 TFlops1 PB memoryInfiniband Interconnect1.7 PB Lustre File System

Corral

1.2Pbyte disc spaceLustre parallel file system

Longhorn256 Dell nodes (2 Intel quad-cores) with 2 Nvidia FX 5800 GPUs each

Stallion75 30” monitors, total 300 Mpixel, still the largest tiled display in the world

Page 5: Introduction to Scientific and Technical computing

Mathematics & Science

• In science, we use mathematics to understand physical systems.

• Different fields of science explore different ‘domains’ of the universe, and have their own sets of equations, encapsulated in theories.

• Determining the theories an governing equations requires observation or experimentation, and testing hypotheses.

Page 6: Introduction to Scientific and Technical computing

[Courtesy of San Diego Supercomputer Center]

Page 7: Introduction to Scientific and Technical computing

Scientific Computing• Why should we care about scientific computing?

– Computational research has emerged to complement experimental methods in basic research, design, optimization, and discovery in all facets of engineering and science

– In certain cases, computational simulations are the only possible approach to analyze a problem:• Experiments may be cost prohibitive (eg. flight testing a 1,000 fuselage/wing-

body configurations for a modern fighter aircraft)• Experiments may be impossible (eg. interaction effects between the

International Space Station and Shuttle during docking)– Simulation capabilities rely heavily on the underlying compute power (eg.

amount of memory, total compute processors, and processor performance)• Fostered the introduction and development of super-computers starting in

the 1960’s• Large-scale compute power is tracked around the world via the Top500 List

(more on that later)

Page 8: Introduction to Scientific and Technical computing

Scientific Computing: a definition

• “The efficient computation of constructive methods in applied mathematics”– Applied math: getting results out of application

areas– Numerical analysis: results need to be correctly

and efficiently computable– Computing: the algorithms need to be

implemented on modern hardware

Page 9: Introduction to Scientific and Technical computing

Examples of Scientific Computing(it really is everywhere)

Temperature and natural convection currents in the eye following laser heating.

Biomedical

Automotive

Streamlines for workstation ventilation

HVAC

Page 10: Introduction to Scientific and Technical computing

Examples of Scientific Computing(it really is everywhere)

F18 Store Separation

Aerospace

Weather Forecasting

Page 11: Introduction to Scientific and Technical computing

QuickTime™ and a decompressor

are needed to see this picture.

New kinds of computations

Page 12: Introduction to Scientific and Technical computing

The Top500 List

• http://www.top500.org• Owner submitted benchmark performance

sine 1993– based on a dense linear system solve– http://www.netlib.org/benchmark/hpl/

Page 13: Introduction to Scientific and Technical computing

Top500 by Overall Architecture

QuickTime™ and a decompressor

are needed to see this picture.

Page 14: Introduction to Scientific and Technical computing

Top 500 by microprocessor

QuickTime™ and a decompressor

are needed to see this picture.

Page 15: Introduction to Scientific and Technical computing

Top500 by Operating System

Page 16: Introduction to Scientific and Technical computing

Ranger: What is it?

• Ranger is a unique instrument for computational scientific research housed at UT’s PRC

• Results from over 2 ½ years of initial planning and deployment efforts

• Funded by the National Science Foundation as part of a unique program to reinvigorate High Performance Computing in the United States

• Oh yeah, it’s a Texas-sized supercomputer

Page 17: Introduction to Scientific and Technical computing

How Much Did it Cost and Who’s Involved?

• TACC selected for very first NSF ‘Track2’ HPC system– $30M system acquisition– Sun Microsystems is

the vendor– We competed against almost

every open science HPC center

• TACC, ICES, Cornell Theory Center, Arizona State HPCI are teamed to operate/support the system four 4 years ($29M)

Page 18: Introduction to Scientific and Technical computing

Ranger System Summary• Compute power - 579 Teraflops

– 3,936 Sun four-socket blades– 15,744 AMD “Barcelona” processors

• Quad-core, four flops/cycle (dual pipelines)

• Memory - 123 Terabytes– 2 GB/core, 32 GB/node– 132 GB/s aggregate bandwidth

• Disk subsystem - 1.7 Petabytes– 72 Sun x4500 “Thumper” I/O servers, 24TB each– 40 GB/sec total aggregate I/O bandwidth– 1 PB raw capacity in largest filesystem

• Interconnect - 10 Gbps / 2.8 sec latency– Sun InfiniBand-based switches (2), up to 3456 4x ports each– Full non-blocking 7-stage Clos fabric– Mellanox ConnectX InfiniBand

Page 19: Introduction to Scientific and Technical computing

External Power and Cooling Infrastructure

Page 20: Introduction to Scientific and Technical computing

Switches in Place

Page 21: Introduction to Scientific and Technical computing

InfiniBand Cabling in Progress

Page 22: Introduction to Scientific and Technical computing

Ranger Cable Envy?

• On a system like Ranger, even designing the cables is a big challenge (1 cable can transfer data ~3000 times faster then your best ever wireless connection)

• The cables on Ranger were the first demonstration of their kind and are part of a new standard for InfiniBand cabling (1 cable is really 3 cables inside)

• Routing them to all the various components is no fun either

Page 23: Introduction to Scientific and Technical computing

Class Goals/Topics• Remember that definition “The efficient

computation of constructive methods in applied mathematics”– Numerical analysis/algorithms, (parallel)

computation, and how to combine them• Theory topics: architecture, numerical

analysis, implementing the one on the other• Practical skills: the tools of scientific

computing

Page 24: Introduction to Scientific and Technical computing

Class Goals/Topics• UNIX Exposure

– shells/command line– environment– compilers– libraries

• Good practices for scientific software engineering– version control– build systems– Data storage– debugging skills

Page 25: Introduction to Scientific and Technical computing

Class Setup

• Theory classes on Tuesday• Introduction to a practical topic on Thursday, you

do a self-guided tutorial at home, recap and discussion the next Thursday.

• There will be mid-term and final exam• Homework both theory and programming• Project!

Page 26: Introduction to Scientific and Technical computing

Computer Accounts

• Longhorn– we will have class accounts on a powerful academic systems – similar user environment on both Lonestar/Ranger

• Your own machine– More convenient for development– You need a Unix version– Linux: check.– Mac: make sure X11 is installed– Windows: see next slide

Page 27: Introduction to Scientific and Technical computing

Cygwin – a Unix Environment on Windows

• http://www.cygwin.com/• What is it?

– A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API functionality.

– A collection of tools, which provide Linux look and feel.• What isn’t it?

– Cygwin is not a way to run native Linux apps on Windows. You have to rebuild your application from source if you want it to run on Windows.

– Cygwin is not a way to magically make native Windows apps aware of UNIX functionality. Again, you need to build your apps from source if you want to take advantage of Cygwin functionality.

Page 28: Introduction to Scientific and Technical computing

Other UNIX/Windows Options

• You can use virtual machine software to support a virtualized Unix environment (eg. install Linux within Windows)

• Available with products like:– VMWARE (www.vmware.com)– VirtualBox

(www.virtualbox.org)

Page 29: Introduction to Scientific and Technical computing

“Production”• Jobs run in a managed environment– login to the login node– submit jobs to the scheduler– wait– collect results

• Running programs on the login node highly discouraged– avoid resource intensive tasks– exceptions include compilers, “standard” UNIX

commands (ls, mkdir, cp, mv, etc.)

Page 30: Introduction to Scientific and Technical computing

Remote Login

• Only SSH access is allowed– UNIX users: type ssh

[email protected] at the command line

– or [email protected] – Windows users: Get a client• PuTTY

(http://www.chiark.greenend.org.uk/~sgtatham/putty/)

– or use Cygwin and follow the UNIX instructions