Pools are seldom completely uniform. To be able to run on the largest number of machines in a pool, you either had to tune the maximum memory and disk requirements to the smallest machines, or run a separate instance of client.py (with an associated config file) for each group of machines. This branch simplifies the latter approach by adding a concept of "partitions," alternate cluster configurations that inherit from the master configuration. Example usage is shown in configs/zeuthen.config, where we have separate partitions for each of the different batches of GPU nodes as well as the CPU nodes.
Pools are seldom completely uniform. To be able to run on the largest number of machines in a pool, you either had to tune the maximum memory and disk requirements to the smallest machines, or run a separate instance of
client.py
(with an associated config file) for each group of machines. This branch simplifies the latter approach by adding a concept of "partitions," alternate cluster configurations that inherit from the master configuration. Example usage is shown in configs/zeuthen.config, where we have separate partitions for each of the different batches of GPU nodes as well as the CPU nodes.