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 УрО РАН.


 

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

18984. ПОМЕХОУСТОЙЧИВОЕ КОДИРОВАНИЕ 152.5 KB
  ПОМЕХОУСТОЙЧИВОЕ КОДИРОВАНИЕ. ОБЩИЕ ПРИНЦИПЫ ИСПОЛЬЗОВАНИЯ ИЗБЫТОЧНОСТИ ДЛЯ ОБЕСПЕЧЕНИЯ ПОМЕХОУСТОЙЧИВОСТИ КОДОВ. Для обеспечения высокой достоверности передачи информации по каналу с помехами применяют помехоустойчивое кодирование. Помехоустойчивы
18985. Предмет и метод экономической теории 1.02 MB
  ТЕМА 01. Предмет и метод экономической теории Учебные цели Пять что изучает экономическая теория. Изучить методы экономического анализа. Выяснить различия между нормативной и позитивной экономикой. Уяснить чем отличается микроэкономика от макроэконо
18986. Теория потребительского поведения. Закономерности развития потребительских предпочтений 1.04 MB
  Теория потребительского поведения Учебные цели Раскрыть содержание предельной полезности товара показать ее отличие от общей полезности и сформулировать закон убывающей предельной полезности. Уяснить правило максимизации полезности...
18987. Рынок труда. Понятие предельного продукта труда в денежном выражении 630.5 KB
  А. Титков УМК ЭТ Тема 10. Рынок труда Учебные цели Выяснить особенности спроса на труд. Определить понятие предельного продукта труда в денежном выражении и предельных издержек на труд. Выявить факторы определяющие изменение спроса на труд. Усвоить правил
18988. Распределение Максвелла 326.5 KB
  Лекция I 1. Распределение Максвелла. Статистическая физика изучает свойства макроскопических тел т.е. систем состоящих из огромного числа частиц. Например для аудитории с размерами учитывая что каждый моль воздуха занимает объем 224 л и содержит число Авогадро мол
18989. Квантовомеханическое описание 288 KB
  Лекция II 1. Квантовомеханическое описание. Казалось бы каноническое распределение Гиббса I.4.5 невозможно согласовать с требованиями квантовой механики так как обобщенные координаты и импульсы в соответствии с принципом неопределенности Гейзенберга не коммутирую
18990. Микроканоническое распределение 283 KB
  Лекция III 1. Микроканоническое распределение. Рассмотрим замкнутую макроскопическую систему занимающую объем и содержащую частиц. Как это следует из рис. III.1 любая макроскопическая система является замкнутой поскольку ее энергия практически не флуктуирует т.е. о
18991. Расчет с помощью программы “Fullprof” магнитной структуры магнетика. Магнитная структура DyB4 572.5 KB
  Давайте проведем расчет нейтронограммы соединения AB, для которого мы вручную рассчитывали нейтронограммы ядерного и магнитного рассеяния”. Как мы уже знаем, нейтронограмма должна содержать, по крайней мере, две фазы – ядерную и магнитную
18992. Работа и тепло 268.5 KB
  Лекция V 1. Работа и тепло. Обсудим физический смысл основного термодинамического тождества V.1.1 Поскольку давление – это средняя сила отнесенная к единице площади а изменение объема то второе с...