XCAT-C++: Design and Performance of a Distributed CCA Framework

  • Madhusudhan Govindaraju
  • Michael R. Head
  • Kenneth Chiu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3769)


In this paper we describe the design and implementation of a C++ based Common Component Architecture (CCA) framework, XCAT-C++. It can efficiently marshal and unmarshal large data sets, and provides the necessary modules and hooks in the framework to meet the requirements of distributed scientific applications. XCAT-C++ uses a high-performance multi-protocol library so that the appropriate communication protocol is employed for each pair of interacting components. Scientific applications can dynamically switch to a suitable communication protocol to maximize effective throughput. XCAT-C++ component layering imposes minimal overhead and application components can achieve highly efficient throughput for large data sets commonly used in scientific computing. It has a suite of tools to aid application developers including a flexible code generation toolkit and a python scripting interface. XCAT-C++ provides the means for application developers to leverage the efficacy of the CCA component model to manage the complexity of their distributed scientific simulations.


CCA XCAT-C++ component performance multi-protocol 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    CCA Forum: Common Component Architecture Forum (July 2005),
  2. 2.
    Bernholdt, D.E., Allan, B.A., Armstrong, R., Bertrand, F., Chiu, K., Dahlgren, T.L., Damevski, K., Ewasif, W.R., Epperly, T.G.W., Govindaraju, M., Katz, D.S., Kohl, J.A., Krishnan, M., Kumfert, G., Larson, J.W., Lefantzi, S., Lewis, M.J., Malony, A.D., McInnes, L.C., Nieplocha, J., Norris, B., Parker, S.G., Ray, J., Shende, S., Windus, T.L., Zhou, S.: A Component Architecture for High Performance Scientific Computing. International Journal of High Performance Computing Applications, ACTS Collection Special Issue (2005)Google Scholar
  3. 3.
    Kohn, S., Kumfert, G., Painter, J., Ribbens, C.: Divorcing Language Dependencies from a Scientific Software Library. In: Proceedings of 10th SIAM Conference on Parallel Processing, Portsmouth, VA, March 12-14 (2001)Google Scholar
  4. 4.
    Elliot, N., Kohn, S., Smolinski, B.: Language Interoperability for High-Performance Parallel Scientific Components. In: International Symposium on Computing in Object-Oriented Parallel Environments (ISCOPE 1999), San Francisco, CA, September 29 - October 2nd (1999)Google Scholar
  5. 5.
    Gannon, D., Ananthakrishnan, R., Krishnan, S., Govindaraju, M., Ramakrishnan, L., Slominski, A.: 9, Grid Web Services and Application Factories. In: Grid Computing: Making the Global Infrastructure a Reality. Wiley, Chichester (2003)Google Scholar
  6. 6.
    Foster, I., Kesselman, C., Nick, J., Tuecke, S.: Grid Services for Distributed System Integration. Computer 35(6) (2002)Google Scholar
  7. 7.
    Globus Alliance: The WS-Resource Framework (2004),
  8. 8.
    Govindaraju, M., Krishnan, S., Chiu, K., Slominski, A., Gannon, D., Bramley, R.: Merging the CCA Component Model with the OGSI Framework. In: 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid, Tokyo, Japan, May 12-15 (2003)Google Scholar
  9. 9.
    Lewis, M.J., Govindaraju, M., Chiu, K.: Exploring the Design Space for CCA Framework Interoperability Approaches. In: Workshop on Component Models and Frameworks in High Performance Computing (June 2005)Google Scholar
  10. 10.
    Chiu, K., Govindaraju, M., Gannon, D.: The Proteus Multiprotocol Library. In: Proceedings of Supercomputing 2002(November 2002)Google Scholar
  11. 11.
    Chiu, K.: XBS: A streaming binary serializer for high performance computing. In: Proceedings of the High Performance Computing Symposium 2004 (2004)Google Scholar
  12. 12.
    Swamy, M.: Improving Throughput for Grid Applications with Network Logistics. In: Proceedings of Supercomputing Conference (2004)Google Scholar
  13. 13.
    SWIG: Simplified Wrapper and Interface Generator (1997),
  14. 14.
    Zhang, K., Damevski, K., Venkatachalapathy, V., Parker, S.: SCIRun2: A CCA framework for high performance computing. In: Proceedings of the 9th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS 2004), Santa Fe, NM. IEEE Press, Los Alamitos (2004)Google Scholar
  15. 15.
    Krishnan, S., Gannon, D.: XCAT3: A Framework for CCA Components as OGSA Services. In: Proceedings of HIPS 2004: 9th International Workshop on High-Level Parallel Programming Models and Supportive Environments (April 2004)Google Scholar
  16. 16.
    Govindaraju, M., Bari, H., Lewis, M.J.: Design of Distributed Component Frameworks for Computational Grids. In: Proceedings of International Conference on Communications in Computation, pp. 160–166 (June 2004)Google Scholar
  17. 17.
    Allan, B.A., Armstrong, R.C., Wolfe, A.P., Ray, J., Bernholdt, D.E., Kohl, J.A.: The CCA Core Specification In A Distributed Memory SPMD Framework. CCPE 14, 323–345 (2002)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Madhusudhan Govindaraju
    • 1
  • Michael R. Head
    • 1
  • Kenneth Chiu
    • 1
  1. 1.Grid Computing Research Laboratory (GCRL)State University of New York (SUNY) at BinghamtonUSA

Personalised recommendations