• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introdução ao Processamento Paralelo (1)
 

Introdução ao Processamento Paralelo (1)

on

  • 2,224 views

Minicurso ofericido durante a III Semana de Inverno de Geofisica, IMECC/UNICAMP, 2012, por Jairo Panetta (ITA/ICE).

Minicurso ofericido durante a III Semana de Inverno de Geofisica, IMECC/UNICAMP, 2012, por Jairo Panetta (ITA/ICE).

Statistics

Views

Total Views
2,224
Views on SlideShare
2,141
Embed Views
83

Actions

Likes
2
Downloads
0
Comments
0

1 Embed 83

http://semanainvernogeofisica.wordpress.com 83

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Introdução ao Processamento Paralelo (1) Introdução ao Processamento Paralelo (1) Presentation Transcript

    • Introdução a Processamento Paralelo Jairo Panetta ITA/IEC Petrobras/E&P Sede/TG INPE/CPTEC1 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 Paralela2 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ção3 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órico5 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 copiadoras6 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 + 10t7 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ível9 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 paralelismo10 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 Paralela11 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 limites12 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) / p13 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 Paralela14 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”, AFIPS15 spring joint computer conference, 1967 III Semana Inverno Geofísica
    • Lei de Amdahl em Detalhe16 III Semana Inverno Geofísica
    • Lei de Amdahl - Demonstração17 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 Paralela19 III Semana Inverno Geofísica
    • Porque Paralelismo? Há Motivos Perenes20 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 CPU21 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áquina23 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.org24 III Semana Inverno Geofísica
    • Brasil no Top500 Jun 2012 CPTEC #79 NACAD #456 PETROBRAS #6825 III Semana Inverno Geofísica
    • Top500: Visão Histórica Soma #1 #500 LapTop http://www.top500.org26 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 Meeting27 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 fabricantes28 III Semana Inverno Geofísica
    • Porque Paralelismo? Há Motivos Recentes29 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 Paralela30 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ávelGordon Moore: “Cramming more components ontointegrated 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/mooreslaw32 III Semana Inverno Geofísica
    • Força Motriz da Lei de Moore Tecnologia de Litografia constantemente reduz tamanho de componentes em CIG. Moore, palestra convidada ISSCC 2003 III Semana Inverno Geofísica33
    • Até recentemente Canalizar aumento no número de componentes para aumentar a freqüência de operação gera CPUs progressivamente mais rápidasG. Moore, palestra convidada ISSCC 2003 III Semana Inverno Geofísica34
    • Mas o ganho anual em velocidade de um processador é bem menor que o ganho anual no número de componentes, pois há barreiras35 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 Paralela36 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 crucialJ. L. Gaudiot, palestra convidada SBAC 2006 III Semana Inverno Geofísica37
    • Mas há barreiras: Power Wall •Dissipação atingiu níveis intoleráveisFigura: Fred Pollack, palestra convidada MICRO 199938 Borkar, “Design Challenges of Technology Scaling”, IEEE Micro, July 1999S. III Semana Inverno Geofísica
    • Dissipação de Potência Pentium e Dissipador, 2005 Pentium e Dissipador, 1995www.tomshardware.com/2005/11/21/the_mother_of_all_cpu_charts_200539 III Semana Inverno Geofísica
    • Dissipação de Potência impede novo aumento de frequênciawww.tomshardware.com/2005/11/21/the_mother_of_all_cpu_charts_200540 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 MotivosComo 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 chip42 III Semana Inverno Geofísica
    • Paralelismo: Novos Motivos43 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 paralelismo45 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 processamento46 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 Paralela47 III Semana Inverno Geofísica
    • Computadores Paralelos: Taxonomia de Flynn48
    • 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 197249
    • 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 Streams50
    • SISD • Arquiteturas convencionais (sequenciais) Instruction Stream Control Control Processing Memory Unit Data Stream Signals Element51
    • 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ênticos55
    • Arquitetura de Computadores MIMD: Memória Central Memória CPU CPU CPU CPU Único sistema operacional56 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 operacional57 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 Paralela59 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 tarefas63 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 tarefas64 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 casos65 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 processos66 III Semana Inverno Geofísica
    • Processos e Threads Fontes: Silberschatz, Galvin, Gagne: Operating System Concepts, John Willey, 200567 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óprio68 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 069 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 forma70 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 071 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_join72 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 Paralela73 III Semana Inverno Geofísica