Projekt nr 1
Chodzi o napisanie systemu zarządzającego obliczeniami. W jednym wypadku byłby to system dla klastra wyposażonego w karty graficzne. Z założenia w systemie istnieją kernele obliczeniowe o znanej wydajności i wymaganiach pamięciowych, oraz K kart graficznych i N procesorów, każdy wyposażony w znaną ilość pamięci i znaną moc obliczeniową. System jest obciążany zmiennymi zadaniami obliczeniowymi. Przedmiotem zadania byłoby zaprojektowanie (a potem wykonanie) systemu, który przydzielałby zasoby obliczeniowe, a w szczególności GPU i CPU, dla optymalnego wykonania zadań. Zakładamy, że kernele są stosunkowo niewielkie (w ciągu sekundy w systemie wykonywane są tysiące kerneli).
Projekt nr 2
Drugi system to system zarządzający obliczeniami klastrowymi dla języka/środowiska R. Na klastrze uruchomione byłyby instancje programu R, oraz moduł zarządzający. Do klastra jednocześnie ma dostęp N użytkowników. Moduł zarządzający powinien rozdzielać zadania między węzły (procesory), monitorować postęp i rozsyłać wyniki właściwym użytkownikom. W miarę możliwości dobrze by było, gdyby system był interaktywny (a nie tylko wsadowy).
Preferowane języki - Python/C++, ew. Java.