Communication subsystems are used in high-performance parallel computing systems to abstract the lower network layer. By using a communication subsystem, an upper middleware library or runtime system can be more easily ported to different interconnects. By abstracting the network layer, however, the designer typically makes the communication subsystem more specialized for that particular middleware library, making it ineffective for supporting middleware for other programming models. In previous work we analyzed the requirements of various programming-model middleware and the communication subsystems that support such requirements. We found that although there are no mutually exclusive requirements, none of the existing communication subsystems can efficiently support the programming model middleware we considered. In this paper, we describe our design of a common communication subsystem, called CCS, that can efficiently support various programming model middleware.


Message Passing Interface Message Size Runtime System Remote Memory Data Layout 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Buntinas, D., Gropp, W.: Understanding the requirements imposed by programming model middleware on a common communication subsystem. Technical Report ANL/MCS-TM-284, Argonne National Laboratory (2005)Google Scholar
  2. 2.
    Argonne National Laboratory: MPICH2,
  3. 3.
    Gropp, W., Lusk, E., Doss, N., Skjellum, A.: A high-performance, portable implementation of the MPI message passing interface standard. Parallel Computing 22, 789–828 (1996)zbMATHCrossRefGoogle Scholar
  4. 4.
    Nieplocha, J., Harrison, R.J., Littlefield, R.L.: Global Arrays: A portable shared memory programming model for distributed memory computers. In: Supercomputing 1994 (1994)Google Scholar
  5. 5.
    Pacific Northwest National Laboratory: Global arrays toolkit,
  6. 6.
    Carlson, W.W., Draper, J.M., Culler, D.E., Yelick, K., Brooks, E., Warren, K.: Introduction to UPC and language specification. Technical Report CCS-TR-99-157, Center for Computing Sciences, IDA, Bowie, MD (1999)Google Scholar
  7. 7.
    Lawrence Berkeley National Laboratory and University of California, Berkeley: Berkeley UPC runtime,
  8. 8.
    Message Passing Interface Forum: MPI-2: Extensions to the Message-Passing Interface (1997)Google Scholar
  9. 9.
    von Eicken, T., Culler, D.E., Goldstein, S.C., Schauser, K.E.: Active messages: A mechanism for integrated communication and computation. In: Proceedings of the 19th International Symposium on Computer Architecture, pp. 256–266 (1992)Google Scholar
  10. 10.
    InfiniBand Trade Association: (InfiniBand Architecture Specification),
  11. 11.
    Nieplocha, J., Carpenter, B.: ARMCI: A portable remote memory copy library for distributed array libraries and compiler run-time systems. In: 3rd Workshop on Runtime Systems for Parallel Programming (RTSPP) of International Parallel Processing Symposium IPPS/SPDP 1999 (1999)Google Scholar
  12. 12.
    Bonachea, D.: GASNet specification, v1.1. Technical Report CSD-02-1207, University of California, Berkeley (2002)Google Scholar
  13. 13.
    International Business Machines: RSCT for AIX 5L LAPI Programming Guide, 2nd edn. (2004) SA22-7936-01Google Scholar
  14. 14.
    Brightwell, R., Riesen, R., Lawry, B., Maccabe, A.B.: Portals 3.0: Protocol building blocks for low overhead communication. In: Proceedings of the 2002 Workshop on Communication Architecture for Clusters, CAC (2002)Google Scholar
  15. 15.
    Bell, C., Bonachea, D.: A new DMA registration strategy for pinning-based high performance networks. In: Workshop on Communication Architecture for Clusters (CAC 2003) of IPDPS 2003 (2003)Google Scholar
  16. 16.
    Ross, R., Miller, N., Gropp, W.D.: Implementing fast and reusable datatype processing. In: Dongarra, J., Laforenza, D., Orlando, S. (eds.) EuroPVM/MPI 2003. LNCS, vol. 2840, pp. 404–413. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  17. 17.
    Banikazemi, M., Govindaraju, R.K., Blackmore, R., Panda, D.K.: Implementing efficient MPI on LAPI for IBM RS/6000 SP systems: Experiences and performance evaluation. In: Proceedings of the 13th International Parallel Processing Symposium, pp. 183–190 (1999)Google Scholar
  18. 18.
    Myricom: The GM-2 message passing system – The reference guide to the GM-2 API,
  19. 19.
    Boden, N.J., Cohen, D., Felderman, R.E., Kulawik, A.E., Seitz, C.L., Seizovic, J., Su, W.: Myrinet - A gigabit per second local area network. In: IEEE Micro., pp. 29–36 (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Darius Buntinas
    • 1
  • William Gropp
    • 1
  1. 1.Mathematics and Computer Science DivisionArgonne National Laboratory 

Personalised recommendations