Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ph4r05/javarmimanagerworker
Java RMI manager worker implementation for parallelization across computers
https://github.com/ph4r05/javarmimanagerworker
java java-library maven parallelization worker-manager
Last synced: 2 days ago
JSON representation
Java RMI manager worker implementation for parallelization across computers
- Host: GitHub
- URL: https://github.com/ph4r05/javarmimanagerworker
- Owner: ph4r05
- License: apache-2.0
- Created: 2015-11-23T20:29:27.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-12-03T02:22:55.000Z (about 9 years ago)
- Last Synced: 2024-11-21T07:15:38.745Z (2 months ago)
- Topics: java, java-library, maven, parallelization, worker-manager
- Language: Java
- Size: 37.1 KB
- Stars: 2
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# javaRmiManagerWorker
Java RMI manager worker implementation for computation parallelization across multiple computers.[![Build Status](https://travis-ci.org/ph4r05/javaRmiManagerWorker.svg?branch=master)](https://travis-ci.org/ph4r05/javaRmiManagerWorker)
[![Coverity Status](https://scan.coverity.com/projects/7182/badge.svg)](https://scan.coverity.com/projects/ph4r05-javarmimanagerworker)## Description
Java Remote Method Invocation is used for communication between manager and worker processes.Simple worker manager pattern is implemented. Manager is one process, generating new jobs and submitting them for computation.
There are multiple workers connected to manager and polling its job queue.Manager process creates jobs for computation, adding them to the internal job queue.
As worker process connects to the manager process, it registers itself. Registration allows provider to call
methods on the worker.When worker has a free working thread available it asks manager for a new job for processing.
Progress monitoring and cancellation are supported. Progress is signalized from the task, through worker to the manager.
Same code flow is followed when checking for cancellation of given task.When computation finishes, manager callback for job finished is called with job object and job result.
Each worker generates unique UUID after initialization. Under this UUID it is registered in the manager.
In order to test the code, use provided shell scripts to start one manager first. Then start multiple worker processes.
As manager finishes its work, it terminates all worker processes.## Maven repository
```xmlcom.klinec
admwl
1.0```
## Maven project structure
Main repository contains simple parent maven project which includes two sub-modules.
* Library
* Demo
### Library
Main maven project with the library itself. It is a lightweight project with only dependency - *SLF4J*. This maven project
is about to be submitted to the Maven Central Repository so you can use it in your projects.
### Demo
Maven project including library project, with Main method. Illustrates usage of the library and demonstrates a simple
example of usage. Contains another dependencies. This repository is intended to be only illustrative, not present in the
Maven Central Repository.