Dark Posted December 5, 2021 Posted December 5, 2021 One of the most critical points of the new Intel Alder Lake CPUs is the problem represented by having in a general architecture with two different micro-core architectures and in the same die. What has been done by Pat Gelsinger's team has been truly revolutionary, but it presents a key problem that also includes the software involved: the management of the load and assignment by the task scheduler for each type of kernel. The most obvious question would be: how does the processor know to which type of core and which of them it should assign each workload and with which instructions it should work? It's certainly a great question, but for that we have to put the depth of the problem into context. The complexity between hardware and software Windows-11-Intel One of the peculiarities of the new Intel architecture is that it does not get along very well with "old" operating systems. It works smoothly, but the performance is not exactly the same and this is entirely the software's fault. Windows 10 and the current versions of Linux do not have, for now, a kernel adapted to a new task scheduler from the blue giant called Thread Director, which we already talked about in depth in its corresponding article, but which at the same time is totally linked to protagonist of this. Intel EHFI 1 Intel EHFI 2.1 Intel EHFI 2 So if only Windows 11 is ready for Alder Lake, what about the other OS? Well, as we say, they are not optimized and require a profound change if you want to take advantage of the new benefits of these CPUs. The problem lies with the operating system programmer, since this is the one who decides which of all the free logical processors can work with the software thread that is intended to be assigned. The options in this case are only two: The OS decides that the free logical processor will be the one with the maximum performance because it is the least time it will take with that kind of thread because the system is high performance. The OS decides that the free logical processor has to be a high-efficiency one because for that kind of thread it is more optimal since the system is programmed to be as efficient as possible. And here comes the explanation of Intel for the simple calculation of a task, since when there is this position of choice by the programmer of the operating system between two logical processors of the CPU, both are variables as i, j, k1 and k2. Intel EHFI 3 The performance ratio would be calculated according to Intel as: Perfijkx = Perfikx / Perfjkx, while the efficiency ratio for this problem would be calculated as Energyijkx = Energyikx / Energyjkx. Therefore, the OS has a lot to say here since following the example above the programmer could determine in the hypothetical case that Perfijk1> Perfijk2. So software thread k1 would go to logic processor j, while K2 would go to logic processor j. What if two software threads belong to the same ID? Well, very simple, since the OS programmer can choose several logical processors of performance or efficiency to carry out the assignments. This is how the loading and balancing of software threads is correctly distributed by the Windows 11 operating system. So what is EHFI? Intel EHFI 4 EHFI is the abbreviation for Enhanced Hardware Feedback Interface or translated into our language would be Improved Hardware Feedback Interface and it is precisely the set of instructions that manage to guide the kernel programmer (Windows 11 for now exclusively) on the location of the loads of work that determines the OS between the logical processors of the system, that is, between cores and threads. These instructions are loaded when the operating system starts and are hosted as non-paged memory. These instructions are stored as a table that is assigned to the lazy-write memory so that once said load is finished and they are enabled by the OS and the Intel Task Scheduler (Thread Director), it is when it starts to work to distribute OS workloads. Intel EHFI 5 Intel EHFI 6 Intel EHFI 7
Recommended Posts