With a rapid development of multicore PCs, high-performance computing clusters and with client-server architecture becoming omnipresent, the standard hardware-agnostic approach to load distribution on a local machine provided in Java might not be suitable for the tasks.
Similar options are available in C++ as discussed here Parallel computing in C++ vs. Java by ENGITEX
▪ None of these assume a distributed system by default. This is the primary goal of JMP package.
▪ Unlike older tools, JMP also allows setting affinity for new processes explicitly instead of relying on the OS.
▪ Another perk made available with Java RMI is remote (dynamic) code loading which offers a new look on client-server software design.
Java MultiProcessing is a library with API that resembles Java Multithreading which is an essential built-in Java feature. The library's core component allows running a piece of Java code (further referenced as task) asynchronously on a separate process.
JMP relies on RMI for inter-process communication both on local and remote machines and uses modern Windows PowerShell for communications with the OS.
In addition to running a separate process asynchronously, Java Multiprocessing naturally incorporates a cluster management and load balancing tool. The tool takes care of load balancing between several CPUs, both on local and remote machines. A desktop running JMP server (a.k.a. JMP node ) might have its "slave" nodes for load distribution.
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.
We offer our own Java cloud powered by JMP to small and medium enterprises who do not want to deal with server part of JMP. This makes things roughly 2 times easier: now the user only has to use the client's API and it will connect to our JMP server.
Read more about Java cloud and test it in your browser:
engitex.cloud
See also:
[Concepts]
[System requirements]
[Remote code loading]
[Examples of use cases]
[Node admin panel]
Wiki: Concepts
Wiki: Examples of use cases
Wiki: Node admin panel
Wiki: Remote code loading
Wiki: System requirements