Catena M., Macdonald C., Tonellotto N.
search engines cpu frequency scaling power consumption
Web search engine companies require power-hungry data centers with thousands of servers to efficiently perform searches on a large scale. This permits the search engines to serve high arrival rates of user queries with low latency, but poses economical and environmental concerns due to the power consumption of the servers. Existing power saving techniques sacrifice the raw performance of a server for reduced power absorption, by scaling the frequency of the server's CPU according to its utilization. For instance, current Linux kernels include frequency governors i.e., mechanisms designed to dynamically throttle the CPU operational frequency. However, such general-domain techniques work at the operating system level and have no knowledge about the querying operations of the server. In this work, we propose to delegate CPU power management to search engine-specific governors. These can leverage knowledge coming from the querying operations, such as the query server utilization and load. By exploiting such additional knowledge, we can appropriately throttle the CPU frequency thereby reducing the query server power consumption. Experiments are conducted upon the TREC ClueWeb09 corpus and the query stream from the MSN 2006 query log. Results show that we can reduce up to ~24% a server power consumption, with only limited drawbacks in effectiveness w.r.t. a system running at maximum CPU frequency to promote query processing quality.
Source: 38th International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 751–754, Santiago del Cile, 09-13/08/2015
@inproceedings{oai:it.cnr:prodotti:344447, title = {Load-sensitive CPU Power Management for Web Search Engines}, author = {Catena M. and Macdonald C. and Tonellotto N.}, doi = {10.1145/2766462.2767809}, booktitle = {38th International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 751–754, Santiago del Cile, 09-13/08/2015}, year = {2015} }