scientific computing - hardware

47
Computing Hardware Jeff Allen Quantitative Biomedical Research Center UT Southwestern Medical Center BSCI5096 - 3.26.2013

Upload: jalle6

Post on 25-May-2015

589 views

Category:

Technology


0 download

DESCRIPTION

Introduction to servers, HPC, and Cloud Computing

TRANSCRIPT

Page 1: Scientific Computing - Hardware

Computing HardwareJeff Allen

Quantitative Biomedical Research CenterUT Southwestern Medical Center

BSCI5096 - 3.26.2013

Page 2: Scientific Computing - Hardware

Outline

• Servers• Clusters• The Cloud

Page 3: Scientific Computing - Hardware

Outline

• Servers– Concepts & Definitions– Novel properties of servers

• Clusters• The Cloud

Page 4: Scientific Computing - Hardware

Servers – Concepts & Definitions

“A computer or program that supplies data or resources to

other machines on a network.”

server. (n.d.). Collins English Dictionary - Complete & Unabridged 10th Edition. Retrieved March 25, 2013, from Dictionary.com website: http://dictionary.reference.com/browse/server

• File Server• Database Server• Web Server

• Email Server• iTunes Server• Computing Server

Page 5: Scientific Computing - Hardware

Servers – Concepts & Definitions

• Same hardware components as your Personal Computer– Processor, Memory,

Power Supply, Hard Drive

• Often stacked in a rack

Image from: http://www.stealth.com/industrial_rackmounts_sr1501datasheet.htm

Page 6: Scientific Computing - Hardware

Servers – Concepts & Definitions

• Same hardware components as your Personal Computer– Processor, Memory,

Power Supply, Hard Drive

• Often stacked in a rack

http://www.daystarinc.com/hosting-facility

Page 7: Scientific Computing - Hardware

Is this a server?

Image from: http://www.stealth.com/industrial_rackmounts_sr1501datasheet.htm

Page 8: Scientific Computing - Hardware

Is this a server?

Image from: http://mediapool.getthespec.com/media.jpg?m=gBLSSTJ6IbHLuZD1JNnmyw%3D%3D&v=HR

Page 9: Scientific Computing - Hardware

Is this a server?

Image from: http://www.maximumpc.com/articles/reviews/hardware

Page 10: Scientific Computing - Hardware

Is this a server?

Image from: http://www.phonearena.com/image.php?m=Articles.Images&f=name&id=28259&name=GT-I8520_1.jpg&caption=&title=Image+from+%22UPDATED%3A+Samsung+I8520+is+an+Android+phone+with+built-in+projector

%22&kw=&popup=1

Page 11: Scientific Computing - Hardware

Is this a server?

Page 12: Scientific Computing - Hardware

Common Attributes of a Server

• Often runs an Operating System geared towards servers.

• Primarily accessed remotely– Often “headless” (no monitor)

• Runs 24/7, minimize downtime• May be kept in a data center

– Superior cooling, increased security, etc.• Redundancy (Power, Disk Storage)• More powerful and expensive

Page 13: Scientific Computing - Hardware

Operating System

Client PCs• Windows (XP, Vista, 7,

8)• Mac OS• Linux (Ubuntu, Mint,

openSUSE)

Servers• Linux (Red Hat, Suse

Enterprise, Ubuntu Server)

• Windows (Windows Server 2003, 2008, 2012)

• Non-Linux Unix (BSD, Solaris, AIX)

Page 14: Scientific Computing - Hardware

Remote Access & the Shell

• Typically don’t have physical access to the server, must access over a network

• Windows is heavily graphical, access using “Remote Desktop”

Image from http://www.softsalad.com/software/remote-desktop-control.html

Page 15: Scientific Computing - Hardware

Remote Access & the Shell

• Typically don’t have physical access to the server, must access over a network

• Windows is heavily graphical, access using “Remote Desktop”

• Linux is less graphical, access via a “Shell”

Image from http://www.softsalad.com/software/remote-desktop-control.html

Page 16: Scientific Computing - Hardware

Shell Access

1. User logs in2. User types

command3. Computer executes

command and prints output

4. User types another command

5. …6. User logs off

Modified from http://software-carpentry.org/4_0/shell/intro.html

Shell

Page 17: Scientific Computing - Hardware

Shell Comparison

Windows (Graphical) Linux (Shell)

Image from http://www.dedoimedo.com/computers/windows-7.html

Page 18: Scientific Computing - Hardware

Shell Comparison

Windows (Graphical) Linux (Shell)

Page 19: Scientific Computing - Hardware

Shell Comparison

Windows (Graphical) Linux (Shell)

Page 20: Scientific Computing - Hardware

Shell Access

• Slow learning curve• Can often be confusing at first, requires a

new way of thinking• Ultimately very powerful and efficient• Three reasons to use:

1. It’s your only choice for remote access on some non-graphical systems

2. Many software tools only offer Command Line interfaces

3. Allows for powerful new combinations of tools

Modified from http://software-carpentry.org/4_0/shell/intro.html

Page 21: Scientific Computing - Hardware

Data Centers

• Redundant, independent power feeds– Diesel generator backup

• Redundant Internet connections• Redundant cooling• 24/7/365 staffing, restricted access

Page 22: Scientific Computing - Hardware

RAID

• “Redundant Array of Independent Disks”

• Store information redundantly

• Support failure of one or more hard drives without losing data

Disk 1

Disk 2

Disk 3

Disk 4

Disk 5

RAID Array

Page 23: Scientific Computing - Hardware

Server Computing Power

• Often very expensive machines• Hardware designed to support more

resources than a PC– May have dozens or hundreds of GB of RAM– Very expensive powerful processor, or even

multiple processors

Page 24: Scientific Computing - Hardware

Outline

• Servers• Clusters

– Motivation & Concept– Job submission– Example

• The Cloud

Page 25: Scientific Computing - Hardware

Example Problem

• Group of 10 researchers

• Too many concurrent users, runs slowly

• Have some very large jobs

Page 26: Scientific Computing - Hardware

Naïve Solution

• Buy more independent servers!

• Let people connect to whichever server they want

• Problems:– Not sure which

servers are busiest– Still takes weeks to

run big simulations

Page 27: Scientific Computing - Hardware

Clustered Solution• Servers are “nodes”

in a cluster• Log in via head node• Head node manages

requested jobs– Submits them to

“worker” or “slave” nodes

– Intelligently calculates available resources on each worker node

• Multiple nodes can work on a single task

Page 28: Scientific Computing - Hardware

Job Submission

• Prepare a script to be executed (“myjob.sh”)– Include specifications on resources required

• (“-l nodes=2:ppn=4”)

– Or what queue it should be submitted to• Different queues have different priorities and permissions

• Submit that job to the head node (“qsub myjob.sh”)

• Head node will begin executing as soon as it has sufficient resources

Page 29: Scientific Computing - Hardware

Clustered Solution

Page 30: Scientific Computing - Hardware

Clustered Solution

Job #1 User: User4 Nodes Req’d: 1 Program: align.sh

Page 31: Scientific Computing - Hardware

Clustered Solution

Job #1 User: User4 Nodes Req’d: 1 Program: align.sh

Page 32: Scientific Computing - Hardware

Clustered Solution

Job #1 User: User4 Nodes Req’d: 1 Program: align.sh

Page 33: Scientific Computing - Hardware

Clustered Solution

Job #1 User: User4 Nodes Req’d: 1 Program: align.sh

Job #2 User: User9 Nodes Req’d: 1 Program: simul.sh

Page 34: Scientific Computing - Hardware

Clustered Solution

Job #1 User: User4 Nodes Req’d: 1 Program: align.sh

Job #2 User: User9 Nodes Req’d: 1 Program: simul.sh

Page 35: Scientific Computing - Hardware

Clustered Solution

Job #1 User: User4 Nodes Req’d: 1 Program: align.sh

Job #2 User: User9 Nodes Req’d: 1 Program: simul.sh

Page 36: Scientific Computing - Hardware

Clustered Solution

Job #1 User: User4 Nodes Req’d: 1 Program: align.sh

Job #2 User: User9 Nodes Req’d: 1 Program: simul.sh

Job #3 User: User2 Nodes Req’d: 2 Program: splice.sh

Page 37: Scientific Computing - Hardware

Clustered Solution

Job #1 User: User4 Nodes Req’d: 1 Program: align.sh

Job #2 User: User9 Nodes Req’d: 1 Program: simul.sh

Job #3 User: User2 Nodes Req’d: 2 Program: splice.sh

Queued

Page 38: Scientific Computing - Hardware

Clustered Solution

Job #1 User: User4 Nodes Req’d: 1 Program: align.sh

Job #2 User: User9 Nodes Req’d: 1 Program: simul.sh

Job #3 User: User2 Nodes Req’d: 2 Program: splice.sh

Queued

Page 39: Scientific Computing - Hardware

Clustered Solution

Job #1 User: User4 Nodes Req’d: 1 Program: align.sh

Job #2 User: User9 Nodes Req’d: 1 Program: simul.sh

Job #3 User: User2 Nodes Req’d: 2 Program: splice.sh

Queued

Page 40: Scientific Computing - Hardware

Clustered Solution

Job #1 User: User4 Nodes Req’d: 1 Program: align.sh

Job #3 User: User2 Nodes Req’d: 2 Program: splice.sh

Queued

Page 41: Scientific Computing - Hardware

Clustered Solution

Job #1 User: User4 Nodes Req’d: 1 Program: align.sh

Job #3 User: User2 Nodes Req’d: 2 Program: splice.sh

Queued

Page 42: Scientific Computing - Hardware

Clusters

• Solve problem of sharing resources• Allow multiple nodes to collaborate on a

single job– Programs must be specifically designed to

run in this fashion• Can solve very large problems by

combining hundreds of nodes together– Global weather forecasting, particle

collisions at CERN, etc.

Page 43: Scientific Computing - Hardware

HPC at UT Southwestern

• QBRC manages an 18 node cluster on-campus.

• Have access to Texas Advanced Computing Center (TACC) at UT Austin– 6,400 node cluster with > 100k cores– Attracts many users, often a queue before

your jobs will run.

Page 44: Scientific Computing - Hardware

Outline

• Servers• Clusters• The Cloud

Page 45: Scientific Computing - Hardware

Cloud Computing

• Vendors with access to massive computing resources began leasing their servers out– Amazon, Microsoft, Google, Rackspace– Charge per hour of use, usually just a few

cents.

Page 46: Scientific Computing - Hardware

Cloud Computing - Advantages

• No up-front purchase/cost• No hardware to manage• 100 servers in parallel is the same cost

as a single server running for 100 hours– Can get parallel jobs done much more

quickly

Page 47: Scientific Computing - Hardware

Cloud Computing - Disadvantages

• Data must be transferred over the Internet– Can take hours to upload a large sequencing

experiment.• Can be more expensive than internal

clusters