Какова суть архитектуры DSM
Что проверяют
Прежде всего, как вы ведёте себя с неоднозначной аббревиатурой: DSM не общепринятый термин ML, и сильный кандидат уточняет, о чём речь, а не сочиняет расшифровку. Затем проверяют, знаете ли вы классический смысл и как он связан с распределённым обучением.
Как отвечать
Начните с вопроса: «Имеется в виду distributed shared memory?» Это самое устоявшееся значение.
Distributed shared memory это архитектура, в которой процессы на разных машинах видят общее адресное пространство, хотя физически память разнесена по узлам. Ключевые детали:
- гранулярность: страничная DSM работает поверх виртуальной памяти, обращение к чужой странице вызывает page fault и подгрузку по сети. Объектная делит память на объекты или переменные;
- когерентность: при записи копии на других узлах либо инвалидируются (write-invalidate), либо обновляются (write-update);
- модель согласованности: строгая и последовательная дороги, поэтому берут ослабленные, например release consistency, где изменения видны после явной синхронизации;
- цена: каждый промах это сетевой запрос, а ложное разделение (две независимые переменные на одной странице) заставляет узлы гонять страницу туда и обратно.
Связь с ML: распределённое обучение тоже решает задачу общего состояния, то есть весов. Но современные фреймворки не прячут сеть за общей памятью, а обмениваются явно: all-reduce градиентов (DistributedDataParallel в PyTorch поверх NCCL) или parameter server. Явный обмен предсказуем по стоимости, неявный доступ к удалённой памяти нет.
Если интервьюер имел в виду Design Structure Matrix, это матрица зависимостей между модулями системы, по ней ищут циклы и границы компонентов.
Где спотыкаются
Уверенно расшифровывают аббревиатуру наугад, например как «Data Science Model», и пересказывают общий ML-конвейер. Такой термин не устоялся, и интервьюер это заметит.
Путают DSM с общей памятью внутри одной машины, например с multiprocessing.shared_memory в Python или с потоками одного процесса.
Считают общую память бесплатной абстракцией и не упоминают ни задержки сети, ни ложное разделение, ни выбор модели согласованности.