algoritmos paralelos - uffboeres/slidesoptativa2016/introalgparalelos.pdf · • jon von neumann...

75
Algoritmos Paralelos Prof a : Cristina Boeres Sistemas de Informação IC – Instituto de Computação

Upload: phamcong

Post on 11-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Algoritmos Paralelos

Profa: Cristina Boeres

Sistemas de Informação IC – Instituto de Computação

Page 2: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Bibliografia !  J. Jájá, Introduction to Parallel Algorithms, Addison-Wesley, 1992. !  Ian Foster , Designing and Building Parallel Programs, Addison-

Wesley , 1995. (online)��� !  J. Dongarra et. al., Sourcebook of Parallel Computing, Morgan

Kaufmann, 2003. !  T. G. Robertazzi, Networks and Grids - technology and theory,

Springer, 2007. !  H. Casanova, A. Legrand and Y. Robert, Parallel Algorithms, CRC

Press, 2008. !  S. Akl, Parallel Computation – Models and Methods , Prentice Hall

1997. !  A. Grama, A. Gupta, G. Karypis, and V. Kumar Introduction to

Parallel Computing, 2nd edition, Addison-Wesley, 2003. !  Artigos a serem definidos

Page 3: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Programa do Curso

  Introdução e conceitos iniciais   Motivação   Introdução a tipos de arquiteturas paralelas   Modelo de Programação Paralela   Projeto de Algoritmos Paralelos   Programação com Threads   Execução Eficiente de Programas Paralelos

Page 4: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Computação Sequencial ou serial

 Para solução de problemas, tradicionalmente resolvemos através de uma algoritmo sequencial  O problema é especificado em uma sequência de

instruções executadas serialmente

Page 5: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Computação Sequencial ou serial

•  Jon Von Neumann especificou requisitos para computador eletrônico em 1945

•  Instruções e dados devem ser armazenados na unidade de memória

•  Unidades principais: •  CPU: unidade de controle e ALU •  MP •  I/O

Page 6: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Computação Sequencial ou serial

•  CPU: unidade de controle •  Busca a próxima instrução •  Decodifica •  Executa (pela ALU, simplificando)

•  MP – memória de acesso aleatório guarda código e dados

•  I/O – interface com o mundo externo

Page 7: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Por que computação paralela e distribuída?

  Sistemas de computadores sequenciais cada vez mais velozes

–  velocidade de processador –  memória

–  comunicação com o mundo externo

  Quanto mais se tem, mais se quer......

–  Demanda computacional está aumentando cada vez mais: visualização, base de dados distribuída, simulações, etc.

Page 8: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Por que computação paralela e distribuída?

  limites em processamento sequencial

–  velocidade da luz, termodinâmica

–  custo X benefício

Page 9: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Por que não usar vários processadores?

•  Ao invés de um processador, vários processadores •  Cada processador executa uma parte do programa

simultaneamente

Page 10: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Como são os ambientes atualmente?

•  Um computador possui atualmente vários processadores

•  Um ambiente computacional é constituído de vários computadores (similares ou não)

Page 11: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Por que tantos processadores

•  O mundo real é massivamente paralelo

•  Eventos acontecem ao mesmo momento e em sequência

•  Como simular tal evento em sequência? Quanto tempo levaria?

Page 12: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Por que tantos processadores

Page 13: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Por que tantos processadores

Page 14: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Por que tantos processadores

Page 15: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Computação de Alto Desempenho

Os grandes desafios (Levin 1989): –  química quântica, mecânica estatística e física relativista;

–  cosmologia e astrofísica;

–  dinâmica e turbulência computacional dos fluídos;

–  projeto de materiais e supercondutividade;

–  biologia, farmacologia, seqüência de genomas, engenharia genética, dobramento de proteínas, atividade enzimática e modelagem de células;

–  medicina, modelagem de órgãos e ossos humanos;

–  clima global e modelagem do ambiente

Page 16: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

1a.16

Demanda para velocidade computacional

•  Existem várias áreas que demandam processamento computacional mais veloz: –  modelagem numérica –  simulação de problemas científicos

•  Computação deve ser finalizada em um tempo razoável

Page 17: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

1a.17

“Grand Challenge” •  São problemas que não podem ser resolvidos em uma

quantidade de tempo razoável nos computadores atuais –  para resolver o problema computacionalmente, 10

anos seriam razoáveis?

•  Modelagem de estruturas longas de DNA •  previsão de tempo global •  simulação e modelagem do movimento de corpos

celestes (astronomia)

Page 18: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

1a.18

Movimento de Corpos Celestes

"  Cada corpo é atra[ido pelo outro atrav[es de forças gravitacionais "  O movimento de cada corpo é previsto através do cálculo da força total de cada corpo

Page 19: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

1a.19

Movimento de Corpos Celestes

•  Existindo N corpos –  N – 1 cálculo de força para cada corpo –  ou aproximadamente N2 cálculos, i.e. O(N2) *

•  Depois deste cálculo, determinar as novas posições dos corpos, repetindo esse procedimento –  N2 × T cálculos no total, sendo T o número de passos

* Existe um algoritmo O(N log2 N)

Page 20: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

1a.20

•  A galáxia deve ter em torno de 1011 estrelas •  Se cada cálculo da força leva em torno de 1 ms (sendo

extremamente otimista), então, são necessários:

–  109 anos para uma iteração utilizando um algoritmo N2

Movimento de Corpos Celestes

Page 21: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Por que muitos processadores

•  Para economizar tempo e dinheiro •  Teoricamente, mais recursos resolvem o problema mais

rapidamente – logo, economicamente mais barato •  Atualmente, ter vários processadores não é tão caro

Page 22: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

1a.22

•  Inicialmente: um processador + memória + dispositivos –  Um programa por vez

•  Com desenvolvimento de Sistemas Operacionais –  Multiprogramação

•  Necessidade de maior poder computacional –  Mainframes

•  Desenvolvimento de processadores –  Miniprocessadores e microprocessadores

•  Nova realidade: estações de trabalho –  E depois, desktops

Qual foi o marco na disponibilidade de processadores

Page 23: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Evolução nas comunicações

TCP/IP HTML

Mosaic XML

PHASE 1. Packet Switching Networks 2. The Internet is Born 3. The World Wide Web 4. with XML 5. The Grid

1969: 4 US Universities linked to form ARPANET TCP/IP becomes core protocol HTML hypertext system created 1972: First e-mail program created Domain Name System created

IETF created (1986)‏ CERN launch World Wide Web

1976: Robert Metcalfe develops Ethernet NCSA launch Mosaic interface

0

20

40

60

80

100

120

140

1965 1970 1975 1980 1985 1990 1995 2000 2005 2010

Num

ber o

f hos

ts (m

illio

ns ‏(

cortesia de Rajkumar Buyya

Page 24: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Arquitetura de Sistemas de Computadores

Uma classificação

  Memória Centralizada

  Memória Distribuída

  Proposta por Flynn –  quantidade de instruções e dados processados em um

determinado momento

Page 25: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Classificação de Sistemas Paralelos

SISD (single instruction single data)‏ –  Um contador de programa –  Computadores seqüenciais

SIMD (single instruction multiple data)‏ –  Um contador de programa, uma instrução executada

por diversos processadores sobre diferentes dados –  Computadores paralelos como PRAM

Page 26: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Classificação de Sistemas Paralelos

  Proposta por Flynn

MISD (multiple instructions single data)‏ –  Não aplicável

MIMD (multiple instructions multiple data)‏ –  Vários contadores de programa –  Diferentes dados –  Os vários computadores paralelos e distribuídos atuais

Page 27: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Plataforma de Execução Paralela

SMPs (Symmetric MultiProcessors)‏

MPPs (Massively Parallel Processors)‏

Cluster ou NOWs (Network Of Worstations)‏

Grades Computacionais

Nuvens

Page 28: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

SMPs ou Multiprocessadores

  único espaço de endereçamento lógico –  mecanismo de hardware (memória compartilhada)‏

  comunicação ⇒ espaço de endereçamento compartilhado –  operações de loads e stores

• Acesso a memória é realizada através de leitura (load) e escrita (store), caracterizando desta forma, a comunicação entre processadores

Page 29: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

SMPs ou Multiprocessadores

  Sistema homogêneo   Compartilhamento total da mesma memória   Uma única cópia do Sistema Operacional

–  Imagem única do sistema   Excelente conectividade: fortemente acoplados

–  Não escalável   Exemplos:

–  Sun HPC 10000 (StarFire), SGI Altix, SGI Origin, IBM pSeries

–  atualmente: •  multiprocessadores multicores •  heterogeneidade

Page 30: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede
Page 31: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

MPPs ou Multicomputadores

  Diferem quanto a implementação física   Módulos ou elementos de processamento contendo:

–  múltiplos processadores com memória privativa –  computadores completos

  Espaço de endereçamento –  não compartilhado - memória distribuída

  Comunicação –  troca de mensagens

  Rede de interconexão:diferentes topologias –  Fracamente acoplados

  Escaláveis

Page 32: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

MPPs ou Multicomputadores

  Sistema homogêneo ( ou heterogêneo )‏   Interconexão: redes dedicadas e rápidas

  Cada nó executa sua própria cópia do Sistema Operacional

  Imagem única do sistema

–  visibilidade dos mesmos sistemas de arquivo

  Um escalonador de tarefas

–  partições diferentes para aplicações diferentes

Page 33: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

MPPs ou Multicomputadores

  Partições dedicadas a cada aplicação

  Aplicações não compartilham recursos

–  Pode ocorrer que uma aplicação permaneça em estado de espera

  Exemplos: –  Cray T3E, IBM SP2s, clusters montados pelo próprio usuário, com

propósito de ser um MPP

Page 34: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

MPPs ou Multicomputadores

HP/Compaq Alphaserver IBM BG/L Cray XT3

Intel IA32 IBM POWER5

Page 35: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Cluster de computadores ou NOWs

  Conjunto de estações de trabalho ou PCs

  Interconexão: redes locais

  Nós: elementos de processamento = processador + memória

  Diferenças em relação a MPPs: –  não existe um escalonador centralizado –  redes de interconexão tendem a ser mais lentas

Page 36: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Cluster de computadores ou NOWs

  Resultado das diferenças: –  Cada nó tem seu próprio escalonador local –  Compartilhamento de recursos ⇒ sem partição

dedicada a uma aplicação –  Aplicação ⇒ deve considerar impacto no desempenho ⇒ não tem o sistema dedicado

–  Possibilidade de compor um sistema de alto desempenho e um baixo custo (principalmente quando comparados com MPPs).

Page 37: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Cluster ou NOWs

... CPU CPU CPU

Mem. Mem. Mem.

requisições requisições requisições

Page 38: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

“The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software” Herb Sutter, http://www.gotw.ca/publications/concurrency-ddj.htm

Power dissipation

Clock frequency

Page 39: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Cluster de computadores

•  Rede de computadores ser tornaram mais atraentes do que adquirir um supercomputador (custo bem maior) –  Possível atingir alto desempenho a um custo bem

menor (década 1990)

•  Desta forma, um processador de última geração pode ser incluído no sistema

Page 40: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Cluster de Computadores

• E mais importante: portabilidade de software –  Softwares existentes podem ser utilizados ou

facilmente adaptados

• Projetos bastante conhecidos nesta época: –  Berkeley NOW (network of workstations) –  NASA Beowulf

Page 41: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Beowulf Clusters*

•  Grupo de computadores do tipo commodity que atingem alto desempenho a baixo custo

•  Geralmente interconectados por uma rede de alta velocidade como Ethernet, e utilizando sistema operacional Linux.

* Beowulf comes from name given by NASA Goddard Space Flight Center cluster project.

Page 42: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Máquinas atuais •  Olhando melhor as máquinas modernas.....

Page 43: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Vários níveis de chache: Level 1 (L1) cache Level 2 (L2) cache Level 3 (L3) chache

Processor

L2 Cache

Bus interface

L1 cache Processor

L2 Cache

Bus interface

L1 cache Processor

L2 Cache

Bus interface

L1 cache Processor

L2 Cache

Bus interface

L1 cache

Memory controller

Memory

Processor/ memory b us

Shared memory

Máquinas atuais (quadcore shared memory)

Page 44: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Máquinas atuais (quadcore shared memory)

Intel Xeon processor with 6 cores and 6 L3 cache units

Page 45: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Máquinas atuais (desde 2005)

•  Dual ou até multi-cores –  Dois ou mais elementos de processamento em independentes em um

pacote

•  Na verdade, uma ideia antiga que não havia sido colocada em pratica até recentemente. Os limitantes até então eram baseados em limites tecnológicos: –  Dissipação de energia (sempre um problema) e limitação

da frequência de relógio –  Limites na velocidade de acesso a memória

Page 46: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

GPU clusters

•  Última tendência dos clusters de computadores: incorporar GPUs para atingir alta performance

•  Pelo menor três dos cinco computadores mais rápidos do mundo possuem GPUs.

http://www.top500.org/

Page 47: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Top500 description •  Na lista TOP500 ordenação e de acordo com:

1)  Rmax 2)  Rpeak 3)  tamanho de memória 4)  alfabética

•  Campos da lista: –  Rank- Position within the TOP500 ranking –  Location - Location and country –  System – name, configuration and manufacturer –  #Proc. - Number of processors (Cores) –  Rmax - Maximal LINPACK performance achieved –  Rpeak - Theoretical peak performance –  Power - energy

Page 48: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Grades Computacionais (Computational Grids) ‏  Utilização de computadores

–  independentes –  geograficamente distantes

  Diferenças: clusters X grades

–  heterogeneidade de recursos –  alta dispersão geográfica (escala mundial) ‏–  compartilhamento –  múltiplos domínios administrativos –  controle totalmente distribuído

Page 49: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Grades Computacionais

  Componentes –  PCs, SMPs, MPPs, clusters –  controlados por diferentes entidades ⇒ diversos

domínios administrativos

  Não têm uma imagem única do sistema a princípio –  Vários projetos tem proposto o desenvolvimento de

middlewares de gerenciamento •  camada entre a infraestrutura e as aplicações a

serem executadas na grade computacional

Page 50: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Grades Computacionais

  Para executar uma aplicação eficientemente, middlewares deve estar preparados para: –  Dinamismo do sistema –  Variedade de plataformas –  Tolerância falhas

Page 51: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Grades Computacionais

  Sistema não dedicado e diferentes plataformas –  Usuários da grades devem obter autorização e

certificação para acesso aos recursos disponíveis na grade computacional

  Falhas nos recursos tanto de processamento como comunicação são mais frequentes que as outras plataformas paralelas –  Mecanismos de tolerância a falhas devem tornar essas

flutuações do ambiente transparente ao usuário

Page 52: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Grades Computacionais

  Para utilização eficiente da grade computacional –  Gerenciamento da execução da aplicação através de

políticas de escalonamento da aplicação ou balanceamento de carga

–  Escalonamento durante a execução da aplicação se faz necessário devido as variações de carga dos recursos da grade

Page 53: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Grades Computacionais

Cluster

Workstation

Internet

MPP

MPP SMP

SMP

Computador convencional

Servidor

Workstation

Page 54: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Computação em Grid

  Computação em Cluster foi estendido para computação ao longo dos sites distribuídos geograficamente conectados por redes metropolitanas

Grid Computing

  Heterogêneos

  Compartilhados

  Aspectos que devem ser tratados

  Segurança

  Falhas de recursos

  Gerenciamento da execução de várias aplicações

Page 55: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Computação em Grid

O sonho do cientista (The Grid Vision)���   Computação em Grid adota tanto o nome quanto o conceito semelhantes aqueles da Rede de Potência Elétrica para capturar a noção ou a visão de: − Oferecer desempenho computacional eficientemente; −  De acordo com a demanda; −  A um custo razoável; −  Para qualquer um que precisar.

Page 56: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Computação em Grid

  O sucesso da computação em grid depende da comunidade de pesquisadores: –  possibilidade de construir tal ambiente (hardware e

software)‏ –  Necessidade de atingir seus objetivos.

Page 57: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Computação em Grid

Page 58: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

SETI@home: Search for Extraterrestrial Intelligence at Home

Page 59: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

SETI@home: Search for Extraterrestrial Intelligence at Home •  “ETI@home is a scientific experiment that uses Internet-connected

computers in the Search for Extraterrestrial Intelligence (SETI).” (from setiathome.berkeley.edu/)

Page 60: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

SETI@home: Search for Extraterrestrial Intelligence at Home

•  “ETI@home is a scientific experiment that uses Internet-connected computers in the Search for Extraterrestrial Intelligence (SETI).” (from setiathome.berkeley.edu/)

Page 61: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

SETI@home: Search for Extraterrestrial Intelligence at Home A abordagem:

•  radio telescopes para ouvir sinais do espaço

•  tais sinais podem ser ruídos de origem celeste ou provenientes da terra (estações de TV, radares e satélites)

•  SETI analisa esse ruídos e digitalmente

•  Maior poder computacional possibilita cobrir uma procura maior de ruídos

•  Primeiramente – supercomputadores especiais foram utilizados

•  Em 1995 (iniciado na verdade em 1999), David Gedye propos o uso de um “supercomputador virtual”

Page 62: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

SETI@home: Search for Extraterrestrial Intelligence at Home

So, what will you be doing for us? What exactly will you be looking for in the data? The easiest way to answer that question is to ask what we expect extraterrestrials to send. We expect that they would want to send us a signal in the most efficient manner for THEM that would allow US to easily detect the message. ….. So, we're not looking for a broadband signal (spread over many frequencies), we're looking for a very specific frequency message. The SETI@home screen saver acts like tuning your radio set to various channels, and looking at the signal strength meter. If the strength meter goes up, that gets our attention.

What is SETI@home Looking for?

Page 63: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Computação em Grid

•  Grid middlewares: tem como objetivo facilitar a utilização de um ambiente grid

•  APIs para isolar usuários ou programas da complexidade deste ambiente

•  Gerenciar esses sistemas automaticamente e eficientemente para executar aplicações no ambiente grid (grid-enabled applications) ���

E as aplicações não habilitadas a execução em ambiente grids?

Page 64: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Computação em Grid

Como o usuário (dono da aplicação) escolhe?

•  Vários middlewares existem, qual o mais apropriado? •  Vários estão ainda sendo desenvolvidos •  Não há a garantia de suporte •  Pouca comparação entre os middlewares, por exemplo, desempenho,

grau de intrusão. •  É difícil encontrar grids com o mesmo tipo de software instalado

Page 65: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Cloud Computing •  Computação provida como um serviço sobre a internet

•  Infra-estrutura geograficamente distribuída

•  Com algumas características de autonomic computing –  Que características são essas?

•  O middleware não está embutido na aplicação

•  Exemplos –  Googleaps, facebook, amazon –  Ex. de aplicação – gerenciamento de documentos distribuídos

geograficamente

Page 66: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Cloud Computing   Modelo econômico de utilização dos serviços   Ambiente que prove uma quantidade maior de serviços a baixo custo   Baixo consumo de energia   Não acontece sem Virtualização

Page 67: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Diferenças entre Grid e Cloud Computing AlHakami, H. et al, Comparison Between Cloud and Grid Computing: Review Paper, in International Journal on Cloud Computing: Services and Architecture (IJCCSA),Vol.2, No.4, August 2012 • Recursos •  os recursos na grade estão disponíveis e compartilhados •  na nuvem, os recursos são providos de acordo com a demanda

• Heterogeneidade de recursos •  os dois agregam recursos heterogêneos

• Segurança •  segurança do usuário não foi atacado em grades (mais segurança de

acesso) •  no caso de nuvem, cada usuário tem seu ambiente virtual e seguro

• Gerenciamento •  maior experiência no caso de grades •  muito a fazer em nuvem

Page 68: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Features Grid Cloud Resource Sharing Collaboration (VOs, fair share) not shared.

Virtualization Virtualization of data and computing resources

Virtualization of hardware and software platforms.

Security Security through credential delegations

Security through isolation.

High Level Services Plenty of high level services. No high level services defined yet.

Architecture Service orientated User chosen architecture.

Software Dependencies Application domain dependent software

Application domain independent software

Platform Awareness The client software must be Grid-enabled

The software works on a customized environment

Scalability Nodes and sites scalability Nodes, sites, and hardware scalability

Standardization Standardization and interoperability Lack of standards for Clouds interoperability.

User Access Access transparency for the end user.

Access transparency for the end user.

Payment Model Rigid Flexible

Page 69: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Definindo melhor alguns conceitos   Concorrência

# termo mais geral, um programa pode ser constituído por mais de um thread/processo concorrendo por recursos

  Paralelismo

# uma aplicação é executada por um conjunto de processadores em um ambiente único (dedicado)���

  Computação distribuída

# aplicações sendo executadas em plataformas distribuídas

Page 70: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Definindo melhor alguns conceitos

Qualquer que seja o conceito, o que queremos?

#  estabelecer a solução do problema

#  lidar com recursos independentes

#  aumentar desempenho e capacidade de memória

#  fazer com que usuários e computadores trabalhem em espírito de colaboração

Page 71: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

O que paralelizar?

  Pode estar em diferentes níveis de sistemas computacionais atuais –  Hardware –  Sistema Operacional –  Aplicação

  As principais questões que são focadas são –  Desempenho –  Corretude –  Possibilidade de explorar o paralelismo

Page 72: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Por que paralelizar?

Aplicação Paralela

–  várias tarefas

–  vários processadores •  redução no tempo total de execução

Page 73: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Modelos de Programação Paralela

  Criação e gerenciamento de processos –  estático ou dinâmico

  Comunicação –  memória compartilhada: visão de um único espaço de endereçamento

global –  memória distribuída: troca explícita de mensagens

Page 74: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Modelos de Programação Paralela

  Expressão de Paralelismo: Paradigmas –  SPMD ( Single Program Multiple Data )‏ –  MPMD (Multiple Program Multiple Data )‏

  Metas –  aumento no desempenho –  maior eficiência

Page 75: Algoritmos Paralelos - UFFboeres/slidesOptativa2016/IntroAlgParalelos.pdf · • Jon Von Neumann especificou requisitos para ... Arquitetura de Sistemas de Computadores ... • Rede

Objetivos

  Visão geral –  arquitetura de computadores –  ambientes de programação paralela –  modelos de programação paralela

  Motivar ⇒ Sistemas de Alto Desempenho