VinBR

AEDs III 04/04/2011

Mar 6th, 2012
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.36 KB | None | 0 0
  1. Agora as aulas serão com o professor Meira
  2.  
  3. A aula é sobre processamento com paralelismo.
  4.  
  5. Bibliografia indicada pelo professor:
  6. Introduction to Parallel Computing 2° edição -> editora Adson Wesley
  7. O preço é de 80 dolares xP, mas amigos russos extremamente filantropicos distribuem o pdf desse livro =] hehehe
  8.  
  9. O motivo dessa aula é porque esse tópico tem se tornado cada vez mais comum no mundo da computação ultimamente,
  10. e nosso objetivo com isso é deixar os alunos preparados para usufruir dessa ferramenta sempre que for pertinente.
  11.  
  12. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  13.  
  14. CONCEITO:
  15. O que é programação paralela?
  16. É a divisão das atividades por um grupo de partições ou processos de um mesmo programa,
  17. com isso normalmente ganha-se tempo, apesar de um aumento da carga total de trabalho pela necessidade de sincronização.
  18.  
  19. CONCEITO:
  20. O que é Concorrencia?
  21. Concorrencia é o fator necessário para existir paralelismo, é quando existem dois pacotes de dados sem interdependencias entre eles
  22. e portanto com possibilidade de serem processados em paralelo.
  23.  
  24. CONCEITO:
  25. O que é a comunicação em termos de paralelismo?
  26. Comunicação nesse caso é a interação de informações entre dois processos de um mesmo programa para permitir
  27. que um programa em paralelo funcione adequadamente, e de maneira coordenada.
  28.  
  29. Nota do professor:
  30. Ao programar deve-se considerar os 3 fatores:
  31. A rede que rege a comunicação dos processos,
  32. O disco que hoje é uma parte de acesso muito lento e gera gargalos,
  33. O processamento, pois uma má divisão de tarefas gera tanto mais trabalho que não compensa.
  34. ->Deve-se sempre evitar a sobrecarga de qualquer um destes 3 fatores sendo importante portanto o balanceamento.
  35.  
  36. FRASE DO DIA:
  37. Hoje nossas maquina sofrem muito mais por falta de memoria do que por falta de processamento,
  38. por isso tome cuidado sempre que for pensar no armazenamento de variáveis pois isso pode ser importante.
  39.  
  40. 2 CONCEITOS:
  41. Latencia é o tempo de resposta de uma partição do programa ao outro.
  42.  
  43. Banda é a quantidade de dados que podem ser transmitidos em uma única comunicação.
  44.  
  45. Ambos influem no custo total da comunicação dos processos.
  46.  
  47. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  48.  
  49. Nota do professor:
  50. Quando um programa não funcionar com velocidade adequada é preciso pensar o porque disso, e pode-se dividir a resposta em 3 pontos:
  51. Pode ser o processamento desbalanceado, a memória mal utilizada, ou paralelismo mal trabalhado (comunicação ruim).
  52.  
  53. CONCEITO:
  54. Localidade de referencia é a tendencia de uma mesma área da memória ser acessada com mais frequência durante um
  55. intervalo de tempo próximo se uma posição dela foi acessada recentemente.
  56. As memórias são feitas pensando-se nisso, por isso é inteligente se aproveitar da localidade quando programando
  57. e evitar acessos muito aleatorios na memória, preferindo arranjos, acessos sequenciais, e coisas do tipo.
  58.  
  59. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  60.  
  61. Nota do professor:
  62. Como usar paralelismo para mascarar a latencia de busca de dados?
  63. O macete é encontrar tarefas para entreterem o processador enquanto o usuário estiver inativo.
  64. O paralelismo surge então como uma ferramenta importante, pois torna possível extrapolar e carregar os dados
  65. que o usuário provavelmente precisará.
  66. Nesse meio tempo o usuário não sente tanto o tempo de latencia, pois parte dos dados que ele pede, já estão carregados.
  67.  
  68. Outra nota do professor: Em um processador dual core, pode vir a ser útil criar ate 4 threads ou algo do tipo, já que frequentenmente
  69. uma thread ficará parada ao acessar a memória abrindo espaço para outra thread aproveitar e manter o processador entretido
  70. aproveitando melhor o tempo de funcionamento de cada processador.
  71.  
  72. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  73.  
  74. CONCEITO:
  75. A comunicação entre processos pode ser dividido em dois tipos:
  76. Paralelismo implicito
  77. e explicito
  78.  
  79. O explicito implica que o programador coordena de maneira clara as comunicações,
  80. existem então comunicações sendo enviadas de um processador diretamente para o outro, para agilizar a comunicação.
  81.  
  82. O implicito é quando a comunicação acontece pela memoria, nesse caso o programa fica refém da capacidade da arquitetura de
  83. fazer essa transição de maneira adequada, mas é uma programação mais simples, e as vezes mais produtiva.
  84.  
  85. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  86.  
  87. CONCEITOS:
  88. UMA é Uniform Memory Access, que é quando o tempo de acesso a memoria é uniforme.
  89. NUMA é Non-Uniform Memory Access, que é quando o tempo de acesso a memoria é não-uniforme,
  90. // Aparentenmente estes dois casos são dependentes da arquitetura em questão.
  91.  
  92. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  93.  
  94. Essa materia está no capitulo 2 do livro citado na bibliografia
  95. Aula que vem estudaremos o 3.
  96.  
  97. Veremos no futuro o 4 o 5 e o 7 também.
Advertisement
Add Comment
Please, Sign In to add comment