Scheduling framework for management of heterogenous tasks on high-performance compute nodes written in C++.
- cmake3
- libyaml
- cjson
- log4cpp
Optional:
- Ampehre for measurement
- lpsolve for some algorithms
- valgrind for debugging
Additional requirements for scripts:
- scipy (python)
- matplotlib (python)
- numpy (python)
- mako (python)
- pandoc
If libyaml or cjson are not available in the official repositories for your system you may build them from source using the scripts in the lib directory.
The lib folder is also the local installation destination.
Change Makefile to correct the path to your C++ compiler.
Change CMakeLists.txt to edit the following options:
MEASURE_AMPEHRE: build with support for Ampehre measurement, else no measurement is done
Compile:
maketo compile release binariesmake debugto compile debug binariesmake docsto generate doxygen documentation (written todocs/doxygen)
schedis the schedulersimschedis the simulation programwrapis the program to wrap tasks into one application
The executables are configured using configuration files and environment variables.
See config.yml for an annotated example configuration file for sched and simsched.
The configuration file for wrap is similar, but limited to the variables: resources, resourceloader and resourceloaderms_idle.
| Variable | Comment |
|---|---|
| SCHED_LOG_PRIORITY | Main log priority, DEBUG, NOTICE, WARN, ERROR, CRIT, ALERT, FATAL, EMERG |
| SCHED_EVENTLOG | Event log file |
| SCHED_LOG | Main log file |
| SCHED_CONFIG | Configuration file |
| SCHED_SOCKET | Scheduler socket |
Additionally to the variables for sched.
| Variable | Comment |
|---|---|
| SCHED_SIMFILE | Simulation file |
| SCHED_SIMLOG | Simulation log file |
| Variable | Comment |
|---|---|
| SCHED_EVENTLOG | Event log file (meaningless for the wrap program) |
| SCHED_CONFIG | Wrap config |
| SCHED_SOCKET | Scheduler socket |
| SCHED_TASKDEF | Task definitions |
| WRAP_SOCKET | Wrap socket |
| WRAP_FILE | File with group definition |
| WRAP_LOGPREFIX | Path and prefix for additional log files, e.g. stdout/stderr of started processes |
To execute sched with measurement consider the following variables for APAPI usage
LD_LIBRARY_PATH=/usr/ampehre/lib/
LD_PRELOAD=/usr/ampehre/lib/libms_common_apapi.so
Copyright 2019 Alex Wiens awiens@mail.upb.de, Achim Lösch achim.loesch@upb.de
SPDX-License-Identifier: BSD-2-Clause
