VinBR

AEDs III 08/06/2011

Mar 6th, 2012
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.11 KB | None | 0 0
  1. // Hoje apareceu o professor Meira! sinal de perigo!
  2. Hoje o professor vai falar sobre o tp5 parece.
  3.  
  4. Ele disse que quem não vir nesta aula não vai conseguir fazer ! o.O !
  5.  
  6. Esta aula de hoje não está em lugar algum! essa aula foi uma aula que eu inventei! :D - disse ele (eu acho)
  7.  
  8. Perspectiva historica:
  9. Originalmente os pcs eram bastante simples =]. Com um processador e um disco ( que na epóca era um tambor ).
  10. E se voce estudar isso melhor verá que se tratava de uma maquina de turing =].
  11.  
  12. Nos pcs de hoje é tudo mais complexo tem chacehes, memória etc...
  13. Nessa hierarquia de memória existem alguns compromissos:
  14. Quanto maior a memória maior a latencia, mas o custo/byte é menor. tanto porque usa-se menos silicio quanto porque o acesso em grandes quantidades até vem a compensar.
  15.  
  16. Essa é a Hierarquia de Memória!
  17.  
  18. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  19.  
  20. O que nos levou a isso?
  21. Foi a localidade de referencia.
  22.  
  23. E então notou-se dois tipos de localidade de referencia,
  24. A temporal diz que se voce acessou um dado em um instante voce provavelmente acessará ela num futuro próximo, e vice-versa.
  25. A espacial diz que se voce acessou um dado agora, existe uma alta probabilidade de voce acessar um vizinho daquele dado.
  26.  
  27. Alguns exemplos:
  28. 1: Um dos elementos mais básicos de um programa são os loops.
  29. Podem até ser vistos como a materialização da indução matematica no contexto de programação.
  30. E ele usa tanto localidade de referencia temporal quanto espacial, pois normalmente acessa-se arranjos e varia-se contadores.
  31.  
  32. Então perceba que a cada coisa que voce faz ao programar, voce tem diferentes graus de referencia temporal e espacial.
  33. E o professor disse que é bom voce ter essa referencia!
  34. Porque as máquinas hoje são feitas para tirar vantagem delas!
  35. Hoje as máquinas normalmente tem 99% de acerto na busca por dados de memória, sem ter de acessar o disco.
  36.  
  37. Então veja, essa localidade já está na máquina!, Se o programa tem uma boa localidade temporal, voce vai ter uma resposta rápida e uma execução rápida.
  38.  
  39. Agora falando sobre a localidade espacial entra o conceito de paginação.
  40. Quando voce acessa um dado, voce não carrega um único dado, voce carrega uma página de X bytes, e para cada nível da hierarquia voce tem uma tamanho de página maior
  41. proporcionalmente ao tamanho do armazenamento.
  42.  
  43. Qual o beneficio da existencia desse mecanismo? Eles são uma resposta direta a necessidade de localidade espacial.
  44. Por exemplo ao acessar sequencialmente um arranjo voce nào pode gastar 100 ciclos para acessar cada posição. Voce tem de carregar o arranjo todo para uma
  45. posição mais rápida da hierarquia de memória antes de passear por todo ele.
  46.  
  47. Agora percebam que com páginas muito pequenas, eu desvalorizo a localidade espacial, porém eu valoriso a localidade temporal pois um mesmo cache poderá possuir
  48. mais dados acessados recentemente.
  49.  
  50. E se ele for grande de mais hávera menor diversidade na cash e com isso hávera um problema chamado de fragmentação.
  51. Que é trazer dados para a cache que não são usados para nada.
  52.  
  53. E disperdiça o espaco que voce poderia estar usando para valorisar a localidade temporal.
  54.  
  55. * * * * * * * * * * * * * * * * * * * * * * * * *
  56.  
  57. Agora como isso aparece na vida dagente?
  58.  
  59. Isso aparece no tp5! uahh hoasahidahi - disse o professor meira =]
  60.  
  61. A cada decisão que se toma voce deve detectar a localidade referencia e considera-la na decisão.
  62.  
  63. * * * * * * * * * * * * * * * * * * * * * * * * *
  64.  
  65. Agora veremos como quantificar essa localidade de referencia.
  66.  
  67. CONCEITO:
  68. Working set é o conceito de que voce tem um grupo de dados que pertencem a suas ferramentas de trabalho. Esse é o seu working set.
  69.  
  70. Existe mais um conceito relecionado a localidade temporal e espacial que é a popularidade,
  71. CONCEITO:
  72. Popularidade é a frequência com que um dado é acessado.
  73.  
  74. Para explicar isso o professor demonstrou o conceito de distancia de pilha de acesso temporal:
  75. As menos acessadas vão ficando no fundo da pilha, e a cada acesso voce pega a variavel acessada e joga para o topo da pilha.
  76.  
  77. Desenhando-se um gráfico cumulativo de acessos voce pode dizer que 25% deles são acessados com a distancia de pilha 0,
  78. 37% com distancia <= 1
  79. 75% com distancia <= 2
  80. 100& com distancia <= 3
  81. // Ele também desenhou um não cumulativo que não citei, mas quero citar quando passar este texto a limpo.
  82.  
  83. (o professor desenhou um grafico com isso acima )
  84.  
  85. Agora quanto a referencia espacial
  86.  
  87. Ela é em função da disposição espacial ou seja, a disposição dos dados importa, se voce coloca dados alinhados pode ser melhor que dados espalhados.
  88. Mas ao mesmo tempo podem haver diferentes distribuições de dados espalhados que podem gerar melhor ou pior localidade espacial dependendo da situação.
  89.  
  90. Ele desenhou então um grafico de localidade espacial mostrando a distancia dos dados a,b,c,d sendo que estão os 4 ordenados sequencialmente.
  91. Então se caminho de b para a andei -1 se caminho de b para d caminhei 2 e assim por diante,
  92.  
  93. E mostrou que segundo uma sequencia de acessos que ele sugeriu,
  94.  
  95. Podia-se desenhar um gráfico mostrando o número de vezes que precisei caminhar, -3,-2,-1,0,1,2,3
  96.  
  97. Em seguida sugeriu uma paginação de 1 dado por página e mostrou que dessa forma o único beneficio é para os casos de 0 de caminhamento.
  98.  
  99. Mostrou em seguida que para paginas 2, voce começa a aproveitar melhor o -1 e 1, apesar de ainda haverem algumas falhas para estes 2.
  100.  
  101. Recapitulando:
  102. Uma grande melhoria na velocidadde dos pcs é a hierarquia de memória que possui 3 compromsissos capacidade, latencia e custo.
  103. isso existe por causa da localidade de referencia
  104. existem 2 tipos desta, espacial e temporal
  105. As maquinas hoje beneficiam estas localidades.
  106. Uma quantificação destas localidades podem ser feitas por distancia de pilha e distancia de acesso respectivamente.
  107. Ambos não são precisos se voce não conseguir saber como exatamente é a maquina sobre a qual seu programa vai rodar,
  108. mas voce pode usar essas quantificações para descobrir qual a melhor máquina para executar determinado programa.
Advertisement
Add Comment
Please, Sign In to add comment