Processamento paralelo de grandes quantidades de dados sobre um sistema de arquivos distribuído POSIX. - SILVA, Jonhnny Weslley Sousa. (2010)
Aplicações que processam grandes quantidades de dados estão se tornando cada vez mais presentes nos mais diversos setores, que envolvem desde a academia até sites de compras e redes sociais. Contudo, dispor de uma infraestrutura capaz de realizar este tipo de processamento hoje custa caro, já que as soluções existentes assumem a existência de um conjunto de máquinas dedicadas. Enquanto isso, as estações de trabalho não utilizam grande parte do espaço em disco que possuem. Visando agregar o espaço livre destas estações de trabalho conectadas por uma rede local (LAN), foi construído o Beehive File System (BeeFS), um sistema de arquivos distribuído desenvolvido para atender a requisitos de escalabilidade e manutenabilidade não oferecidos por sistemas de arquivos distribuídos amplamente utilizados na prática, como NFS e Coda. Considerando a intríseca distribuição dos dados no BeeFS, fica evidente a possibilidade de realizar processamento de grandes quantidades de dados de forma distribuída. Porém, uma vez que o BeeFS é formado por estações de trabalho, existe a preocupação quanto à intrusividade, ou seja, a experiência do usuário de uma máquina que faz parte do sistema pode ser prejudicada devido a execução não-solicitada de aplicações que processam grandes volumes de dados. Visando mitigar este problema, esta dissertação apresenta heurísticas para a alocação de arquivos no BeeFS. Estas heurísticas tentam aumentar as chances de que os arquivos estarão disponíveis para processamento em estações de trabalho ociosas. Para isto, as heurísticas consideram dados históricos sobre a utilização do sistema para decidir onde armazenar as réplicas de um arquivo que será utilizado para processamento. Isso, juntamente com um simples escalonador de aplicações que evita executar aplicações em máquinas que não estão ociosas, reduz drasticamente a inconveniência que estas aplicações podem levar a outros usuários. Os resultados mostram que as heurísticas que consideram a média histórica de disponibilidade das estações de trabalho e, ao mesmo tempo, realizam o balanceamento da quantidade de espaço de armazenando entre as máquinas possuem desempenho melhor do que as heurísticas que não consideram a disponibilidade das máquinas.