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


 

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

23431. Государственный строй ВКЛ в середине XIII – XIV в. Борьба за великое княжение 16.03 KB
  стал его старший сын от второй жены Ягайло. В начале своего правления Ягайло стремился продолжать политику своего отца. Однако старшие братья Ягайло от первой жены Ольгерда считали себя обиженными. Ягайло столкнулся с противодействием недовольных князей группировавшихся вокруг полоцкого князя Андрея.
23432. Сближение ВКЛ с Польшей. Кревская уния 1385 г.: причины, условия и последствия 13.26 KB
  Выбор остановился на Ягайло. Вопервых Ягайло также был заинтересован в союзниках которые помогли бы ему сохранить власть. Втретьих если бы Ягайло крестил Литву в католичество это подняло бы авторитет поляков так как им удалось бы сделать то что до сих пор не удавалось немцам. Согласно унии польские послы обещали Ягайло отдать в жены польскую королеву Ядвигу а с нею и польскую корону.
23433. Изменения в государственном строе ВКЛ в XV – первой половине XVI 16.37 KB
  Изменения в государственном строе ВКЛ в XV первой половине XVI В начале XV века власть в ВКЛ стала практически принадлежать Витовту. При нем государственный строй ВКЛ представлял собой неограниченную монархию власть одного правителя в государстве. Витовт продолжая добиваться независимости ВКЛ от Польши стремился разорвать свои зависимые отношения с польским королем Ягайло. Была подписана Городельская уния союз между ВКЛ и Польшей.
23434. Жизнь и занятия первобытных людей на территории Беларуси 19.7 KB
  Жизнь и занятия первобытных людей на территории Беларуси Первые люди неандертальцы на территории Беларуси появились примерно 10035 тыс. Светиловичи Ветковского районов которые датируются 2623 тыс.КАМЕННЫЙ ВЕК 100 тыс. 3 тыс.
23435. Восточнославянские племена на территории Беларуси: расселение, общественные и хозяйственные отношения в VI-IX веках 17.07 KB
  В раннем железном веке область расселения балтов на территории Беларуси составляла бассейны рек Немана Западной Двины Верхнего Поднепровья. происходит массовое расселение славян на территории Беларуси междуречье Припяти Днепра Западной Двины. Образуются союзы племен: кривичи место расселения верховье Днепра Западной Двины и Волги дреговичи бассейны Припяти и Двины радимичи юговосточная часть современной Беларуси восток Гомельской и Могилевской области.Место расселения восточнославянских племен на территории Беларуси это:...
23436. Полоцкое княжество в IX-XI вв. Княжеско-вечевой строй 17.26 KB
  Еще при жизни Всеслав распределил отдельные княжества Полоцкой земли между семью своими сыновьями которые начали междоусобную борьбу. в общественнополитической жизни Полоцкой земли происходят значительные изменения. на севере и западе Полоцкой земли появились немецкие рыцарикрестоносцы которые захватили полоцкие города Кукенойс и Герцике. Начинается период развития Полоцкой земли в союзе с Литвой в новом государстве ВКЛ.
23437. ФИЗИОЛОГИЯ РАСТЕНИЙ 6.3 MB
  Малиновский ФИЗИОЛОГИЯ РАСТЕНИЙ Владивосток 2004 УДК 581.1 Физиология растений. В учебном пособии кратко изложены основные разделы физиологии растений: физиология растительной клетки водный обмен минеральное питание фотосинтез брожение и дыхание гетеротрофное питание транспорт и выделение веществ рост и развитие движения растений механизмы защиты растений от факторов внешней среды в том числе и от патогенов. Особенности водного обмена у растений разных экологических групп .
23438. Способы построения, архитектура и обмен данными в цифровых сетях связи 1.2 MB
  Цифровые сети могут строиться на основе уже существующих проводных линий связи (медные, оптические), прокладываться специально выделенные линии, или строиться каналы беспроводной передачи данных. Архитектура сетей подразумевает различные технологии, протоколы...
23439. ФЕНОТИПИЧЕСКИЕ РЕАКЦИИ И ЭВОЛЮЦИОННЫЙ ПРОЦЕСС 428 KB
  Его обсуждение с дарвинистских позиций началось как известно с гипотезы органического или совпадающего отбора Моргана Болдуина выдвинутой на рубеже нашего века; в 30 40х годах в нашей стране к нему вновь было привлечено большое внимание благодаря работам таких исследователей как В. Одно из них унаследованное генетической теорией еще от вейсмановского неодарвинизма полагает что модификации или ненаследственные изменения в качестве таковых не имеют эволюционного значения и могут только замедлять темпы отбора если попадают в его...