The GridSim Toolkit

Anthony Sulistio and Rajkumar Buyya,
Grid Computing and Distributed Systems (GRIDS) Laboratory,
Department of Computer Science and Software Engineering,
The University of Melbourne, Australia
{anthony, raj}

1. Introduction

Grid computing has emerged as the next-generation parallel and distributed computing methodology, which aggregates dispersed heterogeneous resources for solving various kinds of large-scale parallel applications in science, engineering and commerce. In order to evaluate the performance of Grid resource management and application scheduling algorithms, we need to conduct repeatable and controlled experiments, which are difficult due to Grid's inherent heterogeneity and its dynamic nature. Additionally, Grid testbeds are limited, and creating an adequately-sized testbed is expensive and time consuming. Moreover, resources are autonomous and owned by different organisations, it requires the handling of different administration policies at each resource. Due to these reasons, it is easier to use simulation as a means of studying complex scenarios.

GridSim is a software platform that enables users to model and simulate the characteristics of Grid resources and networks with different configurations. GridSim is of great value to both students and experienced researchers who want to study Grids, or test new algorithms and strategies in a controlled environment. By using GridSim, they are able to perform repeatable experiments and studies that are not possible in a real dynamic Grid environment.

Some of the GridSim features are outlined below:

2. GridSim Architecture

We designed GridSim as a multi-layer architecture for extensibility, as shown in Figure 1. This allows new components or layers to be added and integrated into GridSim easily. In addition, the layered GridSim architecture captures the model of the Grid computing environment.

GridSim is based on SimJava2, a general purpose discrete-event simulation package implemented in Java. Therefore, the first layer at the bottom of Figure 1 is managed by SimJava2 for handling the interaction or events among GridSim components.

All components in GridSim communicate with each other through message passing operations defined by SimJava2. The second layer models the core elements of the distributed infrastructure, namely Grid resources such as clusters, storage repositories and network links. These core components are absolutely essential to create simulations in GridSim. The third and fourth layers are concerned with modeling and simulation of services specific to computational and Data Grids respectively. Some of the services provide functions common to both types of Grids such as information about available resources and managing job submission. In case of Data Grids, job management also incorporates managing data transfers between computational and storage resources. Replica catalogs, information services for files and data, are also specifically implemented for Data Grids. The fifth layer contains components that aid users in implementing their own schedulers and resource brokers so that they can test their own algorithms and strategies. The layer above this helps users define their own scenarios and configurations for validating their algorithms.

3. International Adoptions and Collaborations

In the last 5 years, GridSim has been continuously extended in this manner to include many new capabilities, and has also received contributions from external collaborators. In particular, National University of Singapore has contributed a QoS-based network module, the University of Ljubljana (Slovenia) has carried out a DataGrid module, and Universidad de Castilla La Mancha (Spain) has worked together on a resource failure module. Academic and industrial users of GridSim include: University of Manchester (UK), IBM Research, Unisys, HP, University of Southern California (USA), France Telecom, Indian Institute of Technology, Tsinghua University (China), and Sweden's Umea University. The table below lists some of the more prominent users of GridSim. Finally, Figure 2 shows how to run one of many GridSim examples under Eclipse Java IDE.

Table 1: Various users of GridSim and their targeted application domain for simulation.
Application DomainOrganisation
Scientific WorkflowsThe University of Southern California, USA
Business GridsIBM Research Lab
Grid Resource and Virtual OrganisationUmea University, Sweden
Network modellingNational University of Singapore
Grid Security StudiesFrance Telecom
Scheduling StudiesUniversity of Malay, Malaysia
Grid economicsTechnical University of Catalunya, Spain
Grid Market StudiesIndian Institute of Technology
Semantic Grid StudiesMonash University, Australia
Utility-based Resource ManagementThe University of Manchester, UK
DataGrid SimulationThe University of Ljubljana, Slovenia
Data Centre ModellingUnisys, USA
Distributed Ontology FrameworkLa Trobe University, Australia
Optimization of parallel applications on a GridUniversidad de Santiago de Compostela, Spain
Multi-Criteria Grid SchedulingPoznan Supercomputing Center, Poland
Hierarchical SchedulingUniversidad Complutense de Madrid, Spain
Grid Network BufferUniversidad de Castilla La Mancha, Spain

International Collaborators:
1. Gokul Poduval and Chen-Khong Tham, National University of Singapore.
2. Uros Cibej and Borut Robic, The University of Ljubljana, Slovenia.
3. Agustin Caminero, Blanca Caminero, and Carmen Carrion, Universidad de Castilla La Mancha, Spain

4. Software Availability

The latest version of the GridSim toolkit with source code and examples can be downloaded from the following website:


This work is partially supported by research grants from the Australian Research Council (ARC) and Australian Department of Education, Science and Training (DEST).

Figure 1

Figure 2