This document is the API specification
for the Lightweight Bartering Grid,
a P2P Grid middleware and discrete-event simulator.
Lightweight Bartering Grid
Copyright (c) 2005-2008, Cyril Briquet, parts Xavier Dalem
Contact: C.Briquet@ulg.ac.be
Website: http://www.montefiore.ulg.ac.be/~briquet/
LBG depends on the following Free and Open Source libraries:
LBG acknowledges the support of:
- YourKit is kindly supporting open source projects with its full-featured Java Profiler.
YourKit, LLC is creator of innovative and intelligent tools for profiling
Java and .NET applications. Take a look at YourKit's leading software products:
YourKit Java Profiler and
YourKit .NET Profiler.
LBG version notes:
- 0.4.1: multiple bug fixes, refactoring
and update of the Data Manager,
implementation of additional preemption and filtering policies,
implementation of additional Consumption Tasks scheduling policies,
refactoring of policy packages,
refactoring of PolicyEnumerator and ScenarioRandomizer,
implementation of Local Tasks and Local Job cancellation
(initiated by either a User Agent or the Local Tasks control mechanism),
optimization of the initial .jar loading routine
(at BoT submission time)
(released on July 14th, 2008)
- 0.4.0.8 (stable release): multiple bug fixes,
implementation of an adaptive preemption policy,
various Task control enhancements, highly improved log analysis capabilities
(including log aggregation and visualization),
increased submission timing capabilities of AutomaticJobSubmitter,
availability of a background load generator script to stress-test
the middleware,
patch of GridDataManager instantiation (resulting in reduced side effects
and reduced memory footprint of the simulator),
initial embedded Peer web server,
patch of memory allocation and directory permission bugs
in the deployment code,
removal of a memory leak originating in the queueing manager,
refactoring of service internal threading and locking code
to prevent distributed deadlocks to occur,
certification of self-bootstrapping
(released on April 8th, 2008)
- 0.4.0.7 (stable release):
improved AutomaticJobSubmitter, multiple bug fixes,
critical bug fix in GridApplication loading code,
critical bug fix in GridApplication termination code,
prevention of potential deadlocks in Peer code,
code cleaning, refactoring of Grid nodes launchers,
addition of new GTK-based Grid nodes launching scripts
(released on January 29th, 2008)
- 0.4.0.6 (stable release): multiple bug fixes,
implementation of a Job-independent Peer-level Consumption data tracker
(supplementing the Job-bound Peer-level data trackers),
actual randomization of the random Resource selection algorithm,
improved deployment scripts
(released on December 5th, 2007)
- 0.4.0.5: multiple bug fixes, new deployment scripts
(released on October 15th, 2007)
- 0.4.0.4: multiple bug fixes, critical bug fix in the class loader
of Grid application code
(released on September 18th, 2007)
- 0.4.0.3: multiple bug fixes,
implementation of an embedded version of LiveUserAgent,
support for multiple JDF formats in the JDF generator tool,
enforcement of a security policy restricting GridApplication environment
(i.e. disk access, network access, class loadding), initial playpen support,
improved logging of Task execution/failure,
patch of deployment scripts, introduction of jar sealing, and manifest update
(released on September 4th, 2007)
- 0.4.0.2: multiple bug fixes
(released on July 24th, 2007)
- 0.4.0.1 (stable release):
multiple network-related/race condition bug fixes
(released on June 20th, 2007)
- 0.4 (stable release):
code cleanup of various managers,
implementation of Local and Supplying Tasks
timeout-initiated cancellations, refactoring of Suppliers ranking code
(released on May 25th, 2007)
- 0.3.5: multiple SearchEngineClient bugs fixes
(released on May 12th, 2007)
- 0.3.4: multiple bug fixes, patch adding GridApplication support
to the Simulator that now can be run as an LBG Job
(released on May 7th, 2007)
- 0.3.3: presented at
UPGRADE-CN'07
(HPDC 2007),
implementation of Task execution failure simulation,
implementation of Suppliers performance-based and Storage Affinity-based
rankings, multiple bug fixes
(released on April 24th, 2007)
- 0.3.2: refactoring to reduce Peer/Peer and Peer/Resources
management communications, TTG patch, client/server implementation
of Peer Search Engine
(released on March 30th, 2007)
- 0.3.1: heavy refactoring of ResourceManager to enable debugging
of subtle race conditions occuring due to lack of Resource locking for long
transactions between Peer managers
(released on February 9th, 2007)
- 0.3 (stable release): implementation of Event-driven Scheduler
and data operations
(released on February 8th, 2007)
- 0.3 beta: data operations implemented
(released on February 1st, 2007)
- 0.3 alpha: data operations mostly implemented
(released on January 26th, 2007)
- 0.2 beta: simulator operational,
basic reliability strategy implemented
(released on November 12th, 2006)
- 0.2 alpha 5 (prototype release):
development version of LBG, presented at
CGW 2006,
including network connectivity and initial data transfer support
(released on October 12th, 2006)
- 0.1 (initial release): porting and heavy refactoring
of most Bartering Grid Simulator components
(started on April 14th, 2006)
(for historical purposes) Bartering Grid Simulator version notes:
- BGS development halted, start over with LBG software
- BGS 0.5 (stable release): presented at
CGW 2005,
Bartering-based resource exchange
- BGS 0.2: refactoring to support both Live and Simulated modes
- BGS 0.1.4: random-based resource exchange, with preemption
(instrumentation and selection of resource exchange method are enabled)
- BGS 0.1.3: random-based resource exchange, without preemption
- BGS 0.1.2: no resource exchange
- BGS 0.1.1: initial version