GridBR: The Challenge of Grid Computing S. R. R. Costa1 , L. G. Neves1 , F. Ayres1 , C. E. Mendon¸ca1 , R. S. N. de Bragan¸ca1 , F. Gandour2 , L. V. Ferreira3 , M.C.A. Costa3 , and N. F. F. Ebecken3 1 PETROBRAS Research and Development Center, Av. Hum, Quadra 7, Cidade Universit´ aria, Ilha do Fund˜ ao, 21949-900 Rio de Janeiro, RJ, Brazil {scosta,luisgustavo,fabricio.FPLF,cem,braganca}@petrobras.com.br 2 IBM Brazil, Av. Pasteur, 138/146, 22296-900 Rio de Janeiro, RJ, Brazil
[email protected] 3 COPPE, Federal University of Rio de Janeiro, P.O.Box 68516, 21945-970 Rio de Janeiro, RJ, Brazil
[email protected],
[email protected],
[email protected]
Abstract. The use of grid computing technology is being boosted in last years by the growing demand of low cost computing resources and idle computing capacity in collaborative research and development environments. GridBR is a PETROBRAS project done with the collaboration of COPPE/UFRJ and IBM Brazil partnership. This project aims at grid computing technology in the information technology strategy of PETROBRAS Research and Development Center (CENPES). The present environment comprises a heterogeneous mix of architectures and operating systems with AIX IBM and Linux workstations providing the required support for collaborative execution of applications. The results of a genetic algorithm optimization application are presented as an example of how to take advantage of the existing grid computing infrastructure at PETROBRAS.
1
Introduction
Nowadays, high performance computing faces the growing need of computational and storage resources. The performance growth of different architecture machines compared with network bandwidth growth shows an uneven scenario that directly affects efficient use of data center resources [1]. The increasing complexity of scientific computing problems leads to an explosive demand for computational resources, sometimes rendering isolated projects planning unfeasible. Grid computing technology allows a more rational use and conscious planning of available resources. Integration of geographically dispersed systems and heterogeneous platforms becomes another great benefit. The resources offering in a transparent way to users releases them from the overhead of having to know specific features of execution environments.
2
S. R. R. Costa et al.
The GridBR pilot project was proposed to fulfill an increasing demand at PETROBRAS for low cost computing resources for scientific purposes. The most cost effective solution is to take advantage of the company working schedule, which provides a huge amount of idle computing resources, since most of the computers tends to be idle every day from 5:00pm to 6:00am, and on the weekends. The primary goal of GridBR is to take advantage of this idle computing capacity and the grid computing technology is the natural solution to this problem. CENPES has various high performance computing environments: an IBM pSeries 690 (Regatta), an IBM RS/6000 SP, several workstations (RISC and Intel), some high performance Intel clusters with Linux operating system, and a high capacity centralized storage system, with SAN and NAS solutions. These resources are dispersed across many departments and have different administration policies. We believe that GridBR environment implementation will make possible rational integration and use of these resources, preserving their peculiarities and administration policies. In order to demonstrate the potential of this technology a grid demonstrating environment was placed and some tests were implemented. There are many applications at PETROBRAS which are suitable for execution in a grid environment, like seismic modeling and imaging, basin modeling, seismic interpretation, engineering design optimization and scientific visualization. Some of them cannot be presented because of company security policies. One application, with encouraging results, is a parallel genetic algorithm optimization program. This paper is divided as follows: the grid demonstration environment is presented in section 2; section 3 describes an application adapted for execution and some results; conclusions are discussed in section 4.
2
The GridBR environment
A grid is a collection of shared computing resources that work in a collaborative environment, where some resources may be available to all users on the grid and have access restrictions to other users. In this context, the word resource has a quite general meaning. It can designate, for example, a computer program, a service or a hardware device. The GridBR project is being carried out since April 2003 by PETROBRAS inside its Research and Development Center with collaboration of COPPE/UFRJ and IBM partnership. A workshop has been organized in order to demonstrate the results obtained in its initial phase. Fortunately, some users not formerly engaged to the project showed interest in adding resources to the grid and porting their applications to the environment. The project aims at implementing a fully functional grid environment within the current year. The project uses the Globus Toolkit available at Globus Project site [2–4]. The grid demonstration environment available so far consists of two IBM RS6000 RISC workstations running IBM AIX 5.1, two workstations running Red Hat Linux 7.3 and 8.0 and a virtual machine, running Red Hat Linux 7.3 built in the
Lecture Notes in Computer Science
3
Linux workstation named SPIDER, providing a heterogeneous grid environment for GridBR. The scheme of this environment is depicted in Figure 1. NEWCW (AIX) CA, GRIS, GIIS
SCRAT (LINUX) GRIS
PETROGRID CA, GRIS
MORPHEUS (LINUX) GRIS
E30 (AIX) GRIS
LINUX1 (LINUX) GRIS
SPIDER (LINUX) GRIS, GIIS
MATRIX (LINUX) (virtual machine) GRIS
ICARAI (LINUX) GRIS
SISMOS (LINUX) GRIS
Fig. 1. Grid demonstration environment available at CENPES.
2.1
Certificate authority
The IBM workstation NEWCW is the certificate authority (CA) of the grid. It is an IBM RS6000 F80 workstation with two processors running IBM AIX 5.1 and is located at CENPES data center, which comprises the security requirements that a CA demands. The CA software used in this present phase is the Simple CA, provided by Globus, and it is being used only for the purposes of test and demonstration. 2.2
IBM Grid Toolbox
The grid software used is the IBM Grid Toolbox [5]. The grid toolbox provided by IBM consists of the Globus Toolkit 2.2.4, with installation scripts that automate installation and configuration for IBM AIX 5.1 and RPM packages for Red Hat Linux. The environment so far described does not comprise with the demands of a grid production environment, but is capable of getting information of all the grid resources and computing tasks are submitted and executed successfully on the grid. Data management is straightforward through the grid using the GASS API, which allows retrieving through the grid the output of applications running on remote resources. We are now beginning the phase of adding functionality as well as resources to the existing grid environment; the MDS services have just been configured, MPI support will also be implemented soon and by November a fully functional grid environment will be available at CENPES.
4
S. R. R. Costa et al.
2.3
Grid Portal
The GridBR counts with a utility widely used in grids worldwide and in systems that need easy submission jobs from anywhere. This utility is known as GridPort [6]. The GridPort is a set of packages developed to build and customize a portal, making grid technology usage more attractive to end users. It will provide an easy way to use the Globus Software features for job submission, data and file manipulation, as well as monitoring the performance status in a lot of sites. All of this is done via ”WEB”. The GridPort relies on a client/server infrastructure. On server side, data pages are created with Perl language and its libraries. On client side a web browser with JavaScript support is used to view the pages. Some of the most important characteristics of the GridPort are: it is based on Globus security infrastructure and on the advanced public key (PKI) structure; it is a flexible and customizable environment written in PERL/CGI language; supports ”single-login” among many portals; uses the interactive Globus software environment.
3
Genetic Algorithm Application
The outstanding potential of the GridBR environment can be demonstrated using the GAlua software. GAlua is a prototype of genetic algorithm optimization multipurpose library. It includes several facilities for multiobjective optimization and supports scientific and business applications. Program code was written in Lua 5.0 [7] and implements a simple GA code based in a real chromosome. Lua is an interpreted programming language developed by Tecgraf, PUC-Rio. A genetic algorithm (GA) [8] is a search procedure that optimizes some objective function by maintaining a population of candidate solutions (individuals) and employing operations (crossover and mutation) inspired by genetics to generate a new population from the previous one. The genetic operators available are: blend crossover, uniform crossover, creep mutation and random mutation. The program implements both roulette and tournament selection. The ranking schemas available are linear scaling, linear ranking and exponential ranking. Different sizes among the first population and the others are possible. GAlua implementation has three possible termination criteria: – Minimum diversity value reached; – Desired objective value reached; – Maximum number of generations reached. The problem we are interested to solve is the maximization of the function, F (x, y) = (1 − y 2 )(2 − x2 − x4 ) cos(3πx) cos(2πy),
(1)
Lecture Notes in Computer Science
5
subject to the following constraints: −1 ≤ x ≤ 1 −1 ≤ y ≤ 1.
Fig. 2. Graphic of the objective function (1).
Figure 2 shows the graphic of the function (1). The expected solution of this problem is x = 0, y = 0 and the corresponding value of the objective function is F (x, y) = 2. This example used five machines on the grid with one process per machine. There is a master process that controls the genetic algorithm process and the individuals distribution for objective function evaluation in the other processes. The initial population has 30 individuals and the others have only 10. The execution stopped at generation 178 when the specified objective value of 2 was reached. Figures 3 to 5a) show a sequence of populations over the objective function contour plot to show the program behavior. Figure 5b) shows a graph with the objective values evolution through generations.
4
Concluding remarks
The GridBR pilot project intends to raise issues about implementation and use of the grid computing technology for CENPES. This paper covered the main topics for construction of an environment that demonstrates the potential of this technology. The results obtained so far have encouraged us to extend the scope of the environment beyond CENPES to other departments of the company and to try to implement a Data Grid based on the availability of the centralized storage system of CENPES. Now, the words are integration, collaboration and rational use of available resources. Essentially, we can say that the grid model came to stay. At least for one reason: the concept allows a better return on the IT investments. However, it is
6
S. R. R. Costa et al.
(a)
(b) Fig. 3. a) Initial population; b) Fifth generation.
(a)
(b) Fig. 4. a) Tenth generation; b) Fifteenth generation.
fair to suppose that good and bad experiences will come up. As usual in the IT environment, the grid model became a very fashionable solution and there may be attempts to build a grid without checking the basic premises to support this endeavor. Those are the cases where bad results may emerge. By the other hand, we are convinced that if the set of rules and recommendations proposed by the creators of the grid concept are followed, the benefits of adopting the model are evident and tangible, even for the low-end user at the remotest workstation in any net. After a period of internal stabilization in each experience, we envision also the perspective of having grids connected between them, making the dream of the theoretical ExtraGrid come true. Again, we will try it with the same care and attention we have done so far.
References 1. I. Foster and C. Kesselman. The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufmann Publishers, Inc. San Francisco, CA, 1999. 2. The Globus Project. Globus Toolkit. http://www-unix.globus.org/toolkit
Lecture Notes in Computer Science
(a)
7
(b)
Fig. 5. a) Twentieth generation; b) Objective value evolution.
3. L. Ferreira et al.. Introduction to Grid Computing with Globus. IBM Redbooks, IBM Corp., 2002. 4. I. Foster, C. Kesselman, S. Tuecke. The Anatomy of the Grid: Enabling Scalable Virtual Organizations. International J. Supercomputer Applications, 15(3), 2001. http://www.globus.org/research/papers.html 5. IBM Grid Toolbox. Grid Toolbox Administration Guide. IBM Corp., 2003. http://www.alphaworks.ibm.com/tech/gridtoolbox 6. GridPort. GridPort Toolkit. http://gridport.npaci.edu. 7. The Programming Language Lua. Lua 5.0 Reference Manual. http://www.lua.org 8. D. E. Goldberg. Genetic Algorithm in Search, Optimization and Machine Learning. Addison-Wesley Publishing Company, Inc., 1989.