Poszukiwani programiści nowej generacji
- 17.12.2007, godz. 11:18
A jakie badania w tej dziedzinie 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?
Setki wyższych uczelni na świecie ponownie wprowadziło programowanie równoległe do programów nauczania. Jednocześnie Intel i inne firmy przygotowują projekty wsparcia finansowego, które mają pobudzić zainteresowanie projektami badań akademickich nad architekturami i programowaniem równoległym.
Zobacz również:
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, ale 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 klasyczny 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. Jeśli chodzi o wykorzystanie spinu elektronów, to należy podkreślić, że system taki 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. Trudno byłoby bowiem powiedzieć odbiorcom naszych produktów - OK, przez najbliższe pięć lat nie będzie żadnych nowych modeli procesorów, bo musimy opracować technologie oparte na spinie.
Tekst powstał na podstawie wywiadu dla amerykańskiego wydania Computerworld.