49
Paralelismo, ferramentas e aplicaçõ es 03/maio/2002 Transparência 1/49 Paralelismo, ferramentas e aplicações Celso Carneiro Ribeiro Noemi Rodriguez Sérgio Lifschitz Seminário DI/PUC-Rio Maio de 2002

Paralelismo: evolução

  • Upload
    yehuda

  • View
    63

  • Download
    0

Embed Size (px)

DESCRIPTION

Paralelismo, ferramentas e aplicações Celso Carneiro Ribeiro Noemi Rodriguez Sérgio Lifschitz Seminário DI/PUC-Rio Maio de 2002. Paralelismo: evolução. Anos 70: primeiras máquinas paralelas - Illiac IV, 64 processadores) - PowerPoint PPT Presentation

Citation preview

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 1/49

Paralelismo, ferramentas e aplicações

Celso Carneiro RibeiroNoemi RodriguezSérgio Lifschitz

Seminário DI/PUC-RioMaio de 2002

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 2/49

Paralelismo: evolução

•Anos 70: primeiras máquinas paralelas - Illiac IV, 64 processadores)

•Anos 80: aparecimento em escala comercial de máquinas paralelas e vetoriais voltadas para aplicações científicas de grande porte (meteorologia, petróleo, etc.) – Cray, CDC Cyber

•Diversificação de arquiteturas:SIMD vs. MIMDMemória compartilhada (SM) vs. distribuída (DM)Redes de interconexão (anel, cubo, mesh,

shuffle, etc.)

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 3/49

Paralelismo: evolução

•Diversificação de fabricantes:Denelcor HEP (DM-MIMD, poucos processadores)Sequent Balance, Encore Multimax (SM-MIMD,

poucos processadores)KSR Intel Paragon, Cray T3D (DM-MIMD,

centenas-milhares de processadores)MasPar MP-1 e MP-2, Connection Machine CM-1

e CM-2 (SIMD síncronas com até 65536 pequenos procs.)

•Custos de desenvolvimento, pequena escala, falta de padrões, dificuldades de programação: desaparecimento

•Poucos “sobreviventes”: IBM (sistemas SP), SGI-Cray

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 4/49

Paralelismo: evolução

•Final dos anos 90 e hoje:Reaparecimento de multiprocessadores

a memória compartilhada com até algumas centenas de processadores (SGI Origin)

Clusters de máquinas conectadas por redes locais rápidas (escalabilidade, tolerância a falhas, economias de escala, bons índices de custo/benefício)

Conexão de múltiplas máquinas através de redes nacionais ou internacionais de velocidade muito alta

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 5/49

Clusters

•Coleção de PCs ou estações de trabalho conectadas por uma rede:Componentes comerciais regulares

facilmente disponíveisSistemas operacionais de domínio público

(Linux)Redes comuns (Ethernet, Fast Ethernet)

ou mais rápidas (Myrinet)Ambientes padrão de software baseados

em trocas de mensagens (PVM, MPI) •“Beowulf clusters” com alguns milhares

de processadores encontram-se entre as máquinas com maior capacidade de processamento atualmente disponíveis

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 6/49

Grid computing

•Enfoque para distribuição de capacidade de processamento: Internet + alto desempenho

•Diferentes realizações: grid computing, P2P, metacomputing, web, Internet computing, global computing, web services, etc.

•Sistemas distribuídos: “um sistema distribuído é uma coleção de computadores independentes que aparecem para o usuário como um computador único” (Tanenbaum)

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 7/49

Grid computing

•Princípios: Internet computing: reaproveitamento do

tempo ocioso de milhares de processadores através de um screen-saver (uso não-comercial: SETI@home, Décrypthon)

Metacomputing: comprar serviços de cálculo (aplicações pré-instaladas e computadores) sobre a Internet

Supercomputador virtual: oferecer um supercomputador paralelo virtual fazendo as aplicações executarem sobre processadores distantes (Globus, Legion, Unicore)

•Resultados práticos e aplicações

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 8/49

LabPar - Laboratório de Paralelismo

•Configuração do atual cluster do DI: 32 Pentium II 450 Mhz (32 MB RAM e 6.3 GB HD) Switch a 10 MbitsLinux / MPI e PVM / C, C++ e Java

•Com a criação do Laboratório de Paralelismo: Expansão para um cluster heterogêneo com 64

nós: mais 32 Pentium IV 1.7 Ghz (256 MB RAM e 40 GB HD)

Subredes a diferentes velocidades: 10/100 Mbits•SGI Origin 2 e cerca de 10 novos postos de

trabalho para pós-graduandos•Ferramentas e instalações para grid

computing

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 9/49

Paralelismo: problemas típicos

•Ferramentas e linguagens de programação

•Comunicação e redes•Balanceamento de carga•Gerenciamento de recursos•Confiabilidade•Algoritmos para processamento

paralelo

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 10/49

Programação Paralela Distribuída

Noemi Rodriguez

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 11/49

Sistemas distribuídos

• importância atualcrescimento de uso com ambiente de redes

geográficasforma de baixo custo de provisão de paralelismo

•modelos de programaçãocliente-servidor, peer-to-peer, orientação a

eventos, ...•programas distribuídos por diferentes

arquiteturas•gerenciamento de distribuição por várias

máquinas»gerenciamento de recursos»adaptação dinâmica

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 12/49

Ferramentas para programação

•bibliotecas de troca de mensagensMPI, PVM

•"bibliotecas" para programação concorrentepthreads

•linguagens para programação distribuídaabstrações de mais alto nível

•linguagens interpretadasLua

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 13/49

alua

•uso de um paradigma orientado a eventos

•envio explícito estilo send•recebimento gera evento • tratamento: execução do trecho recebido•modelo de programação dual:

coordenação em Luacomputação em C

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 14/49

Troca de mensagens

send(B,"a=1"

)

A B

send(B,"send(A,'a='..a)") send(A,'a='..a)

A B

a=1

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 15/49

alua multicanal

•eventos podem ter tratamento diferente em cada canal

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 16/49

alua

•envio de código permite alterar o comportamento da aplicação em tempo real

•modelo assíncrono apropriado para programação de aplicações distribuídas em redes geográficas

•modelo de programação dual permite que aproveitemos o melhor de cada mundo...

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 17/49

Trabalhos em andamento

•suporte a abstrações específicasespaço de tuplas (canal de comunicação)chamadas remotas de métodos

•suporte ao desenvolvimento de aplicações paralelas em ambientes geograficamente distribuídosframework para programação de

aplicações adaptativas•uso do alua multicanal para

desenvolvimento de aplicações multimidia distribuídas

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 18/49

Bancos de Dados Paralelos, Agentes e

Bioinformática

Sérgio Lifschitz

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 19/49

Motivação para BD paralelos

Contexto VLDB...

• Terabytes são realidade (“terror” bytes)

• Algumas empresas > 3TB

• Full scan 1TB a 10MB/s … mais de 1 dia!

• Gargalo I/O: comprar mais hardware… ?!?

• Solução ‘cluster’: MPP e off-the-shelf

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 20/49

Aspectos de BD paralelos

Alguns itens a considerar...

• Shared-something ou shared-nothing

• Paralelismo inter/intra query ou intra operação

• I/O (consultas simples) ou CPU (complexas)?

• Particionamento: faixas, hash e round-robin

• Problemas: startup, interferência e desvios

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 21/49

Algumas pesquisas em BDs //s

Focos principais …

• Consultas e balanceamento de carga

• Biocomputação e projeto de BD paralelos

… e também ...

• Integração dados + aplicações

• Sistemas (multi-)agentes

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 22/49

Resultados recentes

Junções paralelas...

• Junção // com balanceamento preventivo

• Agent-based databases (Minibase)

... e em Bioinformática ...

• BLAST paralelo

• Projeto de BDs distribuídos

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 23/49

Oportunidades

… e possibilidades concretas …

• Data mining

• Gerenciador ad-hoc

• Repositórios de biologia computacional

• Self-tuning

• Streaming data

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 24/49

Observações finais

• Dados complexos

• Hoje terabytes, breve petabytes

• GRIDs para BDs e Biocomputação

• Já há primitivas DM e DW … e mais!

… SGBDs paralelos já existem ...

O LabPar viabiliza alguns projetos!

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 25/49

Metaheurísticas Paralelas e Aplicações:

Redes e Biologia

Celso Carneiro Ribeiro

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 26/49

Problemas de otimização

•Problema: otimizar uma função objetivo definida por variáveis contínuas (intensidades) ou discretas (decisões) e sujeita a um conjunto de restrições

•Dificuldade: a grande parte dos problemas de interesse pertence à classe NP-difícil, problemas para os quais não se conhece (e possivelmente não existem) algoritmos exatos eficientes (de complexidade polinomial)

•Alternativa: bons algoritmos aproximados eficientes

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 27/49

Metaheurísticas

•Paradigmas de estratégias de solução que devem ser instanciadas para cada problema específico, baseadas em técnicas de:Construção de soluçõesMelhoria de soluções (busca local)

•Exemplos:Algoritmos genéticosSimulated annealingBusca tabuGRASPColônias de formigas, etc.

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 28/49

Metaheurísticas

•Algoritmos genéticos: baseados na analogia com o processo de evolução natural, ao longo do qual populações evoluem de acordo com os princípios de seleção natural e de “sobrevivência dos mais adaptados” (evolução das propriedades genéticas da população).

•População representada pelos seus cromossomos (soluções): novas soluções são geradas a partir da população corrente e incluídas na população, enquanto outras são excluídas, através de mecanismos de reprodução e de mutação.

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 29/49

Metaheurísticas

•Algoritmo genético básico:Gerar população inicial de soluçõeswhile .NOT.critério-de-parada do

Escolher soluções reprodutorasFazer o crossover de soluçõesGerar mutações de soluçõesAvaliar a aptidão das novas

soluções Atualizar a população

end-while

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 30/49

Metaheurísticas paralelas

•Paralelização: distribuição dos cálculos entre diferentes processadores que cooperam e trocam informações na busca de melhores soluções

•Vantagens:Algoritmos mais robustos (menos dependentes de

parâmetros)Problemas maiores, tempos menores, melhores

soluções•AGs paralelos: dividir a população original em

diversas subpopulações, cujas evoluções ocorrem em paralelo (modelo de ilhas) com trocas dos melhores indivíduos entre as subpopulações (quando? quais? como? etc.)

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 31/49

Roteamento de circuitos virtuais privados

•Circuitos virtuais privados (PVCs) entre os pares origem e destino de cada cliente em um backbone

•Roteamento de cada cliente feito pelo projetista sem conhecimento de demandas futuras

• Ineficiência e necessidade ocasional de rotear os PVCs offline

•Problema: minimizar atrasos e congestão, satisfazendo as demandas e restrições de capacidade

•Aplicação desenvolvida para a AT&T: melhoria sensível do desempenho e do aproveitamento de redes reais

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 32/49

Roteamento de PVCs

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 33/49

Roteamento de PVCs

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 34/49

Roteamento de PVCs

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 35/49

Roteamento de PVCs

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 36/49

Roteamento de PVCs

capacidade máxima = 3

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 37/49

Roteamento de PVCs

Caminho longo!

rerotear

capacidade máxima = 3

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 38/49

Roteamento de PVCs

capacidade máxima = 3

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 39/49

Roteamento de PVCs

Viável e ótima! capacidade máxima = 3

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 40/49

Projeto de redes locais de acesso

•Construir uma rede de fibras óticas para prover serviços de banda larga a consumidores comerciais e residenciais, levando em consideração o balanceamento entre os custos de construção (colocação das fibras) e os rendimentos potenciais dos clientes atendidos (perda de receita no caso do cliente não ser atendido).

•Problema de Steiner com prêmios: aplicação desenvolvida para a AT&T

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 41/49

Projeto de redes locais de acesso

cliente(prêmio)

ruapenalidade nula

raiz

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 42/49

Projeto de redes locais de acesso

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 43/49

Projeto de redes a k-caminhos

•Dados:Grafo suporte para a construção de uma

redeConjunto de pares origem-destinoCusto de construção de cada arco

•Problema: construir uma rede de custo mínimo, na qual todos os pares origem-destino são conectados por caminhos usando no máximo k arcos

•Para que a confiabilidade da rede seja alta, todos os caminhos devem ser formados por k ≤3 arcos

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 44/49

Roteamento Internet sob protocolo OSPF

•Objetivo da engenharia de tráfego: melhor utilização dos recursos da rede

•Roteamento de tráfego pode ter um grande impacto na eficiência da utilização dos recursos

•OSPF é o protocolo mais comumente utilizado para roteamento intra-domínioTodos os roteadores têm conhecimento

completo da redeRoteamento segundo caminhos mais curtosFluxo igualmente repartido em caso de

múltiplos caminhos

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 45/49

Roteamento Internet sob protocolo OSPF

•Problema: atribuir pesos [1,65535] às conexões da rede, de forma que o roteamento segundo o protocolo OSPF por um critério de caminho mais curto minimize uma medida de congestão

•Algoritmo genético paralelo com soluções melhoradas por busca local

•Aplicação desenvolvida para a AT&T, levando a melhorias significativas (tráfego 40% maior) em relação ao critério proposto pela CISCO (pesos proporcionais ao inverso das capacidades)

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 46/49

Problema da filogenia

•Uma filogenia é uma árvore que relaciona espécies ou genes homólogos de espécies distintas (taxons)

•Dado um conjunto de taxons caracterizados por um conjunto de caracteres, obter uma filogenia com o menor número de passos evolucionários (mudança de um caracter)

•Exemplo:

a b c d e f g

O 0 0 0 0 0 0 0A 1 1 0 0 1 1 1B 1 1 1 1 1 1 1C 1 1 1 1 0 0 0

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 47/49

Problema da filogenia

a b c d e f g

O 0 0 0 0 0 0 0A 1 1 0 0 1 1 1B 1 1 1 1 1 1 1C 1 1 1 1 0 0 0

Exemplo:

Solução com 10 passos:

Solução com 9 passos:

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 48/49

Reconhecimento de imagens médicas

•Dados:Uma imagem a ser identificadaUm atlas de imagens

•Exemplos:Identificação de tumoresReconhecimento facial

• Imagens representadas por grafos de atributos relacionais:Nós: regiões das imagensArestas: relações entre regiões

(fronteiras)Atributos: cores, intensidades, etc.

Paralelismo, ferramentas e aplicações03/maio/2002Transparência 49/49

Reconhecimento de imagens médicas

•Medidas de similaridade entre pares de nós e entre pares de arestas (imagem-modelo)

•Problema: Determinar a imagem do atlas que

mais se assemelha à imagem a ser identificada

Determinar a correspondência ótima entre as regiões da imagem e as regiões do modelo