Com a introdução de clusters, clustes hierárquicos e grades de computadores, os estudos sobre a comunicação entre processadores estão em crescente interesse. Em um cluster, o tempo de comunicação é geralmente modelado do mesmo modo, independentemente de quais processadores estão se comunicando. Em clusters hierárquicos e grades de computadores, computadores podem possuir velocidades de comunicação diferentes. Neste seminário serão apresentados alguns algoritmos para a troca completa de mensagens de tamanhos arbitrários entre um conjunto de processadores interconectados em um ambiente homogêneo e, com base nesses algoritmos, apresentar uma versão que leve em consideração as diferentes velocidades de comunicação entre processadores situados em diferentes clusters.