
handle: 1822/59695
Durante várias décadas, o aumento do desempenho dos processadores era conseguido maioritariamente através do aumento da frequência de relógio. Contudo, aumentar o desempenho através do aumento da frequência tornou-se cada vez mais difícil conduzindo a problemas de consumo energético e dissipação de calor. Para resolver estes problemas, as arquiteturas mais recentes evoluíram num sentido de aumentar o número de processadores, e mais tarde, o número de núcleos. As arquiteturas de memória inicialmente adotadas, designadas arquiteturas de acesso uniforme à memória (UMA), apresentaram algumas limitações. Entre as arquiteturas UMA existentes, existe a arquitetura de multiprocessamento simétrico (SMP). Esta arquitetura possui múltiplos processadores que acedem à memória principal utilizando um barramento partilhado pelos processadores que conduziu a problemas de contenção no acesso à memória principal. As arquiteturas de acesso não uniforme à memória (NUMA) surgiram durante os anos 90 com múltiplos bancos de memória. No entanto, os programadores que queiram tirar total partido das vantagens desta arquitetura, terão que lidar com novos desafios ao nível da programação, ao nível da afinidade dos fios de execução e das alocações de memória. Esta dissertação mostra que a forma como os algoritmos memory-bound acedem a dados de memória principal numa arquitetura NUMA, pode ter impacto no seu desempenho. Um conjunto de testes foi utilizado para demonstrar em que medida várias técnicas de afinidade podem contribuir para aumentar o desempenho de aplicações Java e C em arquiteturas NUMA. Os testes realizados com recurso a diferentes abordagens tais como ferramentas do sistema operativo, opções da JVM, técnicas de programação e até variáveis de afinidade para os compiladores, foram usados para aumentar a desempenho de dois casos de estudo em arquiteturas NUMA. A utilização destas abordagens permitiram aumentar o desempenho com um ganho adicional de até 1.8 vezes para as implementações em Java, e de até 2.16 vezes para as versões em C das mesmas aplicações.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
