Nowe posty

Autor Wątek: Odpowiednie wykorzystanie rdzeni P i E procesora  (Przeczytany 1408 razy)

Offline overcq

  • Nowy na forum
  • *
  • Wiadomości: 49
    • Zobacz profil
    • ‛overcq’
Odpowiednie wykorzystanie rdzeni P i E procesora
« dnia: 2024-07-26, 17:52:01 »
Przeczytałem niedawno o tym, że w nowych procesorach Intela (posiadających rdzenie ‘performance’ i ‘efficient’) jest używany program zwany “Thread Director”, który — jak się domyślam — ma za zadanie wybierać dla uruchomionych wątków rdzeń, na którym się wykonują. Czy najnowszy Linux poprawnie współpracuje z “Thread Director”?

Czy lepiej jest pozostawić przydzielanie rdzeni dla wątków programowi “Thread Director” czy samodzielnie wybierać w programie rdzenie dla każdego wątku (przy użyciu “pthread_setaffinity_np”)?

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3087
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: Odpowiednie wykorzystanie rdzeni P i E procesora
« Odpowiedź #1 dnia: 2024-07-27, 06:44:59 »
Linux od wielu lat poprawnie obsługuje procesory hybrydowe (Heterogenous Multi Processing, HMP), bo potrzebował tego do ARMów w architekturze big.LITTLE.

Różnice w zadaniowaniu rdzeni P/E dobrze widzę na moim 12900. Przy rosnącej liczbie wątków obliczeniowych Linux pierw obsadza po jednym wątku na rdzeń P, potem dokłada po drugim wątku (wykorzystując HT) i dopiero na końcu angażuje rdzenie E.
Nie widać tego na FreeBSD który nie obsługuje HMP (chyba w ogóle, a na pewno nie w x86).. Tam obliczenia lądują na losowych rdzeniach i przy kompilacjach rzeczywiście musiałem ręcznie sterować affinity.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline overcq

  • Nowy na forum
  • *
  • Wiadomości: 49
    • Zobacz profil
    • ‛overcq’
Odp: Odpowiednie wykorzystanie rdzeni P i E procesora
« Odpowiedź #2 dnia: 2024-07-28, 08:00:47 »
A w przypadku, gdy uruchamiane są wątki nieobliczeniowe, tylko mało obciążające procesor, mimo nie zajętych rdzeni P, to czy Linux przydziela je do rdzenia E?
To jest decydujące o tym, czy przydzielać poszczególne wątki w programie do określonych rdzeni.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3087
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: Odpowiednie wykorzystanie rdzeni P i E procesora
« Odpowiedź #3 dnia: 2024-07-28, 09:35:04 »
Wątków dla E-core poniekąd z definicji nie widać na słupkach w htop-ie :)

UPDATE: Dobra, w HTOP można włączyć kolumnę z ostatnim CPU który był obciążony daną aplikacją. U mnie na E-Corach są wszelkie  aplikacje i usługi pracujące w tle i śpiące/czekające na coś: pierdoły typu powerdevil, niektóre apki w trayu, kwallet, polkit, gvfsd, itp.
« Ostatnia zmiana: 2024-07-28, 12:53:09 wysłana przez Paweł Kraszewski »
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy