77324

ЭФФЕКТИВНОСТЬ НИТЕЙ В СИСТЕМАХ С ОБЩЕЙ ПАМЯТЬЮ

Научная статья

Информатика, кибернетика и программирование

Бахтерев ИММ УрО РАН Екатеринбург Традиционно считается что в системах с общей памятью разбивать вычисление на параллельно выполняющиеся задачи эффективней при помощи нитей а не процессов. Когда же уточняют то говорят о контексте исполнения связанным с TLB Trnsltion Lookside Buffer специальный кэш ускоряющий трансляцию виртуальных адресов в физические который нужно сбрасывать и заполнять новыми значениями при переключении процессора на исполнение разных процессов и которой можно не изменять при переключении на исполнение нитей одного...

Русский

2015-02-02

29.5 KB

0 чел.

ЭФФЕКТИВНОСТЬ НИТЕЙ В СИСТЕМАХ С ОБЩЕЙ ПАМЯТЬЮ

М.О. Бахтерев

ИММ УрО РАН

Екатеринбург

Традиционно считается, что в системах с общей памятью разбивать вычисление на параллельно выполняющиеся задачи эффективней при помощи нитей, а не процессов. Это обычно обосновывают тем, что переключения контекста исполнения процессора с процесса на процесс намного затратней, чем его переключение с нити на нить. Но говоря о таких затратах, редко уточняют, что именно представляет собой этот контекст исполнения. Когда же уточняют, то говорят о контексте исполнения, связанным с TLB (Translation Lookaside Buffer - специальный кэш, ускоряющий трансляцию виртуальных адресов в физические), который нужно сбрасывать и заполнять новыми значениями при переключении процессора на исполнение разных процессов, и которй можно не изменять при переключении на исполнение нитей одного процесса. Считают, что именно эти дополнительные операции с TLB делают нити более эффективными в сравнении с процессами. Однако в подобных рассуждениях не учтено следующее.

 1. Большинство архитектур процессоров с поддержкой виртуальной памяти позволяют хранить в TLB трансляции для разных процессов. Достигается это поддержкой сегментации или механизмов управления адресными пространствами. Такими были и процессоры SPARC, в операционной системе для которых (SunOS 4.x) впервые появился современный вариант нитей. Вероятнее всего, поддержка нитей была предложена компанией SUN действительно для решения проблемы с чрезмерно высокими накладными расходами переключения контекста исполнения процессора на новый процесс, но этот контекст был связан не с TLB, а с кэшами процессора, которые работали по виртуальным адресам. Но в современных процессорах такие кэши почти не встречаются.

2. Объём TLB ограничен. Поэтому обработка больших объёмов данных, которые обычно возникают в супервычислениях, требует и в случае нитей интенсивного обновления TLB в ходе расчёта.

3. Требуемое семантикой нитей общее адресное пространство «бесплатно» образуется только при выполнении нитей на одном процессоре (один TLB). Когда нити выполняются на множестве процессоров, то каждое действие с адресным пространством: выделение или освобождение памяти, расширение стека - требует согласованного управления TLB всех процессоров, задействованных в вычислении. А для этого управления необходимы выполнение критических секций и в некоторых случаях (например, освобождение памяти) прерывание работы нитей. Кроме этого, дополнительные накладные расходы могут быть связаны со сложностью структуры общего адресного пространства. Ведь, даже если программа не предполагает совместное использование некоторых областей этого пространства, их захват и освобождение должны быть согласованы между нитями. Каждый захват при этом усложняет структуру пространства и увеличивает время выполнения последующих операций с памятью.

Таким образом, с нитями и процессами связаны два типа накладных расходов. Со стороны процессов: большая интенсивность операций с TLB. Со стороны нитей: дополнительные сложности поддержки общего адресного пространства. Так как априори не ясно, при помощи какой математической модели можно определить, какой вид издержек менее затратен, мы сравнили эти накладные расходы экспериментально. Для этого были написаны многонитевая и многопроцессорная версии программ для 4-ёх вычислительных нагрузок: умножение матриц хранящихся как построчно, так и плиткой, управление памятью, расчёты с интенсивными обменами. Наши результаты показывают, что во многих случаях нити не только не являются более эффективным средством декомпозиции вычисления на задачи, но и существенно проигрывают в этой эффективности процессам.

Работа выполнена при поддержке программы Президиума РАН № 18 "Алгоритмы и математическое обеспечение для вычислительных систем  сверхвысокой производительности", а также проекта 12-П-1-1034 УрО РАН.


 

А также другие работы, которые могут Вас заинтересовать

19098. Цифровая обработка сигналов в частотной области. Дискретное преобразование Фурье 198 KB
  Лекция № 11. Цифровая обработка сигналов в частотной области. Дискретное преобразование Фурье. Дискретное преобразование Фурье ДПФ относится к классу основных преобразований при цифровой обработке сигналов. Дискретное преобразование Фурье по возможности вычисляе
19099. Цифровая обработка сигналов в частотной области. Быстрое преобразование Фурье 316.5 KB
  Лекция № 12. Цифровая обработка сигналов в частотной области. Быстрое преобразование Фурье. Нахождение спектральных составляющих дискретного комплексного сигнала непосредственно по формуле ДПФ требует комплексных умножений и комплексных сложений. Так как колич...
19100. Некоторые специальные возможност и Excel 467.55 KB
  После этого появится новое окно, где нужно ввести значения для указанных ячеек. Описанную операцию нужно повторить несколько раз для создания нескольких. Для того, чтобы заполнить ячейки значениями из конкретного сценария
19101. Устойчивость дискретных систем 199 KB
  Лекция № 13. Устойчивость дискретных систем. Линейная дискретная система с постоянными параметрами стационарный фильтр называется устойчивой если при любых начальных условиях и любом ограниченном входном сигнале выходной сигнал также остается ограниченным то е...
19102. Реализация алгоритмов цифровой фильтрации 281 KB
  Лекция № 14. Реализация алгоритмов цифровой фильтрации. Графическим представлением алгоритмов цифровой фильтрации являются структурные схемы. Структурную схему дискретной системы можно составить либо по разностному уравнению либо с помощью системной передаточн...
19103. Проектирование (синтез) линейных цифровых фильтров 144 KB
  Лекция № 15. Проектирование синтез линейных цифровых фильтров. Под проектированием синтезом цифрового фильтра понимают выбор таких коэффициентов системной передаточной функции при которых характеристики получающегося фильтра удовлетворяют заданным требовани...
19104. Проектирование фильтров с импульсной характеристикой бесконечной длины 174 KB
  Лекция № 16. Проектирование фильтров с импульсной характеристикой бесконечной длины. Фильтры с бесконечной импульсной характеристикой БИХфильтры коренным образом отличаются от КИХфильтров изза наличия обратной связи. Во первых они требуют проверки на устойчив
19105. Основные определения информационной теории измерений 115 KB
  Лекция №1. Введение. Основные определения информационной теории измерений. Цели и задачи курса: данный курс предназначен для освоения базовых понятий теории измерений и базовых принципов построения средств измерения физических величин. Курс знакомит с общими вопр...
19106. Структуры измерительных систем и их характеристики 225 KB
  Лекция № 2. Структуры измерительных систем и их характеристики. Для описания измерительных систем применяются структурные схемы состоящие из функциональных элементов функциональных блоков ФБ измерительных преобразователей ИП связанных между собой входными и вых