Intel 12th Generation “Alder Lake” CPUs: Release, Reviews, and Insane Overclocking

Yesterday, November 4, 2021, Intel officially launched their 12th generation “consumer” processors, code named “Alder Lake”. On 2021-10-28 I posted a preview of the chip, looking at the press kit sent to journalists and inside the package. Now that the official release has occurred, reviewers are allowed to publish their benchmarks and evaluations of the chip, and in-depth analyses are appearing.

Alder Lake represents a major departure in architecture from previous processors: each chip contains a collection of “performance” and “efficient” cores. The high-end i9-12900K processor has 8 of each, supporting a total of 24 threads, the mid-range i7-12700K has 8 performance and 4 efficient, and the low-end i5-12600K has 6 performance and 4 efficient. The performance cores provide speed, but are power-hungry, while the efficient cores use less power but don’t run as fast. Now, obviously, making the most of a hybrid architecture like this requires support from the operating system: assigning tasks to a core best suited for running them. Windows 11 claims to provide logic to do this, but since it’s a Microsoft product, it’s a good bet it will be poorly designed, incompetently implemented, and unsuited for real-world applications.

It’s easy to get it wrong. For example, a naïve implementation might assign tasks on which a user is actively working (window in focus and receiving keyboard and mouse input) to performance cores, while relegating “background tasks” in other windows, not in focus or minimised, to the efficient cores. But consider the common case of running a lengthy task such as generating a 3D computer-generated animation or post-processing a large video file, both of which are extremely compute-intensive and benefit greatly from running on a performance core. It’s common to start such a job, then work on other routine tasks such as editing a document or program while they’re running. If the operating system reacts by putting the text editor on a performance core and the “background” job on efficient cores, the big compute task may take several times as long to complete, leaving the user less than satisfied. How well will operating system vendors do in intelligently using the resources of these processors? We’ll see.

For a detailed view of the architecture and performance of these new processors, see AnandTech’s article, “The Intel 12th Gen Core i9-12900K Review: Hybrid Performance Brings Hybrid Complexity”, which includes benchmarks, analysis of interaction with DDR4 and DDR5 memory, and power consumption (which can be stunning: 241 watts for the i9-12900K running flat out). Ars Technica has a less detailed review that concentrates on gaming-oriented benchmarks: “Intel’s Alder Lake big.little CPU design, tested: It’s a barn burner” which describes the CPUs as “power-gulping”.

You want power-gulping? Well, der8auer just dropped his experiment in extreme over-clocking the i9-12900K with the aid of liquid nitrogen. Intel rates the speed of the chip based upon a maximum “Turbo” clock rate of 3.9 GHz for the efficient cores and 5.2 GHz for the performance cores. With a bit (actually, quite a bit) of cryogenic help, he pushes individual performance cores to 7 GHz, and runs the chip (a regular retail consumer chip, not selected) with all performance cores at 6.5 GHz and efficient cores at 5.3 GHz, and shows his game benchmark running at more than 180 frames per second.

4 Likes

In terms of operating systems capable of using this architecture - is this something users of open source linux systems can code for themselves, or does this require enterprise-level work to implement? If the latter, is that likely to happen, so these processors can be widely used in non-Windows environments?

Linux will run just fine on these CPUs with no modifications. They are enough faster than previous Intel generations that you’ll probably see a performance increase even without optimal allocation of processes to CPU cores. Linux has a “CPU affinity” facility called “taskset” which can be used to bind processes to specific set of CPUs, so in a special application mix one could manually assign CPU-intensive programs to the performance cores.

Since this performance/efficiency core architecture is becoming more common (the ARM processors used in mobile devices and Apple’s new M1 chips already have it), it is likely that at some point the Linux kernel will add support for automatically assigning tasks to appropriate cores. If it is done in the usual Linux fashion, it will probably permit extensive customisation and tuning by the user to get the most out of the processor.

2 Likes