Вы находитесь на старом сайте МЦСТ. Актуальный материал смотрите на новом сайте.

Оптимизация ядра ОС Linux для архитектуры Эльбрус с поддержкой NUMA

NUMA (Non Uniform Memory Access) – это способ организации взаимодействия процессоров с памятью, при котором процессоры группируются в объединяемые быстрыми каналами узлы, связанные с определенными областями общей памяти. Каждый процессор имеет доступ ко всем областям памяти, хотя времена доступа к памяти «своего» и «чужих» узлов заметно отличаются. Такой системе принципиально свойственна масштабируемость, ибо число узлов, а, следовательно, и объем разделяемой памяти могут многократно расширяться. В этом и состоит основное достоинство NUMA-платформ перед системами класса SMP (Symmetric Memory Processing), объединяющими процессоры на единой памяти через общую шину или коммутатор, – их возможности масштабирования существенно скромнее.

Многопроцессорный вычислительный комплекс Эльбрус-3S включает в себя четыре узла NUMA, в каждый из которых входит один процессор Эльбрус-S со своей областью общей памяти, подключенной через отдельную шину. Узлы комплекса связаны межпроцессорными линками.

Вычислительный комплекс Эльбрус-3S работает под управлением ОС Linux с ядром 2.6.14, портированным на архитектуру «Эльбрус». Поддержка NUMA в ядре ОС Linux реализована как в архитектурно-независимой, так и в архитектурно-зависимой частях. Логически все изменения в ядре можно разделить на две группы, одна из которых связана с поддержкой библиотеки libnuma, позволяющей управлять политиками выделения памяти для пользовательских задач, другая – с оптимизациями ядра ОС Linux для архитектуры «Эльбрус», предназначенными для ускорения его работы.


Подробнеее... Загрузить файл 

Содержание:

Введение
1. Политики выделения памяти. Поддержка библиотеки libnuma в ядре ОС Linux
2. Оптимизации архитектурно-зависимой части ядра ОС Linux
3. Алгоритм создания копий ядра на узлах Эльбрус-3S
4. Измерение среднего времени активизации процесса
5. Другие возможности оптимизации
Литература
Оптимизация ядра ОС Linux для архитектуры Эльбрус с поддержкой NUMA Оптимизация ядра ОС Linux для архитектуры Эльбрус с поддержкой NUMA

Описаны особенности поддержки NUMA в ядре ОС Linux для архитектуры «Эльбрус». Рассматриваются изменения в архитектурно-независимой и архитектурно-зависимой частях ядра, связанные с NUMA и реализацией библиотеки libnuma. Перечислены разработанные авторами методы оптимизации подсистемы памяти ядра, эффективные для NUMA платформ. Описан алгоритм оптимизации, суть которой – создание копий исполняемого кода и константных данных ядра на каждом узле NUMA машины с целью минимизации времени вызова функций ядра на всех узлах.

old.mcst.ru