Wirtualne dwa w jednym

Marzeniem każdego użytkownika peceta jest to, aby komputer był jak najszybszy. Tymczasem okazuje się, że większość mocy procesorów jest marnowana przez nie zoptymalizowane programy. Czy można temu jakoś zaradzić?

Na jesiennej edycji konferencji Intel Developer Forum (IDF 2001 Fall) przedstawiciele firmy Intel zaprezentowali nową koncepcję wykorzystania rezerw mocy obliczeniowej tkwiącej w każdym ze współczesnych procesorów. Technologia Hyper-Threading, bo o niej tutaj mowa, zakłada równoległe wielowątkowe przetwarzanie danych (SMT – Simultaneous Multi-Threaded) na pojedynczym układzie. Część czytelników zapewne powie w tym miejscu: przecież to nic nowego! Dzięki zwielokrotnianiu jednostek wykonawczych w tzw. procesorach superskalarnych (patrz: CHIP 9/99, 272), którym jest każdy współczesny CPU, od dawna można wykonywać w jednym cyklu więcej niż jedną instrukcję. Własność tę wykorzystują też systemy operacyjne, począwszy od Windows 3.1 oraz Windows 95 (tzw. wielozadaniowość z wywłaszczaniem), umożliwiające “jednoczesne” uruchamianie kilku programów. A i dzisiejsze aplikacje też nie pozostają w tyle, rozgałęziając się na szereg “równolegle” wykonywanych wątków, co oczywiście ma na celu przyśpieszenie działania programu.

Podwójne widzenie

Prawdziwą wielozadaniowością mogą poszczycić się konstrukcje wieloprocesorowe (patrz: CHIP 8/2001, 266 i 274) działające w trybie SMP (Symmetric Multi Processing). Wówczas system operacyjny, taki jak np. Linux czy Windows 2000, może równomiernie rozdzielić zadania pomiędzy obie jednostki centralne. Właśnie, ale takich maszyn jest mało, a systemy operacyjne przeznaczone do pracy wieloprocesorowej goszczą coraz częściej na naszych biurkach. A gdyby tak wirtualnie podzielić jeden procesor na dwie części widziane przez system operacyjny jako dwie niezależne jednostki centralne – czy programy nie działałyby szybciej? Jak się okazuje, tak – i to, jak dowodzą pomiary firmy Intel, aż o 30-40%! Pomysł wydzielenia wirtualnych procesorów legł u podstaw idei Hyper-Threadingu.

Według specjalistów z firmy Intel dzisiejsze oprogramowanie wykorzystuje średnio ok. 35% możliwości tkwiących w architekturze takich układów, jak Xeon czy Pentium 4. Wynika to przede wszystkim z nieprzystosowania aplikacji do optymalnego działania wielowątkowego i kodu nie posługującego się rozszerzeniami z listy rozkazów SSE i SSE2. Przeprowadzone symulacje dowodzą, że marnotrawienie mocy obliczeniowej będzie się pogłębiało wraz ze wzrostem częstotliwości taktowania procesorów.

Podział nade wszystko

Przystosowanie nowych układów do wirtualnej pracy dwuprocesorowej w technologii Hyper-Threadingu jest wedle inżynierów z Intela stosunkowo łatwe i nie wymaga ingerencji w samą architekturę procesora. Niezbędne zmiany dotyczyć mają jedynie sposobu zarządzania poszczególnymi jednostkami wykonawczymi. Również komputer nie wymaga specjalnych przeróbek. BIOS płyty głównej musi jedynie uaktywnić “wieloprocesorowość”, a system operacyjny automatycznie rozpozna komputer jako maszynę z dwoma jednostkami centralnymi. W przypadku rzeczywistych maszyn dwuprocesorowych zastosowanie układów wykonanych zgodnie z technologią Hyper-Threading umożliwi działanie peceta jako komputera czteroprocesorowego, prowadząc do dalszego wzrostu mocy obliczeniowej.

Czy nowa technologia ma szansę się przyjąć na szerszą skalę, trudno w tej chwili przewidzieć. Wiadomo, że w przyszłym roku pojawią się pierwsze układy z serii Xeon, bazujące na jądrze Pentium 4 i wykorzystujące mechanizmy Hyper-Threading. Układy te mają się sprawdzić przede wszystkim w serwerach internetowych obsługujących równolegle wiele jednoczesnych transakcji sieciowych (portale i często odwiedzane strony WWW). Otwarte pozostaje natomiast pytanie, czy rzeczywiście procesory z zaimplementowaną technologią Hyper-Threadingu zwiększą wydajność pecetów na tyle, aby rozwiązanie to szybko zagościło w naszych domach.

Info
Technologia Hyper-Threading
http: //developer.intel.com/ technology/hyperthread/
http://www.tomshardware.com/ business/01q1/010828/ idf_2001-02.html
Więcej:bezcatnews