Hervé Paulino
Associate Professor, Computer Science Department (DI-FCT-UNL)
Edifício II - 2/16, Departamento de Informática, Faculdade de Ciências e Tecnologia, 2829-516 Caparica, Portugal (email)
Edifício II - 2/16, Departamento de Informática, Faculdade de Ciências e Tecnologia, 2829-516 Caparica, Portugal (email)
A decomposição correta de um problema paralelo com base na hierarquia de memória onde irá executar pode levar a ganhos de desempenho significativos durante execução do mesmo. No entanto, os subsistemas de memória das arquiteturas multicore modernas apresentam variadas configurações, em termos das suas organizações hierárquicas e da capacidade dos seus diversos níveis de memória. Existem diversas abordagens que permitem adequar a execução de uma aplicação à estratificação hierárquica da memória,. Contudo estas exigem do programador um conhecimento profundo da arquitetura alvo e de programação paralela em geral. A abordagem apresentada neste artigo contrasta com as demais, transpondo esta responsabilidade para o sistema de execução, colocando sobre a sua alçada a decomposição hierárquica da computação. Nessa medida, ao programador cabe apenas expressar de forma genérica os algoritmos de subdivisão do domínio do problema. Avaliamos o desempenho da nossa abordagem relativamente a outra baseada na usual decomposição horizontal do domínio do problema. Os resultados são bons, apresentando ganhos de performance em aplicações que usufruem do tipo de otimização efetuada e desempenhos equiparáveis nas restantes.
n/a