Lista zagadnień które należy opanować przed egzaminem z PORR
Transkrypt
Lista zagadnień które należy opanować przed egzaminem z PORR
Lista zagadnień które należy opanować przed egzaminem z PORR z materiału wykładów prowadzonych przez Andrzeja Karbowskiego 1. Rodzaje równoległości (ewentualne przykłady z życia); definicje: obliczenia współbieżne, równoległe, rozproszone; umiejętność oszacowania potrzebnej mocy obliczeniowej żeby rozwiązać konkretne zadanie (przykład z pogodą); prawo Amdahla i Gustafsona-Barsisa; porównywanie skalowalności 2 maszyn; 2. Definicje: procesory wielordzeniowe, hiperwątki, rozszerzenia strumieniowe (SSE), GPGPU; klastry, gridy, konstelacje; taksonomia Flynna, w tym podstawowe informacje o różnych klasach maszyn według niej; elementy równoległości we współczesnych procesorach komputerów osobistych, konsol (CELL/PS 3), kartach graficznych; przełącznice krzyżowe; sieci Omega - elementy składowe (jak działają), połączenia i sposób działania; co daje pamięć cache w maszynach SM-MIMD 3. Parametry opisujące topologie maszyn DM-MIMD; umięjętność ich wyznaczenia dla określonej, podanej w zadaniu, topologii; definicje: hipersześcianów, drzew statycznych, dynamicznych i grubych, maszyn ccNUMA; przełączanie pociętych pakietów; definicja i sposoby realizacji rozproszonych maszyn z pamięcią wspólną; podstawowe własności klastrów i gridów; na czym polega SSI, przykładowe implementacje, jak się równoważy obciążenia maszyn klastra, co to jest scheduler i migracje? 4. Podstawowe narzędzia oprogramowania służące do zrównoleglenia; definicje: zadania, bariery, zamka, zamka pisarze-czytelnicy, semafora, zmiennych specyficznych wątków, komunikacji synchronicznej, asynchronicznej, operacji blokujących, nieblokujących, demona; zrównoleglenie rozwidlenie-połączenie (fork-join) a SPMD; co to jest RPC i jak się zrównolegla aplikacje które z tego mechanizmu korzystają; na czym polegają podstawowe modele obliczeń równoległych: rozwidlenie-połączenie (fork-join), pula pracy, producent-konsument, farma, itd. 5. Na czym polega programowanie SSE, co to jest wyrównywanie danych i gdzie występuje; co to jest jądro (kernel) oraz strumień w GPGPU; definicja intensywności arytmetycznej 6. Trzy rodzaje zrównoleglenia algorytmów synchronicznych (opisać na czym polegają); zrównoleglanie: algorytmu Gaussa, Gaussa-Jordana i Cholesky’ego, rozwiązywania układu równań liniowych z macierzą rzadką o strukturze strzałki, algorytmu Newtona rozwiązywania układu równań nieliniowych oraz optymalizacji bez ograniczeń i z ograniczeniami; 7. Definicja obliczeń asynchronicznych całkowicie i częściowo, ich zalety i wady, znajomość symbolu τji (t) oraz xj (τji (t)), wzoru na hi (t+1) z klamrą (umiejętność podania oraz objaśnienia wszystkich symboli), definicja normy maksimum oraz odwzorowań zwężających w niej; znajomość warunku zbieżności całkowicie asynchronicznej przy rozwiązywaniu układu równań liniowych (z wagami), umiejętność jego wykorzystania (Przykłady 1,2); 8. Definicja odwzorowań izotonicznych (zachowujących porządek), umiejętność oceny czy jakieś podane odwzorowanie ten warunek spełnia, algorytm routingu BellmanaForda; definicja obliczeń częściowo asynchronicznych, ich zalety i wady, algorytm PageRank (Google).