JCHRONOSS is a tool used as a validation driving force, particularly suited for parallel environments. Its aim is, from a given lists of tasks, to distribute this workload over the machine used to start the validation. The integrity and coherency of tasks is maintained over the whole validation. A task can be many things. A single task is started with `sh -c` calls and support a lot of commands. Thus, a test can represent any command that can be launched from a shell. As the majority of validation are started from a shell, this technique allows us to be as generic as possible.
The JCHRONOSS philosophy is to make a distinction between what is validation specific and what is not. Typically, tasks (or jobs, as we like to call them), should no be job-manager dependent. JCHRONOSS allows to split jobs handling and cluster specifications. Thus, this tool can be used with multiple batch managers (SLURM, Torque…), provided that user gives methods and routines to apply for the current cluster. So, JCHRONOSS is batch manager independent. We will see later how this behaviour is possible. So many functionalities are available with this tool as a filter system to specify which jobs to execute or not or multiple scheduling policy, in order to be as close as possible to the optimal global execution time for the given test-suite.