- •1. Анализ современных тенденций развития вычислительных систем. Основные области и особенности применения многопроцессорных вс.
- •2. Классификация многопроцессорных систем. Вс с разделяемой общей памятью. Типовые схемы коммуникационных структур. Примеры.
- •3. Классификация многопроцессорных систем. Вс с разделяемой общей памятью. Машины smp иNuma. Примеры.
- •4. Классификация многопроцессорных систем. Вс с распределенной областью памяти. Примеры.
- •5. Классификация многопроцессорных систем. Матричные системы.
- •6. Классификация многопроцессорных систем. Системы с нетрадиционной структурой. Вс, управляемые потоком данных.
- •7. Классификация многопроцессорных систем. Системы с нетрадиционной структурой. Систолические машины.
- •8. Обобщенная архитектура параллельных систем.
- •9. Использование традиционных микропроцессоров для построения многопроцессорных систем. Микропроцессоры с нетрадиционной архитектурой. Архитектура транспьютера т-805.
- •10. Программная модель parix: статические и динамические возможности. Система индексации процессоров в малтикластереMc-3de. Идентификация процессоров
- •11. Средства и правила создания параллельных программ на одном процессоре. Работа встроенного планировщика.
- •12. Программная модель parix: статические и динамические возможности.
- •13. Основные средства взаимодействия процессов в среде parix. Синхронное и асинхронное взаимодействие процессов. Каналы
- •Int BreakLink (LinkCb_t *Link)
- •Int SendLink (LinkCb_t *Link, void *Buf, int Size), int RecvLink (LinkCb_t *Link, void *Buf, int Size)
- •14. Средства и правила создания параллельных программ на многопроцессорной структуре в средеParix. Пример программы.
- •15. Физические, виртуальные и локальные линки. Средства и правила создания линков между произвольными процессами в среде parix. Виртуальные и библиотечные топологии.
- •Int BreakLink (LinkCb_t *Link)
- •Int SendLink (LinkCb_t *Link, void *Buf, int Size), int RecvLink (LinkCb_t *Link, void *Buf, int Size)
- •Int MakeXxx (int RequestId,
- •Int FreeTop (int TopId),
- •Int AddTop_Data (int TopId, void *Data)
- •Void *GetTopData (int TopId, int *Error)
- •16.Принципы и алгоритм работы планировщика процессов в т-805
- •17. Машинные ресурсы. Проблема ограниченности машинных ресурсов. Единицы работы и управления в вычислительных средах.
- •18. Концепция процесса. Понятия алгоритма и процесса. Объективная потребность введения понятия «процесс».
- •19. Основные проблемы параллельного программирования
- •20. Основные направления решения проблем создания программного продукта с параллельной обработкой информации
- •21. Проблемы планирования, диспетчеризации и масштабирования в параллельном программировании
- •22. Краткая характеристика языка оболочки unix. Основные команды работы с файловой системой. Виды файлов
- •23. Многопользовательская защита информации в среде unix. Категории пользователей и атрибуты доступа к файлам
- •24. Управление доступом к файлам
- •25. Порождение процессов на уровне оболочки и их взаимодействие
- •26. Удаленный доступ и особенности работы в среде parix
- •27. Особенности структуры транспьютерного кластера. Проблема масштабирования
- •28. Глобальное планирование в транспьютерном кластере
- •29. Особенности взаимодействия асинхронных процессов. Информационные и логические связи. Основные механизмы взаимодействия процессов
- •30. Понятие синхропримитива. Синхропримитивы низкого уровня
- •31. Системные средства реализации взаимодействия процессов в среде unix
- •32. Взаимодействие процессов через программный канал. Понятие конвейера команд в ос unix
- •33. Именованный программный канал и взаимодействие процессов в unix. Пример
- •34. Типовые задачи взаимодействия асинхронных процессов. Спецификация дисциплины межпроцессного взаимодействия с использованием сетей Петри
- •35. Задача «о читателях и писателях». Требования адекватности спецификации и предметной интерпретации. Задача «о производителе и потребителе»
- •36. Задача «о курильщиках сигарет». Особенности задачи, используемые синхропримитивы.
- •37. Спецификация асинхронных интерфейсов взаимодействия процессов.
Int FreeTop (int TopId),
которая удаляет внутренние структуры топологии, неявно освобождает каждый канал сети и внутренние данные, используемые при асинхронных коммуникациях.
Каждая топология имеет свои ей присущие свойства такие, как размерности dim_x, dim_y, dim_z трехмерных решётки и тора, глубина дерева и число потомком у его вершин. Функция
Int AddTop_Data (int TopId, void *Data)
позволяет связать с топологией её атрибуты, хранящиеся в дескрипторе Data. Затем их можно будет извлечь с помощью функции
Void *GetTopData (int TopId, int *Error)
16.Принципы и алгоритм работы планировщика процессов в т-805
Т-805 – это транспьютер (1 проц. на мультекласстерном вычислителе). Планировщик реализован аппаратно. В любой момент времени существуют активные и неактивные процессы. Активные выполняются либо готовы к выполнению. Неактивные, например, ожидают ввода/вывода. Только активные процессы попадают в планировочный список (ПС). ПС – связный (связнОй) список рабочих областей активных процессов.
Транспьютер имеет набор команд для управления процессами и микропрограммируемый планировщик процессов, который реализует исполнение процессов в режиме разделения времени. Процессы могут иметь либо высокий (0), либо низкий (1) уровень приоритета. Число процессов каждого уровня приоритета не ограничено.
Процесс с низким приоритетом выполняется только тогда, когда список процессов с высоким приоритетом пуст. Если во время выполнения процесса с низким приоритетом приходит процесс с высоким приоритетом, то происходит прерывание процесса с низким приоритетом. Текущий активный процесс низкого приоритета выполняется до тех пор пока: он не завершится; он не станет неактивным; не появится процесс с высоким приоритетом; время выполнения процесса не превысит время синхронизации (750 мкс).
Механизм синхронизации (разделения времени) для процессов с высоким приоритетом не работает.
17. Машинные ресурсы. Проблема ограниченности машинных ресурсов. Единицы работы и управления в вычислительных средах.
Можно выделить два основных ресурса, которых всегда не хватает: процессорное время (не хватает быстродействия) и объем памяти. Можно выделить два аспекта быстродействия:
физическое быстродействие (тактовая частота процессора). Имеет физические пределы.
структурная организация. Вот может помочь параллельная обработка.
Что касается проблемы нехватки памяти, ее можно частично решать путем распределенных вычислений.
Также можно выделить такой вид ресурса, как периферийные устройства (например ввод/вывод). В уменьшении времени простоя вычислительной системы при ожидании освобождения устройства нам также может помочь параллельная обработка.
Таким образом, мы подходим к необходимости нового понятия – процесса, как единицы работы и управления.
Раньше единицей работы было задание, для которого программист указывал нужные для работы ресурсы. Сейчас эти ресурсы выделяет сама система.
Из 3 го курса …
Проблемы в компьютерах : ресурсы (практ-е быстродействие и объём памяти)
Все Фон-Нейм. машины работают в одинак. линейном режиме (режим работы ЦП):
Необходимо изменить режим работы( от однопрограммного к мультипрограммному)
Зачем появляется понятие «процесс»? Т.к. существует вопрос о ресурсах (разделение времени, круговая диспетчеризация Unix), т.е. для увеличения эффективности «железа».
Раньше единицей работы было задание, для которого программист указывал нужные для работы ресурсы. Сейчас эти ресурсы выделяет сама система.
Далее единицей потребления ресурсов и контроля стала задача (были и другие понятия).
Появился Unix и появилось понятие процесс.
Так вот… единицией работы и управленияявляетсяпроцесс!!!
От себя…
В Юниксе процесс - это грубо говоря программа выполняющая программу пользователя, т.е. процесс управляет вашей программой(отсюда единица управления…наверно). Ну и диспетчеризация ресурсов происходит именно между процессами...