Programming

A Java Active Objects API for Parallel, Distributed and Multi-Core Computing

ProActive Programming

ProActive Programming is at the core of the solution and provide the base for an efficient distribution and parallelization.

It is the foundation of the high level solutions: ProActive Workflows & Scheduling, ProActive Big Data Automation and ProActive Cloud Automation.

Master-Worker

A Task-Based API for solving Master-Worker type computations (one Master, many workers)

File Transfer

Files can be transmitted from or to a remote node at different stage of the application lifecycle

Fault Tolerance

Application can be configured to be self-healing and restart automatically from latest valid checkpoint.

Monte-Carlo

A Task-based API similar to Master-Worker, specialized for monte-carlo simulations

Web Services

ProActive Programming Active Objects and GCM components can be exposed as web services without any additional development

Asynchrony

Calls on Active Objects are asynchronous: an answer, a future, is provided without waiting for the end of the result processing.

Legacy Code Wrapping

Efficient methods to wrap, couple, and gridify legacy code with ProActive, including MPI or other native codes

Data Spaces

A virtual file system layer that allow files to be accessed among all Active Objects, accross networks and computers

Mobility

Active Objects have the ability to migrate between nodes while the application is running.

SPMD

SPMD technique is perfect for solving tightly-coupled parallel problems requiring intensive communications (CFD, Maxwell,...). This is an alternative to MPI in Java

Security

Communications can be encrypted using a private/public key mechanism to ensure fully secure data transmissions

Remote Accessibility

Methods defined by active objects can be called from any point of the application.

GCM

Grid Component Model API is based on and extends the Fractal model to enable component programming in ProActive.