Computação de Alta Perfomance com Software Livre (Clusters)



Documentos relacionados
Introdução a Computação Paralela e a Montagem de Clusters.

Sistemas Operacionais

Resumo. Introdução Cluster Cluster Beowulf Curiosidades Conclução

Introdução às arquiteturas paralelas e taxonomia de Flynn

Arquitetura NUMA 1. Daniel de Angelis Cordeiro. INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede

Cluster HPC High Performance Computing.

Supercomputadores dominavam o mercado

Sistemas Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN

Tipos de Sistemas Distribuídos (Cluster e Grid)

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Programação Paralela

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Comparação SDs X Scs

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

Sistemas Operacionais. Prof. André Y. Kusumoto

Máquinas Multiníveis

Organização e Arquitetura de Computadores I. de Computadores

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação

ALGORÍTMOS PARALELOS (Aula 2) LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters

SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa

Everson Scherrer Borges João Paulo de Brito Gonçalves

Projetos I Resumo de TCC. Luiz Rogério Batista De Pieri Mat:

Sistemas Distribuídos

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

Palavras-chave Cluster; Beowulf; OpenMosix; MPI; PVM.

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

29/3/2011. Primeira unidade de execução (pipe U): unidade de processamento completa, capaz de processar qualquer instrução;

Sistemas Operacionais

Ricardo Gonçalves 2013/2014. Arquitecturas Multicore

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Desenvolvimento de um Cluster de Alto Desempenho com PVM

Aula 26: Arquiteturas RISC vs. CISC

Servidores Soluções de Servidores Itautec. Sua empresa nunca vai sair do ar.

EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS

Sistemas Operacionais Introdução. Professora: Michelle Nery

PROCESSAMENTO DE DADOS 15/08

Programação Concorrente Processos e Threads

Computação Heterogênea Programação paralela, clusters e GPUs

Sistemas Operacionais

Noções básicas de Informática: Software

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

Computação Distribuída de Alto Desempenho. Marcelo Giovani M Souza mgm@cbpf.br

Sistemas Operacionais

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

7 Processamento Paralelo

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

INFORMÁTICA BÁSICA AULA 02. Docente: Éberton da Silva Marinho

ESCOLA SUPERIOR ABERTA DO BRASIL ESAB CURSO DE ESPECIALIZAÇÃO EM REDES DE COMPUTADORES DANIEL VAHID LIMA TOLOUEI

Aula 2. Objetivo: Saber qual a funcionalidade de um sistema operacional de rede.

Processamento Distribuído em Cluster do Tipo Beowulf

Sistema Operacional Correção - Exercício de Revisão

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Sistemas Operacionais 1/66

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

Capítulo 8 Arquitetura de Computadores Paralelos

CLUSTER WEB RESUMO. Palavras-Chave: Cluster Web. Servidores Web. OpenMosix. MigShm.

Sistemas Distribuídos Conceitos HW e SW. Edeyson Andrade Gomes

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Componentes de um Sistema de Computador

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1)

Prof. Samuel Henrique Bucke Brito

Material 5 Administração de Recursos de HW e SW. Prof. Edson Ceroni

7.Conclusão e Trabalhos Futuros

Arquitetura e Organização de Computadores


SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Windows 2008 Server. Windows 2008 Server IFSP Boituva Prof. Sérgio Augusto Godoy.

Sistemas Operacionais

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

Administração de Sistemas de Armazenamento Linux. Rodrigo Caetano Filgueira

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla

A consolidação de servidores traz uma séria de vantagens, como por exemplo:

Profs. Deja e Andrei

Sistemas Operacionais. Conceitos de um Sistema Operacional

Computação de Alto Desempenho uma pequena introdução

Agenda. Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão

Introdução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?

Conteúdo 1 Comandos Básicos. Questão 1: Que comando permite encerrar o sistema definitivamente?

SISTEMAS OPERACIONAIS

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

Professores: Aula 10. Lúcia M. A. Drummond Simone de Lima Martins. Conteúdo: Arquiteturas Avançadas. - Arquiteturas RISC - Processamento Paralelo

Processamento Paralelo

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AO PARALELISMO: PROCESSADORES SUPERESCALARES. Prof. Dr. Daniel Caetano

MARCELO AUGUSTO OMOTO

Transcrição:

Computação de Alta Perfomance com Software Livre (Clusters) 3º Seminário de Tecnologia da Informação UCSal Marcelo Soares Souza (marcelo@cebacad.net) CEBACAD Centro Baiano de Computação de alto Desempenho

Computação de Alta Perfomance com Software Livre (Clusters) Snowflakes are one of nature's most fragile things, but just look at what they can do when they stick together. (Verna M Kelly) - Computação Paralela - Máquinas Paralelas Virtuais - Algumas tecnologias Livres para HPC

Computação Paralela - Refere-se ao aumento de velocidade na execução (processamento) de um programa atráves da divisão deste fragmentos. - Obtenção de alta perfomance através da cooperação de processadores na execução simultânea de tarefas. - Necessária em áreas de computação intensiva, tratamento de informações e manipulação de grande volume de dados.

Computação Paralela - Alguns dos grandes Desafios (Grand Challenge) para a computação de alta perfomance * Applied Fluid Dynamics * Ecosystem Simulations * Biomedical Imaging and Biomechanics * Molecular Biology * Molecular Design and Process Optimization * Nuclear power and weapons simulations - Executando uma tarefa dividida entre vários processadores se conseguirá executa-la muito mais rápidamente. (DIETZ, 2000)

Computação Paralela - Taxonomia de Flynn: Classificação de Arquiteturas de Computadores baseado no número de streams (fluxo) de instruções e dados: - Single instruction/single data stream (SISD) Computador convencional Sequencial. - Multiple instruction/single data stream (MISD) Não utilizado. - Single instruction/multiple data streams (SIMD) Processadores Vetoriais e/ou Instruções MMX, SSE, SSE2 e etc. - Multiple instruction/multiple data streams (MIMD) Multiplos processadores autonomos processando diferentes instruções em diferentes dados (Computadores Paralelos/Multiprocessados).

Computação Paralela

Computação Paralela - Computadores Multiprocessados Vs. Clusters. - Computadores Multiprocessados possuem memória compartilhada (Shared memory) ente os n- processadores atráves de um barramento dedicado e de alta velocidade. - Clusters possuem memória distribuida entre os n-nodes formadores do Cluster, interligadas atráves de um barramento dedicado ou não.

Computação Paralela - O conceito de Cluster se refere a um agrupamento de computadores, fracamente acoplados, trabalhando em conjunto. - A idéia foi originalmente desenvolvida pela DEC na década de 80. - n-computadores (n-nodes) interligados e compartilhando recursos possuem n-vezes mais poder computacional.

Computação Paralela - Clusters são construidos para High Perfomance Computing (HPC). - Clusters podem provê também estrutura para Tolerância a Falha (dependabilidade) em serviços de missão crítica. - A Construção de Clusters busca o melhor Custo X Beneficio.

Computação Paralela - Top 500 Supercomputers: http://www.top500.org/ - Cluster mais rápido do Mundo: IBM Blue Gene/L. 280.6 Tflops ou 286.6 trilhões de cálculos de ponto flutuante por segundo (2005). - Uso variado, indo desde calculos de envelhecimento de materiais, dinâmica das moléculas e instabilidade da hidrodinâmica e etc. - Consiste de 65,536 processadores PowerPC e sistema operacional GNU/Linux.

Computação Paralela

Máquinas Paralelas Virtuais - Computadores Paralelos Convencionais, tais como multiprocessados, possuem alto custo de aquisiçao e arquiteturas fechadas. - Uma das alternativa a estes sao as Máquinas Paralelas Virtuais (MPV), que são baseadas em Estações de trabalho, tambem conhecidas também como Cluster de COTS (Component Off the Shelf). - Utilizam de redes de computadores convencionais, locais e/ou remotas, como barramento de comunicação entre nodes.

Máquinas Paralelas Virtuais The Stone SouperComputer (155 nodes) http://stonesoup.esd.ornl.gov/

Máquinas Paralelas Virtuais - O Projeto Beowulf original foi desenvolvido para a computação de alta perfomance, utilizando de máquinas de baixo custo (Intel 486 DX4) interligadas atraves de um barramento nao dedicado (ethernet 10 mbs). - Originalmente desenvolvido (1993) por Donald Becker e Thomas Sterling nos laboratorios da NASA como solução a recursos escarsos. - Um cluster Beowulf é um agrupamento de PCs, rodando Sistemas Operacionais Livres (GNU/Linux). Utilizandose de uma rede Ethernet e de um middleware que permite a paralelização.

Algumas tecnologias Livres para HPC - Conforme aponta Merkey[1], dentros os diversos fatores que possibilitaram a evolução dos clusters de computadores estão a disponibilidade de sistemas operacionais sobre licença livre, como o GNU/Linux e de compiladores do projeto GNU (Merkey, 2004). - O modelo de desenvolvimento aberto tem beneficiado o rápido desenvolvimento de ferramentas para a construção de clusters de computadores, como é facilmente observado pelo crescente surgimento de soluções sobre licença livre.

Algumas tecnologias Livres para HPC - Duas formas se destacam para a construção e utilização de clusters baseados em estações de trabalhos. - SSI (Single-system image). Onde o Cluster é visto, de maneira transparente, como uma única máquina de grande porte. - MPI (Message Passing Interface). Onde as aplicações são codificadas explicitamente, de forma paralela, para a resolução de dado problema computacional.

Algumas tecnologias Livres para HPC - Soluções para clusters Beowulf geralmente são codificadas explicitamente atráves de uma biblioteca de troca de mensagem. - O padrão para troca de mensagem em clusters de computadores é o MPI (Message Parsing Interface). Este padrão é implementado na forma de uma Biblioteca para a construção de Softwares que paralelizem o processamento. - Ainda é a Solução mais estudada e difundida, permite explorar e desenvolver o conhecimento sobre paralelização da computo. - Implementação livres do Padrão MPI: mpich, lam/mpi, ft-mpi, openmpi e etc.

Algumas tecnologias Livres para HPC MPIPov Renderização de imagem atráves de troca de mensagem

Algumas tecnologias Livres para HPC MPIPov 150 140 130 120 110 100 90 80 70 60 50 40 30 20 10 0 Tempo (segundos) Amd Opteron 250 (2400 Mhz) 72 x Amd Athlon XP (2000 Mhz) 82 x Intel Xeon (2800 Mhz)

Algumas tecnologias Livres para HPC - O alto custo de desenvolvimento ou adequação de soluções, de forma paralela, comerciais e cientificas existentes dificulta ou impossibilita o uso de Troca de Mensagem. - A forma SSI oferece uma solução transparente ao usuário sem necessidade de alteração em códigofonte de qualquer aplicativo.

Algumas tecnologias Livres para HPC - SSI permite a virtualização de processos de maneira transparente ao usuário. Se assemelha a um sistema multiprocessado. - As principais preocupações do modelo SSI é provê disponibilidade, escalabilidade e manutenbilidade. - Single root, cluster filesystems, single process space and process migration, load leveling, single and shared IPC space, device space and networking space, and single management space.

Algumas tecnologias Livres para HPC - Tecnologias SSI Livre * Amoeba (MicroKernel) * Bproc (Extensão kernel Linux) * DragonFly BSD * Kerrighed (Extensão kernel Linux) * OpenMosix (Extensão kernel Linux) * Nomad (Extensão kernel Linux) * OpenSSI (Extensão kernel Linux)

Algumas tecnologias Livres para HPC - openmosix. Fork (2002) do projeto MOSIX da Universidade de Israel. - Implementado em forma de patch no Kernel do Sistema Operacional Linux. - Uma máquina pode se juntar ou sair do cluster a qualquer momento. O openmosix tenta continuamente otimizar o alocamento de recursos existentes.

Algumas tecnologias Livres para HPC - Migração Transparente dos Processos do user-space do nó pai (local) para o kernel-space do nó remoto. Não é visivel atráves de ferramentas de controle de processo (ps, top ou outros) - Uso de Algoritmo de Balanceamento de Carga (Load Balance) baseado em lógica do Mercado Financeiro (Menor custo).

Algumas tecnologias Livres para HPC - Um Cluster openmosix comporta-se como um sistema multiprocessado distribuindo processos entre os nós do cluster. - Não possibilita a migração de Processos com Memória Compartilhada e/ou ou que possua Multi- Thread. - Processo tem seu mapa de memória destruido e as páginas relacionadas ao nó original recriado no nó remoto.

Algumas tecnologias Livres para HPC - migshm é um patch ao openmosix Kernel que possibilita a migração de alguns procesos que utilizam de áreas de memória compartilhada. - Possibilita à migração de processos, tais como Web Servers, Sistemas Gerenciadores de Banco de Dados e outros. - Barramento de comunicação tem forte influência na perfomance geral de um Cluster de Computadores.

Algumas tecnologias Livres para HPC Teste de Perfomance Apache Web Server openmosix + migshm

CEBACAD E-Mail: marcelo@cebacad.net http://marcelo.cebacad.net http://www.cebacad.net