Skip to: Site menu | Main content

Gruple

Concurrent and parallel programming in Groovy

Home Print

A concurrent programming library written in Groovy, providing simple programming models for complex multi-threaded tasks.

Introduction

At its core, Gruple provides an in-process tuplespace abstraction to enable a JavaSpaces-style programming model for communication and coordination among threads. A remote implementation allowing coordination among processes is planned for a future release.

Tuplespaces are best represented by the Linda coordination language for parallel computing, and the more recent !JavaSpaces API from Sun's Jini project. Both of these technologies were meant to provide the illusion of a shared memory on top of a message passing system, along with a small set of operations to greatly simplify parallel programming.

Now that multi-core processors are becoming the norm, methods of easing parallel programming within a single process are essential to allow programmers to take full advantage of increasing computing power without becoming experts on the intricacies of concurrent programming.

The Gruple project (among many others) aims to provide a simple abstraction to allow programmers to coordinate and synchronize threads and processes with ease.

Getting Started

The current release implements an in-memory tuplespace, with basic operations (put, get, and take.) See the TuplespaceUsage page for documentation. Also be sure to try the Demos.

See the Project Roadmap for other planned features.

Contact

For questions or comments, write to vanessa (symbol) fridgebuzz (punctuation) com

Blog Posts