Programa¸˜o Multicore:
             ca
Como sobreviver a esta revolu¸˜o?
                             ca

          Paulo ...
Sobre o palestrante...


      Engenheiro de Computa¸˜o, UCDB, 2003
                             ca
      Engenheiro de So...
Agenda



   1   Introdu¸˜o
              ca
           A emergˆncia do Software Multicore
                   e
          ...
A emergˆncia do Software Multicore
       e
              O que ´ Paralelismo?
                    e




                 ...
A emergˆncia do Software Multicore
                  e
                         O que ´ Paralelismo?
                     ...
A emergˆncia do Software Multicore
                  e
                                                A Lei de Moore
    ...
A emergˆncia do Software Multicore
                e
                                              A Lei de Moore
        ...
A emergˆncia do Software Multicore
                  e
                                                A Lei de Moore
    ...
A emergˆncia do Software Multicore
                   e
                                                 A Lei de Moore
  ...
A emergˆncia do Software Multicore
                     e
                                                   A Lei de Moor...
A emergˆncia do Software Multicore
                   e
                                                 A Lei de Moore
  ...
A emergˆncia do Software Multicore
                  e                             A Lei de Amdahl
                       ...
A emergˆncia do Software Multicore
                  e                             A Lei de Amdahl
                       ...
A emergˆncia do Software Multicore
                  e                               A Lei de Amdahl
                     ...
A emergˆncia do Software Multicore
                   e                             A Lei de Amdahl
                      ...
A emergˆncia do Software Multicore
                     e                             A Lei de Amdahl
                    ...
A emergˆncia do Software Multicore
                   e                             A Lei de Amdahl
                      ...
A emergˆncia do Software Multicore
                e                             A Lei de Amdahl
                       O ...
MPI
              PThreads
              OpenMP




                   Parte II

Plataformas de concorrˆncia
             ...
MPI
                            PThreads
                            OpenMP




3   MPI


4   PThreads


5   OpenMP




  ...
MPI
                                PThreads
                                OpenMP


MPI


      MPI (Message Passing Int...
MPI
                               PThreads
                               OpenMP


MPI

      Diversas implementa¸˜es;
  ...
MPI
                            PThreads
                            OpenMP


MPI

 Estrutura b´sica de um programa MPI
  ...
MPI
                                 PThreads
                                 OpenMP


MPI




      hello-mpi
      hell...
MPI
                               PThreads
                               OpenMP


PThreads


      POSIX Threads ´ um pa...
MPI
                             PThreads
                             OpenMP


PThreads



  Criando e Terminando Threads...
MPI
                             PThreads
                             OpenMP


PThreads



  Unindo e Desunindo Threads
 ...
MPI
                              PThreads
                              OpenMP


PThreads
  Criando e Destruindo Mutex
  ...
MPI
                             PThreads
                             OpenMP


PThreads




   hello
   hello arg1
   joi...
MPI
                           PThreads
                           OpenMP


OpenMP



    http://www.openmp.org
    Biblio...
MPI
                               PThreads
                               OpenMP


OpenMP


 Caracter´
         ısticas
 ...
MPI
                               PThreads
                               OpenMP


OpenMP




   openmp hello
   ImageMag...
Desempenho da aplica¸˜o
                              ca
        Confiabilidade de Software
        Tempo de desenvolviment...
Desempenho da aplica¸˜o
                                      ca
                Confiabilidade de Software
               ...
Desempenho da aplica¸˜o
                                       ca
                 Confiabilidade de Software
             ...
Desempenho da aplica¸˜o
                                        ca
                  Confiabilidade de Software
           ...
Desempenho da aplica¸˜o
                                         ca
                   Confiabilidade de Software
         ...
Desempenho da aplica¸˜o
                                         ca
                   Confiabilidade de Software
         ...
Desempenho da aplica¸˜o
                                        ca
                  Confiabilidade de Software
           ...
Desempenho da aplica¸˜o
                                        ca
                  Confiabilidade de Software
           ...
Referˆncias
     e

     Amdahl, G.; The validity of the single processor approach to
     achieving largescale computing ...
Referˆncias
     e




     Butenhof, D. R.; Programming with POSIX(R) Threads,
     Addison Wesley, 1997
     Chapman, B....
IBM Linux Technology Center




     LTC ´ o bra¸o armado da iniciativa IBM para com o software
           e    c
     liv...
IBM Linux Technology Center




              Paulo Ricardo Paz Vital   CONISLI 2008 - Congresso Internacional de Software...
Agradecimentos




  Ao colega Higor Alves, pelo empr´stimo de um laptop multicore :-D
                                  e...
Perguntas?




Paulo Ricardo Paz Vital
{pvital, vital}@br.ibm.com
http://www.pvital.org




                   Paulo Ricar...
Upcoming SlideShare
Loading in...5
×

Programação Multicore: Como sobreviver a esta revolução?

1,618

Published on

CONISLI 2008, São Paulo, SP, Brazil

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,618
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
42
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Programação Multicore: Como sobreviver a esta revolução?

  1. 1. Programa¸˜o Multicore: ca Como sobreviver a esta revolu¸˜o? ca Paulo Ricardo Paz Vital IBM Linux Technology Center Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  2. 2. Sobre o palestrante... Engenheiro de Computa¸˜o, UCDB, 2003 ca Engenheiro de Software, IBM Linux Technology Center: IBM Installation Toolkit for Linux on POWER Yaboot IBM Server Consolidation Toolkit Multicore Development Tools - Cell IDE Pesquisador do Instituto de Computa¸˜o da Unicamp: ca Mem´rias Transacionais o Programa¸˜o Multicore ca Usu´rio, administrador e desenvolvedor de sistemas Unix-like a desde 1999 Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  3. 3. Agenda 1 Introdu¸˜o ca A emergˆncia do Software Multicore e O que ´ Paralelismo? e 2 Plataformas de concorrˆncia e MPI Pthreads OpenMP 3 20 quest˜es a fazer quando ir para multicore o Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  4. 4. A emergˆncia do Software Multicore e O que ´ Paralelismo? e Parte I Introdu¸˜o ca Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  5. 5. A emergˆncia do Software Multicore e O que ´ Paralelismo? e 1 A emergˆncia do Software Multicore e A Lei de Moore 2 O que ´ Paralelismo? e A Lei de Amdahl Um modelo para execu¸˜o multithreaded ca Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  6. 6. A emergˆncia do Software Multicore e A Lei de Moore O que ´ Paralelismo? e A Lei de Moore Gordon Moore - cofundador da Intel Corporation Eletronics Magazine, 19 de Abril de 1965 Lei de Moore O n´mero de transistores numa mesma ´rea de semicondutor u a dobra a cada 18 (24) meses. Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  7. 7. A emergˆncia do Software Multicore e A Lei de Moore O que ´ Paralelismo? e A Lei de Moore Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  8. 8. A emergˆncia do Software Multicore e A Lei de Moore O que ´ Paralelismo? e A Lei de Moore Problemas? Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  9. 9. A emergˆncia do Software Multicore e A Lei de Moore O que ´ Paralelismo? e A Lei de Moore Problemas? Miniaturiza¸˜o chegando ao limite. ca Dissipa¸˜o de calor. ca Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  10. 10. A emergˆncia do Software Multicore e A Lei de Moore O que ´ Paralelismo? e A Lei de Moore Problemas? Miniaturiza¸˜o chegando ao limite. ca Dissipa¸˜o de calor. ca Solu¸˜es? co Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  11. 11. A emergˆncia do Software Multicore e A Lei de Moore O que ´ Paralelismo? e A Lei de Moore Problemas? Miniaturiza¸˜o chegando ao limite. ca Dissipa¸˜o de calor. ca Solu¸˜es? co Novas tecnologias de grava¸˜o de chips. ca Mais de um n´cleo, ou seja, multicore. u Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  12. 12. A emergˆncia do Software Multicore e A Lei de Amdahl O que ´ Paralelismo? e Um modelo para execu¸˜o multithreaded ca A Lei de Amdahl ”Speedup” Quanto se ganhou com a execu¸˜o de uma tarefa em um ca computador paralelo? Temposerial Ts seepdup = = (1) Tempoparalelo Tp Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  13. 13. A emergˆncia do Software Multicore e A Lei de Amdahl O que ´ Paralelismo? e Um modelo para execu¸˜o multithreaded ca A Lei de Amdahl ”Speedup” Quanto se ganhou com a execu¸˜o de uma tarefa em um ca computador paralelo? Temposerial Ts seepdup = = (1) Tempoparalelo Tp Exemplo Uma determinada tarefa, quando executada em um computador convencional consome 200 segundos e quando executada em uma m´quina paralela (com 24 processadores) consome 10 segundos, a ent˜o a Ts 200 seepdup = = = 20 (2) Tp 10 Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  14. 14. A emergˆncia do Software Multicore e A Lei de Amdahl O que ´ Paralelismo? e Um modelo para execu¸˜o multithreaded ca A Lei de Amdahl Lei de Amdahl Se somente uma fra¸˜o do programa ser´ otimizado, somente uma ca a fra¸˜o do benef´ ser´ alcan¸ado ca ıcio a c 1 seepdup = (3) s + (1 − s)/n Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  15. 15. A emergˆncia do Software Multicore e A Lei de Amdahl O que ´ Paralelismo? e Um modelo para execu¸˜o multithreaded ca A Lei de Amdahl Exemplo 20% de um programa n˜o ser´ alterado a a Ser˜o utilizados 4 processadores para executar todo o a programa Qual ser´ o ”speedup”? a Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  16. 16. A emergˆncia do Software Multicore e A Lei de Amdahl O que ´ Paralelismo? e Um modelo para execu¸˜o multithreaded ca A Lei de Amdahl Exemplo 20% de um programa n˜o ser´ alterado a a Ser˜o utilizados 4 processadores para executar todo o a programa Qual ser´ o ”speedup”? a Resolu¸˜o ca 80% 20% + = 40% (4) 4 Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  17. 17. A emergˆncia do Software Multicore e A Lei de Amdahl O que ´ Paralelismo? e Um modelo para execu¸˜o multithreaded ca Um modelo para execu¸˜o multithreaded ca “dag model for multithreading ” v´rtices = conjunto de instru¸˜es e co arestas = dependˆncias entre instru¸˜es e co instru¸˜o x precede instru¸˜o y (x ca ca y ), se x terminou antes de y come¸ar, c caso n˜o aconte¸a x y ou y a c x, ent˜o dizemas que as a instru¸˜es est˜o em paralelo (x co a y) Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  18. 18. A emergˆncia do Software Multicore e A Lei de Amdahl O que ´ Paralelismo? e Um modelo para execu¸˜o multithreaded ca Um modelo para execu¸˜o multithreaded ca 1 2 6 12 5 9 Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  19. 19. MPI PThreads OpenMP Parte II Plataformas de concorrˆncia e Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  20. 20. MPI PThreads OpenMP 3 MPI 4 PThreads 5 OpenMP Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  21. 21. MPI PThreads OpenMP MPI MPI (Message Passing Interface) ´ uma biblioteca de e subrotinas de comunica¸˜o, utilizadas em ambientes de ca mem´ria distribu´ m´quinas paralelas massivas, NOWs o ıda, a (network of workstations) e redes heterogˆneas. e Informa¸˜es passadas da mem´ria local do processo para a co o mem´ria principal do processo remoto. o Paralelismo ´ explicito, ou seja, o desenvolvedor ´ respons´vel e e a pela distribui¸˜o. ca API predominante no desenvolvimento de aplica¸˜es para co clusters cient´ ıficos. Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  22. 22. MPI PThreads OpenMP MPI Diversas implementa¸˜es; co OpenMPI - http://www.open-mpi.org/ LAM/MPI - http://www.lam-mpi.org/ Los Alamos MPI - http://public.lanl.gov/lampi/ MPICH - http://www-unix.mcs.anl.gov/mpi/mpich/ MPICH2 - http://www-unix.mcs.anl.gov/mpi/mpich2/ Alguns pontos antes de come¸ar: c MPI assume que vai trabalhar com processos. MPI assume que n˜o o mesmo espa¸o de endere¸amento de a c c mem´ria ser´ compartilhado. o a Todos os processos podem usar opera¸˜es de IO. co N˜o pense em ”regi˜es paralelas”. a o MPI opera via ”function calls”. Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  23. 23. MPI PThreads OpenMP MPI Estrutura b´sica de um programa MPI a /* add in MPI startup routines */ /* 1st: launch the MPI processes on each node */ MPI_Init(&argc,&argv); /* 2nd: request a thread id, sometimes called a quot;rankquot; from the MPI master process, which has tid == 0 */ MPI_Comm_rank(MPI_COMM_WORLD, &tid); /* 3rd: this is often useful, get the number of threads or processes launched by MPI */ MPI_Comm_size(MPI_COMM_WORLD, &nthreads); Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  24. 24. MPI PThreads OpenMP MPI hello-mpi hello-mpi-2 Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  25. 25. MPI PThreads OpenMP PThreads POSIX Threads ´ um padr˜o POSIX que define uma API para e a criar e manipular threads. Conjunto de tipos e chamadas para linguagem de programa¸˜o C ca Caracter´ ısticas Threads co-existem num mesmo processo, compartilhando v´rios recursos, mas s˜o escalonadas separadamente pelo a a sistema operacional Somente o m´ ınimo necess´rio de recursos s˜o replicados entre a a as duas threads Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  26. 26. MPI PThreads OpenMP PThreads Criando e Terminando Threads pthread_create (thread,attr,start_routine,arg) pthread_exit (status) pthread_attr_init (attr) pthread_attr_destroy (attr) Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  27. 27. MPI PThreads OpenMP PThreads Unindo e Desunindo Threads pthread_join (threadid,status) pthread_detach (threadid,status) pthread_attr_setdetachstate (attr,detachstate) pthread_attr_getdetachstate (attr,detachstate) Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  28. 28. MPI PThreads OpenMP PThreads Criando e Destruindo Mutex pthread_mutex_init (mutex,attr) pthread_mutex_destroy (mutex) pthread_mutexattr_init (attr) pthread_mutexattr_destroy (attr) Travando e Destravando Mutex pthread_mutex_lock (mutex) pthread_mutex_trylock (mutex) pthread_mutex_unlock (mutex) Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  29. 29. MPI PThreads OpenMP PThreads hello hello arg1 join mutex Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  30. 30. MPI PThreads OpenMP OpenMP http://www.openmp.org Biblioteca de mais alto n´vel para programa¸~o ı ca paralela Suporta mem´ria compartilhada o C/C++ e Fortran (requer suporte do compilador) Programador possui controle total sobre a execu¸~o paralela ca Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  31. 31. MPI PThreads OpenMP OpenMP Caracter´ ısticas Biblioteca para paraleliza¸˜o de c´digo ca o Usa #pragma para definir as regi˜es paralelas o Detecta automaticamente o n´mero de processadores u Restri¸˜es co Programador necessita fornecer os #pragmas N˜o existe detec¸˜o de conflitos a ca Exige compilador - n˜o ´ apenas uma biblioteca a e Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  32. 32. MPI PThreads OpenMP OpenMP openmp hello ImageMagick Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  33. 33. Desempenho da aplica¸˜o ca Confiabilidade de Software Tempo de desenvolvimento Parte III 20 quest˜es a fazer quando ir para multicore o Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  34. 34. Desempenho da aplica¸˜o ca Confiabilidade de Software Tempo de desenvolvimento 6 Desempenho da aplica¸˜o ca 7 Confiabilidade de Software 8 Tempo de desenvolvimento Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  35. 35. Desempenho da aplica¸˜o ca Confiabilidade de Software Tempo de desenvolvimento 20 quest˜es a fazer quando ir para multicore o Quest˜es sugeridas por Leiserson e Mirman para ajudar a o determinar a melhor plataforma de concorrˆncia de acordo com as e necessidades do projeto. Divididas de acordo com as trˆs arestas do triˆngulo do software e a multicore: desempenho da aplica¸˜o, confiabilidade de software e ca tempo de desenvolvimento. Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  36. 36. Desempenho da aplica¸˜o ca Confiabilidade de Software Tempo de desenvolvimento 20 quest˜es a fazer quando ir para multicore o 1 A plataforma de concorrˆncia me permite medir o paralelismo e exposto na minha aplica¸˜o? ca 2 A plataforma de concorrˆncia indica o gargalo do tempo de e resposta, ou somente oferece mais capaciadade? 3 O desempenho da aplica¸˜o aumenta linearmente a medida ca que mais cores s˜o adicionados, ou does it quickly reach a diminishing returns? 4 Meu c´digo multicore ser´ mais r´pido que meu c´digo serial o a a o original quando executado em um processador unico? ´ Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  37. 37. Desempenho da aplica¸˜o ca Confiabilidade de Software Tempo de desenvolvimento 20 quest˜es a fazer quando ir para multicore o 5 Ser´ que o scheduler da plataforma de concorrˆncia a e balancear´ cargas (aplica¸˜es) irregulares de forma eficiente a co para alcan¸ar plena utiliza¸˜o? c ca 6 Minha aplica¸˜o executar´ legal com outros jobs do sistema, ca a ou jobs m´ltiplos causar˜o problemas de recursos? u a 7 Quais ferramentas est˜o dispon´ a ıveis para detectar gargalos de desempenho multicore? Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  38. 38. Desempenho da aplica¸˜o ca Confiabilidade de Software Tempo de desenvolvimento 20 quest˜es a fazer quando ir para multicore o 8 Qu˜o dif´ ´ depurar minha aplica¸˜o multicore em rela¸˜o a a ıcil e ca ca aplica¸˜o original? ca 9 Posso usar as ferramentas de depura¸˜o que j´ conhe¸o? ca a c 10 Existem ferramentas de depura¸˜o eficazes para identificar e ca localizar erros em programa¸˜o paralela, como bugs de ”data ca race”? 11 Devo usar um depurador paralelo mesmo se eu fizer um erro de programa¸˜o serial ordin´rio? ca a 12 Que mudan¸as devo fazer nos processos de lan¸mento para c a assegurar que meu software entregue ´ confi´vel? e a 13 Posso usar os testes unit´rios e testes de regress˜o existentes? a a Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  39. 39. Desempenho da aplica¸˜o ca Confiabilidade de Software Tempo de desenvolvimento 20 quest˜es para fazer quando ir para multicore o 14 Para transformar minha aplica¸˜o em multicore, quanto de aa re-estrutura¸˜o l´gica precisso fazer? ca o 15 Posso treinar facilmente programadores a usarem plataformas de concorrˆncia? e 16 Posso manter somente uma base de c´digo, ou devo manter o uma vers˜o serial e outra paralela? a 17 Posso evitar de reescrever a minha aplica¸˜o toda vez que uma ca nova gera¸˜o de processadores aumenta o n´mero de cores? ca u Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  40. 40. Desempenho da aplica¸˜o ca Confiabilidade de Software Tempo de desenvolvimento 20 quest˜es a fazer quando ir para multicore o 18 Posso facilmente habilitar c´digo multicore mau-estruturada e o irregular, ou a plataforma de concorrˆncia ´ limitada aos e e dados de aplica¸˜es paralelas? co 19 As plataformas de concorrˆncia suportam modernas e paradgmas de programa¸˜o, como objetos, templates e ca exceptions? 20 O que fazer para lidar com vari´veis globais na minha a aplica¸˜o? ca Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  41. 41. Referˆncias e Amdahl, G.; The validity of the single processor approach to achieving largescale computing capabilities, Proceedings of the AFIPS Spring Joint Computer Conference, 1967 Leiserson, C. E. and Mirman, I, B.; How to Survive the Multicore Software Revolution (or at Least Survive the Hype), e-Book, 2008 http://www.cilk.com/multicore-e-book/ Landman, J.; MPI in Thirty Minutes, Linux Magazine, 2008 http://www.linux-mag.com/id/5759/ Barney, B; Tutorial PThreads, Livermore Computing, 2008 https://computing.llnl.gov/tutorials/pthreads/ Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  42. 42. Referˆncias e Butenhof, D. R.; Programming with POSIX(R) Threads, Addison Wesley, 1997 Chapman, B., Jost, G., Pas, R.; Using OpenMP: Portable Shared Memory Parallel Programming, MIT Press, 2007 Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  43. 43. IBM Linux Technology Center LTC ´ o bra¸o armado da iniciativa IBM para com o software e c livre Desenvolvedores trabalham em coopera¸˜o com a comunidade ca Open Source ´ E o centro de competˆncia t´cnica para Linux na IBM e e +640 pessoas e 38 localidades no mundo Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  44. 44. IBM Linux Technology Center Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  45. 45. Agradecimentos Ao colega Higor Alves, pelo empr´stimo de um laptop multicore :-D e Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  46. 46. Perguntas? Paulo Ricardo Paz Vital {pvital, vital}@br.ibm.com http://www.pvital.org Paulo Ricardo Paz Vital CONISLI 2008 - Congresso Internacional de Software Livre
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×