Grid Computing Simulation Jefferson Amorim Matheus Levi Pedro Corrêa Péricles Miranda Contexto Histórico • Proliferação da internet; • Disponibilidade de computadores poderosos; • Redes de alta velocidade; Mudança na forma como se faz computação distribuída e paralela. Contexto Histórico • Avanço -> Redes de computadores como um computador, unificando recursos computacionais. (Cluster) • 1990 surge uma infra-estrutura de acesso a recursos distribuídos (geograficamente) capaz de solucionar problemas em larga escala. (Grid) • Cloud Computing Conceito Grids Computacionais são infra-estruturas de hardware e software que permitem o compartilhamento, seleção e agregação de recursos “autônomos” distribuídos, em tempo de execução, dependendo de sua disponibilidade, capacidade, performance, custo e exigência de QoS. Alto Nível Benefícios • Compartilhamento coordenado de recursos; • Solução de problemas multi-institucionais; • Usuário acessa recursos, globalmente distribuídos, com facilidade; • Melhora da produtividade com tempo de processamento reduzido; • Liberação de recursos extras caso necessário; • Infra-estrutura flexível; • Controle de recursos, evitando-se desperdício; • QoS; • Esforço de administração reduzido, devido a sua modularização. Dificuldades Segurança Autoridade e prioridade sobre recursos Proprietários e usuários Latência de comunicação na internet O que pode ser acessado? Quem pode acessar? Troca de informações Criação de políticas de escalonamento Arquitetura do Grid • SOA e WS são bastante utilizados na construção do middleware e aplicações. • Arquitetura dividida em 4 camadas: – Fabric – Core Middleware – User-Level Middleware – Applications Arquitetura do Grid Fabric • • • • Computadores de baixo e alto recursos; Estrutura de rede; Instrumentos científicos; Sistemas de gerenciamento de recursos. Arquitetura do Grid Core Middleware • Serviços de segurança para acesso remoto de recursos; • Gerenciamento de acesso e segurança; • Submissão de trabalhos de forma remota; • Armazenamento; • Informação de recursos. Arquitetura do Grid User-Level Middleware • Provê ferramentas de mais alto nível: – Resource brokers; – Ambiente de desenvolvimento de aplicações; Arquitetura do Grid Applications • Construídas com uso de bibliotecas específicas do Grid; • Aplicações legadas que podem ser adaptadas usandose User-Level Middleware. • Diversas aplicações: – – – – – – Diagnóstico de engine aérea; Engenharia contra abalos sísmicos; Bioinformática; Descoberta de novas drogas; Análise de imagens digitais; Jogos multi-player. Tipos de Grid • Computational Grid – Poder computacional de diversos computadores distribuídos; • Data Grid – Gerenciamento de dados, provendo acesso, integração e processamento distribuído; Tipos de Grid • Application Service Provisioning – Provê acesso à aplicações, módulos e bibliotecas remotas, hospedadas em data centers e CG; • Interaction Grid – Interação e visualização participantes. colaborativa entre Tipos de Grid • Knowledge Grid – Aquisição, processamento, gerenciamento de conhecimento, provendo serviços de análise orientado à data mining. • Utility Grid – Poder computacional, dados, serviços para usuários finais, negociação de QoS, estabelecimento e gerenciamento de contratos; gerenciamento e alocação de recursos. Tipos de Grid • Camada de serviços onde a camada acima utiliza os serviços da camada abaixo. Características • Recursos Heterogêneos • Vários sistemas operacionais • Aplicações com exigências diversas Recursos e Usuários finais • Possuem necessidades, objetivos e demandas diferentes • Separados geograficamente • Possuem fuso horários diferentes Tipo de gerenciamento • • • • Centralizado Hierárquico Descentralizado Combinação dos demais Limitações e Potenciais • Real – É caro e trabalhoso montar um sistema em grid – Difícil criar um ambiente controlado e repetível • Simulado – Não precisa fazer analises desnecessárias – Evita sobrecarga de coordenação dos recursos reais – Eficaz em grandes problemas hipotéticos. Comparativo Comparativo Ferramentas de Simulação de Grids Funcionalidades Modelagem de recursos computacionais heterogêneos Armazenamento de informações sobre os recursos disponíveis Especificação de uma topologia de rede arbitrária a ser simulada Poucas ferramentas disponíveis Ferramentas de Simulação de Grids OptorSim Imita estrutura de uma Grid de Dados Analisa efeitos da replicação e otimização de dados Incorpora modelos econômicos empresariais Ponto negativo: tipo de Grid restritivo SimGrid Simula aplicações agendadas Modelagem de recursos com time-share Ferramentas de Simulação de Grids MicroGrid Criado a partir do Globus, software de criação de Grids Emula o funcionamento de Grids criadas no Globus Resultados próximos aos reais Ponto negativo: conhecimento prévio do Globus GangSim Análise de carga de utilização e tarefas agendadas Técnicas de simulação discreta Modela Grids reais para testes de escalonamento Ferramentas de Simulação de Grids GridSim Desenvolvido pela Universidade de Melbourne Suporta vários tipos de Grids Simula carga de utilização Replicação de dados Reserva de recursos GridSim Toolkit • Plataforma de software de código aberto • Permite aos usuários simular um modelo de Grid – Características dos recursos – Redes com configurações diferentes • Permite testar novos algoritmos e estratégias de Grid em um ambiente controlado • Realiza experimentos que não são possíveis de serem executados em um ambiente de Grid dinâmica real. GridSim Toolkit • Características: – Simulação de traços de carga real de trabalho – Interfaces bem definidas para implementação de algoritmos de alocação – Permite a modelagem de diferentes características dos recursos, além de suas propriedades de falha GridSim Toolkit • Arquitetura: – Multicamada • Facilmente extensível – Utiliza o SimJava • Pacote de simulação de eventos discretos de propósitos gerais. GridSim Toolkit • Arquitetura: GridSim Toolkit • Extensões: – Grid Scheduling SIMulator (GSSIM) – Grid Network Buffer (GNB) – Alea Grid Simulator – Grid Agents Platforms (GAP) – Web-based Grid Scheduling Platform (WGridSP) GridSim Toolkit • Largamente utilizado e estendido por pesquisadores – Investigação de alocação de recursos em clusters baseados em SLA – Coordenação de recursos provenientes de Grids federados – Escalonamento de dados e workflows de Grids GridSim Toolkit GridSim Toolkit Estudos de caso GridSim Toolkit • Meta-escalonadores para Business Grids – IBM India Research Lab – Data replication and Execution CO-scheduling (DECO) • Escalona os dados e os jobs para os recursos selecionados de acordo com uma SLA do usuário GridSim Toolkit GridSim Toolkit • Aplicações paralelas em CrossGrid – University of Santiago (Espanha) – Comparação de vários algoritmos de escalonamento e simulação de um CrossGrid – Utilizou-se parâmetros de testbed de Grid real GridSim Toolkit GridSim Toolkit • Escalonamento de storage-aware workflow – University of Southern California – Otimizar a utilização dos discos ao escalonar grandes workflows que manipulam dados em recursos distribuídos – Utilizou-se o workflow Laser Interferometer Gravitational Wave Observatory (LIGO) GridSim Toolkit Conclusão • As ferramentas de simulação de Grid concedem diversos benefícios – Possibilidade de repetir experimentos em Grids dinâmicos – Simular novas estratégias e técnicas utilizadas em Grids a um baixo custo Referências • Artigo: “SIMULATION OF GRID COMPUTING INFRASTRUCTURE: CHALLENGES AND SOLUTIONS ”, submetido por Sugato Bagchi para a Conferência Proceedings of the 2005 Winter Simulation. • Artigo: “Service and Utility Oriented Distributed Computing Systems: Challenges and Opportunities for Modeling and Simulation Communities”, escrito por Rajkumar Buyya e Anthony Sulistio. • Artigo: “GridSim: a toolkit for the modeling and simulation of distributed resource management and scheduling for Grid computing”, submetido por Rajkumar Buyya e Manzur Murshed. • Monografia de Lilian Felix de Oliveira com o tema “Ferramenta para Simulação de Escalonamento em Grids Computacionais ”. Obrigado!