Modular software architecture for flexible reservation mechanisms on heterogeneous resources