Parę tygodni temu Intel ogłosił, że jeden z zespołów badawczych stworzył mikroprocesor, który osiągnął wydajność obliczeniową jednego teraflopa, zużywając przy tym 62 waty energii. By uzmysłowić sobie, z jakim skokiem technologicznym mamy do czynienia, trzeba prototypową konstrukcję porównać z pierwszym teraflopowym komputerem. A był nim zbudowany 11 lat temu na zamówienie Sandia National Laboratory superkomputer ASCII Red. Maszyna ta zajmowała powierzchnię 250 metrów kwadratowych, konsumowała 500 kilowatów prądu (plus dodatkowe 500 kilowatów na klimatyzację pomieszczenia) i składała się z 10 tys. procesorów Intel Pentium Pro.

Prototypowy procesor Intela zajmuje kilka centymetrów kwadratowych. Niezwykłą wydajność osiągnięto w modny ostatnio sposób: w jednej obudowie zamknięto kilkadziesiąt procesorów, które nazywa się w takim przypadku „rdzeniami”. Już jakiś czas temu inżynierowie projektujący układy scalone zauważyli, że nie są w stanie w nieskończoność zwiększać wydajności obliczeniowych swoich konstrukcji, tak jak robili to przez ostatnich 30 lat, czyli „podkręcając” częstotliwość pracy układu (to te wszystkie gigaherce, którymi ekscytują się maniacy komputerowi). Intel, który jak żaden inny producent radził sobie ze zwiększaniem prędkości, wpadł we własną pułapkę. Okazało się bowiem, że przy 5 GHz wewnątrz układu zachodzą bardzo dziwne zjawiska, w których rezultacie trudno określić, co jest sygnałem, a co szumem spowodowanym przez wysoką temperaturę. Słowem – zero przestaje różnić się od jedynki, więc procesor działa, ale nie liczył prawidłowo...

Gigahercowa droga została zamknięta. I to nawet wcześniej, niż zamknęła ją prędkość światła, która nakłada górne ograniczenie na długość połączeń wewnątrz układu scalonego. W czasie jednego taktu zegara w procesorze pracującym z prędkością 3 GHz światło przebywa dystans 10 cm. Skrócenie tego dystansu trzykrotnie, czyli zwiększenie częstotliwości pracy do 10 GHz, mogłoby sprawić, że sygnał elektryczny nie zdąży dotrzeć z jednego krańca procesora do drugiego w ciągu jednego cyklu pracy, a to znaczy, że procesor nie byłby w stanie pracować.

ROBOTA DLA RDZENI


Dlatego inżynierowie od kilku lat szukali innych rozwiązań zwiększających wydajność. Sięgnęli po metodę wypróbowaną wiele lat temu w superkomputerach, gdzie do pracy zaprzęganych jest mnóstwo mikroprocesorów, które wykonują obliczenia równolegle. Tak powstały procesory wielordzeniowe, które są najnowszym hitem rynkowym. Najdroższe konstrukcje dostępne w sklepach mają cztery rdzenie, a konsole do gier wyposażono w procesory dziewięciordzeniowe.

Prototyp Intela to rozwinięcie tej idei – tyle, że tam mieści się aż 80 oddzielnych procesorów na jednym kawałku krzemu o wymiarach 20 x 40 mm. Zysk jest oczywisty tylko z pozoru. Umieszczenie dwóch czy czterech rdzeni w jednym mikroprocesorze ma sens, bowiem współczesne komputery stosunkowo łatwo są w stanie wykorzystać ten potencjał. Zwróćmy uwagę, że prawie każdy z nas, pracując na komputerze wykonuje kilka czynności naraz: ja, pisząc ten tekst, mam włączony edytor tekstu, w tle działa program pocztowy, komunikator internetowy i antywirus, a przeglądarka internetowa czeka w pogotowiu. Przy tym system operacyjny zarządza ruchem sieciowym, broni dostępu do komputera za pomocą firewalla. Jak widać, jest tu sporo pracy i dwa czy cztery procesory miałyby co robić.

Co innego jednak 80. Wyobraźmy sobie plac budowy. Oczywiście, że jeden pracownik będzie wolniej przenosił tysiąc cegieł niż dwóch albo czterech. Ale jeśli ustawimy na placu budowy 80 robotników i każemy im przenosić z miejsca na miejsce tysiąc cegieł, to nie jest wcale oczywiste, że zrobią to 80 razy szybciej niż jeden. Zaczną bowiem wchodzić sobie w drogę, potrącać się, co bardziej krewcy będą tracić czas na wyzywanie się i ustalanie hierarchii, kto jest ważniejszy. Podobnie czterech majstrów znacznie sprawniej poradzi sobie z budową domku jednorodzinnego niż 80. A komputer biurkowy to raczej domek jednorodzinny, a nie wielka budowa z tysiącami robotników.

Znalezienie pracy dla 80 rdzeni mikroprocesora to już poważne wyzwanie logistyczne. Na razie znakomicie radzą sobie z tym jedynie naukowcy, którzy potrafią zaprząc do pracy nie marnych 80 mikroprocesorów, lecz dziesiątki tysięcy. Wykorzystują je do różnych obliczeń: prognoz pogody, symulacji działania związków chemicznych czy modnego ostatnio sekwencjonowania DNA. Ale na co dzień zwykły zjadacz komputera nie prognozuje pogody i nie sekwencjonuje DNA. Dlatego popularne systemy operacyjne (z Microsoft Windows w różnych odmianach na czele) nie potrafią obsługiwać tak wielkiej liczby procesorów. Na szczęście zanim nowy procesor Intela trafi na półki sklepowe (a nie ma wątpliwości, że firma w tym kierunku będzie rozwijać swoje produkty), programiści będą mieli czas na nauczenie się nowego stylu pisania aplikacji.

PRZETWARZANIE W DOMU I ZAGRODZIE

Możliwości drzemiące w procesorze są ogromne. Programy biurowe i przeglądarki Internetu na nich raczej nie skorzystają, ale w dzisiejszych czasach robimy coraz więcej zdjęć, coraz więcej filmów. Popularne stają się kamery wysokiej rozdzielczości HDTV czy przenośne odtwarzacze filmów w stylu iPoda. Obróbka takich materiałów cyfrowych wymaga czasu i dużej mocy obliczeniowej. Nowy projekt Intela wychodzi naprzeciw rosnącym potrzebom obliczeniowym także zwykłych ludzi.