Problem pojawia się w zastosowaniach serwerowych i dotyczy układów Haswell, Haswell-E/EP i Broadwell-Y.
Jedną z nowości w procesorach Intel Haswell jest zestaw instrukcji TSX (Transactional Synchronization Extensions), który przyspiesza obliczenia w niektórych z wielowątkowych aplikacji. Okazuje się, że funkcja ta nie działa jak powinna i może powodować problemy.
Problem zauważyli redaktorzy z serwisu Tech Report i David Kanter z Real World Technologies. Co ważne, ma on dotyczyć nie tylko modeli Haswell (w wersjach konsumenckich Celeron, Pentium i Core, a także serwerowych Xeon), ale też nadchodzących modeli Haswell-E/EP (konsumenckich Core i serwerowych Xeon), a także próbek inżynieryjnych kolejnej generacji Broadwell-Y (Core M). Warto również dodać, że z instrukcji TSX głównie korzystają specjalne aplikacje serwerowe, a więc domowi użytkownicy owych układów w zasadzie nie mają powodu do niepokoju.
Intel opublikował opis poprawki dla problemów z zestawem instrukcji TSX
Rzecznik Intela potwierdził doniesienia i zapowiedział, że jego firma pracuje nad rozwiązaniem problemu. Można zatem podejrzewać, że producenci płyt głównych udostępnią stosowne aktualizacje BIOS-u, które wyłączą zestaw instrukcji TSX. Co ważne, usterka nie powinna wpłynąć na termin premiery procesorów Core Haswell-E, Xeon Haswell-EP oraz Core M Broadwell-Y.
Apparently @intel has disabled #TSX in all #Haswell designs due to an errata. Sigh...hope it gets fixed soon.
— David Kanter (@TheKanter) sierpień 8, 2014
Źródło: Tech Report, Intel, TechPowerUp, Twitter
Komentarze
23Swoją drogą przeglądałem te TSX i szczerze nie dziwię się, że spieprzyli pierwszą implementację. To diabelstwo jest bardziej złożone niż jakieś SSE czy AVX. Ciężko jest pokryć testami wszystkie możliwe przypadki.
AMD wyrósł na licencji Intela, przeputał swoje osiągnięcia i od dłuższego czasu jest skrzętnie podtrzymywany przez tegoż Intela.
Gdyby zabrakło AMD Intel zostałby podzielony na co najmniej dwie niezależne firmy a tego nie życzą sobie akcjonariusze.
Co do poprawności procesorów i błędów w ich działaniu, nie ma możliwości przetestowania wszystkich funkcji procesora z każdym zestawem danych.
Nic nie da dowolnie długi czas testów gdyż błędy zaszyte są w samej istocie funkcjonalności CPU i sprawdzić procesora czy nie zawiera żadnych błędów najzwyczajniej w świecie się nie da.
Stany na wyjściach CPU zależą od przeszłych, teraźniejszych i przyszłych stanów na wejściach, ogrom możliwych kombinacji czyni bezsensownym próby uzyskania 100% pewności bezbłędności działania. Zatem należy pogodzić się że procesory działają statystycznie poprawnie w zadowalającym nas zakresie z wystarczającą dokładnością.
Najlepszy nawet procesor nigdy poprawnie nie doda dwóch liczb mniejszych od najmniejszej możliwej dla danego procesora i to jest cecha nieusuwalna.