= QCG Infrastructure Components = The !QosCosGrid stack consists of a set of components playing different roles in a grid/cloud computing. On this page we present general description of main !QosCosGrid components as well as description of basic relations between those in a typical !QosCosGrid scenario. If you need more detailed information about functionality as well as configuration and installation procedures of particular QCG components follow links presented in the table: ||= Component =||= Main function =|| || [[http://www.qoscosgrid.org/trac/qcg-computing|QCG-Computing]] || Basic Execution Service (BES) with Advanced Reservation Support || || [[http://www.qoscosgrid.org/trac/qcg-notification|QCG-Notification]] || Notification capabilities based on brokered version of OASIS WS-Notification standard || || [[http://www.qoscosgrid.org/trac/qcg-broker|QCG-Broker]] || Resource Management and Brokering service || || [[http://www.qoscosgrid.org/trac/qcg-openmpi|QCG-OpenMPI]] || Extended version of OpenMPI library supporting cross-cluster job execution || || [[http://www.qoscosgrid.org/trac/qcg-core|QCG-Core]] || Common library for !QosCosGrid elements || || [[http://www.qoscosgrid.org/trac/qcg-tools|QCG-Tools]] || Various elements extending the !QosCosGrid functionality || = QCG-Computing = QCG-Computing (the successor of the OpenDSP project) is an open architecture implementation of SOAP Web service for multi-user access and policy-based job control routines by various queuing and batch systems managing local computational resources. This key service in !QosCosGrid is using Distributed Resource Management Application API (DRMAA) to communicate with the underlying queuing systems. QCG-Computing has been designed to support a variety of plugins and modules for external communication as well as to handle a large number of concurrent requests from external clients and services. Consequently, it can be used and integrated with various authentication, authorization and accounting services or to extend capabilities of existing e-infrastructures based on Unicore, gLite, Globus Toolkit, and others. QCG-Computing service is compliant with the OGF HPC Basic Profile specification, which serves as a profile over Open Grid Forum standards like JSDL and OGSA Basic Execution Service. In addition, it offers remote interfaces for advance reservation management, and supports basic file transfer mechanisms. QCG-Computing was successfully tested with the following queuing systems: Sun Grid Engine (SGE), Platform LSF, !Torque/Maui, PBS Pro, Condor, Apple XGrid and !LoadLeveler. Therefore, as a crucial component in !QosCosGrid, it can be easily set up on the majority of computing clusters and supercomputers running the aforementioned queuing systems. Currently, advance reservation capabilities in QCG-Computing are exposed for SGE, Platform LSF and Maui (a scheduler that is typically used in conjunction with Torque). Moreover, generic extensions for advance reservation have been proposed for the next DRMAA standard release. For more information see [[http://www.qoscosgrid.org/trac/qcg-computing|QCG-Computing Home Page]] = QCG-Notification = QCG-Notification is an open-source implementation of the family of WS-Notification standards (version 1.3). In the context of !QosCosGrid, it is used to extend features provided by QCG-Computing by adding standards-based synchronous and asynchronous notification features. QCG-Notification supports the topic-based publish/subscribe pattern for asynchronous message exchange among Web services and other entities, in particular services or clients that want to be integrated with !QosCosGrid. The main part of QCG-Notification is based on a highly efficient, extended version of the !NotificationBroker, managing all items participating in notification events. Today, QCG-Notification offers sophisticated notification capabilities, e.g., topic and message content notification filtering, pull-and-push styles of transporting messages. QCG-Notification has been integrated with a number of communication protocols as well as various Web services security mechanisms. The modular architecture of QCG-Notification makes it relatively straightforward to develop new extensions and plugins to meet new requirements. For more information see [[http://www.qoscosgrid.org/trac/qcg-notification|QCG-Notification Home Page]] = QCG-Broker = The QCG-Broker is a successor of the Grid Resource Management System (GRMS) Project. QCG-Broker was designed to be an open-source meta-scheduling framework that allows developers to build and easily deploy resource management systems to control large-scale distributed computing infrastructures running queuing or batch systems locally. Based on dynamic resource selection, advance reservation and various scheduling methodologies, combined with feedback control architecture, QCG-Broker deals efficiently with various meta-scheduling challenges, e.g., co-allocation, load-balancing among clusters, remote job control, file staging support or job migration. The main goal of QCG-Broker was to manage the whole process of remote job submission and advance reservation to various batch queuing systems and subsequently to underlying clusters and computational resources. It has been designed as an independent core component for resource management processes which can take advantage of various low-level core and grid services and existing technologies, such as QCG-Computing or QCG-Notification, as well as various grid middleware services such as gLite, Globus or Unicore. Addressing various demanding computational needs of large-scale complex simulations, which in many cases can exceed capabilities of a single cluster, QCG-Broker can flexibly distribute and control applications onto many computing clusters or supercomputers on behalf of end users. Moreover, owing to some built-in metascheduling procedures it can optimize and run efficiently a wide range of applications while at the same time increasing the overall throughput of computing e-infrastructures. Advance reservation mechanisms are used to create, synchronize and simultaneously manage the co-allocation of computing resources located at different Administrative Domains. The XML-based job definition language Job Profile makes it relatively easy to specify the requirements of large-scale parallel applications together with the complex parallel communication topologies. Consequently, application developers and end users are able to run their experiments in parallel over multiple clusters as well to perform various benchmark-based experiments as alternative topologies are taken into account during meta-scheduling processes in QCG-Broker. For more information see [[http://www.qoscosgrid.org/trac/qcg-broker|QCG-Broker Home Page]]