Seminarium: Systemy Rozproszone
1 grudnia 2011, godzina 12:15, sala 4070
Łukasz Zubkowicz


Problemy i wyzwania wynikające z heterogenicznej architektury procesorów



Od jakiegoś czasu trend zwielokrotniania rdzeni procesorów idzie w kierunku różnicowania ich możliwości. Powody są przeważnie dwa: oszczędność energii oraz wyrafinowana funkcjonalność. W pierwszym przypadku świadomie umieszczamy w układzie rdzenie mniej i bardziej potężne (przy czym obsługujące ten sam zestaw instrukcji), aby zależnie od potrzeb wykonywać pewne zadania zużywając na nie mniej energii, bądź uzyskując większą wydajność. Drugie podejście idzie nawet dalej, pozwalając bardziej skomplikowanym układom obsługiwać złożone instrukcje. Być może mają one wąskie grono docelowych użytkowników, ale pozwalają też uzyskać najlepsze wyniki. Można także zredukować możliwości funkcjonalne układu, jeśli priorytetem znów jest oszczędność. Wiele wskazuje na to, że procesory przyszłości będą paletą układów, z których w skrajnym przypadku każdy będzie niejako specjalistą w swojej własnej dziedzinie, wspierając tylko podstawowy (mały) zestaw ogólniejszych instrukcji.

Niestety, stawia to duże wymagania przed programistami. Tworzenie oprogramowania (a przede wszystkim systemów operacyjnych) wykorzystującego pełne możliwości systemów heterogenicznych jest dużym wyzwaniem i niekoniecznie istnieją łatwe rozwiązania napotykanych problemów. W tej dziedzinie najprawdopodobniej większość problemów zostaje jeszcze nierozwiązanych, ale powoli pojawiają się prace próbujące wskazywać kierunek poszukiwań i przedstawiające propozycje rozwiązań dla pewnych klas zadań. My postaramy się prześledzić tegoroczną pracę inżynierów firmy Intel, którzy próbują w niej systematyzować ich dotychczasowe doświadczenia z systemami heterogenicznymi.

Serdecznie zapraszam!
Łukasz Zubkowicz