Ibis: a Flexible and Efficient Java based Grid Programming Environment

R.V. van Nieuwpoort, J. Maassen, G. Wrzesinska, R. Hofman, C.J.H. Jacobs, T. Kielmann, H.E. Bal

Research output: Contribution to JournalArticleAcademicpeer-review

Abstract

In computational Grids, performance-hungry applications need to simultaneously tap the computational power of multiple, dynamically available sites. The crux of designing Grid programming environments stems exactly from the dynamic availability of compute cycles: Grid programming environments (a) need to be portable to run on as many sites as possible, (b) they need to be flexible to cope with different network protocols and dynamically changing groups of compute nodes, while (c) they need to provide efficient (local) communication that enables high-performance computing in the first place. Existing programming environments are either portable (Java), or flexible (Jini, Java Remote Method Invocation or (RMI)), or they are highly efficient (Message Passing Interface). No system combines all three properties that are necessary for Grid computing. In this paper, we present Ibis, a new programming environment that combines Java's 'run everywhere' portability both with flexible treatment of dynamically available networks and processor pools, and with highly efficient, object-based communication. Ibis can transfer Java objects very efficiently by combining streaming object serialization with a zero-copy protocol. Using RMI as a simple test case, we show that Ibis outperforms existing RMI implementations, achieving up to nine times higher throughputs with trees of objects. Copyright © 2005 John Wiley & Sons, Ltd.
Original languageEnglish
Pages (from-to)1079-1107
JournalConcurrency and Computation: Practice and Experience
Volume17
Issue number7-8
DOIs
Publication statusPublished - 2005

Fingerprint

Programming Environments
Java
Grid
Network protocols
Grid computing
Communication
Message passing
Throughput
Availability
Message Passing Interface
Computational Grid
Network Protocols
Portability
Grid Computing
Streaming
High Throughput
High Performance
Cycle
Necessary
Object

Bibliographical note

NieuwpoortCPE05

Cite this

@article{77958c33f875413ca3df4e53d3c69b1d,
title = "Ibis: a Flexible and Efficient Java based Grid Programming Environment",
abstract = "In computational Grids, performance-hungry applications need to simultaneously tap the computational power of multiple, dynamically available sites. The crux of designing Grid programming environments stems exactly from the dynamic availability of compute cycles: Grid programming environments (a) need to be portable to run on as many sites as possible, (b) they need to be flexible to cope with different network protocols and dynamically changing groups of compute nodes, while (c) they need to provide efficient (local) communication that enables high-performance computing in the first place. Existing programming environments are either portable (Java), or flexible (Jini, Java Remote Method Invocation or (RMI)), or they are highly efficient (Message Passing Interface). No system combines all three properties that are necessary for Grid computing. In this paper, we present Ibis, a new programming environment that combines Java's 'run everywhere' portability both with flexible treatment of dynamically available networks and processor pools, and with highly efficient, object-based communication. Ibis can transfer Java objects very efficiently by combining streaming object serialization with a zero-copy protocol. Using RMI as a simple test case, we show that Ibis outperforms existing RMI implementations, achieving up to nine times higher throughputs with trees of objects. Copyright {\circledC} 2005 John Wiley & Sons, Ltd.",
author = "{van Nieuwpoort}, R.V. and J. Maassen and G. Wrzesinska and R. Hofman and C.J.H. Jacobs and T. Kielmann and H.E. Bal",
note = "NieuwpoortCPE05",
year = "2005",
doi = "10.1002/cpe.860",
language = "English",
volume = "17",
pages = "1079--1107",
journal = "Concurrency and Computation: Practice and Experience",
issn = "1532-0626",
publisher = "John Wiley and Sons Ltd.",
number = "7-8",

}

Ibis: a Flexible and Efficient Java based Grid Programming Environment. / van Nieuwpoort, R.V.; Maassen, J.; Wrzesinska, G.; Hofman, R.; Jacobs, C.J.H.; Kielmann, T.; Bal, H.E.

In: Concurrency and Computation: Practice and Experience, Vol. 17, No. 7-8, 2005, p. 1079-1107.

Research output: Contribution to JournalArticleAcademicpeer-review

TY - JOUR

T1 - Ibis: a Flexible and Efficient Java based Grid Programming Environment

AU - van Nieuwpoort, R.V.

AU - Maassen, J.

AU - Wrzesinska, G.

AU - Hofman, R.

AU - Jacobs, C.J.H.

AU - Kielmann, T.

AU - Bal, H.E.

N1 - NieuwpoortCPE05

PY - 2005

Y1 - 2005

N2 - In computational Grids, performance-hungry applications need to simultaneously tap the computational power of multiple, dynamically available sites. The crux of designing Grid programming environments stems exactly from the dynamic availability of compute cycles: Grid programming environments (a) need to be portable to run on as many sites as possible, (b) they need to be flexible to cope with different network protocols and dynamically changing groups of compute nodes, while (c) they need to provide efficient (local) communication that enables high-performance computing in the first place. Existing programming environments are either portable (Java), or flexible (Jini, Java Remote Method Invocation or (RMI)), or they are highly efficient (Message Passing Interface). No system combines all three properties that are necessary for Grid computing. In this paper, we present Ibis, a new programming environment that combines Java's 'run everywhere' portability both with flexible treatment of dynamically available networks and processor pools, and with highly efficient, object-based communication. Ibis can transfer Java objects very efficiently by combining streaming object serialization with a zero-copy protocol. Using RMI as a simple test case, we show that Ibis outperforms existing RMI implementations, achieving up to nine times higher throughputs with trees of objects. Copyright © 2005 John Wiley & Sons, Ltd.

AB - In computational Grids, performance-hungry applications need to simultaneously tap the computational power of multiple, dynamically available sites. The crux of designing Grid programming environments stems exactly from the dynamic availability of compute cycles: Grid programming environments (a) need to be portable to run on as many sites as possible, (b) they need to be flexible to cope with different network protocols and dynamically changing groups of compute nodes, while (c) they need to provide efficient (local) communication that enables high-performance computing in the first place. Existing programming environments are either portable (Java), or flexible (Jini, Java Remote Method Invocation or (RMI)), or they are highly efficient (Message Passing Interface). No system combines all three properties that are necessary for Grid computing. In this paper, we present Ibis, a new programming environment that combines Java's 'run everywhere' portability both with flexible treatment of dynamically available networks and processor pools, and with highly efficient, object-based communication. Ibis can transfer Java objects very efficiently by combining streaming object serialization with a zero-copy protocol. Using RMI as a simple test case, we show that Ibis outperforms existing RMI implementations, achieving up to nine times higher throughputs with trees of objects. Copyright © 2005 John Wiley & Sons, Ltd.

U2 - 10.1002/cpe.860

DO - 10.1002/cpe.860

M3 - Article

VL - 17

SP - 1079

EP - 1107

JO - Concurrency and Computation: Practice and Experience

JF - Concurrency and Computation: Practice and Experience

SN - 1532-0626

IS - 7-8

ER -