SlideShare ist ein Scribd-Unternehmen logo
1 von 73
Introdução a
    Processamento
       Paralelo
          Jairo Panetta

              ITA/IEC
      Petrobras/E&P Sede/TG
           INPE/CPTEC
1                             III Semana Inverno Geofísica
Agenda
    •   Definição de Paralelismo
    •   Métricas de Desempenho Paralelo
    •   Lei de Amdahl
    •   Necessidade e Utilidade de Paralelismo
    •   Lei de Moore
    •   Memory Wall, Power Wall
    •   Classificação de Computadores Paralelos
    •   Modelos de Computação Paralela

2                                     III Semana Inverno Geofísica
Processamento Paralelo é
    a realização simultânea de
      múltiplas partes de uma
      única computação para
       reduzir seu tempo de
              execução

3                       III Semana Inverno Geofísica
Exemplos de Processamento Paralelo
    •   Copiar (“xerox”) documento da ordem de 10.000 páginas utilizando
         – 1 copiadora
         – 2 copiadoras
         – ...

    •   Cavar uma vala horizontal de 10km de comprimento por 2m de diâmetro
        utilizando
         – 1 trabalhador
         – 2 trabalhadores
         – ...

    •   Escrever um arquivo em disco utilizando
         – 1 servidor de arquivos
         – 2 servidores de arquivos
         – ...

    •   Prever numericamente o tempo no futuro utilizando
         – 1 CPU
         – 2 CPUs
         – ...




4                                                             III Semana Inverno Geofísica
Características básicas de
               Processamento Paralelo
    • Requer a replicação (total ou parcial) de
      entidades trabalhadoras
      –   múltiplas copiadoras
      –   múltiplos trabalhadores
      –   múltiplos servidores de arquivos
      –   múltiplas CPUs

    • Requer alterar a forma de realizar a tarefa para
      usufruir da replicação

    • Ao replicar n entidades deseja-se dividir o
      tempo de execução da tarefa por n
      – máximo teórico

5                                            III Semana Inverno Geofísica
Copiar 10.240 páginas
    • Suponha:
       – original entregue em ordem crescente das páginas numeradas;
       – copia deve ser entregue da mesma forma
       – uma única pessoa divide o original em partes iguais a serem
         copiadas, entrega para os copiadores e recolhe as cópias
       – cada copiadora copia uma única parte
       – 1 segundo para copiar uma página
       – 5 segundos para dividir o original em dois blocos
       – 5 segundos para juntar dois blocos de páginas copiadas

    • Estime o tempo para realizar a tarefa utilizando
       – 1, 2, 4, 8, 16, 32 e 64 copiadoras




6                                                     III Semana Inverno Geofísica
Tempo com n copiadoras




             n=1      10240

             n=2      5 + 10240/2 + 5

             3≤n≤??   5(n-1) + 10240/n + 10
t



7                          III Semana Inverno Geofísica
Estimativa do Tempo de Execução
     Hipótese: tempo total = tempo de entrega sequencial das partes +
     tempo de copiar uma parte + tempo de recolher duas últimas partes
                                   Tempo (s)
    Máquinas                                                            Ganho
                   dividir      copiar       juntar        total
        1              0        10240           0          10240          1,00
        2              5         5120           5          5130           2,00
        4             15         2560          10          2585           3,96
        8             35         1280          10          1325           7,73
       16             75         640           10          725           14,12
       32            155         320           10          485           21,11
       64            315         160           10          485           21,11
                falha hipótese da estimativa
    (recolhe cópias enquanto o último copiador trabalha)
8                                                                  III Semana Inverno Geofísica
Copiar 10.240 páginas
    • Como utilizar eficientemente 1024 copiadoras?
       – Alterando os mecanismos de distribuição de dados e de coleta
         de resultados


    • O procedimento (algoritmo) muda com o volume de
      paralelismo
       – pois muda o gargalo da tarefa

    • E se uma copiadora for 1% mais lenta que as outras?
       – típico de grande número de máquinas iguais


    • E se uma copiadora quebrar?
       – Tolerância a falhas é desejável; as vezes, imprescindível


9                                                        III Semana Inverno Geofísica
Cavar vala de 10km
     • Exemplo atribuído ao Prof. Siang W. Song (IME/USP)

     • Similar ao exemplo anterior. Assuma terreno demarcado, número
       crescente de trabalhadores equipados e um capataz.
         – Quais são os fatores que impedem redução “ótima” do tempo de
           execução com o aumento do número de trabalhadores?

     • E se a vala for vertical?

     • Há problemas inerentemente sequenciais
         – alterar 1 bit na memória

     • Pequenas variações do problema podem causar grandes variações
       no paralelismo




10                                                          III Semana Inverno Geofísica
Agenda
     •   Definição de Paralelismo
     •   Métricas de Desempenho Paralelo
     •   Lei de Amdahl
     •   Necessidade e Utilidade de Paralelismo
     •   Lei de Moore
     •   Memory Wall, Power Wall
     •   Classificação de Computadores Paralelos
     •   Modelos de Computação Paralela

11                                     III Semana Inverno Geofísica
Speed-up (ou Ganho)
     • Mede o ganho (no tempo de execução)
       em utilizar p processadores
                S(p) = T(1)/T(p)

     • Teoricamente, S(p)  p

     • Na prática, características do computador
       alteram tais limites
12                                    III Semana Inverno Geofísica
Eficiência
     • Mede a eficiência em utilizar p
       processadores


             E(p) = T(1) / (p*T(p))

                 E(p) = S(p) / p

13                                       III Semana Inverno Geofísica
Agenda
     •   Definição de Paralelismo
     •   Métricas de Desempenho Paralelo
     •   Lei de Amdahl
     •   Necessidade e Utilidade de Paralelismo
     •   Lei de Moore
     •   Memory Wall, Power Wall
     •   Classificação de Computadores Paralelos
     •   Modelos de Computação Paralela

14                                     III Semana Inverno Geofísica
Lei de Amdahl - Sumário
           Se a fração seqüencial do tempo de
          execução de um programa é f, o ganho
                   (speed-up) máximo é
                                 S(p) = 1/f
      para qualquer número de processadores.




  Gene M. Amdahl, “Validity of the single processor approach
     to achieving large scale computing capabilities”, AFIPS
15           spring joint computer conference, 1967            III Semana Inverno Geofísica
Lei de Amdahl em Detalhe




16                       III Semana Inverno Geofísica
Lei de Amdahl - Demonstração




17                         III Semana Inverno Geofísica
Lei de Amdahl - Implicações
                           Speed-up máximo em função da fração do tempo de execução sequencial mantida
                                                 sequencial na execução paralela

                                                                                                                 1000
                1000

                                                                                                              500,2


                 100                                                                                             90,9
     Speed-up




                  10                                                                                             9,91




                   1
                       1                            10                          100                       1000
                                                            Processadores

                                                     f=0    f=0,1%     f=1%     f=10%




18                                                                                         III Semana Inverno Geofísica
Agenda
     •   Definição de Paralelismo
     •   Métricas de Desempenho Paralelo
     •   Lei de Amdahl
     •   Necessidade e Utilidade de Paralelismo
     •   Lei de Moore
     •   Memory Wall, Power Wall
     •   Classificação de Computadores Paralelos
     •   Modelos de Computação Paralela

19                                     III Semana Inverno Geofísica
Porque Paralelismo?
     Há Motivos Perenes




20                   III Semana Inverno Geofísica
Desde que existem computadores
     • Aplicações (usuários) requerem computadores cada vez
       mais potentes

     • Velocidade e poder computacional de CPUs crescem a
       velocidade assombrosa
        – Base: Lei de Moore (veremos em seguida)


     • Requisitos das aplicações (usuários) crescem mais
       rapidamente do que a velocidade das CPUs

     • Acoplar múltiplas CPUs é uma forma viável de reduzir a
       distância entre as necessidades dos usuários e a
       velocidade de uma única CPU

21                                                  III Semana Inverno Geofísica
Requisitos dos Usuários
     • Usuários estão insatisfeitos com os modelos
       matemáticos utilizados nas simulações
       computacionais (não representam aspectos
       críticos da realidade)

     • Modelos matemáticos mais precisos requerem
       computadores ordens de magnitude mais
       velozes que os atualmente disponíveis (verdade
       “desde sempre”)




22                                        III Semana Inverno Geofísica
Caso geral: Top500
     • Lista dos 500 computadores mais rápidos do mundo
        – métrica: velocidade efetiva na solução de sistema denso de equações
          lineares em dupla precisão utilizando Linpack (High Performance
          Linpack) de tamanho escolhido pelo usuário
        – classificação: velocidade efetiva medida em flop/s (floating point
          operations per second)
        – submissão: usuários interessados executam HPL e enviam resultados
          (logo, pode haver máquinas potentes fora da lista)
        – site: http://www.top500.org
        – importância: Rara base histórica de dados (duas listas por ano,
          mantidas desde 1993)
        – início: planilha de Linpack compilada por Jack Dongarra desde 1980;
          vide http://www.netlib.org

     • Ser número 1 no Top500 é objeto de desejo (“priceless”)
        – HPL é um dos programas mais extensamente otimizados, por
          fabricantes, da história de computação
        – Dificilmente um programa obterá velocidade efetiva maior que a do
          HPL na mesma máquina


23                                                            III Semana Inverno Geofísica
Top 500 Jun 2012
                               Cores    V Pico V Linpack      Fabricante -         Power
     Máquina - Local
                              (CPUs)   (TFlop) (TFlop)        Processador          (MW)


 Sequoia, LLNL,                                            Blue Gene Q: IBM
                             1 572 864 20 132   16 324                             7,890
 USA                                                       PowerPC 1,6GHz

 K Machine, RIKEN,
                             705 024   11 280   10 510     Fujitsu: Spark 2GHz 12,659
 Japan

                                                           Blue Gene Q: IBM
 Mira, ANL, USA              786 432   10 066   8 162                              3,945
                                                           PowerPC 1,6GHz
 SuperMUC: Leibniz
                                                           IBM, Intel Sandy
 Rechenzentrum,       147 456          3 185    2 897                              3,422
                                                           Bridge, 2.7GHz
 Germany
 Tianhe-1A: National                                       Home Made:
                     186 368 +
 Supercomputing                        4 701    2 566                              4,040
                       GPUs                                Xeon + NVIDIA
 Center, China
     http://www.top500.org
24                                                                 III Semana Inverno Geofísica
Brasil no Top500 Jun 2012
         CPTEC #79                     NACAD #456




     PETROBRAS #68
25                             III Semana Inverno Geofísica
Top500: Visão Histórica




                             Soma



                             #1




                             #500


                                            LapTop




     http://www.top500.org
26                                           III Semana Inverno Geofísica
Projeção de Desempenho




                            Cray 2         ASCI Red        Roadrunner               ??
                          1 GFlop/s        1 TFlop/s        1 PFlop/s           1 EFlop/s
                         O(1) Thread     O(103) Threads   O(106) Threads      O(109) Threads


 Jack Dongarra, Invited Talk, SIAM 2008 Annual Meeting
27                                                                 III Semana Inverno Geofísica
Sumário: Porque Paralelismo?
     • Usuários continuarão a demandar maior
       potência computacional, alcançável por
       paralelismo
       – até quando paralelismo resolve?
       – “I know how four ox can push a wagon, but not 1024
         chickens”


     • Entretanto, há motivos mais recentes para usar
       paralelismo
       – motivos alheios à vontade dos usuários e dos
         fabricantes

28                                             III Semana Inverno Geofísica
Porque Paralelismo?
     Há Motivos Recentes




29                   III Semana Inverno Geofísica
Agenda
     •   Definição de Paralelismo
     •   Métricas de Desempenho Paralelo
     •   Lei de Amdahl
     •   Necessidade e Utilidade de Paralelismo
     •   Lei de Moore
     •   Memory Wall, Power Wall
     •   Classificação de Computadores Paralelos
     •   Modelos de Computação Paralela

30                                     III Semana Inverno Geofísica
Lei de Moore
                                 Primeira forma (1965):
                                     – Número de componentes por circuito
                                       integrado que minimiza o custo por
                                       componente dobra a cada ano
                                     – Observação (não “lei”) no trabalho original
                                     – Extrapolação baseada em 5 pontos
                                     – Moore sugeriu reconsiderar após 10 anos



                                 Segunda forma (1975):
                                     – Dobra a cada dois anos
                                     – Moore nunca disse 18 meses
                                     – Profecia auto realizável




Gordon Moore: “Cramming more components onto
integrated circuits”, Eletronics v.38, N.8, 1965;
 31                                                           III Semana Inverno Geofísica
Verificação da Lei de Moore
                               Dobra a cada 24 meses




                                             Dobra a cada 18 meses




 http://www.intel.com/technology/mooreslaw
32                                                               III Semana Inverno Geofísica
Força Motriz da Lei de Moore
       Tecnologia de Litografia constantemente
        reduz tamanho de componentes em CI




G. Moore, palestra convidada ISSCC 2003   III Semana Inverno Geofísica
33
Até recentemente
       Canalizar aumento no número de componentes para
          aumentar a freqüência de operação gera CPUs
                  progressivamente mais rápidas




G. Moore, palestra convidada ISSCC 2003        III Semana Inverno Geofísica
34
Mas o ganho anual em
         velocidade de um
     processador é bem menor
       que o ganho anual no
     número de componentes,
         pois há barreiras

35                     III Semana Inverno Geofísica
Agenda
     •   Definição de Paralelismo
     •   Métricas de Desempenho Paralelo
     •   Lei de Amdahl
     •   Necessidade e Utilidade de Paralelismo
     •   Lei de Moore
     •   Memory Wall, Power Wall
     •   Classificação de Computadores Paralelos
     •   Modelos de Computação Paralela

36                                     III Semana Inverno Geofísica
Mas há barreiras: Memory Wall




    •A velocidade de acesso à memória escala mais lentamente que a
    velocidade da CPU, ao longo dos anos
    •Acesso à memória torna-se o gargalo da eficiência
    •Largura de banda (bandwidth) vem sendo acomodada (economia)
    •Latência (latency) é a questão crucial

J. L. Gaudiot, palestra convidada SBAC 2006              III Semana Inverno Geofísica
37
Mas há barreiras: Power Wall




    •Dissipação atingiu níveis intoleráveis


Figura: Fred Pollack, palestra convidada MICRO 1999

38 Borkar, “Design Challenges of Technology Scaling”, IEEE Micro, July 1999
S.                                                                     III Semana Inverno Geofísica
Dissipação de Potência
                                                                Pentium e Dissipador, 2005




 Pentium e Dissipador, 1995
www.tomshardware.com/2005/11/21/the_mother_of_all_cpu_charts_2005
39                                                                     III Semana Inverno Geofísica
Dissipação de Potência impede novo
              aumento de frequência




www.tomshardware.com/2005/11/21/the_mother_of_all_cpu_charts_2005
40                                                                  III Semana Inverno Geofísica
Em síntese
     Ida à memória limita aumento de velocidade
       de programas, pois freqüência da
       memória não escala proporcionalmente à
       frequência da CPU e a latência menos
       ainda (memory wall)

     Dissipação térmica atinge nível absurdo
       (power wall)

     E há outras barreiras...
41                                    III Semana Inverno Geofísica
Paralelismo: Novos Motivos

Como usar maior número de componentes
  para gerar máquinas mais rápidas?

Aumentar a freqüência não é mais possível.

                Tendência clara:
     Múltiplas CPUs de menor freqüência no
                  mesmo chip

42                               III Semana Inverno Geofísica
Paralelismo: Novos Motivos




43                        III Semana Inverno Geofísica
Por enquanto, poucas CPUs por chip.




     Forte tendência de muitas PUs no
     mesmo chip, idênticas ou não,
44   com uma ou múltiplas threads Fonte: INTEL e AMD Semana Inverno Geofísica
                                                   III
Comparando ganhos anuais
               Métrica                 Ganho Anual

            Lei de Moore
                                           1,58
      (dobra a cada 18 meses)
                HPL
                                           1,89
        (mínimos quadráticos)
             Gordon Bell
                                           1,86
        (mínimos quadráticos)

     • HPL melhor que Moore devido a paralelismo
     • Transformar ganho de Moore em ganho de velocidade
       requer paralelismo
45                                           III Semana Inverno Geofísica
Porque Paralelismo: Conclusão
     Paralelismo (uso simultâneo de múltiplas
     CPUs em um programa) é uma tecnologia
     disponível que reduz a distância entre as
     necessidades dos usuários e a velocidade
     de uma única CPU

     Mas também é a forma viável de converter
     o aumento no número de componentes da
     Lei de Moore em aumento da velocidade
     de processamento
46                                 III Semana Inverno Geofísica
Agenda
     •   Definição de Paralelismo
     •   Métricas de Desempenho Paralelo
     •   Lei de Amdahl
     •   Necessidade e Utilidade de Paralelismo
     •   Lei de Moore
     •   Memory Wall, Power Wall
     •   Classificação de Computadores Paralelos
     •   Modelos de Computação Paralela

47                                     III Semana Inverno Geofísica
Computadores
         Paralelos:
     Taxonomia de Flynn


48
Taxonomia de Flynn
     •    Múltiplas arquiteturas paralelas propostas desde o início da
          computação

     •    As tentativas anteriores de organizar as propostas em categorias
          não capturavam a arquitetura

     •    Flynn propôs classificação que foi adotada por todos
          –   Discutível se cobre algumas propostas posteriores

     •    O conceito central foi classificar arquiteturas pelo número de fluxos
          (stream) de dados e instruções simultâneos no computador:
          –   Quantos fluxos de instruções (um ou mais)
          –   Quantos fluxos de dados (um ou mais)




     Michael J. Flynn, “Some Computer Organizations and
           Their Effectiveness”, IEEE Transactions on
               Computers Vol. C-21, n. 9, Sept 1972
49
Taxonomia de Flynn
     •   SISD:
         – Single Instruction Stream Single Data Stream

     •   SIMD:
         – Single Instruction Stream Multiple Data Streams

     •   MISD:
         – Multiple Instruction Streams Single Data Stream

     •   MIMD:
         – Multiple Instruction Streams Multiple Data Streams




50
SISD

     • Arquiteturas convencionais (sequenciais)

                            Instruction Stream

        Control
                  Control      Processing                      Memory
         Unit                                    Data Stream
                  Signals
                                Element




51
Ex. SIMD: Array de Processadores

                                                   Control
                                                   Signals




     •   Control Unit envia a mesma instrução decodificada (sinais) para todas as
         PEs
     •   Cada PE atua exclusivamente sobre sua memória
     •   A Control Unit obtém instruções de alguma memória (exclusiva ou não)

52
MISD
     •   Categoria considerada vazia pela comunidade
     •   Flynn cita antigas calculadoras
         –   Talvez IBM 602, onde usuário monta o circuito (a verificar...)




53
MIMD – Memória Central
     •   Múltiplos processadores endereçando a mesma memória

                              Instruction Stream

          Control
                    Control       Processing
           Unit                                    Data Stream
                                   Element


                                   ...
                    Signals

                                                                 Interconection
                                                                                  Memory
                                                                   Network
                              Instruction Stream

          Control
                    Control       Processing
           Unit                                    Data Stream
                    Signals        Element




     •   Sistema Operacional unificado (Single System Image)


54
MIMD – Memória Distribuída
     •   Cada processador endereça sua própria memória
                                                      Instruction Stream

                                  Control
                                                          Processing                     Memory
                                   Unit     Control                        Data Stream
                                                           Element


                          ...                                ...
                                            Signals

         Interconection
           Network
                                                      Instruction Stream

                                  Control
                                                          Processing                     Memory
                                   Unit     Control                        Data Stream
                                            Signals        Element



     •   Múltipos Sistemas Operacionais, tipicamente idênticos


55
Arquitetura de Computadores MIMD:
               Memória Central


                     Memória
               CPU   CPU   CPU   CPU




          Único sistema operacional

56
                                       III Semana Inverno Geofísica
Arquitetura de Computadores MIMD:
             Memória Distribuída


            Memória   Memória   Memória   Memória


             CPU       CPU       CPU       CPU




          Múltiplas cópias do mesmo
              sistema operacional
57
                                                    III Semana Inverno Geofísica
Arquitetura de Computadores MIMD:
                   Clusters


            Memória                  Memória
      CPU    CPU   CPU   CPU   CPU   CPU   CPU     CPU




            Múltiplas cópias do mesmo sistema
                    operacional entre nós;
       Sistema operacional único em cada nó
58
                                           III Semana Inverno Geofísica
Agenda
     •   Definição de Paralelismo
     •   Métricas de Desempenho Paralelo
     •   Lei de Amdahl
     •   Necessidade e Utilidade de Paralelismo
     •   Lei de Moore
     •   Memory Wall, Power Wall
     •   Classificação de Computadores Paralelos
     •   Modelos de Computação Paralela

59
                                       III Semana Inverno Geofísica
Modelos de
     Computação Paralela
      (para arquiteturas MIMD)




60
                           III Semana Inverno Geofísica
Classificação de Computações MIMD
     •    Onde a computação é realizada (arquitetura do
          computador):
          – Memória Central
          – Memória Distribuída


     •    Como a computação é realizada (modelo de
          computação):
          – Modelo de Troca de Mensagens
          – Modelo Fork-Join
          – Há outros...




61
                                                  III Semana Inverno Geofísica
Nomenclatura Genérica
     •   Uma computação paralela é composta por entidades
         (trechos de programa) que cooperam.

     •   Utilizarei tarefa para denominar cada uma dessas
         entidades.

     •   Cada modelo de computação utiliza um nome particular
         para designar a entidade (ex., processo, thread).

     •   Utilizarei tarefa como nome genérico.




62
                                                 III Semana Inverno Geofísica
Modelo de Troca de Mensagens
     • Tarefas cooperam na execução de uma computação

     • Cada tarefa tem o seu espaço de endereçamento
       (memória) invisível a outras tarefas

     • Se necessário, tarefas trocam dados por meio de
       mensagens
        – Memória de uma tarefa é copiada para outra tarefa
        – A troca de mensagens gera sincronismo (portanto,
          dependência) entre as tarefas




63
                                                       III Semana Inverno Geofísica
Modelo Fork-Join
     • Tarefas cooperam na execução de uma computação

     • Todas as tarefas tem o mesmo espaço de
       endereçamento
        – Memória de uma tarefa é visível (e alterável) por outras tarefas

     • Se necessário, tarefas trocam dados lendo e alterando
       memória “alheia” (comum, na realidade)
        – Potencial conflito de acesso (escrita - leitura ou escrita - escrita)
          em uma posição de memória, denominado condição de corrida
          (condição de corrida)
        – A troca de dados requer sincronismo (portanto, dependência)
          entre as tarefas




64
                                                              III Semana Inverno Geofísica
Arquitetura de Computadores MIMD
                         x
          Modelos de Computação MIMD
     • Tipicamente, Fork-Join é executado em máquinas MIMD
       de memória central
        – Mesmo espaço de endereçamento


     • Troca de Mensagens é executada em máquinas MIMD
       de memória central ou de memória distribuída
        – Existem implementações triviais de espaços de endereçamento
          distintos nos dois casos




65
                                                      III Semana Inverno Geofísica
Modelo Fork-Join de Paralelismo
     • Um processo cria outro processo (filho) utilizando fork;

     • Pai e filho tem o mesmo espaço de endereçamento;

     • Pai aguarda término do filho invocando join;

     • Como a criação e a destruição de processos é custosa,
       este modelo utiliza threads (processos leves) e não
       processos




66
                                                   III Semana Inverno Geofísica
Processos
                                      e
                                   Threads


     Fontes:
     Silberschatz, Galvin, Gagne: Operating System Concepts, John Willey, 2005
67   Tanenbaum, Modern Operating Systems, Pearson, 2008                III Semana Inverno Geofísica
Processos
     • Processo é um programa em execução

     • Unidade de trabalho do sistema operacional (SO)
        – SO multiplexa (no tempo) a execução dos processos na(s)
          CPU(s) sob seu controle
        – O próprio SO é um conjunto de processos privilegiados
        – Processos são representados e manipulados no SO por
          estrutura de dados específica

     • Cada processo possui um espaço de endereçamento
       próprio




68
                                                       III Semana Inverno Geofísica
Espaço de Endereçamento de um
                Processo (Memória)
                           max
                                 heap
     variáveis alocadas
        dinamicamente
              por
         procedimentos


                                         variáveis globais e
     procedimentos em                    variáveis estáticas
          execução e             stack     alocadas pelo
        variáveis locais
              dos                data        compilador
        procedimentos
                                  text        instruções
                            0


69
                                         III Semana Inverno Geofísica
Threads
     • Thread (fio de execução) é um processo leve
        – Criar threads é muito mais rápido do que criar processos


     • Cada thread é composta por uma pilha e um conjunto de
       registradores
        – Herda do processo que a criou os demais atributos


     • Threads criadas por um processo compartilham o
       mesmo espaço de endereçamento
        – Logo, compartilham text, data, heap


     • Conceitualmente, um processo contém pelo menos uma
       thread
        – Não necessariamente implementada dessa forma
70
                                                         III Semana Inverno Geofísica
Espaço de Endereçamento de
                           Threads
                          max
                                      heap




     registradores thread 2       stack thread 2


     registradores thread 1       stack thread 1
                                      data
                                       text
                              0


71
                                                   III Semana Inverno Geofísica
PTHREADS
     •   O padrão POSIX para threads é PTHREADS
         –   IEEE 1003.1c-1995


     •   Caracterísiticas de PTHREADS:
         1. Fundamentalmente, uma thread é o conjunto de registradores
            e uma stack, herdando demais atributos do processo que a
            criou;
         2. Threads são criadas por invocação da primitiva pthread_create
         3. A criação de uma thread gera a execução de um método
            (argumento de pthread_create) nos registradores e stack
            recém criados
         4. pthread_criate retorna imediatamente após a criação; as
            threads pai e filho executam concorrentemente, disputando os
            processadores existentes
         5. O processo que cria threads aguarda o término da execução
            de cada thread criada invocando pthread_join


72
                                                         III Semana Inverno Geofísica
Sumário
     •   Definição de Paralelismo
     •   Métricas de Desempenho Paralelo
     •   Lei de Amdahl
     •   Necessidade e Utilidade de Paralelismo
     •   Lei de Moore
     •   Memory Wall, Power Wall
     •   Classificação de Computadores Paralelos
     •   Modelos de Computação Paralela

73                                     III Semana Inverno Geofísica

Weitere ähnliche Inhalte

Was ist angesagt?

Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threadsPaulo Fonseca
 
Introdução à Virtualização
Introdução à VirtualizaçãoIntrodução à Virtualização
Introdução à VirtualizaçãoLucas Miranda
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsEvandro Júnior
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisLeandro Júnior
 
Unidade 1.3. estrutura e funcionamento de um computador
Unidade 1.3.   estrutura e funcionamento de um computadorUnidade 1.3.   estrutura e funcionamento de um computador
Unidade 1.3. estrutura e funcionamento de um computadorhenriquecorreiosapo
 
Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Faculdade Mater Christi
 
Segurança de Dados e Informações - Aula 1 - Introdução à Segurança da Informação
Segurança de Dados e Informações - Aula 1 - Introdução à Segurança da InformaçãoSegurança de Dados e Informações - Aula 1 - Introdução à Segurança da Informação
Segurança de Dados e Informações - Aula 1 - Introdução à Segurança da InformaçãoMinistério Público da Paraíba
 
Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dosteacherpereira
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadoresDaniel Moura
 
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.Filipo Mór
 
Aula 3 sistema computacional (hardware e software)
Aula 3   sistema computacional (hardware e software)Aula 3   sistema computacional (hardware e software)
Aula 3 sistema computacional (hardware e software)Vitor Hugo Melo Araújo
 
Processadores - CPU
Processadores - CPUProcessadores - CPU
Processadores - CPURoney Sousa
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsPedro De Almeida
 

Was ist angesagt? (20)

Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
Introdução à Virtualização
Introdução à VirtualizaçãoIntrodução à Virtualização
Introdução à Virtualização
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas Operacionais
 
Unidade 1.3. estrutura e funcionamento de um computador
Unidade 1.3.   estrutura e funcionamento de um computadorUnidade 1.3.   estrutura e funcionamento de um computador
Unidade 1.3. estrutura e funcionamento de um computador
 
03 - Placa-Mãe.pdf
03 - Placa-Mãe.pdf03 - Placa-Mãe.pdf
03 - Placa-Mãe.pdf
 
Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)
 
Segurança de Dados e Informações - Aula 1 - Introdução à Segurança da Informação
Segurança de Dados e Informações - Aula 1 - Introdução à Segurança da InformaçãoSegurança de Dados e Informações - Aula 1 - Introdução à Segurança da Informação
Segurança de Dados e Informações - Aula 1 - Introdução à Segurança da Informação
 
Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dos
 
Sistemas de Arquivos do Windows
Sistemas de Arquivos do WindowsSistemas de Arquivos do Windows
Sistemas de Arquivos do Windows
 
Aula 06-sistemas de-arquivo
Aula 06-sistemas de-arquivoAula 06-sistemas de-arquivo
Aula 06-sistemas de-arquivo
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadores
 
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
 
Arquitetura de Redes de Computadores
 Arquitetura de Redes de Computadores Arquitetura de Redes de Computadores
Arquitetura de Redes de Computadores
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
Imei mod 7.1
Imei mod 7.1Imei mod 7.1
Imei mod 7.1
 
Aula 3 sistema computacional (hardware e software)
Aula 3   sistema computacional (hardware e software)Aula 3   sistema computacional (hardware e software)
Aula 3 sistema computacional (hardware e software)
 
Processadores - CPU
Processadores - CPUProcessadores - CPU
Processadores - CPU
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e Threads
 

Andere mochten auch

Técnicas forenses para a recuperação de arquivos
Técnicas forenses para a recuperação de arquivosTécnicas forenses para a recuperação de arquivos
Técnicas forenses para a recuperação de arquivosCampus Party Brasil
 
Máquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da MicroarquiteturaMáquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da MicroarquiteturaLincoln Lamas
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadoresDaniel Moura
 
Arquitetura de Computadores
Arquitetura de ComputadoresArquitetura de Computadores
Arquitetura de ComputadoresMayara Oliveira
 
Aoc aula01
Aoc aula01Aoc aula01
Aoc aula01croswebe
 
Arquitetura e Organização de Computadores: Evolução e Desempenho de Computadores
Arquitetura e Organização de Computadores: Evolução e Desempenho de ComputadoresArquitetura e Organização de Computadores: Evolução e Desempenho de Computadores
Arquitetura e Organização de Computadores: Evolução e Desempenho de ComputadoresWellington Oliveira
 
Apresentação Aula Memoria
Apresentação Aula MemoriaApresentação Aula Memoria
Apresentação Aula MemoriaCENTEC
 

Andere mochten auch (14)

Forense Computacional com Software Livre
Forense Computacional com Software LivreForense Computacional com Software Livre
Forense Computacional com Software Livre
 
Técnicas forenses para a recuperação de arquivos
Técnicas forenses para a recuperação de arquivosTécnicas forenses para a recuperação de arquivos
Técnicas forenses para a recuperação de arquivos
 
Arquitetura 6
Arquitetura 6Arquitetura 6
Arquitetura 6
 
Máquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da MicroarquiteturaMáquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da Microarquitetura
 
As memórias
As memóriasAs memórias
As memórias
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadores
 
Memória EEPROM
Memória EEPROMMemória EEPROM
Memória EEPROM
 
Arquitetura de Computadores
Arquitetura de ComputadoresArquitetura de Computadores
Arquitetura de Computadores
 
Aoc aula01
Aoc aula01Aoc aula01
Aoc aula01
 
Arquitetura e Organização de Computadores: Evolução e Desempenho de Computadores
Arquitetura e Organização de Computadores: Evolução e Desempenho de ComputadoresArquitetura e Organização de Computadores: Evolução e Desempenho de Computadores
Arquitetura e Organização de Computadores: Evolução e Desempenho de Computadores
 
Arquitetura 8 2
Arquitetura 8 2Arquitetura 8 2
Arquitetura 8 2
 
Apresentação Aula Memoria
Apresentação Aula MemoriaApresentação Aula Memoria
Apresentação Aula Memoria
 
Aula 06-oac-memoria-principal
Aula 06-oac-memoria-principalAula 06-oac-memoria-principal
Aula 06-oac-memoria-principal
 
Processadores
ProcessadoresProcessadores
Processadores
 

Ähnlich wie Introdução ao Processamento Paralelo (1)

Ähnlich wie Introdução ao Processamento Paralelo (1) (8)

Introdução ao Processamento Paralelo (3)
Introdução ao Processamento Paralelo (3)Introdução ao Processamento Paralelo (3)
Introdução ao Processamento Paralelo (3)
 
Paralelização em Sistemas Computacionais por Bruno Domingues
Paralelização em Sistemas Computacionais por Bruno DominguesParalelização em Sistemas Computacionais por Bruno Domingues
Paralelização em Sistemas Computacionais por Bruno Domingues
 
Introdução ao Processamento Paralelo (4.1)
Introdução ao Processamento Paralelo (4.1)Introdução ao Processamento Paralelo (4.1)
Introdução ao Processamento Paralelo (4.1)
 
Analisador de vibrações - Modo de funcionamento V
Analisador de vibrações - Modo de funcionamento VAnalisador de vibrações - Modo de funcionamento V
Analisador de vibrações - Modo de funcionamento V
 
01
0101
01
 
Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid
 
Ntp 1-cp2011
Ntp 1-cp2011Ntp 1-cp2011
Ntp 1-cp2011
 
Otimização holistica de ambiente computacional
Otimização holistica de ambiente computacionalOtimização holistica de ambiente computacional
Otimização holistica de ambiente computacional
 

Mehr von Grupo de Geofísica Computacional, UNICAMP

Fenômenos eletromagnéticos: conceitos e aplicações em Geofísica e Física
Fenômenos eletromagnéticos: conceitos e aplicações em Geofísica e FísicaFenômenos eletromagnéticos: conceitos e aplicações em Geofísica e Física
Fenômenos eletromagnéticos: conceitos e aplicações em Geofísica e FísicaGrupo de Geofísica Computacional, UNICAMP
 
A Evolução das Técnicas de Aquisição Sísmica Marítima para a Coleta de Dados ...
A Evolução das Técnicas de Aquisição Sísmica Marítima para a Coleta de Dados ...A Evolução das Técnicas de Aquisição Sísmica Marítima para a Coleta de Dados ...
A Evolução das Técnicas de Aquisição Sísmica Marítima para a Coleta de Dados ...Grupo de Geofísica Computacional, UNICAMP
 

Mehr von Grupo de Geofísica Computacional, UNICAMP (19)

Aplicações Potenciais de Deep Learning à Indústria do Petróleo
Aplicações Potenciais de Deep Learning à Indústria do PetróleoAplicações Potenciais de Deep Learning à Indústria do Petróleo
Aplicações Potenciais de Deep Learning à Indústria do Petróleo
 
Full Waveform Inversion: Introdução e Aplicações [5/5]
Full Waveform Inversion: Introdução e Aplicações [5/5]Full Waveform Inversion: Introdução e Aplicações [5/5]
Full Waveform Inversion: Introdução e Aplicações [5/5]
 
Full Waveform Inversion: Introdução e Aplicações [4/5]
Full Waveform Inversion: Introdução e Aplicações [4/5]Full Waveform Inversion: Introdução e Aplicações [4/5]
Full Waveform Inversion: Introdução e Aplicações [4/5]
 
Full Waveform Inversion: Introdução e Aplicações [3/5]
Full Waveform Inversion: Introdução e Aplicações [3/5]Full Waveform Inversion: Introdução e Aplicações [3/5]
Full Waveform Inversion: Introdução e Aplicações [3/5]
 
Full Waveform Inversion: Introdução e Aplicações [2/5]
Full Waveform Inversion: Introdução e Aplicações [2/5]Full Waveform Inversion: Introdução e Aplicações [2/5]
Full Waveform Inversion: Introdução e Aplicações [2/5]
 
Full Waveform Inversion: Introdução e Aplicações [1/5]
Full Waveform Inversion: Introdução e Aplicações [1/5]Full Waveform Inversion: Introdução e Aplicações [1/5]
Full Waveform Inversion: Introdução e Aplicações [1/5]
 
Fenômenos eletromagnéticos: conceitos e aplicações em Geofísica e Física
Fenômenos eletromagnéticos: conceitos e aplicações em Geofísica e FísicaFenômenos eletromagnéticos: conceitos e aplicações em Geofísica e Física
Fenômenos eletromagnéticos: conceitos e aplicações em Geofísica e Física
 
Introduction to velocity model building
Introduction to velocity model buildingIntroduction to velocity model building
Introduction to velocity model building
 
Petrofísica de carbonatos do nordeste brasileiro
Petrofísica de carbonatos do nordeste brasileiroPetrofísica de carbonatos do nordeste brasileiro
Petrofísica de carbonatos do nordeste brasileiro
 
O Campo Geomagnético no Brasil
O Campo Geomagnético no BrasilO Campo Geomagnético no Brasil
O Campo Geomagnético no Brasil
 
Problemas Inversos
Problemas InversosProblemas Inversos
Problemas Inversos
 
Sismologia — Ciência dos Terremotos, onde, como e por quê? (4)
Sismologia — Ciência dos Terremotos, onde, como e por quê? (4)Sismologia — Ciência dos Terremotos, onde, como e por quê? (4)
Sismologia — Ciência dos Terremotos, onde, como e por quê? (4)
 
Sismologia — Ciência dos Terremotos, onde, como e por quê? (3)
Sismologia — Ciência dos Terremotos, onde, como e por quê? (3)Sismologia — Ciência dos Terremotos, onde, como e por quê? (3)
Sismologia — Ciência dos Terremotos, onde, como e por quê? (3)
 
Sismologia — Ciência dos Terremotos, onde, como e por quê? (2)
Sismologia — Ciência dos Terremotos, onde, como e por quê? (2)Sismologia — Ciência dos Terremotos, onde, como e por quê? (2)
Sismologia — Ciência dos Terremotos, onde, como e por quê? (2)
 
Sismologia — Ciência dos Terremotos, onde, como e por quê? (1)
Sismologia — Ciência dos Terremotos, onde, como e por quê? (1)Sismologia — Ciência dos Terremotos, onde, como e por quê? (1)
Sismologia — Ciência dos Terremotos, onde, como e por quê? (1)
 
Aspectos de modelagem e imageamento usando equação da onda
Aspectos de modelagem e imageamento usando equação da ondaAspectos de modelagem e imageamento usando equação da onda
Aspectos de modelagem e imageamento usando equação da onda
 
Introdução ao Processamento Paralelo (2)
Introdução ao Processamento Paralelo (2)Introdução ao Processamento Paralelo (2)
Introdução ao Processamento Paralelo (2)
 
Introdução ao Processamento Paralelo (4.2)
Introdução ao Processamento Paralelo (4.2)Introdução ao Processamento Paralelo (4.2)
Introdução ao Processamento Paralelo (4.2)
 
A Evolução das Técnicas de Aquisição Sísmica Marítima para a Coleta de Dados ...
A Evolução das Técnicas de Aquisição Sísmica Marítima para a Coleta de Dados ...A Evolução das Técnicas de Aquisição Sísmica Marítima para a Coleta de Dados ...
A Evolução das Técnicas de Aquisição Sísmica Marítima para a Coleta de Dados ...
 

Kürzlich hochgeladen

ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxDeyvidBriel
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundonialb
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfIedaGoethe
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosAntnyoAllysson
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
A galinha ruiva sequencia didatica 3 ano
A  galinha ruiva sequencia didatica 3 anoA  galinha ruiva sequencia didatica 3 ano
A galinha ruiva sequencia didatica 3 anoandrealeitetorres
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasRicardo Diniz campos
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfEyshilaKelly1
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPanandatss1
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxLuizHenriquedeAlmeid6
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 

Kürzlich hochgeladen (20)

ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundo
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteiros
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
A galinha ruiva sequencia didatica 3 ano
A  galinha ruiva sequencia didatica 3 anoA  galinha ruiva sequencia didatica 3 ano
A galinha ruiva sequencia didatica 3 ano
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
 
Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecas
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdf
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SP
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 

Introdução ao Processamento Paralelo (1)

  • 1. Introdução a Processamento Paralelo Jairo Panetta ITA/IEC Petrobras/E&P Sede/TG INPE/CPTEC 1 III Semana Inverno Geofísica
  • 2. Agenda • Definição de Paralelismo • Métricas de Desempenho Paralelo • Lei de Amdahl • Necessidade e Utilidade de Paralelismo • Lei de Moore • Memory Wall, Power Wall • Classificação de Computadores Paralelos • Modelos de Computação Paralela 2 III Semana Inverno Geofísica
  • 3. Processamento Paralelo é a realização simultânea de múltiplas partes de uma única computação para reduzir seu tempo de execução 3 III Semana Inverno Geofísica
  • 4. Exemplos de Processamento Paralelo • Copiar (“xerox”) documento da ordem de 10.000 páginas utilizando – 1 copiadora – 2 copiadoras – ... • Cavar uma vala horizontal de 10km de comprimento por 2m de diâmetro utilizando – 1 trabalhador – 2 trabalhadores – ... • Escrever um arquivo em disco utilizando – 1 servidor de arquivos – 2 servidores de arquivos – ... • Prever numericamente o tempo no futuro utilizando – 1 CPU – 2 CPUs – ... 4 III Semana Inverno Geofísica
  • 5. Características básicas de Processamento Paralelo • Requer a replicação (total ou parcial) de entidades trabalhadoras – múltiplas copiadoras – múltiplos trabalhadores – múltiplos servidores de arquivos – múltiplas CPUs • Requer alterar a forma de realizar a tarefa para usufruir da replicação • Ao replicar n entidades deseja-se dividir o tempo de execução da tarefa por n – máximo teórico 5 III Semana Inverno Geofísica
  • 6. Copiar 10.240 páginas • Suponha: – original entregue em ordem crescente das páginas numeradas; – copia deve ser entregue da mesma forma – uma única pessoa divide o original em partes iguais a serem copiadas, entrega para os copiadores e recolhe as cópias – cada copiadora copia uma única parte – 1 segundo para copiar uma página – 5 segundos para dividir o original em dois blocos – 5 segundos para juntar dois blocos de páginas copiadas • Estime o tempo para realizar a tarefa utilizando – 1, 2, 4, 8, 16, 32 e 64 copiadoras 6 III Semana Inverno Geofísica
  • 7. Tempo com n copiadoras n=1 10240 n=2 5 + 10240/2 + 5 3≤n≤?? 5(n-1) + 10240/n + 10 t 7 III Semana Inverno Geofísica
  • 8. Estimativa do Tempo de Execução Hipótese: tempo total = tempo de entrega sequencial das partes + tempo de copiar uma parte + tempo de recolher duas últimas partes Tempo (s) Máquinas Ganho dividir copiar juntar total 1 0 10240 0 10240 1,00 2 5 5120 5 5130 2,00 4 15 2560 10 2585 3,96 8 35 1280 10 1325 7,73 16 75 640 10 725 14,12 32 155 320 10 485 21,11 64 315 160 10 485 21,11 falha hipótese da estimativa (recolhe cópias enquanto o último copiador trabalha) 8 III Semana Inverno Geofísica
  • 9. Copiar 10.240 páginas • Como utilizar eficientemente 1024 copiadoras? – Alterando os mecanismos de distribuição de dados e de coleta de resultados • O procedimento (algoritmo) muda com o volume de paralelismo – pois muda o gargalo da tarefa • E se uma copiadora for 1% mais lenta que as outras? – típico de grande número de máquinas iguais • E se uma copiadora quebrar? – Tolerância a falhas é desejável; as vezes, imprescindível 9 III Semana Inverno Geofísica
  • 10. Cavar vala de 10km • Exemplo atribuído ao Prof. Siang W. Song (IME/USP) • Similar ao exemplo anterior. Assuma terreno demarcado, número crescente de trabalhadores equipados e um capataz. – Quais são os fatores que impedem redução “ótima” do tempo de execução com o aumento do número de trabalhadores? • E se a vala for vertical? • Há problemas inerentemente sequenciais – alterar 1 bit na memória • Pequenas variações do problema podem causar grandes variações no paralelismo 10 III Semana Inverno Geofísica
  • 11. Agenda • Definição de Paralelismo • Métricas de Desempenho Paralelo • Lei de Amdahl • Necessidade e Utilidade de Paralelismo • Lei de Moore • Memory Wall, Power Wall • Classificação de Computadores Paralelos • Modelos de Computação Paralela 11 III Semana Inverno Geofísica
  • 12. Speed-up (ou Ganho) • Mede o ganho (no tempo de execução) em utilizar p processadores S(p) = T(1)/T(p) • Teoricamente, S(p)  p • Na prática, características do computador alteram tais limites 12 III Semana Inverno Geofísica
  • 13. Eficiência • Mede a eficiência em utilizar p processadores E(p) = T(1) / (p*T(p)) E(p) = S(p) / p 13 III Semana Inverno Geofísica
  • 14. Agenda • Definição de Paralelismo • Métricas de Desempenho Paralelo • Lei de Amdahl • Necessidade e Utilidade de Paralelismo • Lei de Moore • Memory Wall, Power Wall • Classificação de Computadores Paralelos • Modelos de Computação Paralela 14 III Semana Inverno Geofísica
  • 15. Lei de Amdahl - Sumário Se a fração seqüencial do tempo de execução de um programa é f, o ganho (speed-up) máximo é S(p) = 1/f para qualquer número de processadores. Gene M. Amdahl, “Validity of the single processor approach to achieving large scale computing capabilities”, AFIPS 15 spring joint computer conference, 1967 III Semana Inverno Geofísica
  • 16. Lei de Amdahl em Detalhe 16 III Semana Inverno Geofísica
  • 17. Lei de Amdahl - Demonstração 17 III Semana Inverno Geofísica
  • 18. Lei de Amdahl - Implicações Speed-up máximo em função da fração do tempo de execução sequencial mantida sequencial na execução paralela 1000 1000 500,2 100 90,9 Speed-up 10 9,91 1 1 10 100 1000 Processadores f=0 f=0,1% f=1% f=10% 18 III Semana Inverno Geofísica
  • 19. Agenda • Definição de Paralelismo • Métricas de Desempenho Paralelo • Lei de Amdahl • Necessidade e Utilidade de Paralelismo • Lei de Moore • Memory Wall, Power Wall • Classificação de Computadores Paralelos • Modelos de Computação Paralela 19 III Semana Inverno Geofísica
  • 20. Porque Paralelismo? Há Motivos Perenes 20 III Semana Inverno Geofísica
  • 21. Desde que existem computadores • Aplicações (usuários) requerem computadores cada vez mais potentes • Velocidade e poder computacional de CPUs crescem a velocidade assombrosa – Base: Lei de Moore (veremos em seguida) • Requisitos das aplicações (usuários) crescem mais rapidamente do que a velocidade das CPUs • Acoplar múltiplas CPUs é uma forma viável de reduzir a distância entre as necessidades dos usuários e a velocidade de uma única CPU 21 III Semana Inverno Geofísica
  • 22. Requisitos dos Usuários • Usuários estão insatisfeitos com os modelos matemáticos utilizados nas simulações computacionais (não representam aspectos críticos da realidade) • Modelos matemáticos mais precisos requerem computadores ordens de magnitude mais velozes que os atualmente disponíveis (verdade “desde sempre”) 22 III Semana Inverno Geofísica
  • 23. Caso geral: Top500 • Lista dos 500 computadores mais rápidos do mundo – métrica: velocidade efetiva na solução de sistema denso de equações lineares em dupla precisão utilizando Linpack (High Performance Linpack) de tamanho escolhido pelo usuário – classificação: velocidade efetiva medida em flop/s (floating point operations per second) – submissão: usuários interessados executam HPL e enviam resultados (logo, pode haver máquinas potentes fora da lista) – site: http://www.top500.org – importância: Rara base histórica de dados (duas listas por ano, mantidas desde 1993) – início: planilha de Linpack compilada por Jack Dongarra desde 1980; vide http://www.netlib.org • Ser número 1 no Top500 é objeto de desejo (“priceless”) – HPL é um dos programas mais extensamente otimizados, por fabricantes, da história de computação – Dificilmente um programa obterá velocidade efetiva maior que a do HPL na mesma máquina 23 III Semana Inverno Geofísica
  • 24. Top 500 Jun 2012 Cores V Pico V Linpack Fabricante - Power Máquina - Local (CPUs) (TFlop) (TFlop) Processador (MW) Sequoia, LLNL, Blue Gene Q: IBM 1 572 864 20 132 16 324 7,890 USA PowerPC 1,6GHz K Machine, RIKEN, 705 024 11 280 10 510 Fujitsu: Spark 2GHz 12,659 Japan Blue Gene Q: IBM Mira, ANL, USA 786 432 10 066 8 162 3,945 PowerPC 1,6GHz SuperMUC: Leibniz IBM, Intel Sandy Rechenzentrum, 147 456 3 185 2 897 3,422 Bridge, 2.7GHz Germany Tianhe-1A: National Home Made: 186 368 + Supercomputing 4 701 2 566 4,040 GPUs Xeon + NVIDIA Center, China http://www.top500.org 24 III Semana Inverno Geofísica
  • 25. Brasil no Top500 Jun 2012 CPTEC #79 NACAD #456 PETROBRAS #68 25 III Semana Inverno Geofísica
  • 26. Top500: Visão Histórica Soma #1 #500 LapTop http://www.top500.org 26 III Semana Inverno Geofísica
  • 27. Projeção de Desempenho Cray 2 ASCI Red Roadrunner ?? 1 GFlop/s 1 TFlop/s 1 PFlop/s 1 EFlop/s O(1) Thread O(103) Threads O(106) Threads O(109) Threads Jack Dongarra, Invited Talk, SIAM 2008 Annual Meeting 27 III Semana Inverno Geofísica
  • 28. Sumário: Porque Paralelismo? • Usuários continuarão a demandar maior potência computacional, alcançável por paralelismo – até quando paralelismo resolve? – “I know how four ox can push a wagon, but not 1024 chickens” • Entretanto, há motivos mais recentes para usar paralelismo – motivos alheios à vontade dos usuários e dos fabricantes 28 III Semana Inverno Geofísica
  • 29. Porque Paralelismo? Há Motivos Recentes 29 III Semana Inverno Geofísica
  • 30. Agenda • Definição de Paralelismo • Métricas de Desempenho Paralelo • Lei de Amdahl • Necessidade e Utilidade de Paralelismo • Lei de Moore • Memory Wall, Power Wall • Classificação de Computadores Paralelos • Modelos de Computação Paralela 30 III Semana Inverno Geofísica
  • 31. Lei de Moore Primeira forma (1965): – Número de componentes por circuito integrado que minimiza o custo por componente dobra a cada ano – Observação (não “lei”) no trabalho original – Extrapolação baseada em 5 pontos – Moore sugeriu reconsiderar após 10 anos Segunda forma (1975): – Dobra a cada dois anos – Moore nunca disse 18 meses – Profecia auto realizável Gordon Moore: “Cramming more components onto integrated circuits”, Eletronics v.38, N.8, 1965; 31 III Semana Inverno Geofísica
  • 32. Verificação da Lei de Moore Dobra a cada 24 meses Dobra a cada 18 meses http://www.intel.com/technology/mooreslaw 32 III Semana Inverno Geofísica
  • 33. Força Motriz da Lei de Moore Tecnologia de Litografia constantemente reduz tamanho de componentes em CI G. Moore, palestra convidada ISSCC 2003 III Semana Inverno Geofísica 33
  • 34. Até recentemente Canalizar aumento no número de componentes para aumentar a freqüência de operação gera CPUs progressivamente mais rápidas G. Moore, palestra convidada ISSCC 2003 III Semana Inverno Geofísica 34
  • 35. Mas o ganho anual em velocidade de um processador é bem menor que o ganho anual no número de componentes, pois há barreiras 35 III Semana Inverno Geofísica
  • 36. Agenda • Definição de Paralelismo • Métricas de Desempenho Paralelo • Lei de Amdahl • Necessidade e Utilidade de Paralelismo • Lei de Moore • Memory Wall, Power Wall • Classificação de Computadores Paralelos • Modelos de Computação Paralela 36 III Semana Inverno Geofísica
  • 37. Mas há barreiras: Memory Wall •A velocidade de acesso à memória escala mais lentamente que a velocidade da CPU, ao longo dos anos •Acesso à memória torna-se o gargalo da eficiência •Largura de banda (bandwidth) vem sendo acomodada (economia) •Latência (latency) é a questão crucial J. L. Gaudiot, palestra convidada SBAC 2006 III Semana Inverno Geofísica 37
  • 38. Mas há barreiras: Power Wall •Dissipação atingiu níveis intoleráveis Figura: Fred Pollack, palestra convidada MICRO 1999 38 Borkar, “Design Challenges of Technology Scaling”, IEEE Micro, July 1999 S. III Semana Inverno Geofísica
  • 39. Dissipação de Potência Pentium e Dissipador, 2005 Pentium e Dissipador, 1995 www.tomshardware.com/2005/11/21/the_mother_of_all_cpu_charts_2005 39 III Semana Inverno Geofísica
  • 40. Dissipação de Potência impede novo aumento de frequência www.tomshardware.com/2005/11/21/the_mother_of_all_cpu_charts_2005 40 III Semana Inverno Geofísica
  • 41. Em síntese Ida à memória limita aumento de velocidade de programas, pois freqüência da memória não escala proporcionalmente à frequência da CPU e a latência menos ainda (memory wall) Dissipação térmica atinge nível absurdo (power wall) E há outras barreiras... 41 III Semana Inverno Geofísica
  • 42. Paralelismo: Novos Motivos Como usar maior número de componentes para gerar máquinas mais rápidas? Aumentar a freqüência não é mais possível. Tendência clara: Múltiplas CPUs de menor freqüência no mesmo chip 42 III Semana Inverno Geofísica
  • 43. Paralelismo: Novos Motivos 43 III Semana Inverno Geofísica
  • 44. Por enquanto, poucas CPUs por chip. Forte tendência de muitas PUs no mesmo chip, idênticas ou não, 44 com uma ou múltiplas threads Fonte: INTEL e AMD Semana Inverno Geofísica III
  • 45. Comparando ganhos anuais Métrica Ganho Anual Lei de Moore 1,58 (dobra a cada 18 meses) HPL 1,89 (mínimos quadráticos) Gordon Bell 1,86 (mínimos quadráticos) • HPL melhor que Moore devido a paralelismo • Transformar ganho de Moore em ganho de velocidade requer paralelismo 45 III Semana Inverno Geofísica
  • 46. Porque Paralelismo: Conclusão Paralelismo (uso simultâneo de múltiplas CPUs em um programa) é uma tecnologia disponível que reduz a distância entre as necessidades dos usuários e a velocidade de uma única CPU Mas também é a forma viável de converter o aumento no número de componentes da Lei de Moore em aumento da velocidade de processamento 46 III Semana Inverno Geofísica
  • 47. Agenda • Definição de Paralelismo • Métricas de Desempenho Paralelo • Lei de Amdahl • Necessidade e Utilidade de Paralelismo • Lei de Moore • Memory Wall, Power Wall • Classificação de Computadores Paralelos • Modelos de Computação Paralela 47 III Semana Inverno Geofísica
  • 48. Computadores Paralelos: Taxonomia de Flynn 48
  • 49. Taxonomia de Flynn • Múltiplas arquiteturas paralelas propostas desde o início da computação • As tentativas anteriores de organizar as propostas em categorias não capturavam a arquitetura • Flynn propôs classificação que foi adotada por todos – Discutível se cobre algumas propostas posteriores • O conceito central foi classificar arquiteturas pelo número de fluxos (stream) de dados e instruções simultâneos no computador: – Quantos fluxos de instruções (um ou mais) – Quantos fluxos de dados (um ou mais) Michael J. Flynn, “Some Computer Organizations and Their Effectiveness”, IEEE Transactions on Computers Vol. C-21, n. 9, Sept 1972 49
  • 50. Taxonomia de Flynn • SISD: – Single Instruction Stream Single Data Stream • SIMD: – Single Instruction Stream Multiple Data Streams • MISD: – Multiple Instruction Streams Single Data Stream • MIMD: – Multiple Instruction Streams Multiple Data Streams 50
  • 51. SISD • Arquiteturas convencionais (sequenciais) Instruction Stream Control Control Processing Memory Unit Data Stream Signals Element 51
  • 52. Ex. SIMD: Array de Processadores Control Signals • Control Unit envia a mesma instrução decodificada (sinais) para todas as PEs • Cada PE atua exclusivamente sobre sua memória • A Control Unit obtém instruções de alguma memória (exclusiva ou não) 52
  • 53. MISD • Categoria considerada vazia pela comunidade • Flynn cita antigas calculadoras – Talvez IBM 602, onde usuário monta o circuito (a verificar...) 53
  • 54. MIMD – Memória Central • Múltiplos processadores endereçando a mesma memória Instruction Stream Control Control Processing Unit Data Stream Element ... Signals Interconection Memory Network Instruction Stream Control Control Processing Unit Data Stream Signals Element • Sistema Operacional unificado (Single System Image) 54
  • 55. MIMD – Memória Distribuída • Cada processador endereça sua própria memória Instruction Stream Control Processing Memory Unit Control Data Stream Element ... ... Signals Interconection Network Instruction Stream Control Processing Memory Unit Control Data Stream Signals Element • Múltipos Sistemas Operacionais, tipicamente idênticos 55
  • 56. Arquitetura de Computadores MIMD: Memória Central Memória CPU CPU CPU CPU Único sistema operacional 56 III Semana Inverno Geofísica
  • 57. Arquitetura de Computadores MIMD: Memória Distribuída Memória Memória Memória Memória CPU CPU CPU CPU Múltiplas cópias do mesmo sistema operacional 57 III Semana Inverno Geofísica
  • 58. Arquitetura de Computadores MIMD: Clusters Memória Memória CPU CPU CPU CPU CPU CPU CPU CPU Múltiplas cópias do mesmo sistema operacional entre nós; Sistema operacional único em cada nó 58 III Semana Inverno Geofísica
  • 59. Agenda • Definição de Paralelismo • Métricas de Desempenho Paralelo • Lei de Amdahl • Necessidade e Utilidade de Paralelismo • Lei de Moore • Memory Wall, Power Wall • Classificação de Computadores Paralelos • Modelos de Computação Paralela 59 III Semana Inverno Geofísica
  • 60. Modelos de Computação Paralela (para arquiteturas MIMD) 60 III Semana Inverno Geofísica
  • 61. Classificação de Computações MIMD • Onde a computação é realizada (arquitetura do computador): – Memória Central – Memória Distribuída • Como a computação é realizada (modelo de computação): – Modelo de Troca de Mensagens – Modelo Fork-Join – Há outros... 61 III Semana Inverno Geofísica
  • 62. Nomenclatura Genérica • Uma computação paralela é composta por entidades (trechos de programa) que cooperam. • Utilizarei tarefa para denominar cada uma dessas entidades. • Cada modelo de computação utiliza um nome particular para designar a entidade (ex., processo, thread). • Utilizarei tarefa como nome genérico. 62 III Semana Inverno Geofísica
  • 63. Modelo de Troca de Mensagens • Tarefas cooperam na execução de uma computação • Cada tarefa tem o seu espaço de endereçamento (memória) invisível a outras tarefas • Se necessário, tarefas trocam dados por meio de mensagens – Memória de uma tarefa é copiada para outra tarefa – A troca de mensagens gera sincronismo (portanto, dependência) entre as tarefas 63 III Semana Inverno Geofísica
  • 64. Modelo Fork-Join • Tarefas cooperam na execução de uma computação • Todas as tarefas tem o mesmo espaço de endereçamento – Memória de uma tarefa é visível (e alterável) por outras tarefas • Se necessário, tarefas trocam dados lendo e alterando memória “alheia” (comum, na realidade) – Potencial conflito de acesso (escrita - leitura ou escrita - escrita) em uma posição de memória, denominado condição de corrida (condição de corrida) – A troca de dados requer sincronismo (portanto, dependência) entre as tarefas 64 III Semana Inverno Geofísica
  • 65. Arquitetura de Computadores MIMD x Modelos de Computação MIMD • Tipicamente, Fork-Join é executado em máquinas MIMD de memória central – Mesmo espaço de endereçamento • Troca de Mensagens é executada em máquinas MIMD de memória central ou de memória distribuída – Existem implementações triviais de espaços de endereçamento distintos nos dois casos 65 III Semana Inverno Geofísica
  • 66. Modelo Fork-Join de Paralelismo • Um processo cria outro processo (filho) utilizando fork; • Pai e filho tem o mesmo espaço de endereçamento; • Pai aguarda término do filho invocando join; • Como a criação e a destruição de processos é custosa, este modelo utiliza threads (processos leves) e não processos 66 III Semana Inverno Geofísica
  • 67. Processos e Threads Fontes: Silberschatz, Galvin, Gagne: Operating System Concepts, John Willey, 2005 67 Tanenbaum, Modern Operating Systems, Pearson, 2008 III Semana Inverno Geofísica
  • 68. Processos • Processo é um programa em execução • Unidade de trabalho do sistema operacional (SO) – SO multiplexa (no tempo) a execução dos processos na(s) CPU(s) sob seu controle – O próprio SO é um conjunto de processos privilegiados – Processos são representados e manipulados no SO por estrutura de dados específica • Cada processo possui um espaço de endereçamento próprio 68 III Semana Inverno Geofísica
  • 69. Espaço de Endereçamento de um Processo (Memória) max heap variáveis alocadas dinamicamente por procedimentos variáveis globais e procedimentos em variáveis estáticas execução e stack alocadas pelo variáveis locais dos data compilador procedimentos text instruções 0 69 III Semana Inverno Geofísica
  • 70. Threads • Thread (fio de execução) é um processo leve – Criar threads é muito mais rápido do que criar processos • Cada thread é composta por uma pilha e um conjunto de registradores – Herda do processo que a criou os demais atributos • Threads criadas por um processo compartilham o mesmo espaço de endereçamento – Logo, compartilham text, data, heap • Conceitualmente, um processo contém pelo menos uma thread – Não necessariamente implementada dessa forma 70 III Semana Inverno Geofísica
  • 71. Espaço de Endereçamento de Threads max heap registradores thread 2 stack thread 2 registradores thread 1 stack thread 1 data text 0 71 III Semana Inverno Geofísica
  • 72. PTHREADS • O padrão POSIX para threads é PTHREADS – IEEE 1003.1c-1995 • Caracterísiticas de PTHREADS: 1. Fundamentalmente, uma thread é o conjunto de registradores e uma stack, herdando demais atributos do processo que a criou; 2. Threads são criadas por invocação da primitiva pthread_create 3. A criação de uma thread gera a execução de um método (argumento de pthread_create) nos registradores e stack recém criados 4. pthread_criate retorna imediatamente após a criação; as threads pai e filho executam concorrentemente, disputando os processadores existentes 5. O processo que cria threads aguarda o término da execução de cada thread criada invocando pthread_join 72 III Semana Inverno Geofísica
  • 73. Sumário • Definição de Paralelismo • Métricas de Desempenho Paralelo • Lei de Amdahl • Necessidade e Utilidade de Paralelismo • Lei de Moore • Memory Wall, Power Wall • Classificação de Computadores Paralelos • Modelos de Computação Paralela 73 III Semana Inverno Geofísica