from cluster computing to grid computingnicolas/pdf/maillard-sticamsud08.pdf · 2010-04-02 · 1...

7
1 [email protected] From Cluster Computing to Grid Computing Nicolas Maillard Instituto de Informática – UFRGS 2008 In memoriam – Pierre Valiron A great astro-physicist A great HPC user • Founding father of many projects which have influenced us, and will keep on... A great man who left us yesterday. Outline Context: High-Performance Computing • From Clusters... What are they Management & Configuration – Programmation ... To Grids What are they Management & Configuration – Use Which Applications? “Hard” problems require HPC (sciences, technoloy, business) Why? If you need an accelerated development cycle. Aircraft Design, Improvement in car industry, Digital Imaging and animation (games, entertainment) Proteine engineering, Drug engineering, Nano-technolgy design and simulation, Stock market prevision, Climate prevision. Etc... 4 High-Performance Computing

Upload: others

Post on 13-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: From Cluster Computing to Grid Computingnicolas/pdf/maillard-sticamsud08.pdf · 2010-04-02 · 1 nicolas@inf.ufrgs.br From Cluster Computing to Grid Computing Nicolas Maillard Instituto

1

[email protected]

From Cluster Computingto

Grid Computing

Nicolas MaillardInstituto de Informática – UFRGS

2008

In memoriam – Pierre Valiron

• A great astro-physicist

• A great HPC user

• Founding father ofmany projects whichhave influenced us, andwill keep on...

• A great man who left us yesterday.

Outline• Context: High-Performance Computing

• FromClusters...– What are they– Management & Configuration– Programmation

• ... To Grids– What are they– Management & Configuration– Use

• Which Applications? “Hard” problems require HPC (sciences, technoloy, business)

• Why? If you need an accelerated development cycle.– Aircraft Design,

– Improvement in car industry,

– Digital Imaging and animation (games, entertainment)

– Proteine engineering,

– Drug engineering,

– Nano-technolgy design and simulation,

– Stock market prevision,

– Climate prevision.

– Etc...

4

High-Performance Computing

Page 2: From Cluster Computing to Grid Computingnicolas/pdf/maillard-sticamsud08.pdf · 2010-04-02 · 1 nicolas@inf.ufrgs.br From Cluster Computing to Grid Computing Nicolas Maillard Instituto

2

5

Personal Supercomputers?

19911991 19981998 20052005System Cray Y-MP C916 Sun HPC10000 Shuttle @ NewEgg.com

Architecture 16 x Vector4GB, Bus

24 x 333MHz Ultra-SPARCII, 24GB, SBus

4 x 2.2GHz x644GB, GigE

OS UNICOS Solaris 2.5.1 Windows Server 2003 SP1

PerformancePerformance ~10 ~10 GFlopsGFlops ~10 ~10 GFlopsGFlops ~10 ~10 GFlopsGFlops

Top500 # 1 500 N/A

PricePrice $40,000,000$40,000,000 $1,000,000 (40x drop)$1,000,000 (40x drop) < $4,000 (250x drop)< $4,000 (250x drop)

Customers Lab. Governo Grandes Empresas Engenheiros e Cientistas

Applications Secretas, Clima, Pesquisa em Física

Manufatura, Energia, Finanças, Telecom

Bioinformática, Ciências, MídiaDigital

6

A look at the Top-500

• www.top500.org– Ranking of the 500 more powerfull computers – 31

editions.

– Dongarra, Meier, Strohmaier.

Clusters – basic idea

off-the-shelf CPU (?)

+ standard network(?) Gbit Ethernet, SCI, Myrinet, infiniband…

+ a few Operating System tricks

= cluster

• Thousands of CPUs

• “cheap”

• “home-made”

Page 3: From Cluster Computing to Grid Computingnicolas/pdf/maillard-sticamsud08.pdf · 2010-04-02 · 1 nicolas@inf.ufrgs.br From Cluster Computing to Grid Computing Nicolas Maillard Instituto

3

A few local clustersLabtec

Corrisco

Xirú

XD1

Architecture of a Cluster

• A cluster = a set of nodes– PC, dedicated CPUs...

• A special node serves as front-end– Interface with the users,– Disc server,– Controls the acess to other (compute) nodes,– HTTP server,– Hosts the compilers...

• The other (many) nodes are used for computation– Reduced version of the O. S.,– The users can not access them directly,– May use specific network,– Exclusive use.

11

Example: Microsoft Compute Cluster SolutionExample: Microsoft Compute Cluster Solution

DataData

Input

Input

JobJob Policy, reportsPolicy, reports

Man

agemen

tM

anagem

ent

DB/FS

High speed, low latency High speed, low latency interconnectinterconnect

UserUser

Job

Job

AdminAdmin

Job MgmtJob Mgmt

Resource MgmtResource Mgmt

Cluster MgmtCluster Mgmt

SchedulingScheduling

Desktop AppDesktop App

CmdCmd lineline

Head NodeHead Node

Node ManagerNode Manager

User AppUser AppJob ExecutionJob Execution

Active Active DirectoryDirectory

MPIMPI

AdminAdminConsoleConsole

CmdCmd lineline

User ConsoleUser Console

Installing a cluster

1. Install (linux, for instance) in the front-end.1. Create a dir. /home and the user logins,2. Install the compilers, sshd, nfsd, and software to control the access to

the compute nodes.• BRAMS, INTEL´s MKL, LAPACK, etc...• OAR

2. Configure a compute node.3. Clone this image to the other nodes.

• Kadeploy

4. Set up the network.1. Only the front-end needs an access

to the external network.

5. Export /home to the nodes..

Page 4: From Cluster Computing to Grid Computingnicolas/pdf/maillard-sticamsud08.pdf · 2010-04-02 · 1 nicolas@inf.ufrgs.br From Cluster Computing to Grid Computing Nicolas Maillard Instituto

4

Programming a Cluster

• The typical solution is theMessage-Passing Interface(MPI).– A library to extend C/Fortran programs.– Many open-source and commercial distributions.

• Write one unique program, which will run withp processes.– Each process runs the same program,– Each process has its ownrank(id),– Each process maysend/receivedata to/from the others.

• Very efficient program, however not very user-friendly.

MPI in 6 words

1) MPI_Init( &argc, &argv) // No comment.2) MPI_Comm_rank(&r, communicator)

// returns the rank in the var. int ´r´3) MPI_Comm_size(&p, communicator)

// returns the number of processes in the var. int ´p´

4) MPI_Send( /* a bunch of args */ )5) MPI_Recv( /* almost the same bunch of args */ )6) MPI_Finalize() // No comment

The basic communicator is MPI_COMM_WORLD.

Basic (and complete) MPI example

void main(int argc, char* argv[]) { int p, r, tag = 103;MPI_Statusstat; double val ; MPI_Init(&argc, &argv) ;MPI_Comm_rank(MPI_COMM_WORLD, &r); if (r==0) {

printf("Processor 0 sends a message to 1\n"); val = 3.14 ; MPI_Send(&val, 1, MPI_DOUBLE, 1, tag, MPI_COMM_WORLD); }

else { printf("Processor 1 receives a message from 0\n"); MPI_Recv(&val, 1, MPI_DOUBLE, 0, tag, MPI_COMM_WORLD, &stat); printf(“I received the value: %.2lf\n", valor); }

}

The Grid

In 1999 appears a new idea:

“A Computational Grid is a hardware and software infrastructure that providesdependable, consistent, pervasive and inexpensive access to high-end computationalcapabilities.” [Foster:99]

• CPU power = Electrical power• “Internet Computing”

Page 5: From Cluster Computing to Grid Computingnicolas/pdf/maillard-sticamsud08.pdf · 2010-04-02 · 1 nicolas@inf.ufrgs.br From Cluster Computing to Grid Computing Nicolas Maillard Instituto

5

From The Grid to the grids

• The Grid has soon turned into many grids:– ComputingGrids

• Cluster of clusters• Concerns: Performance

– DataGrids• The point is the amazing quantity of data that is generated/analized.• Concerns: storage, network, data formats.

– ServiceGrids• Utility Servers: a provider supplies IT services.• Concerns: service spec, quality of service, Grid economics

– Besides, there are different interests depending on thescientificcommunity

• Grid as large-scale production tool, vs.• Grid as a large-scale experiment tool.

Middleware for the Grid• Globus: a set of standards, and implementations:

– Open Grid Services Architecture (OGSA) – Web Services Resource Framework (WSRF) – Job Submission Description Language (JSDL)– Etc...– Rather heavy to setup and use...

• gLite– Description of the Virtual Orgs, the sites, the users, the jobs, etc...

• BOINC (Berkeley)– Base of SETI@home– Client/server for volunteer computing

• OurGrid,– Grid & P2P computing – current integration with gLite

• OAR,• And many other... (ARC, Advanced Resource Connector)

Enabling Grids for E-SciencE (EGEE)

• European project, started in 2004.

• 260 sites, 50+ countries,

• 79,000+ CPU cores.

• Initially started to treat the data from the LargeHadron Collider (CERN) – Particles with HighEnergy.

• Based on gLite.

E-science Grid for Europe and Latin America EELA

• Grid Europe / LatinAmerica.

• 16 Resource Centres, 730 CPU cores, 60 Terabytes ofstorage space.

• 21partners from 10countries (7 in L.A. and 3 in Europe), + 2 international orgs (CERN and CLARA)

• Set up a high capacity, production quality, scalable Grid Facility.– Targeted to applications– gLite.

[Marechal 2008]

AR3

BR14

CL4CO

1CU2

EC1

FR3

IE1

IT1

MX3

PE2

PT3

ES13

VE1 AR

BRCL

COCUECFR

IEITMXPE

PTESVE

Page 6: From Cluster Computing to Grid Computingnicolas/pdf/maillard-sticamsud08.pdf · 2010-04-02 · 1 nicolas@inf.ufrgs.br From Cluster Computing to Grid Computing Nicolas Maillard Instituto

6

Grid5000 (France)

• 9 sites, network 1 Gbs/s, 4800+ cores today.– Plus 2 sites (Luxembourg + POA)

• A tool for Computer Scientists.

• Specificmiddleware: – OAR for resource allocation & control,– Kadeploy to deploy whatever image you want.

• Contacts with other grids – DAS (netherlands), NAREGI (Japan)

• First ALADDIN-G5K award given to Olivier Richard– “During ALADDIN-G5K's kick-off meeting, Olivier Richard was given the

first ALADDIN-G5K award, in recognition of his outstanding contribution...”

Naregi (Japan)

• Started in 2003.

• Targeted towards e-science.

• Specific Middleware - v. 1.0 released in 2008

Grid projects in Brazil

• UFCG - Walfredo Cirne: MyGrid / OurGrid

• LNCC, Bruno Schulze

• EELA: see Haroldo orVinod Rebello, among others.

• FINEP GBRAMS (UFRGS – INPE - USP)

• Other smaller, local grids experiments.

And many other Grids...

• TeraGrid (USA)

• Datagrid (Europe)

• CoreGrid (Europe)

• DAS (Netherlands)

• China Grid Project

• Ciment, GeoGrid

• Etc, etc...

Page 7: From Cluster Computing to Grid Computingnicolas/pdf/maillard-sticamsud08.pdf · 2010-04-02 · 1 nicolas@inf.ufrgs.br From Cluster Computing to Grid Computing Nicolas Maillard Instituto

7

Conclusions• All major countries/regions are developping their grids

– Usually considered as vectors for e-science.

• The choice of the “right” middleware is controversial:– All agree on the services to be provided (secure access, deployment,

fast execution, ...)– How to manage such large and critical instruments is highly political.– Interoperability will be important.

• Although other approaches exist in L. A. and Brazil, weshould build upon our own experience.– GBRAMS, Grid5K.

[email protected]

From Cluster Computingto

Grid Computing

Nicolas MaillardInstituto de Informática – UFRGS

2008