LAPIS – Simulations for Opportunistic Resources¶
The LAPIS simulator enables the simulation of job execution and scheduling with a focus on opportunistic resources. The scheduling internally builds on concepts from HTCondor. The opportunistic resources are managed building on the projects TARDIS and COBalD. The simulation builds on importing well-established input formats to generate the jobs and set up the infrastructure either in an opportunistic or classical fashion.
Simple Command Line Interface¶
Although LAPIS is written to provide an extensive framework for setting up advanced simulation, it also provides a simple command line interface to get you started quickly.
You have the options to start in 1) static, 2) dynamic, or 3) hybrid mode enabling you to compare the various simulation scenarios.
The static environment provides a classical setup where all resources are available exclusively for processing the jobs for the whole runtime of the simulation.
python cli/simulate.py --log-file - static --job-file <path-to-workload> swf \ --pool-file <path-to-pool-definition> htcondor
The dynamic environment builds on volatile, opportunistic resources exclusively. Based on the amount of jobs being processed within the simulation COBalD controllers decide about the integration and disintegration of resources.
python cli/simulate.py --log-file - dynamic --job-file <path-to-workload> swf \ --pool-file <path-to-pool-definition> htcondor
The hybrid simulation environment provides a baseline of static resources that are available for the whole runtime of the simulation. These static resources are dynamically complemented with volatile, opportunistic resources based on current job pressure.
python cli/simulate.py --log-file - hybrid --job-file <path-to-workload> swf \ --static-pool-file <path-to-pool-definition> htcondor \ --dynamic-pool-file <path-to-pool-definition> htcondor
As you can see from the example above, you can even mix and match different input formats to create your required simulation environment. An extensive documentation about the CLI can be found in the Command Line Interface chapter.