Search the Community
Showing results for tags 'przetwarzanie wielowątkowe'.
Found 1 result
-
Anwar Gholoum, jeden z inżynierów zatrudnionych w intelowskim Laboratorium Technologii Mikroprocesorowych, opublikował na oficjalnym blogu Intela wpis, w którym zwraca programistom uwagę na poważne zmiany, jakie zajdą w najbliższych latach. Gholoum wspomina o rozmowach, jakie toczy z innymi inżynierami. Z jednej strony od lat mówi się o tym, że osoby rozwijające oprogramowanie starają się jak najmniejszym kosztem przystosować je do pracy na dwu- czy czterordzeniowych procesorach. Z drugiej zaś, inżynierowie już dyskutują o procesorach przyszłości, zawierających dziesiątki, setki, a nawet tysiące rdzeni. W przypadku takich procesorów taktyka "oszczędnego" programowania się nie sprawdzi. Obecnie programiści w dość prosty sposób przystosowują np. gry napisane dla procesorów jednordzeniowych, do współpracy z czterordzeniowymi układami. Wystarczy, że "rozbiją" pojedynczy wątek na kilka oddzielnych: jeden odpowiedzialny za przetwarzanie muzyki, drugi za grafikę, trzeci za sztuczną inteligencję. Taka taktyka zapewnia spore oszczędności, gdyż "rozbite" wątki korzystają z pierwotnego kodu pojedynczego wątku, więc ich przygotowanie nie wymaga dużo pracy. Zmiany takie powodują pewne zwiększenie wydajności, gdyż każdy z wątków może być przetwarzany przez osobny rdzeń. Jeśli zatem rozdzielimy oryginalny wątek na 4, to będą one korzystały z 4 i tylko z 4 rdzeni. Gholoum uważa, że programiści powinni przygotować się do całkowitej zmiany podejścia. Tak naprawdę procesory przyszłości będą wymagały przepisania niemal całego kodu tak, by każdy z wątków mógł skorzystać z dowolnej dostępnej liczby rdzeni. Dopiero wtedy w pełni wykorzystamy wydajność wielordzeniowych procesorów. Już w tej chwili istnieją techniki, które działają właśnie w ten sposób. Bardzo dobrze skaluje się ray tracing, czyli śledzenia światła w wirtualnych scenach. Wykorzystywane w tym przypadku algorytmy są tak skonstruowane, że dołożenie kolejnych rdzeni powoduje zwiększenie prędkości przetwarzania, gdyż potrafią one skorzystać z dodatkowych mocy obliczeniowych. Większość aplikacji jest jednak napisanych tak, że ich skalowanie będzie wymagało olbrzymiego nakładu pracy. Tym bardziej, że zarówno współczesne narzędzia developerskie i testowe oraz języki programowania są mocno zorientowane na przetwarzanie jednowątkowe. Gholoum zauważa, że programiści specjalizujący się w rynku HPC (high-performance computing) od lat wiedzą o problemach związanych z przetwarzaniem wielowątkowym. Osoby programujące na rynek konsumencki jak dotąd nie przejmowały się kłopotami, z jakimi musieli zmagać się ich koledzy oprogramowaujący potężne klastry. W najbliższych latach może się to zmienić.
- 34 replies
-
- przetwarzanie wielowątkowe
- program
-
(and 3 more)
Tagged with: