Our team of researchers from the Intel Science and Technology Center for Cloud Computing has set multiple new records for energy-efficient sorting in the 2012 Joulesort competition. The results, which show up to 7x improvements in energy efficiency over prior records, are published at http://sortbenchmark.org.
Sorting is a core concept in computer science and is a fundamental building block for efficient data structures and algorithms. As a result, some form of sorting is used in almost all applications, and is crucial to many important services, including database and web queries. Results of a query are generally sorted and presented to the user in some useful order, e.g., by relevance, by cost, chronological, etc. Under the covers, many systems also internally sort and index data for fast retrieval and updates. In some applications, improved sorting allows faster responses, or better responses that take more data into account. More generally, improving the performance and efficiency of such core algorithms helps improve the infrastructure of the Internet, reducing costs of deploying web services, improving densities and operating costs of data centers, and allowing the entire system to scale up to more services and users.
Although the theory and algorithms for sorting have been studied for decades, sorting is still of significant interest today because sorting large datasets stresses almost all of the major components in a computer system. These include both hardware and software components, such as the processor, memory, busses, operating system, file system, and disks. The goal of the Joulesort competition is to build a system that can sort a large dataset with the least energy consumed.
Our team, consisting of Intel Labs researchers Michael Kaminsky, Michael Kozuch, and myself, along with Carnegie Mellon University professor Dave Andersen, built the record-setting machine around an Intel® Core™ i7 2700K, a high-end 2nd Generation Core desktop processor. Rather than limit ourselves to low-power systems, our strategy focused on a moderate-power, balanced system that gets the job done fast enough to justify the higher power draw. Since the total energy consumed is the product of power (Watts) and time, by reducing the total execution time by a larger percentage than the increase in power, we were able to achieve a reduction in energy consumption compared to low-power systems.
To keep the i7 processor fed and running flat out, we coupled it to two Intel RAID cards and attached 16 Intel 710-series SSDs. These provided 4.8 TB of fast flash storage. At peak, the system was able to read and process data at 3.8 GB/s (approximately a DVD’s worth of data every 1.25 seconds!). Yet, the average power stayed below 170W. The combination of modest power and high performance made this a record-breaking system in three size categories, beating the existing records for energy-efficient performance in the 10GB, 100GB, and 1TB Joulesort benchmarks by 2.6%, 33%, and 729%, respectively.
With the slate of exciting recent product releases, including 3rd Generation Core microprocessors, dual-socket Xeon® servers, and fast SSDs (520 series, and 910 series PCIe-attached devices), our team hopes to continue to create record setting systems that push the state-of-the-art in energy-efficient computing.