- Паралелни компютърни архитектури; класификация; SIMD и MIMD архитектури;
- Компоненти на паралелните архитектури; мрежи за вътрешни връзки (Interconnection Networks); линейна и кръгова мрежи, мрежи „Shuffle-exchange”, „хипер-куб”, „звезда”, „de Bruijn”, „двоично дърво”, „пеперуда”, „пирамида”;
- Взаимодействия между процеси: взаимно изключване и синхронизация; алгоритъм на Питърсън; Bakery алгоритъм; събития; синхронизация чрез събития; решение на класическата задача „читатели-писатели” със семафори и събития;
- Анализ на зависимостите между операциите и данните; предварителен информационен граф на процес (data dependency graph);
- Основни принципи за създаване на паралелни алгоритми (ПА), паралелен свит кортеж;
- Паралелни алгоритми (ПА) за решение на задачи на линейна алгебра:
- ПА за умножение на матрица с вектор;
- ПА за умножение на матрица с матрица;
- ПА за решаване на системи линейни уравнения;
- ПА за обръщане на матрици;
- ПА за сортиране: битонично сортиране; четно-нечетно сортиране; дървовидно сортиране;
- ПА за обработка на изображения: анизотропен метод на сканиращата маска; рекурсивен метод на сканиращата маска.
Целта на учебната дисциплина е придобиване на умения за построяване на паралелни алгоритми.
В края на обучението студентите трябва:
- да познават основните принципи за построяване на паралелни алгоритми;
- да притежават умения за построяване на паралелни алгоритми при зададен метод за решаване на дадена задача;
- да притежават умения за реализация на паралелен алгоритъм на паралелна компютърна архитектура;
- да могат да оценяват предимствата на паралелния алгоритъм в сравнение с последователния.
|