Grid Computing Research Laboratory

State University of New York (SUNY) Binghamton
Department of Computer Science

Michael J. Lewis (mlewis@binghamton.edu)
Co-Director, Assistant Professor of Computer Science
Madhusudhan Govindaraju (mgovinda@.cs.binghamton.edu)
Co-Director, Assistant Professor of Computer Science

[Home] [Background] [For Visitors] [Projects] [People] [Papers] [Talks] [Resources] [Funding] [Internal]

A Legion Framework for the Common Component Architecture (CCA)

The Common Component Architecture (CCA) is a DOE-funded research project that aims to enable component-based high-performance scientific application development. The goal is to promote the development of re-usable components specifically designed for high performance computing. The CCA approach replaces the model in which application developers must identify and solve all the problems, and implement all the details, for each scientific application they develop. CCA is a lightweight architecture that defines how CCA-compliant components, written in potentially different programming languages, can interact with one another through ports. Users will specify the interface of their components via the Scientific Interface Definition Language (SIDL), and run these specifications through an SIDL compiler (e.g. Babel) which generates code in a selected programming language (C, C++, Fortran 77, Python, etc.). This output code includes the “glue” necessary for inter-component discovery, communication, and interaction through a CCA framework.

CCA application execution ranges from sequential execution on individual machines, to parallel execution on high performance parallel supercomputers, to distributed execution in more loosely coupled Grid systems. Different implementations of interoperable CCA frameworks will support execution in these different environments. Two different CCA frameworks currently being developed are CCAFFEINE for sequential and parallel environments, and XCAT for Globus-based Grids.

This project will contribute to the CCA project for Grid environments, specifically the Legion object-based Grid system. Working with the CCA forum, and specifically the XCAT team, to ensure compliance, compatibility, and interoperability wherever appropriate will be a priority. The use of CCA with Legion is natural and well-matched. The projects share a philosophy of language independence, abstracting complexity behind standard interfaces, and defining interaction mechanisms. Both CCA and Legion augment traditional library-based or object-based abstraction with metadata, reflection, and introspection. But the details of the approaches and the underlying implementation mechanisms are currently different and incompatible, requiring this specific effort to meld them.

This project will support CCA over Legion. Programmers will be able to specify CCA components in SIDL, and run them through a Babel-like compiler to generate back-end code for Legion components. These components will run within a new Legion CCA framework, implemented on top of a combination of existing and new Legion-based runtime mechanisms. We intend to follow the XCAT model of defining services as components, building (at least) directory, registry, creation, and connection services. We will explore several mapping styles of CCA components to Legion objects (which are currently implemented by one process per Legion object). A CCA component will be able to map to a single Legion object, and perhaps to multiple Legion objects working together to represent the component. We will also explore mechanisms to support multiple CCA components executing within the same Legion address space, building on our experience with the dynamically configurable distributed object (DCDO) model, which contains the Legion mechanism for component-based object development.

This effort will add value to the Legion project by incorporating the emerging standard for component-based scientific application development (CCA). More importantly, it will add significant value to CCA by providing another compatible framework for Grid services, ensuring that the solutions we create are applicable across multiple and varied Grid systems and approaches.

For more information on this project, please read the following paper:

  • Coming soon


    Page maintained by Mike Lewis: mlewis@binghamton.edu