Abstract
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.
Supported in part by NSF grants CNS-0454298 and IIS-0414981.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
CCA Forum: Common Component Architecture Forum (July 2005), http://www.cca-forum.org
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)
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)
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)
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)
Foster, I., Kesselman, C., Nick, J., Tuecke, S.: Grid Services for Distributed System Integration. Computer 35(6) (2002)
Globus Alliance: The WS-Resource Framework (2004), http://www.globus.org/wsrf/
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)
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)
Chiu, K., Govindaraju, M., Gannon, D.: The Proteus Multiprotocol Library. In: Proceedings of Supercomputing 2002(November 2002)
Chiu, K.: XBS: A streaming binary serializer for high performance computing. In: Proceedings of the High Performance Computing Symposium 2004 (2004)
Swamy, M.: Improving Throughput for Grid Applications with Network Logistics. In: Proceedings of Supercomputing Conference (2004)
SWIG: Simplified Wrapper and Interface Generator (1997), http://www.swig.org
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Govindaraju, M., Head, M.R., Chiu, K. (2005). XCAT-C++: Design and Performance of a Distributed CCA Framework. In: Bader, D.A., Parashar, M., Sridhar, V., Prasanna, V.K. (eds) High Performance Computing – HiPC 2005. HiPC 2005. Lecture Notes in Computer Science, vol 3769. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11602569_30
Download citation
DOI: https://doi.org/10.1007/11602569_30
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-30936-9
Online ISBN: 978-3-540-32427-0
eBook Packages: Computer ScienceComputer Science (R0)