Acesso paralelo a arquivos em sistemas multiprocessadores. - Vasata, Darlon (2010)
Este trabalho apresenta um estudo sobre o gargalo no acesso a disco sob arquiteturas com sistemas multiprocessadores e processadores multicore e apresenta uma proposta de solução para o problema e sua implementação. A solução desenvolvida é chamada de FPA. A estratégia desenvolvida no trabalho aproveita os recursos de memória compartilhada da arquitetura e utiliza buffers de dados compartilhados entre as diversas threads das aplicações, bem como tenta otimizar o acesso ao disco rígido. Para que seja diminuída a concorrência no acesso a disco, é permitido que apenas uma thread realize leituras ou gravações no disco por vez, e nas situações de escrita é feita a sobreposição entre o processamento e o envio dos dados ao disco. As operações de escrita são realizadas por uma thread adicional, que é inicializada e gerenciada pela FPA. Foram executados diversos testes com diferentes números de threads, tamanhos de arquivo e quantidade de processamento de cálculos na aplicação. Os resultados apresentaram ganho de desempenho com a FPA em diversas situações, onde um dos fatores mais significativos para o ganho de desempenho é a quantidade de processamento existente na aplicação. De modo geral, as operações de leitura apresentaram ganho de desempenho em relação ao uso de streams nas situações onde existe pouco processamento de cálculos na aplicação, e as operações de escrita mostraram vantagem nas situações onde existe uma quantidade de processamento de cálculos maior na aplicação. Nas operações de escrita é obtido vantagem com a sobreposição entre processamento e escrita de dados. Porém, quando a quantidade de processamento de cálculos é muito alta, o tempo de espera pela gravação em disco torna-se irrisório perante o tempo gasto no processamento dos cálculos, ocasionando perda de desempenho da FPA em relação aos streams.