Title: Cluster and Grid Computing
1Cluster and Grid Computing
2O 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)
3Clusters
- NÃvel de usuário
- polÃticas de utilização
- gerenciadores de recursos
- interface com o usuário
- NÃvel de administração
- gerência de hardware
- gerência de software
4O 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
5Grids
- 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
6Diffs
7Por que Grid?
- Várias razões
- CientÃficas
- PolÃticas
- Econômicas
- Sociais
8Plataformas 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
9Tipos de plataformas
IBM sp2, SGI Origin 2000 Beowulf clusters
NQE
High spped networks
PBS
Condor
10Exemplos de RMSs
11NQE (Network Queue Environment)
12NQE
snow
./prog.out
FTA File Transfer Agent NQS Networking
Queueing System
13NQE user commands
- cevent 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 host - cqsub 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
requests - qchkpnt 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
host - qmsg 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 complexes - qsub 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?coll0650dbbksfname/SGI_Admin/NQE_
AG/apa.html
14SGE (Sun Grid Engine)
Um único recurso pode desempenhar Mais de uma
atividade
15SGE
- Comandos similares aos do NQE
- Exemplo g.job
- !/bin/csh
- gaussian lt testDFT.in
- To run
- qsub pe smp 4 M ines_at_dcc.c.up.pt m ae r n
g.job - Ou...
16SGE
- Arquivo g.job
- !/bin/csh
- -pe smp 4
- -M ines_at_dcc.c.up.pt
- -m ae
- -r n
- gaussian lt testDFT.in
- To run qsub g.job
17SGE
- 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 gt prioridade ou gt 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
18SGE
- PolÃticas de planejamento
- Baseada e tickets (Usuário)
- Qto tickets um usuário tiver, gt 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
- Pesonalizada permite a atribuição arbitrária de
prioridade às tarefas (similar ao nice)
19SGE
- Ciclo de vida de uma tarefa
- Submissão
- Master armzena 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 ase de dados.
20SGE
- Alguns comandos
- qconf config do cluster
- qsub submissão de tarefas
- qdel eliminar tarefas
- qacct estatÃsticas de utilização
- qhost inspeciona estado dos hosts
- qstat inspeciona estado das filas
21SGE
22SGE GUI
23Condor
- It is a specialized job and resource management
system. It provides - Job management mechanism
- Scheduling
- Priority scheme
- Resource monitoring
- Resource management
24Condor
- 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.
25Condor
Matchmaker
ClassAds
Plan of jobs
job
User
Problem Solver
Agent
Resource
claim
Shadow
Sandbox
Details of the job
Environment
Job
26CondorGateway Flocking
Gateway pass information about participants
between pools, M(A) sends request to M(B) through
gateways, M(B) returns a match
27CondorDirect Flocking
A also advertises to Condor Pool B
28RMSs
- 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
29Parte da infra-estrutura de produção