Announcement

Collapse
No announcement yet.

New Intel Patch Series To Further Help Alder Lake / Hybrid CPUs On Linux

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    MadCatX

    It beats Windows 11 because almost all the tests in the test suite are fully multithreaded, i.e. they use all the cores indiscriminately. The test suite contains exactly zero mixed load tests, i.e. imagine you need to run a game and a MT task (encoding, rendering, compilation, etc.) in the background. Windows 11 will try to run game threads on P cores and utilize E cores for the background task first, Linux will not care and you may end up with the game running extremely poorly while your MT task finishes a lot faster but I really doubt anyone in the world will appreciate that. Also, Linux will have no qualms moving high load game threads between P and E cores which could be devastating.

    Comment


    • #12
      Originally posted by Solid State Brain View Post

      They already gave support to it (i.e. what they call the Intel HFI / Hardware Feedback Interface), but it seems it needs to be put into actual work via user-space tools that haven't been written yet. Integration into the kernel scheduler seems unlikely.
      Intel HFI currently exports exactly two bytes of information for every CPU core, its relative performance and relative energy efficiency. Is of 6.0-rc the entire HFI driver is about 600 lines of code. If I'm reading it right, the HFI capabilities can be updated as a result of power draw or temperature limits. This means that if you, say, unplug a laptop from the wall, the HFI will update the performance/efficiency values to make the E-cores look more favorable to the scheduler (this it if the scheduler actually uses this data). This is far from impressive and if this is, indeed, the Thread Director, it explains why Intel was in no rush to implement this and why Linux does just fine with ADL.

      Comment


      • #13
        Originally posted by birdie View Post
        MadCatX

        It beats Windows 11 because almost all the tests in the test suite are fully multithreaded, i.e. they use all the cores indiscriminately. The test suite contains exactly zero mixed load tests, i.e. imagine you need to run a game and a MT task (encoding, rendering, compilation, etc.) in the background.
        A properly written encoder, renderer or compiler will try to utilize all available CPUs provided that there is enough work to distribute.

        Originally posted by birdie View Post
        Windows 11 will try to run game threads on P cores and utilize E cores for the background task first,
        A default behavior that was actually called out by an Anandtech reported as concerning. Since the operating system cannot really know which task would the user prefer to run with priority, it may incorrectly defer video renderer to E-cores as it runs in the background and assign P-cores to a browser or text processor. Unless MS changed something, this was the default behavior with the "Balanced" power plan set. The application with a focused window was the one that ran with priority.

        Originally posted by birdie View Post
        Linux will not care and you may end up with the game running extremely poorly while your MT task finishes a lot faster but I really doubt anyone in the world will appreciate that. Also, Linux will have no qualms moving high load game threads between P and E cores which could be devastating.
        Accidental deferring of tasks to E-cores is the one thing that the already merged HFI should fix.

        Assuming that someone has a rather niche use case with two computationally intensive tasks running simultaneously, the best thing to do is to set CPU affinities manually. On Linux it's like 10 lines of shell script.

        Comment


        • #14
          Assuming that someone has a rather niche use case with two computationally intensive tasks running simultaneously, the best thing to do is to set CPU affinities manually. On Linux it's like 10 lines of shell script.
          Such a user friendly OS. A crutch here and there and it will work just fine!

          Comment


          • #15
            Originally posted by birdie View Post

            Such a user friendly OS. A crutch here and there and it will work just fine!
            As far as I'm aware of, the current options on Windows to deal with this issue are:
            - To rely on Windows to get it "right", which is known to not work in all cases.
            - Wait for the developers of all programs I use to fix this behavior and trust that the "fix" is in line with what I want.
            - Write a custom program that calls the lovely NtChangeCpuAffinityMaskAssignementWeProbablyShould MakeTheNameOfThisFunctionEvenLongerEx() API to do the same thing I can do through sysfs proc and taskset in 5 minutes.
            - Wait until someone writes such a program for me and hope that the program does what I want.
            - Set the affinities manually in Task Manager. On a 24T CPU, its just some 70 clicks away!

            Seriously now, a wrapper bash script that launches a priority process, grabs its PID, pins it to P-cores and defers all other tasks to E-cores is something that's easily done over a lunch break. It won't be bullet proof but probably good enough for most cases.
            Last edited by MadCatX; 26 August 2022, 09:39 AM. Reason: Not sysfs...

            Comment


            • #16
              Originally posted by birdie View Post
              MadCatX

              It beats Windows 11 because almost all the tests in the test suite are fully multithreaded, i.e. they use all the cores indiscriminately. The test suite contains exactly zero mixed load tests, i.e. imagine you need to run a game and a MT task (encoding, rendering, compilation, etc.) in the background. Windows 11 will try to run game threads on P cores and utilize E cores for the background task first, Linux will not care and you may end up with the game running extremely poorly while your MT task finishes a lot faster but I really doubt anyone in the world will appreciate that. Also, Linux will have no qualms moving high load game threads between P and E cores which could be devastating.
              It's not hard to beat Windows. Even Win11 will relegate a compile task opened on cmd that goes out of focus to the E cores.

              Like I've said before, if you look at perf per die area, E cores make sense. From a software perspective, it's not so clear cut. Me, I've enabled my E cores around when 5.19 was released and I cannot honestly tell any difference. That's mostly because 12600k is overkill for my needs even without the E cores.

              Comment


              • #17
                No amount of patches will change the fact hybrid x86 architecture is a nonsense from the practical point o view. For mobile ultrathins several E cores are perfectly enough for what they are used in 99% use cases. For the gaming notebooks, gaming desktops mobile workstations and workstation desktops it's far better to have fewer, but much stronger cores, since in these cases massive parallelism is handled by GPU anyway. The only benefit of intel's hybrid shit is to maximize numbers in cinebench/geekbench during reviews. That's basically it. The correct approach would be different SKUs utilizing different types of cores, tuned for different uses cases/applications.

                I'm not even touching on workaroundish/hakckish stuff like cripling P ISA to make it unified with E ISA. Some technical elegance there: make AVX512 support then disable it LOL

                Comment


                • #18
                  Originally posted by drakonas777 View Post
                  The correct approach would be different SKUs utilizing different types of cores, tuned for different uses cases/applications.
                  This problem with this would be to explain the difference to customers. Is a chip with 8 E-cores better than a chip with 4 P-cores? The correct answers is "it depends" and an average consumer does not want to think that deeply about this. Even I wouldn't want to have to choose between a chip that'd be great for compiling code but next to useless for games etc. The idea of a hybrid chip is pretty good by itself but its potential can be fully exploited on consoles, phones and other "kiosk" devices where it is easy for the developers to anticipate the use cases. PC is way too generic device for this to work reliably.

                  Comment


                  • #19
                    Originally posted by bug77 View Post

                    It's not hard to beat Windows. Even Win11 will relegate a compile task opened on cmd that goes out of focus to the E cores.

                    Like I've said before, if you look at perf per die area, E cores make sense. From a software perspective, it's not so clear cut. Me, I've enabled my E cores around when 5.19 was released and I cannot honestly tell any difference. That's mostly because 12600k is overkill for my needs even without the E cores.
                    You could run folding@home on E cores There are many more https://en.wikipedia.org/wiki/List_o...uting_projects

                    Comment


                    • #20
                      drakonas777

                      It's a direct response to AMD being "cool": since Zen 1 AMD fans have cheered that AMD offers MOAR cores and better MT scores.

                      Now that Intel offers insane MT performance, AMD fans have changed their tone and it's suddenly "give us more performant cores"! Well, you have your P-cores which are a lot faster than Zen 3. So, where's Intel wrong once again? They offer the best in class ST and MT performance and yet ... a hybrid architecture is useless? Logic has died.

                      I've not talked about power efficiency/consumption - Meteor Lake will likely address that. Also, where it matters ADL CPUs are as efficient if not more efficient than Zen 3:

                      https://www.techpowerup.com/review/i...-limits/8.html
                      https://www.igorslab.de/en/intel-cor...ugal-part-1/5/
                      Last edited by birdie; 26 August 2022, 10:47 AM.

                      Comment

                      Working...
                      X