For about as long as there has been personal computers, there has been an aftermarket of system optimization software. Even MS-DOS, which was about as basic as an operating system gets, had QEMM to get the most out of your 640K of memory. These days, there is a healthy market of Windows optimization utilities to speed up your PC.
For servers, though, it gets a little more complicated. Actually, it gets very complicated. Not only does each server have to operate at peak efficiency on its own, but it then has to interact with the network, with other servers, and potentially with a public cloud service provider.
And usage models change over time. There might be peak use times when certain processes are not run, such as backups, and slow times of day when other tasks can be run. So an optimal configuration at one point in the day is not optimal at a different time of the day.
AI-based server tuning
That’s where a startup called Concertio comes in with its Optimizer Studio, designed for traditional data centers and hyperscale data centers alike. It monitors the interactions between applications and systems, adjusts the system configurations accordingly, and learns from patterns it notices, according to Concertio.
The company maintains that there are just too many variables in data centers, from the hardware to OS to application stack, for humans to effectively chase down the optimal setting.
“Tailor-tuned systems can significantly outperform baseline general-purpose systems, but the number of configurable settings has reached into the hundreds — way too many for any human team to effectively tune and test,” said CTO and co-founder Andrey Gelman in a statement.
Optimizer Studio covers the entirety of a data center environment, except for networking hardware. But it does cover these things:
- CPU hardware, such as multi-threading, cache prefetching and cache partitioning configuration
- Peripheral hardware, such as PCIe performance optimization and IO scheduling
- Firmware, including power states of the CPU
- The operating system, including choice of IO or task scheduler, NUMA balancing and memory migration, thread affinity, and page cache
- Applications, such as dynamic tuning based on load cases and through a series of application-defined “knobs,” which adjust the app according to need
In addition to internal configuration, Optimizer Studio can also be used to optimize the connection between the data center and cloud services providers by discovering system configurations that require fewer resources while still adhering to the required service-level agreement (SLA).
For now, Optimizer Studio supports only CentOS and Debian Linux-based systems running on Intel CPUs. It is available now from Concertio.