Brakes - A portable thread serialization mechanism for Java

What is BRAKES ?

Brakes currently consists of two parts Brakes is licensed under the Academic Free License (AFL)

Brakes is the main source of inspiration for the JavaFlow component in the Apacha Jakarta Project.

Documentation

Recent Changes

Since 2001, the Brakes system is discontinued as research has taken more high-level directions. Therefor, the binary distribution stays mostly a 'proof-of-concept' system, without any optimizations for realworld use.

The standard version, which was the prototype of the presentation at ASA/MA (see higher), is what is called brakes-serial, or computation-serial in the binary distribution. The other version, brakes-parallel, or computation in the binary distribution, is an unoptimized addon of the first prototype, and has of course a much higher overhead than documented in the papers. So be sure you know what you are referencing.

There is a new subbranch of the Brakes system, Distributed Brakes. See Below.

Bugs

At the moment, we have a small buglist. But check out these pages regulary, as entries will move from the bugs section to the recent changes.

Downloading

The Brakes-0.3 source is included in the package.

Distributed Brakes

Building on Brakes, we have developed a system, called Distributed Brakes for serializing the execution state of distributed applications, that are programmed by a conventional Object Request Broker such as Java RMI. An important benefit of this mechanism is its portability. It can transparently be integrated into any legacy Java application. Further more, it does require no modifications to the Java Virtual Machine (JVM) or to the underlying Object Request Broker. Distributed Brakes can serve many purposes such as migrating distributed execution state over the network or storing it on disk.

In particular, we have implemented of a prototype for repartitioning distributed Java applications at run-time. Proper partitioning of distributed objects over the different machines is critical to the global performance of the distributed application. Methods for partitioning exist, and employ a graph-based model of the application being partitioned. Distributed Brakes enables us then to apply these methods at any point in an on-going distributed computation.

Related and Further Reading

The BRAKES project started as part of the CORRELATE project