Poszukiwani programiści nowej generacji

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.

Jeśli ktoś chciałby polegać jedynie na funkcjach systemu operacyjnego, to najprawdopodobniej byłaby to ślepa droga. 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ć, w jakim produkcie znajdzie ona zastosowanie i kiedy pojawi się na rynku.

Zobacz również:

  • Premiera GitHub Copilot Enterprise
  • Relacja z WWDC 2023 - najważniejszej konferencji Apple w roku

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.


TOP 200