Cluster Computing John Kelleher

advertisement
Cluster Computing
References
•
HA Linux Project
–
•
Sys Admin
–
•
http://www-03.ibm.com/servers/eserver/pseries/news/pressreleases/2002/nov/p655.html
Tsunami Technologies
–
•
http://arstechnica.com/articles/paedia/cpu/klat2.ars
IBM
–
•
http://www.force10networks.com/applications/mediarendering.asp
ARS Technica
–
•
http://technet2.microsoft.com/WindowsServer/en/Library/98d46a24-96d8-412c-87d828ace62323d21033.mspx
Force10 Networks
–
•
http://channels.lockergnome.com/it/archives/20041022_load_balancing_in_windows_server_
2003.phtml
Microsoft TechNet
–
•
http://www.samag.com/documents/s=1155/sam0101a/0101a.htm
Load Balancing in Server 2003
–
•
http://www.linux-ha.org
http://www.tsunamictechnologies.com
University of Buffalo
–
http://www.ccr.buffalo.edu/hotpages/content/u2/u2.htm
Who Cares?
•
•
•
•
•
Science Field (SETI)
Medical Field (Protein Folding/ VR)
Hollywood (SFX)
Webmasters
Anyone who needs massive amounts of
computing power – on a “budget”
Outline
•
•
•
•
Types of computer clusters
Who uses them?
Benefits of each
Costs
3 Types of Clusters
• High Availability (HA)
• Load Balancing / (LB)
• High Performance/Parallel (HP)
High Availability Clusters
• Two or more servers setup so that if one
fails, the other takes over
– Share a common data source
– Only one accesses data at any time
– Monitor each-other by sending “heartbeat” packets
between themselves
– When one server fails, the work is migrated over to
the working one
– Users experience a brief break in transmission
(typically a few seconds) but not a total loss
HA Clusters ( cont )
Load Balancing Cluster
• A main server distributes data/application
requests to any one of many other
servers/nodes
– A web server could distribute http requests to
appropriate servers based on proximity to
client, etc
– Often called a “server farm”
– Improve performance by splitting up requests
Load Balancing ( cont )
High Performance Cluster
• Divides computational tasks amongst
many different nodes, allowing their
shared processing power to be utilized
– 296 of the world’s fastest computers are HP
clusters (CNET News)
– Nodes can communicate with each-other
while processing
– Processor intensive calculations that would
take years on a typical computer, can be
completed in a small fraction of the time
HP Clusters ( cont )
Costs
• The price per gigaflop when using a
supercomputer is about 5x more
expensive than with a cluster
• Clusters have brought the price per GFlop
down to around $85
• Supercomputer prices have come down as
well though a high-end Sun Fire 15K
server with 16 1.0Ghz processors and 64
gigabytes of ram costs $320,000
Costs ( cont )
• Cost of ownership
– Important to remember you are not just
buying the hardware inside the computer case
– Switches, cabling, and interface hardware
must be purchased as well
– Power consumption of a large cluster (for
example 20 nodes) will carry a price tag in
excess of $3000 per year
– Cost to free up space for a large cluster
– Cost to pay employees to set it up and
monitor it
Case Study
University of Buffalo, New York
800 Dell nodes each housing dual 3.2 GHz Xeon Processors
Case Study
• The University of Buffalo cluster cost $2.3 million
to implement
– Runs at a peak of around 10 TeraFlops (10 Trillion
Floating Point Operations Per Second)
– Put them around #40 on the Top500 most powerful
computer list
– Costs $150,000+ per year in electric costs
– For now can only be run at 60% power without
causing a power outage
– Rendered a video that would have taken a typical
home PC 125 days to render, in 8 hours
Cost Effective Alternative
• Many companies offer “cluster on demand”
service
– Rent time on clusters from 3rd party companies
– Great for companies that do not need that much
computing power, all the time
– Typically pay per CPU hour:
•
•
•
•
60 cents per CPU hour
40 node cluster
72 hours
$1700 (most companies have minimum hour requirements)
HP Cluster Construction
• MPI (Message Passing Interface)
– Most widely used standard
– Sought to unify parallel programming
– Gives programmers a starting point
– Works best when programmed with Fortran,
but C++ works as well
Cluster Construction ( cont )
• Install Fortran ( or C ) Compiler
• Configure SSH (need to be able to
execute commands at root without asking
for a password)
• Setup a network file system
• Install MPI (from anl.gov)
• Edit MPI file to add each node’s hostname
• Run test programs!
(most steps were taken from http://www-128.ibm.com/developerworks/linux/library/l-cluster2/index.html)
Future
• Create a HP Cluster in the computer lab
• CCSU audio/video server into a high
availability setup
Questions?
Download