Java Multiprocessing is a library with API that resembles Java Multithreading which is an essential built-in Java feature. The library allows easily running a piece of code on a separate process.
Java Multiprocessing relies on RMI for inter-process communication and uses modern Windows PowerShell for communications with the OS.
In addition to running a separate process Java Multiprocessing naturally incorporates a basic cluster management tool. The tool takes care of load balancing between several CPUs, both on local and remote machines.
Java Multiprocessing scheme gives a general idea how JMP works - cluster management classes and methods rely on multiprocessing methods:
Two of the most obvious Java Multiprocessing use cases are:
a. All kinds of data parallelism (exhaustive search algorithms, optimization problems).
b. Server-side load balancing between available CPUs.
The idea of JMP came up while ENGITEX team had been working on real-life industrial projects.
Its cluster management functionality will be developed further to make JMP a natural choice in the science, oil&gas, energy and logistics.
See also:
[Concepts]
[System requirements]
[API reference]
[Examples of use cases]
Wiki: API reference
Wiki: Concepts
Wiki: Examples of use cases
Wiki: System requirements