Uma Implementação de Algoritmos BSP/CGM de Ordenação - Gonda, Luciano; Mongelli, Henrique (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD); 2005: Anais do VI Workshop em Sistemas Computacionais de Alto Desempenho, 2005)
Neste trabalho descrevemos três algoritmos paralelos de ordenação: Ordenação_Bitônica, Ordenação_CD e Ordenação_Divisão, desenvolvidos no modelo CGM e suas respectivas implementações. No CGM, cada processador possui memória local de tamanho O(n/p) e em cada rodada de comunicação cada processador pode enviar ou receber O(n/p) dados, onde n é o tamanho da entrada e p é o número de processadores utilizados. O algoritmo Ordenação_Bitônica utiliza O(log p) rodadas de comunicação e tempo de computação local O(n log n/p) e sua implementação apresenta um bom desempenho em relação ao algoritmo seqüencial. Além disso, não foi encontrada nenhuma outra implementação deste algoritmo no modelo CGM e este algoritmo pode ser utilizado em ordenação externa. Os algoritmos Ordenação_CD e Ordenação_Divisão utilizam O(1) rodadas de comunicação e tempo de computação local O(n log n/p). Entretanto, o algoritmo Ordenação_ CO apresenta um desempenho um pouco melhor. A implementação do deste algoritmo apresenta resultados muito bons em relação ao tempo de execução, mostrando que este algoritmo é eficiente se executado para tamanhos de entradas grandes.