modelo grand: gerenciamento de aplicações em ambiente de grade patrícia kayser vargas mangan...
TRANSCRIPT
Modelo GRAND:Gerenciamento de Aplicações
em Ambiente de Grade
Patrícia Kayser Vargas Mangan
Introdução
Computação em grade (grid computing) infra-estrutura computacional grande número de recursos recursos heterogêneos e geograficamente
distribuídos aplicações de grande demanda computacional
Introdução
Vários trabalhos na área... mas vários problemas em aberto
Na minha tese, abordei gerenciamento de aplicações COPPE/Sistemas – UFRJ, 2006 orientadores:
Inês de Castro Dutra Cláudio F. R. Geyer
Introdução
Gerenciamento de aplicações consiste na: preparação submissão escalonamento monitoramento da execução
para todas as tarefas que compõem a aplicação
Introdução
Aplicações formadas por um grande número de tarefas ex: experimentos de física e bioestatística escalonamento e controle são desafios sobrecarga na máquina de submissão gerenciamento manual proibitivo
grande quantidade de recursos e tarefas tempo longo de execução
Introdução
Aplicação pode ser modelada como um grafo nodo: tarefa aresta: dependência (arquivos)
Tarefas – Classificação independent tasks loosely-coupled tasks tightly-coupled tasks
loosely-coupled
tightly-coupled
independent
Introdução
Modelo GRAND Grid Robust ApplicatioN Deployment
Contribuições solução de limitações existentes, tratando de
(a) evitar submissão e gerenciamento centralizado do grafo de tarefas
(b) aumentar a escalabilidade
(c) controlar o tráfego no gerenciamento de dados gerenciamento hierárquico de aplicações nova linguagem de descrição de tarefas protótipo com métodos para gerenciar recursos e dados
GRANDDAG inference
Clustering
Mapping
Submission
Application Description
Directed Acyclic Graph (DAG)
Set of sub-DAGs (or clusters)
Allocation Decisions
Results
Etapas:
GRAND
Três componentes principais para a realização destas tarefas
Submit Machine
Control Machine
application description
Task Manager
Application Manager
status and monitoringInfo. & results
Grid Node
Resource Management
System
results
tasks
status and monitoringInfo. & results
subgraphof tasks
monitoring info & results
Local Network
Submission Manager
subgraphof tasks
GRANDRepresentação da Aplicação e do DAG
Proposta de uma nova linguagem de descrição de aplicações GRID-ADL – Grid Application Description
Language maior flexibilidade no gerenciamento do grafo
não é necessário representar todas as tarefas em memória simultaneamente
construções similares a linguagens de script DAG descrito de forma implícita
GRANDDAG inference
Clustering
Mapping
Submission
Application Description
Directed Acyclic Graph (DAG)
Set of sub-DAGs (or clusters)
Allocation Decisions
Results
Etapas:
GRANDRepresentação da Aplicação e do DAG
DAG armazenado internamente como uma estrutura
em memória repetições (loops) ao invés de tarefas individuais
exportado em XML baseado em JSDL, linguagem padrão da GGF facilita uso por outras ferramentas útil para aplicações que serão executadas mais de
uma vez melhor para número não muito grande de tarefas
GRANDDAG inference
Clustering
Mapping
Submission
Application Description
Directed Acyclic Graph (DAG)
Set of sub-DAGs (or clusters)
Allocation Decisions
Results
Etapas:
GRANDDAG inference
Clustering
Mapping
Submission
Application Description
Directed Acyclic Graph (DAG)
Set of sub-DAGs (or clusters)
Allocation Decisions
Results
Etapas:
GRANDDAG inference
Clustering
Mapping
Submission
Application Description
Directed Acyclic Graph (DAG)
Set of sub-DAGs (or clusters)
Allocation Decisions
Results
Etapas:
GRAND
... ...
Cluster B
Network C
Cluster D
Network A
RMSTM
RMS
RMS
AM
TM
SM SM TM
TMTMRMS t
tt
tt
t
tTM
Resultados Experimentais
Protótipo implementado AppMan – Application Manager Java + JavaCC + Exehda
Resultados Experimentais
...
...
Cluster B
Network C
Cluster D
Network A
1AM
SM
SM
2SM
2
Web Server
3
...
...
Cluster B
Network C
Cluster D
Network A
1AM
SM
SM
SM
NFS 3
TM
TM
TT
4
T
T
4
Resultados Experimentais
Resultados Experimentais
Dois tipos de experimentos realizados: verificação do gerenciamento de recursos
comparação com o Condor verificação do gerenciamento de dados
avaliação do sistema com e sem otimizações
Resultados Experimentais Gerenciamento de recursos
AppMan implementa um escalonador que não utiliza informações dinâmicas do sistema
Objetivo do GRAND é usar RMS existente Implementação da submissão do AppMan
permite conduzir experimentos em redes locais sem RMS
Resultados Experimentais Gerenciamento de recursos
Resultados Experimentais Gerenciamento de recursos
Avaliação comparativa com Condor indica que um escalonamento menos sofisticado leva a um bom desempenho nos experimentos com tarefas de curta duração,
chegou a ser 5 vezes mais rápido devido ao número reduzido de máquinas, o
número de SM não influenciou significativamente os resultados
O protótipo implementa otimizações na busca dos arquivos de entrada somente busca arquivos que ainda não tenham
sido buscados cache nos SMs
Resultados Experimentais Gerenciamento de dados
Resultados Experimentais Gerenciamento de dados
Resultados Experimentais Gerenciamento de dados
Resultados Experimentais Gerenciamento de dados
Uso de otimizações simples na busca dos dados permitiram obter bom desempenho
Uso de cache no SM permitiu reduzir de 2 a 3 vezes o tempo total de execução
O custo de manutenção das informações não foi significativo
Conclusão
Proposta de um modelo arquitetural para aplicação com grande número de tarefas em
ambiente de grade gerenciamento distribuído de aplicações projeto e implementação como middleware
Conclusão Modelo
descrição de tarefas, DAG e clusters em XML extensão da linguagem JSDL útil para número não muito grande de tarefas
particionamento para distribuição da submissão e da execução em duas fases (clustering e mapping) flexibilidade
Protótipo aspectos de gerenciamento de recursos
até 5 vezes mais rápido do que o Condor para tarefas curtas aspectos de gerenciamento de dados
2 a 3 três vezes mais rápido com as otimizações na busca dos dados de entrada
Trabalhos Futuros
Aprimoramentos no AppMan otimizar estruturas de dados
Vinícius (UFRJ) integração com PBS e Condor
Éder e Rômulo (UFRGS) Avaliar outros algoritmos de particionamento
colaboração UFLA (Marluce) Monitoramento de recursos
Daniel (UNILASALLE)
Trabalhos Futuros
Outros temas se interesse Uso das informações de monitoramento nas
decisões de escalonamento Tratar aspectos de segurança Avaliar a possibilidade de usar o serviço GridFTP
para aumentar o desempenho no envio de arquivos
Implementar replicação de dados Permitir acesso a dados disponíveis em bancos
de dados
Conclusão
Algumas referências:VARGAS, Patrícia Kayser et al. Hierarchical Submission in a Grid
Environment. In: 3rd International Workshop on Middleware for Grid Computing (MGC 2005), November 28 -- December 2, 2005. Grenoble, France.
SANCHES, J. A. L., VARGAS, P. K., DUTRA, I. C., et al., Regs: user-level reliability in a grid environment, In: Cluster Computing and Grid 2005 (CCGRID 2005), (Cardiff, UK), May 9-12 2005.
VARGAS, Patrícia Kayser; DUTRA, Inês C.; GEYER, Cláudio F.R Application Partitioning and Hierarchical Management in Grid Environments. In: 1st International Middleware Doctoral Symposium (MDS 2004); October 19th, 2004. Toronto, Canadá, p. 314—318.
PEREIRA, Marluce R., VARGAS, Patrícia Kayser, FRANÇA, F. M. G. et al. Applying Scheduling by Edge Reversal to constraint partitioning. In The 15th Symposium on Computer Architecture and High Performance Computing (SBAC-PAD 2003), São Paulo, SP, November 10-12 2003.
GRAND – Premissas
Ambiente heterogêneo Um grande número de tarefas será
submetido As tarefas não se comunicam por troca de
mensagens Tarefas podem ter dependências com outras
tarefas devido a compartilhamento de arquivos
GRAND – Premissas
Um grande número de arquivos pode ser manipulado pelas tarefas
O ambiente de grade utilizado é seguro Cada nodo da grade possui o seu
gerenciador de recursos local Cada nodo da grade disponibiliza
informações sobre os recursos locais