{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,15]],"date-time":"2026-07-15T17:31:06Z","timestamp":1784136666547,"version":"3.55.0"},"reference-count":26,"publisher":"SAGE Publications","issue":"1","license":[{"start":{"date-parts":[[2005,2,1]],"date-time":"2005-02-01T00:00:00Z","timestamp":1107216000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/journals.sagepub.com\/page\/policies\/text-and-data-mining-license"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["The International Journal of High Performance Computing Applications"],"published-print":{"date-parts":[[2005,2]]},"abstract":"<jats:p>We describe our work on improving the performance of collective communication operations in MPICH for clusters connected by switched networks. For each collective operation, we use multiple algorithms depending on the message size, with the goal of minimizing latency for short messages and minimizing bandwidth use for long messages. Although we have implemented new algorithms for all MPI (Message Passing Interface) collective operations, because of limited space we describe only the algorithms for allgather, broadcast, all-to-all, reduce-scatter, reduce, and allreduce. Performance results on a Myrinet-connected Linux cluster and an IBM SP indicate that, in all cases, the new algorithms significantly outperform the old algorithms used in MPICH on the Myrinet cluster, and, in many cases, they outperform the algorithms used in IBM's MPI on the SP. We also explore in further detail the optimization of two of the most commonly used collective operations, allreduce and reduce, particularly for long messages and nonpower-of-two numbers of processes. The optimized algorithms for these operations perform several times better than the native algorithms on a Myrinet cluster, IBM SP, and Cray T3E. Our results indicate that to achieve the best performance for a collective communication operation, one needs to use a number of different algorithms and select the right algorithm for a particular message size and number of processes.<\/jats:p>","DOI":"10.1177\/1094342005051521","type":"journal-article","created":{"date-parts":[[2005,2,21]],"date-time":"2005-02-21T14:39:07Z","timestamp":1108996747000},"page":"49-66","source":"Crossref","is-referenced-by-count":725,"title":["Optimization of Collective Communication Operations in MPICH"],"prefix":"10.1177","volume":"19","author":[{"given":"Rajeev","family":"Thakur","sequence":"first","affiliation":[{"name":"MATHEMATICS AND COMPUTER SCIENCE DIVISION ARGONNE NATIONAL LABORATORY\r                        ARGONNE, IL 60439, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Rolf","family":"Rabenseifner","sequence":"additional","affiliation":[{"name":"RECHENZENTRUM UNIVERSITAT STUTTGART (RUS) HIGH PERFORMANCE COMPUTING\r                        CENTER (HLRS) UNIVERSITY OF STUTTGART D-70550 STUTTGART, GERMANY"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"William","family":"Gropp","sequence":"additional","affiliation":[{"name":"MATHEMATICS AND COMPUTER SCIENCE DIVISION ARGONNE NATIONAL LABORATORY\r                        ARGONNE, IL 60439, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"179","published-online":{"date-parts":[[2005,2,1]]},"reference":[{"key":"atypb1","doi-asserted-by":"publisher","DOI":"10.1006\/jpdc.1997.1346"},{"key":"atypb2","volume-title":"Proceedings of Supercomputing \u201894","author":"Barnett, M."},{"key":"atypb3","volume-title":"Proceedings of the 7th International Parallel Processing Symposium","author":"Barnett, M."},{"key":"atypb4","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-39924-7_47"},{"key":"atypb5","volume-title":"Complete exchange on the iPSC\/860","author":"Bokhari, S.","year":"1991"},{"key":"atypb6","first-page":"300","volume-title":"Proceedings of the Scalable High Performance Computing Conference","author":"Bokhari, S."},{"key":"atypb7","doi-asserted-by":"publisher","DOI":"10.1109\/71.642949"},{"key":"atypb8","volume-title":"Proceedings of the 2004 IEEE International Conference on Cluster Computing","author":"Chan, E.W."},{"key":"atypb9","first-page":"1","volume-title":"Proceedings of the 4th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming","author":"Culler, D.E."},{"key":"atypb10","doi-asserted-by":"publisher","DOI":"10.1007\/BF01379320"},{"key":"atypb11","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-8191(06)80021-9"},{"key":"atypb12","doi-asserted-by":"publisher","DOI":"10.1109\/71.615442"},{"key":"atypb13","volume-title":"Proceedings of the 17th International Parallel and Distributed Processing Symposium (IPDPS \u201903)","author":"Kale, L.V."},{"key":"atypb14","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2000.846009"},{"key":"atypb15","first-page":"131","volume-title":"ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP'99)","author":"Kielmann, T."},{"key":"atypb16","volume-title":"Proceedings of the Intel Supercomputing Users' Group Meeting","author":"Mitra, P."},{"key":"atypb17","first-page":"77","volume-title":"Proceedings of the Message Passing Interface Developer's and User's Conference 1999 (MPIDC \u201999)","author":"Rabenseifner, R."},{"key":"atypb18","doi-asserted-by":"publisher","DOI":"10.1177\/1094342003017001005"},{"key":"atypb19","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45706-2_112"},{"key":"atypb20","first-page":"398","volume-title":"Proceedings of the 6th Distributed Memory Computing Conference","author":"Scott, D."},{"key":"atypb21","volume-title":"CollMark: MPI collective communication benchmark","author":"Shroff, M.","year":"1999"},{"key":"atypb22","volume-title":"Proceedings of Supercomputing: High Performance Networking and Computing","author":"Sistare, S."},{"key":"atypb23","volume-title":"Proceedings of the 17th International Parallel and Distributed Processing Symposium (IPDPS \u201903),","author":"Tipparaju, V."},{"key":"atypb24","first-page":"392","volume-title":"Recent Advances in Parallel Virtual Machine and Message Passing Interface, 9th European PVM\/MPI Users' Group Meeting, Lecture Notes in Computer Science Vol. 2474","author":"Tr\u00e4ff, J.L.","year":"2002"},{"key":"atypb25","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2000.10024"},{"key":"atypb26","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45825-5_43"}],"container-title":["The International Journal of High Performance Computing Applications"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342005051521","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342005051521","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,29]],"date-time":"2026-04-29T08:18:09Z","timestamp":1777450689000},"score":1,"resource":{"primary":{"URL":"https:\/\/journals.sagepub.com\/doi\/10.1177\/1094342005051521"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005,2]]},"references-count":26,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2005,2]]}},"alternative-id":["10.1177\/1094342005051521"],"URL":"https:\/\/doi.org\/10.1177\/1094342005051521","relation":{},"ISSN":["1094-3420","1741-2846"],"issn-type":[{"value":"1094-3420","type":"print"},{"value":"1741-2846","type":"electronic"}],"subject":[],"published":{"date-parts":[[2005,2]]}}}