Конспект занятия: Многопрограммная работа ЭВМ. Многомашинные и многопроцессорные вычислительные системы
Педагогический конспект проведения учебного занятия по дисциплине «ОП.02 Архитектура аппаратных средств» (СИЭУиП, занятие 19). Содержит поминутный регламент для 80 и 60 минут, развернутую прямую речь преподавателя, интерактивные вопросы и разбор проблемных ситуаций.
3. Развернутый педагогический сценарий с речью преподавателя
Этап 1. Вводный этап и актуализация опорных знаний (5 мин / 5 мин)
Преподаватель: «Здравствуйте, коллеги! На прошлом занятии мы рассмотрели таксономию Флинна и базовые законы масштабирования. Сегодня мы переходим к изучению темы: «Многопрограммная работа ЭВМ. Многомашинные и многопроцессорные вычислительные системы». Задумайтесь: почему сегодня невозможно купить компьютер с одним процессором на частоте 20 гигагерц? Почему инженеры пошли по пути усложнения архитектуры — добавления десятков ядер на один кристалл и объединения тысяч серверов в кластеры? Какую цену приходится платить за параллелизм на уровне оперативной памяти и шин обмена данными? На этом занятии мы разберем аппаратную физику параллельных систем и научимся обосновывать конфигурации вычислительных комплексов под реальные задачи».
Этап 2. Сообщение новых знаний и демонстрационный показ (35 мин / 25 мин)
Преподаватель: «Обратите внимание на слайды 3–5 нашей презентации. Сначала определим уровни параллелизма. Внутри одного ядра работает ILP (Instruction-Level Parallelism): суперскалярный конвейер, внеочередное исполнение команд, предсказание переходов. Это аппаратный параллелизм, прозрачный для программиста. Следующий уровень — DLP (Data-Level Parallelism): векторные инструкции AVX-512 и тензорные ядра GPU, когда одна команда обрабатывает массив чисел. И, наконец, TLP (Thread-Level Parallelism): одновременное выполнение независимых потоков инструкций.
В операционной системе многопрограммность строится на процессах и потоках. Процесс изолирован в своем виртуальном пространстве памяти благодаря таблицам страниц MMU. Потоки одного процесса делят общую память. Но переключение контекста процесса обходится дорого: сбрасывается буфер TLB (регистр CR3), остывают строки кэша L1/L2, теряются тысячи тактов.
Теперь перейдем к слайдам 6–10: сильносвязанным системам SMP и ccNUMA. В SMP все процессоры имеют одинаковый доступ к памяти (UMA), но общая шина быстро становится узким местом при росте числа ядер. В архитектуре ccNUMA память распределена по сокетам, соединенным шинами Intel UPI или AMD Infinity Fabric. Доступ к чужому сокету медленнее локального в 1.5–2 раза (NUMA ratio).
Самый тонкий физический механизм — это кэш-когерентность. Каждое ядро имеет локальный кэш. Протокол MESI присваивает каждой 64-байтной строке одно из состояний: Modified (изменена, грязная), Exclusive (монопольная, чистая), Shared (разделяемая для чтения), Invalid (недействительная). Если ядро хочет записать в строку Shared, оно обязано выставить на шину сигнал инвалидации BusInval, сбросив копии в других ядрах. Здесь возникает аппаратная ловушка — False Sharing (ложное разделение данных): когда независимые переменные двух ядер попали в одну 64-байтную строку кэша, они непрерывно инвалидируют друг друга, вызывая эффект кэш-пинг-понга и замедляя программу в десятки раз!
На слайдах 11–13 мы видим слабосвязанные системы — кластеры. Здесь памяти общей нет, работает библиотека передачи сообщений MPI. Почему стандартный Ethernet не подходит для суперкомпьютеров? Потому что стек TCP/IP ядра ОС вносит задержку в десятки микросекунд. Интерконнект InfiniBand и технология RDMA передают данные напрямую из памяти одного сервера в память другого (Zero-Copy, Kernel-Bypass) с аппаратной задержкой менее одной микросекунды».
Этап 3. Самостоятельное практическое действие (30 мин / 22 мин)
Преподаватель: «Откройте интерактивный рабочий лист zanyatie.html на ваших рабочих станциях. Введите вашу фамилию, имя и учебную группу, затем выберите закрепленный за вами вариант кейса (1–4).
В Задании 1 заполните сравнительную таблицу моделей параллелизма и опишите различия ILP, DLP, TLP.
В Задании 2 проанализируйте переходы состояний протокола MESI и объясните природу False Sharing.
В Задании 3 рассчитайте показатели масштабируемости по законам Амдала и Густафсона и сравните кластерные интерконнекты.
В Задании 4 решите ваш индивидуальный кейс: рассчитайте ускорение и эффективность, найдите узкие места архитектуры и обоснуйте спецификацию аппаратного обеспечения. Все введенные данные автоматически сохраняются в памяти браузера».
Этап 4. Контроль, проверка и домашнее задание (10 мин / 8 мин)
Преподаватель: «Время выполнения вышло. Давайте разберем типичные ошибки: многие забывают, что при записи в строку Exclusive сигнал инвалидации на шину не посылается, так как других копий нет. В расчетной части обратите внимание: предел по Амдалу $1/s$ жестко ограничивает ускорение при фиксированном объеме задачи.
Нажмите кнопку «Сохранить в PDF / Распечатать» внизу рабочего листа и сохраните итоговый электронный отчет. Оценка выставляется по открытой 4-балльной матрице: 2 балла за корректность таблиц и формул, 1 балл за объяснение физических механизмов MESI и интерконнекта, 1 балл за проверку и обоснование кейса. Резервное домашнее задание domashnee_zadanie.html выполняют только те обучающиеся, которые пропустили пару или получили балл ниже «3». Спасибо всем за продуктивную инженерную работу!»