sistemas distribuídos sistemas paralelos e de alto desempenho sistemas paralelos e de alto...

31
Sistemas Distribuídos Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

Upload: internet

Post on 16-Apr-2015

123 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

Sistemas DistribuídosSistemas Distribuídos

Sistemas Paralelos e de Alto DesempenhoSistemas Paralelos e de Alto Desempenho

Page 2: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos

O que são Sistemas Paralelos?

MÁQUINAS PARALELAS

“É um conjunto de processadores que é capaz de trabalhar cooperativamente para resolver um problema computacional” (FOSTER, 1995) "Máquinas Paralelas é um conjunto de processadores que se comunicam e cooperam para a resolução de um problema de grande porte” (Almasi e Gottelib ,1989)

IntroduçãoIntrodução

Page 3: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos

O que são Sistemas Paralelos?

PROCESSAMENTO PARALELO

“O principal propósito de processamento paralelo é realizar computação mais rápida do que pode ser feita com um único processador, usando mais do que um processadores concorrentes” (JaJa, 1992)

O processamento paralelo pode ser definido como “uma forma eficiente de processamento da informação com ênfase na exploração de eventos concorrentes no processo computacional” Hwang

PROGRAMAÇÃO PARALELA“Programação paralela implica em dividir problemas em partes nas quais processadores realizam a computação.” (WILKINSON e ALLEN, 1999)

Sistemas ParalelosSistemas Paralelos

Page 4: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

Principais características

SSistemas Distribuídosistemas Distribuídos

Sistemas com mais do que uma unidade de processamento(processador)

Unidades trabalham em paralelo para resolver um problema

Maquinas paralelas caracterizam-se por custo elevado e/ou dificuldade de programação;

Custo pode ser diminuído a partir do entendimento das alternativas de construção de máquinas paralelas, possibilitando uma arquitetura mais acessível que obtenha o desempenho desejado;Necessidade de conhecimento de características específicas da máquina para a qual serão implementados as aplicações paralelas aumentam a complexidade no desenvolvimento de programas.

Sistemas ParalelosSistemas Paralelos

Page 5: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

Diferenças Paralela x Distribuída

SSistemas Distribuídosistemas Distribuídos

• Paralela• "fortemente" conectada• construída com esse objetivo• comunicação, sistema operacional• Ex.: Massive Parallel Processors (MPP)• Ex.: clusters de estações de trabalho (COW)• Clusters de PC’s

• Distribuída• coleção de máquinas que trabalham em conjunto• fortemente dependentes da rede• heterogêneas (proc., sistemas operacionais,...)• Ex.: Metacomputing (grid), redes, ciclos osciosos

Sistemas ParalelosSistemas Paralelos

Page 6: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

Cluster

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Definição

• Conjunto de nós autônomos ligados por redes de alta velocidade

• Conexão: redes Myrinet, SCI, padrão Ethernet e Infiniband

• Problemas: Gerenciamento da arquitetura, software e política de alocação de nós.

Ex.: Beowulf, Dell, CGI

Page 7: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

Grid

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Definições

“Colaboração entre, geralmente pequenos, bem conectados grupos de usuários com os mais diversos recursos para compartilhar.” (Jon Crowcroft, em The Grid2, 2004)

“Uma infraestrutura de software e hardware para a integração de recursos computacionais, instrumentos científicos, dados e pessoas geograficamente dispersas de modo a formar um ambiente colaborativo de trabalho.” (FOSTER, 2004)

Page 8: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

Questões

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

• Quantos processadores ?• Qual a potência de cada processador ?• Como eles cooperam ?• Como os dados são transmitidos ?• Qual o desempenho ?• Escalável ? ( processadores x tamanho)

Page 9: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

Classificações - Taxonomias

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

• Existem diversas classificações propostas para as arquiteturas de máquinas, como a de Feng - que é baseada no processamento série versus paralelo, a de Handler que determina o grau de paralelismo e pipeline em vários níveis, a classificação quanto ao compartilhamento de memória e a classificação de Flynn, quanto à multiplicidade do fluxo de dados e instruções.

Page 10: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

Taxonomias de Flynn

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

• Propõe quatro categorias de máquinas:• SISD, SIMD, MISD, MIMD

• A execução de um conjunto de instruções sobre um conjunto de dados é a principal tópico de processo de um computador.

• Fluxo, é uma seqüência de instruções ou dados executados num único processador; • fluxo de instruções, é uma seqüência de instruções

executados por uma máquina;• fluxo de dados é uma seqüência de dados, inclusive de

entrada, resultados parciais e intermediários, utilizados pelo fluxo de instruções.

Page 11: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SD (Single Data) MD (Multiple Data)

SI (Single Instruction)

SISD Máquinas Von

Neumann convencionais

SIMD Máquinas Array (CM-2,

MasPar)

MI (Multiple Instruction)

MISD Sem representante

(até agora)

MIMD Multiprocessadores,

multicomputadores (nCUBE, Intel Paragon, Cray T3D)

Taxonomias de Flynn

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Page 12: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

• SISD - Single instruction stream - Single Data Stream

• Baseadas nos princípios de Von Neumann. As instruções são executadas seqüencialmente, mas podem ser sobrepostas nos seus estágios de execução (pipeline).

• Exemplos: Microcomputadores pessoais e estações de trabalho

C P Mfluxo de instruções

fluxo de dados

O fluxo de instrução (--->) alimentauma unidade de controle (C) que ativa a CPU (P), que atua sobre um único fluxo de dados (- ->) lido, pro-cessado e reescrito na memória (M).

Taxonomias de Flynn -SISD

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Page 13: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

• SIMD - Single instruction stream - Multiple Data Stream

• Arquitetura paralela onde uma única instrução, através de uma unidade de controle, executa de forma síncrona sobre um conjunto de dados diferentes, distribuídos ao longo de processadores elementares.

• Ex.: arquiteturas matriciais como CM-2 e MasPar.

fluxo de instruções

fluxo de dados

Unidade de controle (C) única, alimentada por um fluxo de instruções (--->). A mesma instrução é enviada para as diversas CPUs (P)executando em paralelo sobre diferentes fluxosde dados (- ->).Obs.: Unidade de memória não pode ser implementada como um único módulo, o que comprometeria o modelo à uma operação por vez.

C P M

P

P

... ...

M

M

Taxonomias de Flynn - SIMD

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Page 14: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

• MISD - Multiple instruction stream - Single Data Stream

• Múltiplos fluxos de instruções atuando sobre um único fluxo de dados;

• Diferentes instruções operam a mesma posição de memória ao mesmo tempo, executando instruções diferentes;

• Não faz sentido, além de ser impraticável tecnicamente.

fluxo de instruções

fluxo de dados

Múltiplas unidades de processamento (P), cadauma com sua própria unidade de controle (C),recebendo um fluxo de instruções (--->) diferente, executadas sobre um mesmo fluxo de dados. C P M

P

P

... ...

M

MC

C

...

Taxonomias de Flynn - MISD

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Page 15: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

• MIMD - Multiple instruction stream - Multiple Data Stream• Multiplos fluxos de instruções atuando sobre múltiplos fluxos de dados;

• Cada processador executa seu próprio programa sobre seus próprios dados, de forma assícrona;

• EX.: Dual e quad, redes de estações, nCUBE, Intel paragon e Cray T3D;

fluxo de instruções

fluxo de dados

Cada unidade de controle (C) recebe um fluxo de instruções (--->) próprio e repassa para a unidade processadora (P), para que seja executado sobre um fluxo de dados (--->) próprio.

C P M

P

P

... ...

M

MC

C

...

Taxonomias de Flynn - MIMD

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Page 16: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos

Programação seqüencial

•Especificação da tarefaTextual, “na cabeça”, equações ...

•Codificação da tarefaNuma linguagem de programação (por ex. C,

Java, ...)• Execução num processador

Programa é executado num computador com umprocessador

Sistemas ParalelosSistemas Paralelos

Page 17: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos

Programação Paralela

Além das tarefas da programação seqüencial:

•Decomposição da tarefa em sub-tarefas

• Análise de dependências entre as sub-tarefas

• Mapeamento espacial e temporal (scheduling) das sub-tarefas para os recursos do sistema paralelo

Sistemas ParalelosSistemas Paralelos

Page 18: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos

Programação Paralela

Sistemas ParalelosSistemas Paralelos

Page 19: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos

Programação Paralela

Sistemas ParalelosSistemas Paralelos

•Identificação de sub-tarefas/decomposição em sub-tarefas

• Análise de dependências entreas sub-tarefas

Page 20: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos

Programação Paralela

Sistemas ParalelosSistemas Paralelos

Page 21: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Programação Paralela

Page 22: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Porque da Computação de alto Desempenho ?

Modelagem de problemas reais

• Difícil o uso de modelos analíticos• sujeitos a simplificações• de difícil solução

• Métodos experimentais• modelos em escala reduzida

• distância entre os átomos não pode ser reduzida• técnicas não destrutivas (biológicos)• para medir pertuba-se o experimento• custo dos laboratórios• perigo (biológicos e químicos)

Page 23: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Sistema Requerido

Page 24: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

“A união faz a força”

Page 25: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Aplicações

•Modelagem Multi-Escala;•Modelagem Estocástica;•Mecânica dos Fluidos Computacionais;•Interação Fluido-Estrutura;•Otimização e Analise de Sensibilidade na caracterização de propriedades, calibração e assimilação de dados fisiológicos e depropriedades de tecidos vivos;•Banco de Dados e Mineração de Dados Distribuídos;•Visualização Cientifica e Reconstrução de Imagens;•Redes e Comunicação;•Modelagem Climática;

Page 26: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Alguns Projetos em andamento ou finalizados

•SIMEGRID: Simulações em Grid - Projeto financiado pelo CNPq(Edital CT-INFO “Desafios da Computação”) e coordenado pelo Prof.Bruno Schulze

• GT VCG: Grupo de Trabalho - Virtual Community Grid – Primeirae Segunda fase. Projeto financiado pela RNP – Rede Nacional deEnsino e Pesquisa e coordenado pelo Prof. Bruno Schulze

• Middleware para Computação em Grade. Projeto financiado peloCNPq e coordenado pelo Prof. Bruno Schulze.

• Integridade: Desenvolvimentos em Middleware para GridsComputacionais na Rede Giga. Projeto financiado pela FINEP,FUNTTEL e RNP, e coordenado pelo Prof. Bruno Schulze

Page 27: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Alguns Projetos em andamento ou finalizados

• INAUGRID: Interfaces de Aplicações no Uso de Grids. Projetofinanciado pela CNPq e coordenado pelo Prof. Bruno Schulze.

• METRICA - METRologia na Internet para Caracterização de tráfego.Projeto financiado pelo CNPq e coordenado pelo Prof. Artur Zivianienvolvendo inclusive a empresa Quatra Telecomunicações eInformática - QUATRA TELECOM.

• Redes de Nova Geração: Tecnologias Estratégicas de Comunicação.Projeto financiado pela FAPERJ.

• METRICOM-Metrologia na Internet e Comunicação Móvel. Projetofinanciado pelo CNPq e coordenado pelo Prof. Artur Ziviani.

Page 28: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Alguns Projetos em andamento ou finalizados

• Metrologia de Redes Aplicada a Grades ComputacionaisConvencionais e sem Fio. Projeto financiado pela FAPERJ eCoordenado pelo Prof. Artur Ziviani.

• ACiMA - Ambientes Colaborativos e Multimídia Aplicada. Projetofinanciado por CAPES, CNPq, FINEP, FUNTTEL e RNP-RedeNacional de Ensino e Pesquisa. Coordenado pelo Prof. JauvaneCavalcante de Oliveira envolvendo pesquisadores do LNCC e doInstituto Militar de Engenharia - IME

• EnCIMA - Um Motor Gráfico para Aplicações MultimídiaColaborativas e Imersivas. Projeto financiado pela FAPERJ ecoordenado pelo Prof. Jauvane Cavalcante de Oliveira envolvendopesquisadores do LNCC e do Instituto Militar de Engenharia – IME.

Page 29: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Alguns Projetos em andamento ou finalizados

• GIGA-AVICOM: Ambientes Virtuais Colaborativos Massivos narede GIGA. Projeto financiado por CAPES, FINEP, FUNTTEL eRNP-Rede Nacional de Ensino e Pesquisa. Coordenado pelo Prof.Jauvane Cavalcante de Oliveira

• Ambientes Virtuais Colaborativos de Grande Escala. Projetofinanciado pelo CNPq e coordenado pelo Prof. Jauvane Cavalcantede Oliveira.

• Sistemas Computacionais para Reconstrução de SuperfíciesTraumáticas e Previsibilidade de Resultados para Manufatura dePróteses Craniofaciais. Projeto financiado pelo CNPq e coordenadopelo Prof. Gilson Antônio Giraldi envolvendo pesquisadores daUniversidade Estadual e Federal de São Paulo em São Carlos dentreoutras instituições..

Page 30: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos Sistemas ParalelosSistemas Paralelos

Alguns Projetos em andamento ou finalizados

• Inovação Tecnológica na Modelagem Computacional do SistemaCardiovascular Humano. Projeto financiado pelo CNPq ecoordenado pelo Prof. Raúl A. Feijóo envolvendo pesquisadores deinstituições tais como InCor – Instituto do Coração do Hospital dasClinicas, Faculdade de Medicina da USP (HC FMUSP),Departamento de Cardiologia, Faculdade de Medicina da UFRJ..

Page 31: Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho Sistemas Paralelos e de Alto Desempenho

SSistemas Distribuídosistemas Distribuídos IntroduçãoIntrodução

Silva, Renato (2003) “Computação de Alto Desempenho - Clusters de PCs”.

Tanenmabum, Andrew S. (2003). “Sistemas Operacionais Modernos”, Pearson / Prentice Hall, 2ª Edição, pp 1-707. ISBN 85-87918-57-5.

Oliver Sinnen (2000) “Sistemas de Processamento Paralelo:Programação e Scheduling”.

Palestra(2000) “ Arquiteturas Não-Convencionais Introdução e conceitos “, Centro Univeritário la Salle

Referências