CCL: A Portable and Tunable Collective Communication Library for Scalable Parallel Computers

Vasanth Bala, Jehoshua Bruck, Alex Ho, Ching Tien Ho, Robert Cypher, Pablo Elustondo, Shlomo Kipnis, Marc Snir

Research output: Contribution to journalArticlepeer-review


A collective communication library for parallel computers includes frequently used operations such as broadcast, reduce, scatter, gather, concatenate, synchronize, and shift. Such a library provides users with a convenient programming interface, efficient communication operations, and the advantage of portability. A library of this nature, the Collective Communication Library (CCL), intended for the line of scalable parallel computer products by IBM, has been designed. CCL is part of the parallel application programming interface of the recently announced IBM 9076 Scalable POWERparallel System 1 (SP1). In this paper, we examine several issues related to the functionality, correctness, and performance of a portable collective communication library while focusing on three novel aspects in the design and implementation of CCL: 1) the introduction of process groups, 2) the definition of semantics that ensures correctness, and 3) the design of new and tunable algorithms based on a realistic point-to-point communication model.

Original languageEnglish (US)
Pages (from-to)154-164
Number of pages11
JournalIEEE Transactions on Parallel and Distributed Systems
Issue number2
StatePublished - Feb 1995
Externally publishedYes


  • Collective communication algorithms
  • collective communication semantics
  • message-passing parallel systems
  • portable library
  • process group
  • tunable algorithms

ASJC Scopus subject areas

  • Signal Processing
  • Hardware and Architecture
  • Computational Theory and Mathematics

Fingerprint Dive into the research topics of 'CCL: A Portable and Tunable Collective Communication Library for Scalable Parallel Computers'. Together they form a unique fingerprint.

Cite this