Saving energy in laboratory systems
For the user, the command line client wake is available, which transmits the hostname passed as a parameter to the server and thus wakes it up from sleep mode – if the computer is already in operation, the call has no effect. A detailed usage is described on the lab page.
In order to put a computer into sleep mode when it is not being used, the autosuspend service runs on each computer, which checks for active sessions. In addition, sleep mode can be actively inhibited for longer tasks (such as when doing evaluation) using systemd-inhibit. In addition, the computer is regularly woken up for updates, and interruptions are also prevented when the updates are installed.
After internal investigations, we have chosen the suspend-to-RAM sleep mode (S3), in which the working memory is still supplied with power and thus does not lose the data. This results in relatively short wake-up latencies in the range of a few (<5) seconds. The suspend-to-disk sleep mode (S4), on the other hand, takes a significantly longer time to wake up (> 30 seconds) and is more error-prone. The differences in power consumption in both modes are in the milliwatt range and negligible. Overall, the power consumption in sleep mode is less than one watt, which is about one hundredth of the previous power consumption.
The scripts and configuration files used for this are freely available via github.com/i4/wake-on-lan.
As a further step, we have also integrated servers used for research that are not permanently needed into the system. For example, the computers responsible for continuous integration (CI) are put into sleep mode when there are no tasks – and automatically woken up again when needed.
