Moore’s Law Is Dead was the first to claim that the days for Hyperthreading are numbered. The successor to Hyperthreading, called ‘Rentable Unit‘ was termed as more flexible and viable than traditional SMT.
An Intel patent covering parallel scheduling across hybrid architectures officially confirms the existence of the new RU (Rentable Unit). It also gives us a basic idea of how this unit will function and replace good old Hyperthreading.
What Exactly is Hyperthreading?
To understand RUs, let’s first take a deep dive into Hyperthreading. In the old days, CPUs used to be slow, at least as per modern standards. You’d have a piece of code running through a single core. If that core is fully utilized, your system effectively halts.
As the number of physical cores increased, so did the performance. However, imagine your Core01 has incoming instructions. Core01 executes these instructions, but let’s assume that it has to fetch some data from the main memory. As such, the entire physical core stops and waits. This is ineffective because Core01 is entirely inactive.
SMT or Hyperthreading counteracts this problem by dividing your physical Core01 into two logical threads. Let’s call them Thread01 and Thread02. Whilst Thread01 fetches data from the main memory, Thread02 can execute another separate instruction, and voila, Core01 isn’t idle.
Do note that Thread01 and Thread02 do not operate in parallel. Without SMT, when Thread01 fetches data, the entire physical core is bogged down. This is known as a bubble, a state in which the CPU cannot perform any useful work.
Intel to Ditch SMT in Favor of Rentable Units
A new patent titled ‘METHODS AND APPARATUS TO SCHEDULE PARALLEL INSTRUCTIONS USING HYBRID CORES‘ reveals much-anticipated information regarding Intel’s upcoming RU structure.
We all know Intel introduced a new hybrid (Performance+Efficient) architecture with Alder Lake (12th Gen). The way these cores work is easy, complex tasks are assigned by the OS to the P-Cores, whereas the E-Cores handle the background tasks.
The P-Cores have SMT enabled, but they cannot work in parallel since a physical core, even with two logical threads can only execute one instruction at once. In a sense, to overcome this problem of parallelism, Intel introduced Efficient cores which under the Rentable Unit architecture will succeed Hyperthreading.
This sounds very confusing but stay with me for a moment. We’ll use the diagram below to understand Rentable Units. The dotted line represents the total time available. A complex instruction termed ‘Task 1‘ is executed on Thread 1, the Performance Core. A similar instruction ‘Task 2‘ is presented to Thread 2, the Efficient Core.
The first task is executed in minimal time and Thread 1 is left idle. Meanwhile, the second task takes much longer. The concept here is to divide these two tasks in such a way that it keeps both Threads 1 and 2 occupied 100% of the time. So, after the P-Core does its job, it takes on the Efficient Core’s remaining chores, allowing both tasks to be completed earlier than before.
For a tl;dr, here’s how Rentable Units are supposed to work:
- The Rentable Unit takes instructions and divides them based on their complexity, available resources, and CPU structure.
- The Rentable Unit will then schedules these tasks across the Performance and Efficient cores, leaving no core inactive.
- The aim is to keep no core inactive, the Performance Core can complete the Efficient Core’s remaining work if it is free.
The Future of SMT
The concept of RUs seems neat but will probably face many initial challenges. SMT for AMD should remain intact for a while until RUs start taking off.
Even on paper, this method is efficient and has more parallelism than traditional SMT. MLID hints that Rentable Units will arrive with Arrow Lake, however, we’ll have to wait for an official confirmation from Intel.