Um estudo do algoritmo Agglomerative Clustering em diferentes ferramentas de paralelização - Rios, Juan; Santos, Edevaldo; Cavalheiro, Gerson Geraldo H. (Anais da Escola Regional de Alto Desempenho da Região Sul (ERAD-RS), 2017)
Este trabalho documenta um experimento de programação paralela com ferramentas para programação multithread. É realizada a implementação de um algoritmo paralelo, o Agglomerative Clustering, em OpenMP, Cilk Plus, Threading Building Blocks e xKaapi. Diferenças entre as implementações e desempenhos obtidos documentam os resultados do estudo realizado. 1. Introdução Com o avanço e a demanda cada vez maior em processamento de dados, aárea de processamento de alto desempenho tem se tornado uma solução viável para suprir essa necessidade. Então passou-se a estudar e investir em técnicas onde exploram o hardware para extrair o máximo proveito dos recursos disponíveis. Multithreading é um exemplo dessas técnicas, onde ela consiste na exploração do hardware voltada ao uso de mú ltiplas unidades de processamento, ou cores. Diversas ferramentas oferecem recursos para programação multithreading, como por exemplo: OpenMP, Threading Building Blocks, Cilk Plus e xKaapi. Em comum, estas ferramentas exploram os recursos de processamento disponível por meios de estratégias de escalonamento, visando obter melhores índices de desempenho. A seguir será demonstrado uma breve introdução destas ferramentas: