Rajkumar Buyya
Srikumar Venugopal
The University of Melbourne
The Gridbus project ( http://www.gridbus.org) is engaged in the design and development of open source cluster and grid middleware technologies for service-oriented computing. Gridbus emphasizes the end-to-end quality of services driven by computational economy at various levels - clusters, peer-to-peer (P2P) networks, and the Grid - for the management of distributed computational, data, and application services.
At the cluster level, the Libra scheduler has been developed to support economy-driven cluster resource management. Libra is used within a single administrative domain for distributing computational tasks among resources that belong to a cluster. At the P2P network level, the CPM (compute-power-market) infrastructure is being developed through the JXTA community. At the Grid level, various tools are being developed to support a quality-of-service (QoS) - based management of resources and scheduling of applications. To enable performance evaluation, a Grid simulation toolkit called GridSim has been developed. GridSim supports the modeling and simulation of application scheduling on simulated Grid resources. Finally, to support the accounting of resource or service usage and enable sustainable resource sharing across virtual organizations, we have developed Grid Accounting Services infrastructure.
The Gridbus project extends the thesis on grid economy and distributed resource management to realise its full potential for service-oriented computing and scheduling distributed data oriented applications on Global Grids.
Gridbus technologies
Gridbus technologies and their utilization in deploying real-world applications, such as brain activity analysis, on Global Grids has been demonstrated at the recent IEEE/ACM Supercomputing (SC 2002) conference held in Baltimore, MD, USA. A high-level interaction between various Gridbus components is shown in Figure 1. We briefly discuss some of the key technologies developed as part of the Gridbus project.

Figure 1: Gridbus at SC2002: A high-level view of system interactioni in a grid-based computation
Visual Parameter Sweep Application Composer
The Gridbus project developed a Java based IDE, called Visual Parametric Modeler (VPM), for rapid creation of parameter sweep (data parallel/SPMD) applications. VPT allows users to parameterize the input data files to transform static values to variable parameters, and to create a script that defines parameters and tasks. VPT also allows the rapid creation and manipulation of the parameters. While being flexible, it is also simple enough for a non-expert to create a parameter script, known as a plan file, within minutes. The parameter sweep applications composed using VPT can be deployed on global Grids using the Nimrod-G resource broker (see Resources). Nimrod-G supports scheduling based on the user's quality of service (QoS) requirements, such as computational deadline, budget, and optimization preference, and the access price of resources.
Grid Market Directory (GMD)
The Grid Market Directory (GMD) (see Resources) serves as a registry for high-level service publication and discovery in virtual organizations. It enables service providers to publish the services which they provide along with the costs associated with those services. Consumers browse GDM to find services that meet their requirements.
GMD is built over standard Web service technologies such as SOAP (Simple Object Access Protocol) and XML. Therefore, it can be queried by other programs. To provide with an additional layer of transparency, a client API (Application Programming Interface) has been provided that could be used by programs to query the GMD without the developers having to concern themselves with SOAP details. The Gridbus scheduler interacts with the GMD to discover the testbed resources and their high-level attributes such as access price.
Grid Scheduler
The Gridbus scheduler, developed as a plugin scheduler for (Nimrod-G), has been used instead of the default Nimrod-G scheduler, as it has been designed to utilize the GMD. To support the notion of application services and pricing based on AO (Application Operation) instead of vanilla CPU service, the GMD already allows GSPs (Grid Service Providers) to publish application services along with their AO service price. Hence, the Gridbus scheduler can utilize the GMD services and perform resource allocation based on AO cost model. In this model, the user is charged a price for executing each job on the resource. Thus, the resource owner may offer the application as a service and charge a fixed price for executing it.
The current version of Gridbus Scheduler implements three scheduling algorithms (conceived in the Nimrod-G project):
- Cost minimization
- Time minimization, and
- Cost-time optimization
and extends them to support the scheduling of distributed data-oriented applications such as those used in high energy physics. All three algorithms are constrained by two parameters: the deadline by which a job must complete, and a user's budget. Time minimization tries to execute the project within the shortest time while keeping within the budget. Cost minimization tries to complete the execution with the least cost while keeping to the deadline. Cost-time optimization gives jobs to the cheapest servers but performs time optimization among those.
G-Monitor
G-Monitor is a Web portal for monitoring and steering application execution on global grids. It interacts with Grid Resource Broker (GRB), Nimrod-G in the current implementation, to provide the user with a GUI (graphical user interface) to the underlying Grid framework.
G-Monitor provides a ubiquitous interface that is easy to use, enabling the end-user to monitor and control jobs running within the Grid environment. It is flexible enough to be run from anywhere without the need for custom client software or network overhead. G-Monitor is also scalable, and can therefore handle thousands of nodes and jobs running in a Grid environment.
GridBank
GridBank (GB) is a secure Grid-wide accounting and (micro) payment handling system. It maintains the users' (consumers and providers)accounts and resource usage records in a database. GridBank supports protocols that enable its interaction with the resource brokers of Grid Service Consumers (GSCs) and the resource traders of Grid Service Providers (GSPs). It has been primarily designed to provide services for enabling a Grid computing economy; however, we envision its usage in e-commerce applications as well. The GridBank services can be used in both co-operative and competitive distributed computing environments.
GridSim
The GridSim toolkit (see Resources) supports modeling and simulation of a wide range of heterogeneous resources: Single- or multiprocessors, shared and distributed memory machines, such as PCs, workstations, SMPs, and clusters with different capabilities and configurations. GridSim can be used for modeling and simulation of application scheduling on various classes of parallel and distributed computing systems, such as clusters, grids, and P2P networks. The GridSim resource entities are being extended to support advanced reservation of resources and user-level setting of background load on simulated resources based on trace data.
The GridSim toolkit provides facilities for the modeling and simulation of resources and network connectivity with different capabilities, configurations, and domains. It supports primitives for application composition, information services for resource discovery, and interfaces for assigning application tasks to resources and managing their execution. These features can be used to simulate parallel and distributed scheduling systems such as resource brokers or Grid schedulers for evaluating performance of scheduling algorithms or heuristics.
The GridSim Toolkit has been used to create a resource broker that simulates Nimrod-G for the design and evaluation of deadline and budget constrained scheduling algorithms with cost and time optimizations. It is also used to simulate a market-based cluster scheduling system in a cooperative economy environment.
Recent Gridbus Release
In November, 2002, the Gridbus project released GridSim 2.0 that provides support for the simulation of time or space shared, single and multiprocessor systems (both shared and distributed memory systems), as well as a new package for creating Grid model visually.
A technical preview version of the Grid Bank has been released and the code can be downloaded from http://www.csse.uwa.edu.au/%7Ebarmouta/gbinstallation.html.
The version 1.0 of G-monitor can be downloaded from http://www.cs.mu.oz.au/%7Eraj/grids/software/Gmonitor-0.1.tar.gz.
The version 1.0 of GMD can be downloaded from http://www.gridbus.org/gmd.
For up-to-date information on future releases and new Gridbus technologies, please visit the Gridbus project site or contact the project leader.
Acknowledgements
Some of the Gridbus technologies are being developed by extending the early work carried out by Rajkumar Buyya with David Abramson, Jon Giddy, Manzur Murshed, and Kim Branson. The continued contributions of Jia Yu, Martin Placek, Alexander Barmouta, Anthony Sulistio, and Chee Shin Yeo to the Gridbus Project are highly appreciated.
A secure and uniform access to remote resources shown in Figure 1 is achieved by using the Globus software.
Resource
Rajkumar Buyya and Manzur Murshed, GridSim: A Toolkit for the Modeling and Simulation of Distributed Resource Management and Scheduling for Grid, The Journal of Concurrency and Computation: Practice and Experience (CCPE), (Wiley Press), Issue 13-15, Volume 14, 2002.
Jahanzeb Sherwani, Nosheen Ali, Nausheen Lotia, and Zahra Hayat, Libra: An Economy driven Job Scheduling System for Clusters, Proceedings of the 6th International Conference on High Performance Computing in Asia-Pacific Region (HPC Asia 2002), 2000.
Jia Yu, Srikumar Venugopal, and Rajkumar Buyya, Grid Market Directory: A Web Services based Grid Service Publication Directory, Technical Report, Dept. of Computer Science and Software Engineering, The University of Melbourne, Australia, 2003.
Martin Placek and Rajkumar Buyya, G-Monitor: Gridbus web portal for monitoring and steering application execution on global grids, Technical Report, Grid Computing and Distributed Systems (GRIDS) Lab, Dept. of Computer Science and Software Engineering, The University of Melbourne, 2003.
Alexander Barmoute and Rajkumar Buyya, GridBank: A Grid Accounting Services Architecture (GASA) for Distributed Systems Sharing and Integration, 17th Annual International Parallel and Distributed Processing Symposium (IPDPS 2003) Workshop on Internet Computing and E-Commerce, 2003
Anthony Sulistio, Chen Shin Yeo, and Rajkumar Buyya, Visual Modeler for Grid Modelling and Simulation (GridSim) Toolkit, Innovative Grid Computing Workshop, Proceedings of the 3rd International Conference on Computational Science (ICCS 2003), 2003
Shoaib Burq, Steve Melnikoff, Kim Branson, and Rajkumar Buyya, Visual Parameteric Modeler for Rapid Composition of Parameter-Sweep Applications for Processing on Global Grids, Java in Computational Science Workshop, Proceedings of the 3rd International Conference on Computational Science, 2003
h
g v cSeven Star louis vuitton replica