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


 

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

74875. Операционный и финансовый рычаг 1.05 MB
  Соотношение постоянных и переменных операционных затрат предприятия позволяющее включать механизм операционного левериджа с различной интенсивностью воздействия на операционную прибыль предприятия характеризуется коэффициентом операционного левериджа который рассчитывается по следующей формуле...
74876. Управление инвестициями предприятия 370 KB
  Управление инвестициями предприятия Сущность и классификация инвестиций предприятия Основные задачи управления инвестициями Основные формы реальных инвестиций и особенности управления ими Виды инвестиционных проектов и основные требования к ним. Основные критерии оценки реальных инвестиционных проектов Инвестиции предприятия представляют собой вложение капитала во всех его формах в различные объекты инструменты его хозяйственной деятельности с целью получения прибыли а также достижения иного экономического или внеэкономического...
74877. Совершенствование навыков устного счета на уроках математики при решении примеров и задач на умножение 139 KB
  Анализ условия и вопросы к условию задачи составление плана решения задачи составление плана решения задачи какими действиями нужно найти значение величины; выполнение арифметических действий. Записать на доске краткую запись задачи...
74878. Письмове додавання і віднімання двоцифрових чисел 3.24 MB
  Подорожуючи і зустрічаючись з цими святинями упродовж уроку ми будемо розвивати в собі духовні скарби як вміння бачити відчувати чути памятати радіти торкатися любити використовуючи знання з математики. Національний дендрологічний Парк...
74879. Урок – подорож з математики в 2 класі. Складання таблиці ділення на 3. Складання задач за даним розв’язанням 135.5 KB
  Складання задач за даним розвязанням. Вправляти в умінні застосовувати випадки табличного ділення на 3 під час розвязання прикладів і задач. Продовжувати вчити складати обернені задачі задачі за даним розвязанням. Розвивати набуті математичні навички логічне мислення память уміння користуватися математичними термінами працювати в парах.
74880. Задачі на знаходження невідомого від’ємника. Знаходження значень виразів 151 KB
  Задачі на знаходження невідомого відємника. Ознайомити учнів із задачами на знаходження невідомого відємника; довести до свідомості учнів що задачі на знаходження невідомого відємника розвязуються дією віднімання; формувати вміння знаходити значення виразів...
74881. Читання, запис і порівняння чисел. Одноцифрові і двоцифрові числа. Попереднє і наступне число до даного. Додавання й віднімання одиниці. Одиниці вартості –гривня,копійка 282.5 KB
  Вправляти учнів у розв’язанні прикладів на додавання й віднімання одиниці; формувати вміння зіставляти результати власної роботи зі зразком;ознайомити з грошовою одиницею «гривня»; розвивати уміння складати й розв’язувати задачі;прищепити любов до рідної землі,збагачувати знання учнів Про Україну.
74882. Вправи і задачі на додавання і віднімання круглих десятків. Задачі на знаходження третього доданка 216.5 KB
  Вправляти учнів у додаванні і відніманні круглих десятків; удосконалювати вміння розв’язувати задачі на знаходження третього доданка; закріплювати обчислювальні навички учнів. Розвивати логічне мислення, пам\'ять, увагу, спостережливість, пізнавальні інтереси, творчі здібності, кмітливість, фантазію, емоції учнів за допомогою створення ситуації здивування, радості, зацікавленості
74883. Додавання і віднімання в межах 10. Зв’язок між додаванням і відніманням. Складання прикладів на віднімання з прикладів на додавання. Задачі на знаходження невідомого доданка 241 KB
  Формувати в учнів уміння визначати арифметичну дію за назвою результату дії; мобілізувати знання учнів про взаємозв’язок між діями додавання і віднімання; визначати зв’язок односюжетних задач на знаходження суми і невідомого доданка, розвивати логічне мислення, пізнавальні здібності учнів.