ВОПРОСЫ ПО КУРСУ

ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ

В билетах 3 вопроса:

ВОПРОС №1

Обзор области параллельных вычислений. Суть параллельного программирования. Архитектурные особенности параллельных систем - структуры аппаратного обеспечения: а)Процессоры и кэш-память; б)Мультипроцессоры с разделяемой памятью, в) Мультикомпьютеры с распределенной памятью и сети; г) Классификация Флинна. Обзор программной нотации параллельного программирования: а) Декларации; б) Последовательные операторы; в) Параллельные операторы, процессы и процедуры; г) Комментарии. Неделимые действия и операторы ожидания: а) Мелкомодульная неделимость, б) Задание синхронизации: оператор ожидания Обзор аксиоматической семантики: а) Формальные логические системы; б) Логика программирования; в) Семантика параллельного выполнения Процессы и синхронизация: Техника устранения взаимного вмешательства: а) Непересекающиеся множества переменных; б) Ослабленные утверждения; в) Глобальные инварианты; г) Синхронизация. Свойства безопасности и живучести: а) Доказательство свойств безопасности; б) Стратегии планирования и справедливость Задача критической секции: обзор методов решения задачи Критические секции: а) Активные блокировки; б) Реализация операторов await Критические секции: решения со справедливой стратегией: а) Алгоритм разрыва узла; б) Алгоритм билета; в) Алгоритм поликлиники Барьерная синхронизация: а) Разделяемый счетчик; б) Флаги и управляющие процессы; в) Симметричные барьеры Алгоритмы, параллельные по данным Параллельные вычисления с портфелем задач Семафоры. Область применения. Синтаксис и семантика Задача об обедающих философах. Постановка. Методы решения Задача о читателях и писателях. Постановка. Методы решения Барьеры: Область применения. Синтаксис и семантика. Барьеры: сигнализирующие события: а) Производители и потребители: разделенные двоичные семафоры; б) Кольцевые буферы: учет ресурсов Стратегии планирования задач Семафоры. Основные задачи и методы: а) Критические секции: взаимное исключение; б)Семафоры; в) Метод передачи эстафеты. Мониторы: Синтаксис и семантика Мониторы. Методы синхронизации а) Кольцевые буферы: базовая условная синхронизация; б) Читатели и писатели: сигнал оповещения; Задача о Спящем парикмахере: рандеву Задача планирования работы диска: программные структуры Реализация принципов разделяемых переменных в операционных системах: Однопроцессорное и Многопроцессорное ядро Реализация принципов разделяемых переменных в операционных системах: Реализация семафоров в ядре Реализация принципов разделяемых переменных в операционных системах: Реализация мониторов в ядре Реализация принципов разделяемых переменных в операционных системах: Реализация мониторов с помощью семафоров

-

НЕ нашли? Не то? Что вы ищете?

ВОПРОС №2

РАСПРЕДЕЛЕННОЕ ПРОГРАММИРОВАНИЕ.

Асинхронная передача сообщений Фильтры: сортирующая сеть Клиенты и серверы: а) Активные мониторы; б) Планирующий сервер диска; в) Файловые серверы: непрерывность диалога Взаимодействующие равные: обмен значений Синхронная передача сообщений Удаленный вызов процедур (RPC): а) Синхронизация в модулях; б) Сервер времени; в) Кэширование в распределенной файловой системе; д) Сортирующая сеть из фильтров слияния; е) Взаимодействующие равные: обмен значений Рандеву при распределенном программировании: а) Операторы ввода; б) Примеры взаимодействий типа "клиент-сервер"; в) Сортирующая сеть из фильтров слияния; г) Взаимодействующие равные: обмен значений; д) Нотация совместно используемых примитивов; е) Вызов и обслуживание операций Модели взаимодействия процессов: Управляющий-рабочие (распределенный портфель задач). Умножение разреженных матриц Модели взаимодействия процессов: Управляющий-рабочие (распределенный портфель задач). Адаптивная квадратура Модели взаимодействия процессов: Алгоритмы пульсации Модели взаимодействия процессов: Клеточный автомат: игра "Жизнь Модели взаимодействия процессов: Конвейерные алгоритмы Модели взаимодействия процессов: Обработка изображений: выделение областей Конвейер для распределенного умножения матриц Алгоритмы типа "зонд-эхо Блочное умножение матриц Рассылка сообщений в сети Построение топологии сети Распределенные семафоры Алгоритмы рассылки Алгоритмы передачи маркера Реализация языковых механизмов. Асинхронная передача сообщений Реализация языковых механизмов Ядро для разделяемой памяти Реализация языковых механизмов Распределенное ядро Реализация языковых механизмов Синхронная передача сообщений Удаленный вызов процедур и рандеву. Реализация RPC в ядре Реализация рандеву с помощью асинхронной передачи сообщений Реализация совместно используемых примитивов в ядре Распределенная разделяемая память. Протоколы согласования страниц

ВОПРОС №3

Практические задачи:

Привести пример на использование библиотеки PTHREADS Привести пример на использование библиотеки MPI Привести примеры, характеризующие основные типы задач в научных вычислениях Привести пример на использование сеточных вычислений Привести пример на использование точечных вычислений Привести пример на использование матричных вычислений Дать краткий обзор используемых в параллельных вычислениях: языков, компиляторов, библиотек и инструментальных средств.