Grid Computing DCC/FCUP Inês Dutra ines@dcc.fc.up.pt sala: 1.47 ines@dcc.fc.up.pt.

Post on 17-Apr-2015

119 views 5 download

Transcript of Grid Computing DCC/FCUP Inês Dutra ines@dcc.fc.up.pt sala: 1.47 ines@dcc.fc.up.pt.

Grid ComputingDCC/FCUPInês Dutraines@dcc.fc.up.ptsala: 1.47

DCC/FCUP Grid Computing 2

Organização da disciplina

url: http://www.dcc.fc.up.pt/~ines/aulas/0708/CG/CG.html Ementa: grids computacionais e grids de dados:

implementação e utilização Avaliação: 1 exame e 1 trabalho Bibliografia:

Grid Computing: Making the Global Infrastructure a Reality, F. Berman, G. C. Fox and A. J. G. Hey editors, Wiley, 2003, ISBN 0-470-85319-0.

The Grid 2: Blueprint for a New Computing Infrastructure (The Elsevier Series in Grid Computing) by Ian Foster and Carl Kesselman (Hardcover - Nov 18, 2003)

Artigos diversos (vão estar na página do curso)

DCC/FCUP Grid Computing 3

O que é um cluster?

De forma geral, é um aglomerado de máquinas conectadas em uma rede local ou dedicadas

NOWs (Network of Workstations) algumas vezes não são consideradas clusters

No nosso contexto, consideraremos cluster como qq aglomerado de máquinas em rede local com serviços básicos de rede (ssh, nfs etc)

DCC/FCUP Grid Computing 4

Clusters

Nível de usuário: políticas de utilizaçãogerenciadores de recursos interface com o usuário

Nível de administração:gerência de hardwaregerência de software

DCC/FCUP Grid Computing 5

O que é um grid?

Um conjunto de clusters? Mais do que isso:

Organização virtual que permite a aglomeração de recursos que estão distantes geograficamente

Recursos podem ser: máquinas, dados, instrumentos etc

DCC/FCUP Grid Computing 6

Grids

Nível de usuário: políticas de utilização gerenciadores de recursos locais Gerenciadores de recursos globais Monitoração Autenticação Certificação interface com o usuário

Nível de administração (local e global): gerência de hardware gerência de software

DCC/FCUP Grid Computing 7

Diffs

DCC/FCUP Grid Computing 8

Por que Grid?

Várias razões:CientíficasPolíticasEconômicasSociais

DCC/FCUP Grid Computing 9

Plataformas de computação paralela e distribuída Execução eficiente de aplicações intensivas

em dados ou computação Tipos de ambientes:

HPC (High Performance Computing)HTC (High Throughput Computing)

Exs de apps HPC: meteorologia, processamento matemático em geral

Exs de apps HTC: HEP, bioinformática, finanças etc

DCC/FCUP Grid Computing 10

Tipos de plataformas

PBS

NQE

Condor

IBM sp2, SGI Origin 2000Beowulf clusters

High spped networksMore:•Instruments•BDs

DCC/FCUP Grid Computing 11

Exemplos de RMSs

DCC/FCUP Grid Computing 12

NQE (Network Queue Environment)

DCC/FCUP Grid Computing 13

NQE

FTA: File Transfer Agent NQS: Networking Queueing System

./prog.out

snow

DCC/FCUP Grid Computing 14

NQE user commandscevent  Posts, reads, and deletes job-dependency event information.cqdel  Deletes or signals to a specified batch request.cqstatl   Provides a line-mode display of requests and queues on a specified hostcqsub  Submits a batch request to NQE.ftua  Transfers a file interactively (this command is issued on an NQE server only).ilb  Executes a load-balanced interactive command.nqe Provides a graphical user interface (GUI) to NQE functionality.

Commands issued on an NQE server only:qalter  Alters the attributes of one or more NQS requestsqchkpnt  Checkpoints an NQS request on a UNICOS, UNICOS/mk, or IRIX system qdel  Deletes or signals NQS requests qlimit  Displays NQS batch limits for the local hostqmsg  Writes messages to stderr, stdout, or the job log file of an NQS batch request qping  Determines whether the local NQS daemon is running and responding to

requests qstat  Displays the status of NQS queues, requests, and queue complexesqsub  Submits a batch request to NQS rft  Transfers a file in a batch request

Fonte: http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=bks&fname=/SGI_Admin/NQE_AG/apa.html

DCC/FCUP Grid Computing 15

SGE (Sun Grid Engine)

Um único recurso pode desempenharMais de uma atividade

DCC/FCUP Grid Computing 16

SGE

Comandos similares aos do NQE Exemplo: g.job

#!/bin/csh

gaussian < testDFT.in To run:qsub –pe smp 4 –M ines@dcc.c.up.pt –m ae –r n g.job

Ou...

DCC/FCUP Grid Computing 17

SGE Arquivo g.job#!/bin/csh#$ -pe smp 4#$ -M ines@dcc.c.up.pt#$ -m ae#$ -r ngaussian < testDFT.in

To run: qsub g.job

DCC/FCUP Grid Computing 18

SGE

Usuário pode especificar requisitos (tipo de cpu, qtde de disco, memória etc)

SGE registra a tarefa, requisitos e informação de controle (usuário, grupo, depto, data/hora de submissão etc)

Possui um planejador de execução de tarefas Assim que uma fila fique disponível, SGE lança a

execução de uma das tarefas que estão aguardando A tarefa com > prioridade ou > tempo de espera, segundo a

configuração do planejador de tarefas Se houver várias filas dsponíveis escolhe a menos carregada Podem haver várias filas por cluster

DCC/FCUP Grid Computing 19

SGE

Políticas de planejamento: Baseada em tickets (Usuário)

Qto + tickets um usuário tiver, > a sua prioriade Tickets são atribuídos de forma estática de acordo com a política

de filas e prioridades atribuídos a cada usuário Baseada em urgência (tarefas)

Hora limite para terminar a tarefa (que pode ser estipulada pelo usuário)

Tempo de fila da tarefa Recursos requisitados

Personalizada: permite a atribuição arbitrária de prioridade às tarefas (similar ao nice)

DCC/FCUP Grid Computing 20

SGE Ciclo de vida de uma tarefa:

Submissão Master armazena tarefa e informa planejador Planejador insere a tarefa na fila apropriada Master envia tarefa ao host correspondente Antes de executar, o daemon de execução:

Troca para o diretório da tarefa Inicializa o ambiente (variáveis) Inicializa o conjunto de processadores Muda o uid para o uid do dono da tarefa Inicializa limites de recursos do processo Coleta info de contabilidade Ao terminar estes passos, armazena a tarefa à sua base de

dados e espera que a tarefa termine Uma vez que a tarefa esteja terminada, avisa ao master e

elimina a entrada da base de dados.

DCC/FCUP Grid Computing 21

SGE

Alguns comandos:qconf: config do clusterqsub: submissão de tarefasqdel: eliminar tarefasqacct: estatísticas de utilizaçãoqhost: inspeciona estado dos hostsqstat: inspeciona estado das filas

DCC/FCUP Grid Computing 22

SGE

GUI

DCC/FCUP Grid Computing 23 SGE GUI

DCC/FCUP Grid Computing 24

Condor

It is a specialized job and resource management system. It provides:Job management mechanismSchedulingPriority schemeResource monitoringResource management

DCC/FCUP Grid Computing 25

Condor

The user submits a job to an agent. The agent is responsible for remembering jobs in persistent

storage while finding resources willing to run them. Agents and resources advertise themselves to a

matchmaker, which is responsible for introducing potentially compatible agents and resources.

At the agent, a shadow is responsible for providing all the details necessary to execute a job.

At the resource, a sandbox is responsible for creating a safe execution environment for the job and protecting the resource from any mischief.

DCC/FCUP Grid Computing 26

Condor

User Problem Solver Agent Resource

Matchmaker

Shadow Sandbox

Job

Plan of jobs job

ClassAds

claim

Details of the job

Environment

DCC/FCUP Grid Computing 27

CondorGateway Flocking

Gateway pass information about participants between pools, M(A) sends request to M(B) through gateways, M(B) returns a match

DCC/FCUP Grid Computing 28

CondorDirect Flocking

A also advertises to Condor Pool B

DCC/FCUP Grid Computing 29

RMSs

Cada um possui sua própria interface Não proporcionam integração Falta de interoperatividade Requerem habilidades específicas de

administração Incrementam custos operacionais Geram sobre-aprovisionamento e

desbalanceamento global de carga

DCC/FCUP Grid Computing 30

Parte da infra-estrutura de produção