Разработка высоконагруженных игровых серверов.dor_БАК_25-239-Б

Разработка высоконагруженных игровых серверов.dor_БАК_25-239-Б — вариант 5

Просмотрите все вопросы и варианты бесплатно. Правильные ответы скрыты и открываются только после получения доступа.

11 вопросов Вариант 5 Доступ 7 дней
Содержание теста

Вопросы и варианты

Без отметок и подсказок к правильным ответам

Вопрос 1

Типичный размер кэш-линии, на который ориентируются при выравнивании структур, чтобы избежать false sharing, — это …

  1. 16 байт
  2. 32 байта
  3. 64 байта
  4. 256 байт
Вопрос 2

Программно-аппаратная предвыборка (prefetch) характеризуется тем, что она … (выберите два варианта ответа)

  1. эффективна при предсказуемом (линейном/шаговом) доступе
  2. полностью устраняет задержки DRAM при любом шаблоне
  3. может перегружать шину и вредить при чрезмерной работе
  4. имеет прямые инструкции предвыборки на уровне языка в Python
Вопрос 3

Аппаратное обеспечение единого актуального значения в кэш-линиях – это …

  1. когерентность
  2. Когерентность
Вопрос 4

Правила порядка видимости операций между потоками – это …

  1. согласованность
  2. Согласованность
Вопрос 5

Без смены аппаратуры давление на TLB (Translation Lookaside Buffer) может снизить … (выберите три варианта ответа)

  1. переход на блочную/последовательную обработку данных (tiling)
  2. увеличение числа случайных разыменований указателей
  3. использование более крупных структур страниц (Huge Pages)
  4. упаковка часто используемых полей рядом
Вопрос 6

Пиннинг потоков к ядрам узла и локальное выделение памяти относится к …-осознанной оптимизации (укажите аббревиатуру на английском языке)

  1. NUMA
  2. numa
Вопрос 7

В контексте производительности «memory wall» означает …

  1. что рост частоты CPU (Central Processing Unit) всегда сопровождается таким же ростом скорости DRAM (Dynamic Random Access Memory)
  2. что приложение упирается во всё более дорогие по задержке обращения к памяти, а не в вычисления
  3. барьер памяти (fence) в многопоточности
  4. ограничение размера виртуальной памяти
Вопрос 8

Тип компьютерной памяти, который является энергозависимым, но по латентности обычно медленнее DRAM (Dynamic Random Access Memory) и быстрее SSD (Solid-State Drive), — это … (укажите аббревиатуру на английском языке)

  1. NVRAM
  2. nvram
Вопрос 9

Сопоставьте понятие с его описанием:

  1. Memory locality (локальность)
  2. Prefetch
  3. NUMA locality (Non-Uniform Memory Acces)
  4. False sharing
  5. временная/пространственная близость обращений повышает эффективность кэширования
  6. аппаратная/программная подгрузка ожидаемых данных в кэш заранее
  7. размещение и обработка данных «ближе» к использующему их узлу для снижения удалённых доступов
  8. встречные записи разных потоков в одну кэш-линию вызывают «пинг-понг» инвалидаций и просадки
Вопрос 10

Расположите в правильном порядке шаги обработки первого доступа к странице файла при mmap, когда нужной страницы ещё нет в ОЗУ (оперативное запоминающее устройство) (demand paging):

  1. доступ к адресу вызывает page fault
  2. ядро считывает соответствующую страницу файла в кэш страниц
  3. таблицы страниц обновляются, запись попадает в TLB (Translation Lookaside Buffer)
  4. поток возобновляет выполнение и читает данные из памяти
Вопрос 11

В многопоточном игровом сервисе счётчики метрик лежат в одном массиве структур; под пиком наблюдаются резкие «зубцы» латентности и рост трафика по шине, профайлер показывает частые инвалидации одной и той же кэш-линии на разных ядрах. Что необходимо сделать в первую очередь?

  1. Разнести поля счётчиков по разным кэш-линиям (padding/alignas 64), использовать per-thread/шардированные счётчики с периодическим слиянием
  2. Увеличить размер heap и число аллокаций
  3. Включить глобальный мьютекс вокруг всех инкрементов
  4. Увеличить размер страницы до 4 КБ