A Model for Scientific Computing Platform

Similar documents
A Grid-Enabled Component Container for CORBA Lightweight Components

UNICORE Globus: Interoperability of Grid Infrastructures

Managing Complexity of Designing Routing Protocols Using a Middleware Approach

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

Crisis and paradox in distributed-systems development

Monitoring System for Distributed Java Applications

OmniRPC: a Grid RPC facility for Cluster and Global Computing in OpenMP

Appendix A - Glossary(of OO software term s)

Top-down definition of Network Centric Operating System features

An Introduction to the Grid

Delivering Data Management for Engineers on the Grid 1

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

A Capabilities Based Communication Model for High-Performance Distributed Applications: The Open HPC++ Approach

THE VEGA PERSONAL GRID: A LIGHTWEIGHT GRID ARCHITECTURE

1.264 Lecture 16. Legacy Middleware

System types. Distributed systems

Grid Computing. Lectured by: Dr. Pham Tran Vu Faculty of Computer and Engineering HCMC University of Technology

ASPECTIX: A QUALITY-AWARE, OBJECT-BASED MIDDLEWARE ARCHITECTURE

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

Security in the Web Services Framework

Java- and CORBA-Based Network Management. Mika Leppinen, Pekka Pulkkinen, and Aapo Rautiainen

CORBA (Common Object Request Broker Architecture)

InteGrade: a Tool for Executing Parallel Applications on a Grid for Opportunistic Computing

PARALLEL PROGRAM EXECUTION SUPPORT IN THE JGRID SYSTEM

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV

What is Software Architecture

Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java

Introduction to Distributed Systems (DS)

Today: Distributed Objects. Distributed Objects

CAS 703 Software Design

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model

Introduction to GT3. Introduction to GT3. What is a Grid? A Story of Evolution. The Globus Project

DS 2009: middleware. David Evans

Grid Computing Fall 2005 Lecture 5: Grid Architecture and Globus. Gabrielle Allen

Verteilte Systeme (Distributed Systems)

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

THE GLOBUS PROJECT. White Paper. GridFTP. Universal Data Transfer for the Grid

Michael Böge, Jan Chrin

09. Component-Level Design

Using CORBA Middleware in Finite Element Software

Domain Models for Laboratory Integration

Mohsin Qasim Syed Abbas Ali

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

UNIT 4 CORBA 4/2/2013 Middleware 59

Protecting the Hosted Application Server

Agent-Enabling Transformation of E-Commerce Portals with Web Services

Requirements for TINA Platform towards Information Sharing Business. Long-term Trend of Telephone Business

Configuration Management for Component-based Systems

Incorporating applications to a Service Oriented Architecture

A NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING

Module 1 - Distributed System Architectures & Models

Screen Saver Science: Realizing Distributed Parallel Computing with Jini and JavaSpaces

Checkpoint. Object. Object Stub. Proxy. Request. Request. Proxy

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

CHAPTER 2. Introduction to Middleware Technologies

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Experiences with OWL-S, Directions for Service Composition:

ACRONYMS AND GLOSSARY

Software Architectural Modeling of the CORBA Object Transaction Service

Today: Distributed Middleware. Middleware

ODMG 2.0: A Standard for Object Storage

A Web-Services Based Architecture for Dynamic- Service Deployment

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Large Scale Computing Infrastructures

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

A Component Framework for HPC Applications

Personal Grid Running at the Edge of Internet *

ROCI 2: A Programming Platform for Distributed Robots based on Microsoft s.net Framework

Distributed Systems. Bina Ramamurthy. 6/13/2005 B.Ramamurthy 1

A Scalable Location Aware Service Platform for Mobile Applications Based on Java RMI

Constraint-based Generation of Connectors

ibaan OpenWorld Adapter Suite 2.3 Installation and Configuration Guide for Connector for CORBA

GUI framework communication via the WWW

Building High-Assurance Systems out of Software Components of Lesser Assurance Using Middleware Security Gateways

Text mining on a grid environment

Topics on Web Services COMP6017

WebFlow - High-Level Programming Environment and Visual Authoring Toolkit for High Performance Distributed Computing

A Comparison of Conventional Distributed Computing Environments and Computational Grids

A Resource Discovery Algorithm in Mobile Grid Computing based on IP-paging Scheme

Distributed Computing Environment (DCE)

Oracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010

Scientific Computing with UNICORE

An Experimental Command and Control Information System based on Enterprise Java Bean Technology

Computer and Automation Research Institute Hungarian Academy of Sciences. Jini and the Grid. P. Kacsuk

We manage the technology that lets you manage your business.

Object-Oriented Analysis and Design Using UML (OO-226)

Hierarchical Replication Control

Software Architectures. Lecture 6 (part 1)

Overview. Borland VisiBroker 7.0

Interoperable and Transparent Dynamic Deployment of Web Services for Service Oriented Grids

What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform.

Integrating Fragmented Objects into a CORBA Environment

Advanced Lectures on knowledge Engineering

Chapter 16. Layering a computing infrastructure

Broker Pattern. Teemu Koponen

CHAPTER 1 Fundamentals of Distributed System. Issues in designing Distributed System

Application Servers in E-Commerce Applications

Testing an Open Source installation and server provisioning tool for the INFN CNAF Tier1 Storage system

CODE COUPLING USING PARALLEL CORBA OBJECTS

Transcription:

A Model for Scientific Computing Platform Petre Băzăvan CS Romania S.A. Păcii 29, 200692 Romania petre.bazavan@c-s.ro Mircea Grosu CS Romania S.A. Păcii 29, 200692 Romania mircea.grosu@c-s.ro Abstract: In this paper we present a model for scientific computing platform based on computational Grid solution. We describe techniques to give high performance for new or legacy scientific codes by wrapping as CORBA components. Key Words: Computational Grid, distributed computing environment, CORBA technologies. 1 Introduction Scientific software components, typically presented as routines or classes, are often written in statically languages and packaged into libraries. In present, this way of organizing scientific software seems to not satisfy the needs of scientists. The grid computing technology provides a new solution to high-performance distributed computing. Between the characteristics of a computational grid we enumerate: reusable and efficient software applications, ability to operate across diverse platforms with new or legacy software components, the use of the computational resources that can be distributed along heterogeneous networks. The goal of our work is to enable the establishment of a computational Grid which facilitate secure and intuitive access to the heterogeneous computing resources and to provide reusable software and informations at the level of various departments or institutions. The next sections are organized as follows. In the Section 2 we shortly present the concept of computational Grid and issues that are related to our results. The Section 3 introduces our CORBA solution for a computational Grid (here named CompGrid) and some implementation details. 2 The computational Grid concept There are many detailed papers defining the concept of a computational Grid. As is presented in [1], the fundamental idea of a computational Grid is to facilitate the interaction of scientists with advanced problem-solving tools. A computational Grid uses high-speed networks to link people with computers, databases and inherited software. In another paper [2], Foster, Kesselman and Tuecke develop the idea of multi-institutional virtual organizations. A virtual organization is an infrastructure of sharing resources and rules which facilitate the routine interaction and the access to high-performance devices without the need to replicate those expensive devices at each institution. Then, in a virtual organization, the computational Grid becomes a middleware infrastructure used by the scientists of a specific community. In this case are necessary protocols and services that can be used for access existing resources. Results and concepts from papers [1] and [2] are essential for our work. Other concepts related to computational grids are presented in [3] whose authors are members of Common Component Architecture group. The paper establishes a standard for interoperability among highperformance scientific components (here, a component is an independent unit of software deployment). The work defines a Common Component Architecture including workstation networks, distributedmultiprocessors and remote software resources. Two levels of interoperability are recognized: component level - all the functions of any architecture are accessible to any component through a standard interface - and framework level - for which the frameworks interoperate through a standardized interface. Important issues related to implementation and use of the computational Grid concept are presented in [4], [5], [6]. CORBA implementations of computational Grid are reported in [4], [6], [11], [15]. Three key features must be fulfilled by a computational Grid. The first is the security policy. In any distributed environment the authentication and authorization are essential functions of well-defined security policy. Then, a virtual organization must have a high-level virtualization of authentication and authorization ser- ISSN: 1790-2769 179 ISBN: 978-960-474-133-5

vices that regardless of security policy defined by different institutions. The second is the integration of resources and the exposure of the related services. In a virtual organization, any service is offered by a hosting environment and by a set of resources. The computational Grid must have a high-level requests service that link a request to an actual location of a resource. In this case the virtualization idea is to hide details of the hosting environment. The input information of the service is centred on what is requested and where is requested. The third key feature is represented by the fact that, in a computational Grid, a user application must be able to find appropriate resource candidates. To fulfil this function, are requested access to an information repository and stored informations about properties and facilities of each resource. 3 The CompGrid environment The CompGrid environment is a communication infrastructure coupling an user interface with remote data and scientific calculation level. The end-user interface provides user interactions and visualizations. In this environment the user applications must be identified with precision in order to access data and run calculations. Another requirement is that, Comp- Grid must maintain the data coherency over all the user actions. 3.1 Infrastructure CompGrid is a distributed and dynamic infrastructure based on a client/server relationship. The solution is based on CORBA technologies [7]. CORBA is a standard-based distributed computing model for object-oriented applications developed by the Object Management Group (OMG) [8]. CORBA enables applications to communicate in a distributed heterogeneous environment with network transparency. In our paper [9] we have reviewed principals CORBA concepts and we have explained how CORBA can be used to manage resources in railway communication system. In this paper we explain the use of CORBA for building our computational Grid solution. First of all, we justified the choice of this technologies. One of the problems in realizing a computational Grid is the un-uniformity in the performance of respective computers. CORBA is platform independent and then, is practical for grid computing. In a computational Grid, the distributed object is the principal vector of the information flow. In principle, a distributed object must be reusable, selfcontained piece of software that cooperates with other objects on the same machine or across the network via a well-defined interface. CORBA objects, described by Interface Data Language (IDL), have the required characteristics for this objects type. The three key features of a computational Grid can be found in the CORBA concepts. The security policy, developed in our solution, is doubled by the security policy of the CORBA environment. Many CORBA implementations require authentication of the client machine (in our case, the side of scientists) to allow access to the server facilities (see, for example, [10]). CompGrid scientific resources are accessed through CORBA objects and the CORBA ORB ensures the finding of the appropriate resource. The CORBA objects specialized in scientific computing are located in a heterogeneous distributed environment, on one or more CORBA servers. Scientific resources are new or legacy codes (in ours implementations, written in C++ and/or Fortran), packaged into libraries. These libraries are wrapped as CORBA components by linking with C++ CORBA code and by calling of various functions inside the CORBA objects. These libraries represent the scientific kernel of CompGrid. Other techniques for wrapping scientific codes to CORBA components, we find in [11], [12]. An other type of CORBA object is specialized in access of database i.e. clients authentication and, generally, in data exchange with CORBA clients. This object accesses the CompGrid database to manage preliminaries data, parameters and results of computations. The access of database is compliant with Persistent Object Service (POS) standard [13]. POS does not require extensions to the ORB and its components (for more details see [14]). The infrastructure is completed by the CompGrid user machine where we find the CORBA client software. At the user level are available a CORBA interface which put in touch the user with all CORBA resources, a compliant end user interface (including graphical representations using VTK libraries), a XML database where are stored the personal experiments. By experiment we mean the notion of study which is presented in the next section. The principle of CompGrid solution is to run a thread attached to a calculation process when the corresponding functionality is invoked by a CORBA client. The process run on a CORBA server dedicated to the communications between the clients and the calculation level (the scientific kernel). A process is needed for different computational phases. After execution of a process, the memory allocated for the corresponding CORBA object is released. The Figure 1 summarize the CompGrid infras- ISSN: 1790-2769 180 ISBN: 978-960-474-133-5

tructure. Figure 2: Use cases in CompGrid solution Figure 1: CompGrid Infrastructure 3.2 Functionalities In our virtual organization the study is the central entity of the information model. Through a study, the scientist can define and organize his own scientific experiments and can share informations and results with colleagues from the same scientific community. The study contains data needed to calculation process, the results of calculus and the informations of traceability. A study has the following attributes : an identification name, an owner, a visibility, a version and a computation model. A study is owned by an user (the user who created the study) and the visibility of a study is private or public. The management of studies is based also on a system of versions then, each study can have multiple versions. The visibility and the versions of a study are managed by the study owner. A study can be saved in CompGrid database or can be serialized as XML file on the machine of a CompGrid user. An user can import a public study from database or from XML file and then, it can access the models developed by another member of the same scientific community. By import, a study becomes the property of the user who did this operation and receives a default version. Depending on the scientific approached field, there are one or more computation models. The com- putational model is an object whose attributes are initial data and parameters for a computation process. Consequently, the structure of computation model is specific for each scientific domain and than, the computation model is the unit of information which makes difference between the study informations in different CompGrid implementations. The construction of a computational model is an interactive process executed by the scientist through the end-user interface, by modelling several structures established in the phase of implementation process. The attributes of a computational model can be chosen from a library of scientific data. The persistence of scientific data is assured by the CompGrid administrator through the CompGrid database. Then, for other users this part of the database is fixed. The principal use cases which are available to a CompGrid user are presented in the Figure 2. The next two figures present the sequences of some principal CompGrid functionalities. The Figure 3 presents data exchange between CompGrid user and the CORBA server to create/edit/save a study. In Figure 4 a calculation process is presented. We note that, in the call of CORBA methods the study is passed as parameter. 4 Conclusion In general, a Grid couples a wide variety of distributed resources such as PCs, workstations, storage systems, data sources, databases. The solution CompGrid integrates these resources with utilities of scientific software and makes them accessible through the features ISSN: 1790-2769 181 ISBN: 978-960-474-133-5

Figure 3: Exchange data in CompGrid solution Figure 4: Calculation process in CompGrid solution of CORBA technologies. The CompGrid platform provide a simple way for scientists to construct scientific experiments that require access to heterogeneous resources. These resources can either be hardware (different CORBA machines), databases or software components written in different programming languages, which are executed on different machines, and are needed for different computational phases. References: [1] I. Foster and G. Kesselman, eds., The Grid: Blueprint for New Computing Infrastructure, Morgan Kaufman Publishers, 1999. [2] I. Foster and G. Kesselman and S. Tuecke, The Anathomy of Grid: Enabling Scalable Virtual Organizations, Proc. of the 7th Int. Euro-Par Conf. (Euro-Par 2001), LNCS 2150, R. Sakellarion, J. Keane, J. Guard and L. Freeman, eds., Springer-Verlang, 2001. [3] R. Armstrong, D. Gannon, Al. Geist, and al., Toward a Common Component Architecture for High-Performance Scientific Computing, Proc. of the 1999 Conf. on High Performance Distributed Computing, p. 115-124. [4] R. Wain and M. Ashworth, A Java GUI and Distributed CORBA Client-Server Interface for Costal Ocean Model, Technical Report, DL-TR- 2005-002, Concil for the central Laboratory of the Research Councils, Daresbury, Warrington, UK. [5] G. Kollios and E. Gallopoulos, Jylab: A System for Portable Scientific Computing over Distributed Platforms, Proc. 2nd IEEE Int l Conf. on e-science and Grid Computing (e-science 2006): Sesion on Inovative and Collaborative Problem Solving, Dec. 2006. [6] O. Coulaud, M. Dussere and A. Esnard, Toward a Distributed Computational Steering Environment based on CORBA, Parallel Computing: Environments and Tools for Parallel Scientific Computing, 13(2004), p. 151-158. [7] M. Siegel, CORBA 3 Fundamentals and Programming, second ed., Wiley, 2000. [8] Object Management Group, http://www.omg.org. [9] P. Bazavan, CORBA technologies for railway site reservation and passenger information, Proc. of 7th WSEAS Int. Conf. on Applied Computer Science, Venice, Italy, Nov. 21-23, p.145-150. [10] BORLAND VISIBROKER, http://www.borland.com/us/products/visibroker. [11] T. Forker, G.K. Klass, C. Krause and A. Schriber, Techniques for wrapping scientific applications to CORBA components, Proc. Ninth Int. Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004, p. 100-108. [12] D. W. Walker, O. F. Rana and Y. Huang and al., Engineering high-performance legacy codes as CORBA components for problem-solving environments, Journal of Parallel and Distributed Computing, Nov. 2003, p. 1152-1163. [13] Object Management Group, CORBA services: Common Object Services Specification, OMG formal document, 1999. ISSN: 1790-2769 182 ISBN: 978-960-474-133-5

[14] S. Shumilov and A. B. Cremers, extensible Database Adapter - a framework for CORBA/ODBMS integration, Proc. of the 2nd International Workshop on Computer Science and Information Technologies CSIT2000 Ufa, Russia, 2000. [15] Y. Cardinale, M. Curiel, C. Figueira, P. Garcia, and E. Hernandez, Implementation of a CORBA-Based Metacomputing System, Lecture Notes In Computer Science; Vol. 2110, Proc. of the 9th International Conference on High-Performance Computing and Networking, Springer-Verlag, 2001, p. 629-636. ISSN: 1790-2769 183 ISBN: 978-960-474-133-5