r   e   k   l   a   m   a
r   e   k   l   a   m   a

Błąd w Hyper-Threadingu grozi stabilności Inteli Skylake i Kaby Lake

Strona główna AktualnościOPROGRAMOWANIE

Korzystacie z komputerów z procesorami Intel Skylake i Kaby Lake? Deweloper Debiana ostrzega, że w niektórych sytuacjach mogą one zachowywać się niestabilnie, prowadząc do awarii systemu i aplikacji, a w konsekwencji uszkodzenia i utraty danych. Niebezpieczeństwo to dotyczy też użytkowników innych systemów operacyjnych, wynika ono z błędu w mikrokodzie Intela, ujawniającym się przy włączonym Hyper-Threadingu (wielowątkowości).

Pod koniec maja Mark Shinwell, programista pracujący nad zestawem narzędzi języka OCaml, skontaktował się z opiekunem pakietu intel-microcode, przedstawiając mu szczegółowe informacje o problemie z procesorami Intela, które wywołane mogą być przez kompilator tego języka. Społeczność OCamla dyskutowała o tym już od stycznia, a pierwsze doniesienia o awariach pochodzą z 2016 roku. Dostarczono je Intelowi, ale bez odpowiedzi.

Intel nie odpowiadał, ale poprawkę przygotował. Procesory Skylake i Kaby Lake otrzymały uaktualnienie mikrokodu. W erracie możemy przeczytać:

r   e   k   l   a   m   a
krótkie pętle zawierające mniej niż 64 instrukcje, które wykorzystują rejestry AH/BH/CH/DH i ich rozszerzenia (np. RAX, EAX czy AX dla AH) mogą doprowadzić do nieprzewidywalnego zachowania systemu. Zachodzi to tylko wówczas, gdy oba logiczne procesory na tym samym fizycznym procesorze są aktywne.

Sęk w tym, że rzadko kiedy takie aktualizacje mikrokodu trafiają do użytkowników – łatka trafiła tylko do producentów sprzętu, którzy rozpowszechniać ją mieli poprzez aktualizację UEFI/BIOS-u. Jedni takie łatki (oznaczone jako Intel processor errata KBL095 lub KBW095) udostępnili, inni wciąż są w fazie testów beta, albo nawet nie zaczęli prac.

Na Debianie (i innych Linuksach) mikrokod zaktualizować łatwo. Na komputerach z procesorami o numerze modelu 78 lub 94 i steppingu 3 (wykryć to można wydając polecenie grep -E 'model|stepping' /proc/cpuinfo | sort -u), należy zainstalować niewolny pakiet intel-microcode w wersji co najmniej 3.20170511.1 – poleceniem sudo apt-get update intel-microcode.

A co, jeśli model lub stepping procesora Skylake czy Kaby Lake jest inny? Wówczas jedynym rozwiązaniem jest wyłączenie Hyper-Threadingu w ustawieniach UEFI/BIOS-u. Tak przynajmniej twierdzą deweloperzy Debiana.

Sam Intel z tym się nie zgadza, utrzymując, że szansa natrafienia na sytuację mogącą prowadzić do awarii jest niska – wymaga to jednoczesnego wystąpienia wielu warunków w mikroarchitekturze. Trudno jednak spodziewać się, by firma powiedziała coś innego. Ta implementacja współbieżnej wielowątkowości ma już ponad 15 lat, zadebiutowała na Xeonach Foster MP. Pierwsze problemy, jakie występowały z nią na Windowsie 2000 i Windowsie XP, udało się rozwiązać aktualizacjami oprogramowania – i tak Hyper-Threading stał się stale wykorzystywaną metodą podwojenia liczby dostępnych rdzeni procesora. Teraz, gdy Intel musi zmagać się z coraz poważniejszą konkurencją ze strony AMD, nikt się przecież nie przyzna do poważnego problemu z wielowątkowością na swoich najnowszych procesorach.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.