Домашнее задание - Параллельные вычислительные системы и многопрограммная работа
Выполняйте только если преподаватель назначил это задание. Срок сдачи сообщит преподаватель.
Разобранный образец: расчет ускорения и анализ когерентности
Условие образца:
Вычислительный комплекс включает 8 процессоров ($n = 8$). Доля строго последовательного кода в программе составляет $s = 0.10$ ($10\%$). В кэш-памяти Ядра 1 строка находится в состоянии Modified. Процессор 2 инициирует чтение по этому же адресу.
Расчет ускорения по закону Густафсона-Барсиса (Weak Scaling):
$$S_G = s + p \times n = 0.10 + 0.90 \times 8 = 0.10 + 7.20 = 7.30 \text{ раз}.$$
Эффективность параллелизации: $E = \frac{7.30}{8} \approx 91.25\%$.
Поведение протокола когерентности MESI:
Ядро 2 отправляет по системной шине сигнал запроса на чтение (BusRd). Ядро 1 фиксирует запрос через шинный снупинг (Snooping), перехватывает операцию памяти и сбрасывает актуальные измененные данные в оперативную память (Write-Back), одновременно передавая их Ядру 2. После передачи обе строки переходят в состояние Shared (S).
Упражнение 1. Архитектурное сопоставление и протоколы памяти
Упражнение 2. Расчетная задача масштабирования суперкомпьютерного комплекса
Условие: Высокопроизводительный кластер состоит из 64 вычислительных узлов ($n = 64$). В расчетной гидродинамической задаче доля строго последовательного кода составляет $s = 0.05$ ($5\%$). Соответственно доля параллельного кода $p = 0.95$ ($95\%$).