Powrót do korzeni

A jakie badania są prowadzone w Intelu?

Jest to np. inicjatywa Ct - czyli język C for throughput computing - dodatkowe funkcje rozszerzające C i C++ o możliwość równoległego przetwarzania danych bez modyfikacji kompilatora. Nowe funkcje opracowane przez nas podnoszą poziom abstrakcji, tak że programiści nie muszą w sposób jawny projektować mechanizmów przetwarzania równoległego, a jedynie, w sposób bardzo naturalny, dobrze przemyśleć strukturę danych. W efekcie ma to ogromny wpływ na wzrost wydajności, umożliwiając łatwą implementację równoległego przetwarzania danych. W tym wypadku najważniejszą nowością jest to, że można praktycznie bez problemu obsługiwać każdy rodzaj struktury danych.

A czy zarządzanie równoległymi wątkami może być realizowane tylko programowo?

Jeśli ktoś chciałby polegać jedynie na funkcjach systemu operacyjnego, to najprawdopodobniej byłaby to ślepa uliczka. W Intelu opracowaliśmy już architekturę sprzętową umożliwiającą zarządzanie wykonywaniem równoległych wątków i przeprowadziliśmy jej intensywne symulacje testowe, by zrozumieć, jakie są bariery i możliwości ulepszeń. Ale na razie jest jeszcze za wcześnie, by powiedzieć, kiedy pojawi się na rynku.

Ale czy nie jest tak, że wiele aplikacji ma architekturę z natury nienadającą się do przetwarzania równoległego?

Z tym problemem spotkaliśmy się u nas. Istnieje bowiem pozbawiona uzasadnienia wiara w prawo Amdahla, mówiące o ograniczeniach we wzroście wydajności uzyskiwanym przez zwiększanie liczby CPU. Ludzie mówią "uruchomiłem ten program w systemie zawierającym procesor czterordzeniowy i nie widzę, by pracował on szybciej". Wciąż słyszę takie opinie. Ale jeśli przyjrzeć się temu problemowi bliżej, to widać, że nikt się nad nim nie zastanawiał i jest wiele przyczyn, które mogą powodować, iż w wypadku dwu- lub czterordzeniowych systemów nie uzyskuje się oczekiwanego wzrostu wydajności.

Ale liczba CPU integrowanych w procesorach będzie rosnąć i pojawią się układy 16- i 32-rdzeniowe. Choć początkowo wzrost wydajności nie wydaje się zachęcający, wynika to z konieczności opracowania odpowiednich, nowych algorytmów, innego podejścia do projektowania aplikacji oraz dostępności lepszych narzędzi programistycznych, które będą umożliwiały automatyczne podejmowanie decyzji związanych z optymalizacją kodu.

Jaka jest przyszłość technologii wykorzystującej mechanizmy kwantowe i spin elektronów, a nie przepływ ładunków elektrycznych?

Elektronika oparta na kontroli i sterowaniu ładunkami elektrycznymi zaczyna tracić perspektywy rozwoju. Najlepiej wiedzą o tym ludzie zajmujący się układami pamięciowymi, gdzie w praktyce już pojawiła się bariera uniemożliwiająca dalsze zmniejszanie wymiarów komórek pamięciowych. Dlatego też naukowcy starają się wykorzystać efekty kwantowe takie jak spin. Początkowe wyniki ich badań są obiecujące. Spin elektronów miałby potencjalnie duże zalety, zarówno jeśli chodzi o szybkość działania, jak i zużycie energii.

Czy można oczekiwać, że za 10 lat pojawią się komputery z układami wykorzystującymi kwantowe zjawisko spinu?

Tak, ale nie wcześniej. Chcielibyśmy, aby transformacja do tego typu zupełnie nowych technologii przebiegła ewolucyjnie.

Na podstawie wywiadu dla amerykańskiego wydania Computerworld tłumaczył Wiesław Pawłowicz.


TOP 200