77280

THREAD EFFICENCY ON SHARED MEMORY SYSTEMS

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

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

Bkhterev IMM UrB RS It is trdition to think tht computtion decomposition into tsks executed in prllel on the shred memory systems is more effective with threds but not with processes. Usully this point of view grounds on tht the switching cpu execution context between processes is more expensive thn the switching between threds. If it is specified then it is execution context ssocited wit TLB Trnsltion Lookside Buffer which should be reset nd filled with new vlues when the processor is being switched between execution of different...

Английский

2015-02-02

22.5 KB

0 чел.

THREAD EFFICENCY ON SHARED MEMORY SYSTEMS

M.O. Bakhterev

IMM UrB RAS

It is tradition to think that computation decomposition into tasks executed in parallel on the shared memory systems is more effective with threads, but not with processes. Usually this point of view grounds on that the switching cpu execution context between processes is more expensive than the switching between threads. But telling about such an expenses they rarely specify what exactly this execution context is. If it is specified, then it is execution context associated wit TLB (Translation Lookaside Buffer), which should be reset and filled with new values when the processor is being switched between execution of different processes, and which may be left unmodified when being switched between threads of the same process. However, such reasoning does not take following into account.

1. The majority of processor architectures with virtual memory support allows to store in TLB translations for different processes. It is achieved with support of segmentation or address space management logic. And so was SPARC processors, in operating system for which (SunOS 4.x) for the first time there was introduced support for modern version of threads. Most likely, SUN Microsystems suggested thread support indeed to solve the problem with excessively high overhead of switching execution context between processes. But that context was associated not with TLB, but with processor's caches, which was virtually addressed. Such a caches are rarely found in modern processors.

2. TLB capacity is limited. So the processing of large volumes of data, which usually emerge in supercomputations, demands intensive updates of TLB during calculation in the case of threads usage too.

3. A common address space, assumed by the threads execution semantic, costs «nothing» only when threads are executed on uniprocessor (one TLB). When threads are executed on the set of many processors, for every operation with address space: memory allocation and freeing, stack expansion -- the coordinated TLB management on all processors, involved in computation, is needed. And that management demands execution of critical sections and even threads interruption in some cases (for instance, memory deallocation). Besides, additional overhead may be connected with common address space structure complexity. Even the program does not assume shared access to some areas of that space, their allocation and release should be coordinated between threads. Each allocation herewith complicates the space structure and increases execution time of the subsequent operations with memory.

Thus, there are two overhead kinds associated with threads and processes. From processes' side: greater operations with TLB intensity. From threads': additional complexity of common address space support. It is not clear a priori, which mathematical model allows to decide, which kind of overhead is less expensive. So we compared this overheads experimentally. For that purpose there were written multithreaded and multiprocessed versions of programs for four different computational loads: the multiplication of row-stored and tile-stored matricies, memory management, calculation with intensive data exchange. Our results shows, that in many cases threads are not only less effective tool for computation decomposition into tasks, but are significantly lose this efficiency to processes.


 

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

85278. Предложение. Виды предложений по цели высказывания 36.5 KB
  Цель: повторить и обобщить знания учащихся об основных признаках предложения, видах предложений, правилах оформления его на письме; обогащать словарный запас детей; развивать умения правильно интонировать предложение; воспитывать любовь к природе.
85279. Упражнения в распознавании типа склонений имен существительных 51 KB
  Цели: Познакомить детей с распознаванием типа склонения имен существительных стоящих в косвенных падежах. Обозначить падежи имен существительных. Автомобиль аккуратно интересный богаж гареть вперед вчира жилать директор газета Определите склонение имени существительного.
85280. Упражнение в определении склонений имен существительных 31 KB
  Задачи: Развивать умение определять склонение имен существительных, пользуясь алгоритмом рассуждения. Закреплять навыки определять падеж существительных. Развивать орфографическую зоркость, внимание. Воспитывать интерес к знаниям. Оборудование: опоры, таблицы, словари, учебники.
85281. Типы предложений по цели высказывания. Повествовательное, вопросительное, побудительное предложения 44.5 KB
  Задачи: дать представление о том какими бывают предложения по цели высказывания учить различать эти виды предложений и составлять их закреплять умения расставлять знаки препинания в конце предложений; развивать связную речь творческие способности воспитывать внимательное и бережное отношение к природе.
85282. Виды предложений 109.5 KB
  Цель: развивать умения, различать виды предложений и составлять их; учить расставлять знаки препинания; развивать связную речь; воспитывать любовь к языку. Проверка домашнего задания. Число,классная работа. Каллиграфическая минутка.
85283. Правописание слов с разделительными Ь и Ъ знаками 50 KB
  Цель: обобщить и систематизировать знания учащихся в написании слов с разделительными Ь и Ъ знаками; создавать условия для воспитания коммуникативной культуры и умения учащихся работать в паре в группе; развивать мышление школьников речь память внимание; формировать потребности в новых знаниях...
85284. Изменение имён существительных по вопросам. Наблюдение за ролью имён существительных в предложении 239.5 KB
  Цели: ознакомить с падежными вопросами имён существительных (без употребления термина), научить изменять существительные по вопросам, ознакомить с ролью имён существительных в предложении, развивать умение устанавливать связь слов в предложении, умение наблюдать, анализировать, обобщать...
85285. Предложение. Русский язык 284.5 KB
  Цель: проверить устные и письменные навыки учащихся по данной теме; развивать умение находить в предложении пары слов (словосочетания); составлять предложения и работать с текстом; воспитывать чувство прекрасного.
85286. Слова, противоположные по значению 51.5 KB
  Цель урока: Работать по теме урока. Формировать понятие об антонимах. Вырабатывать умение подбирать слова с противоположным значением. Развивать связную речь, память, мышление, познавательный интерес. Воспитывать эстетические чувства, доброту, отзывчивость.