Научная статья на тему 'Модель организации выполнения синхронных процессов в многопроцессорных системах и задачи их оптимизации'

Модель организации выполнения синхронных процессов в многопроцессорных системах и задачи их оптимизации Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
63
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ / ПРОЦЕССОРЫ / КАНАЛЫ ОБМЕНА / СИНХРОННЫЕ ПРОЦЕССЫ / ЗАДАЧИ ОПТИМИЗАЦИИ / MULTIPROCESSOR SYSTEMS / PROCESSORS / PEERING / SYNCHRONOUS PROCESSES / OPTIMIZATION PROBLEMS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Коваленко Н. С.

Предлагается модель организации выполнения синхронных процессов в рамках которой получены математические соотношения и формулы, позволяющие проводить расчёты оптимального соотношения числа каналов обмена и процессоров с учётом объёмов вычислений, решаются задачи минимизации времени непроизводительных простоев процессоров и каналов, оптимизации числа блоков обмена и счёта, при котором достигается минимальное значение общего времени выполнения всех процессов. Это, в свою очередь, является отправной точкой при разработке системных и прикладных программ.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Model of synchronous processes in multiprocessor systems and tasks of their optimization

Proposed model of synchronous processes in which mathematical formulas and ratios that allow calculations of optimum ratio of Exchange processors and channel light amounts of computations, solve Xia task of minimizing time unproductive downtime CPUs and channels, optimizing the number of blocks and Exchange accounts, where the minimum value of the total execution time of all processes is reached. This, in turn, is the starting point when designing the system and applications.

Текст научной работы на тему «Модель организации выполнения синхронных процессов в многопроцессорных системах и задачи их оптимизации»

УДК 004.4:51 DOI: 10.25513/2222-8772.2019.1.80-88

МОДЕЛЬ ОРГАНИЗАЦИИ ВЫПОЛНЕНИЯ СИНХРОННЫХ ПРОЦЕССОВ В МНОГОПРОЦЕССОРНЫХ СИСТЕМАХ И ЗАДАЧИ ИХ ОПТИМИЗАЦИИ

Н.С. Коваленко

профессор, д.ф.-м.н., e-mail: [email protected]

Белорусский государственный экономический университет, Минск,

Республика Беларусь

Аннотация. Предлагается модель организации выполнения синхронных процессов в рамках которой получены математические соотношения и формулы, позволяющие проводить расчёты оптимального соотношения числа каналов обмена и процессоров с учётом объёмов вычислений, решаются задачи минимизации времени непроизводительных простоев процессоров и каналов, оптимизации числа блоков обмена и счёта, при котором достигается минимальное значение общего времени выполнения всех процессов. Это, в свою очередь, является отправной точкой при разработке системных и прикладных программ.

Ключевые слова: многопроцессорные системы, процессоры, каналы обмена, синхронные процессы, задачи оптимизации.

Введение

Развитие вычислительного дела стратегически связано с параллельными вычислениями, так как это не только основной источник появления новых архитектурных решений и роста производительности вычислительных средств различного назначения, их надёжности и достижения требуемой точности результатов, но и источник принципиально новых математических проблем, в частности, синхронизации большого числа одновременно протекающих и взаимодействующих процессов, распараллеливания известных и создания принципиально новых алгоритмов, автоматизации процесса распараллеливания программ, их конструирования и оптимизации, разработки и математического обоснования новых (параллельных) операторов для языков программирования. Работа связана с проблемой отображения методов и алгоритмов на современные архитектуры вычислительных средств обработки информации и посвящена разработке способов реализации одновременно протекающих процессов, конкурирующих за использование ресурсов многократного применения (процессоры, память разных уровней, каналы и т. п.) [1,2]. Анализ показывает, что общее время реализации заданных объёмов вычислений в многопроцессорных системах (МС) существенно зависит от соотношения длительностей операций счёта и обмена,

порядка выполнения и количества блоков счёта и обмена, наличия достаточного числа каналов и др. [3,4].

Соответствующие задачи будем рассматривать в следующей постановке. Пусть МС характеризуется следующими параметрами: р — число процессоров (р ^ 2), каждый из которых имеет собственную локальную память; т — число каналов (т ^ 1), через которые процессоры имеют доступ к общей внешней памяти. Предполагается, что в МС одновременно выполняются р процессов, причём каждый из них состоит из 2в (в ^ 1) блоков, которые периодически повторяются в порядке: обмен, счёт. Заданы также времена обменов (Ь1, ¿2,..., ts) и времена счёта (Ть Т2, ... ,Т3). Предполагается, что число каналов ограничено (т ^ р), т. е. процессы конкурируют за использование каналов. Взаимодействие процессов с процессорами и каналами будет характеризоваться следующими условиями:

1) одновременно готовы к выполнению р процессов;

2) в каждый момент времени т процессов из р выполняются синхронно, без ожиданий, остальные в очереди ждут освобождения каналов;

3) во время счёта процесс монополизирует один и тот же процессор, во время обмена — канал;

4) очередной ]-й блок счёта на каждом процессоре выполняется только после завершения соответствующего ^'-го блока обмена, а каждый (] + 1)-й блок обмена выполняется после завершения ]-го блока счёта;

5) времена обменов (Ь1, Ь2,..., ¿8) и времена счёта (Т1, Т2, ... ,Т3) предполагаются одинаковыми для всех процессов.

Кроме того, процессы считаются равно приоритетными, а режим работы каналов является циклическим.

Схема взаимодействия синхронных процессов, процессоров и каналов представлена ниже на рисунке 1 в виде линейных диаграмм, на которых изображены две соседние диаграммы, соответствующие ]-му и (] + 1)-му блокам обмена и счёта. Здесь т — число каналов, р — число процессоров, — времена

обменов двух соседних блоков, а Т^, Т^+1 — времена счёта этих же блоков,

3 = 1,8 - 1.

1. Общее время выполнения синхронных процессов

Общее время выполнения р процессов, использующих т каналов, обозначим через Тр(т). Заметим, что при т ^ р в рамках принятой модели вычислений

общее время выполнения р процессов Тр(р) составит величину Тр(р) = +

3 = 1

+т3).

Если окажется, что т > р, то т — р каналов не будут задействованы.

Из физических соображений наибольший интерес представляет случай, когда число каналов ограничено, т. е. т ^ р, и р = кт, где к > 1 — целое число. Для нахождения общего времени выполнения р процессов Тр(т) при р = кт, к > 1, всё множество из р процессов разобьём на к групп по т процессов

Рис. 1. Линейная несовмещённая диаграмма взаимодействия двух соседних

блоков обмена и счёта

так, что m процессов в каждой группе будут выполняться строго синхронно. Это возможно в силу условий 1) - 5) и циклического режима работы каналов. Тогда при вычислении Тр(т) достаточно учитывать только по одному процессу из одновременного (параллельного) выполнения m блоков обмена и р блоков каждой группы. Далее отобразим взаимодействие р = km, k > 1, процессов на р процессорах с учётом одновременного (параллельного) выполнения m блоков обмена и р блоков счёта и их конвейеризации по процессорам и каналам соответственно в виде прямоугольной вершинно-взвешенной сети специального вида Gk. Сеть Gk полностью определяется матрицей весов вершин 93xs, которая имеет вид:

9ц 0\2... 9ij.. .dis

9 21 @22 .

631 ®32 .

е.

3х s =

e2j ...О

03з ...0.

2s

3s

где 611 = 0, d1j = max {ktj-1, tj-1 + Tj-1] , j = 2, s, 62j = (k — 1) tj, 93j = tj + Tj

3 = М.

Ниже приведена таблица 1, содержащая веса вершин сетевого графа Ск.

Таблица 1. Веса вершин сетевого графа

1 2 3 s

1 0 max[(fci1, i1+ +T1) max(ktj-1,tj-1+ +T3-1) max(kts-1,ts-1 + +Ts-1)

2 (к — 1)t1 (к — 1) t2 (k — 1) t, (k — 1) ts

3 U + Т1 t2 + T2 tj + T) ts + Ts

С учётом приведённых выше условий общее время выполнения р процессов Тр(т), использующих т каналов, будет определяться по формуле

Тр(т) = Ткрит. + о-. (1)

Здесь Т крит. (вп,в3з) — длина критического пути из вершины (1, 1) в вершину (3, в) сети Ск, величина а = Е тах {0, Т3- — (к — 1^3+1} представляет

3 = 1

собой суммарные «пролёживания» блоков обмена из-за занятости каналов при условии, что времена выполнения блоков обмена и счёта удовлетворяют соотношениям Ьз ^ Тз, ] = 1,5.

Для вычисления величины критического пути Ткрит. (6ц,03з), которая входит составной частью в формулу (1), в практических приложениях можно также воспользоваться следующей явной формулой: Ткрит. (вп,в3з) =

max

i<U<S

Е max (kj-i,tj-i + Tj—i) + (к - l)tu + E (tj + Ъ) , to = To = 0. Спра-

3=1 j=u

ведливость формулы проверяется индукцией по s. Трудоёмкость вычислений по формуле составляет 0(s) операций.

Если времена выполнения блоков обмена и счёта удовлетворяют соотношениям tj ^ Tj , то величина

S S— 1

Тр(т) = к ^ tj + Ts + ^ max {0, Tj - (к - 1) tj+i} . (2)

j=i j=i

Если же длительности времён выполнения блоков обмена и счёта удовлетворяют неравенствам Tj ^ (к - 1) max tj, то имеет место формула

KKS

S

Тр(т) = Yfri+т3) + (к -1) mx tj. (3)

j=i

Введём также в рассмотрение величину общего времени простоев каждого процессора из-за ограниченного числа каналов обмена

А(т) = Тр(т) - Тр(р). (4)

Тогда если времена выполнения блоков обмена и счёта удовлетворяют соотношениям tj ^ Tj, j = 1, s, или Tj ^ (к - 1)tj+i, j = 1, s - 1, то величина

To = 0.

А(т) = max

!<u<s

J^max {(к - 1) tj—i - Tj—i, 0} + (k - 1) tu .j=i

Если же длительности времён выполнения блоков обмена и счёта удовлетворяют неравенствам Tj ^ (к - 1) max tj, то А(т) = (к - 1) max tj. При

iC?Xs i^j^S

организации выполнения конкурирующих процессов в условиях ограниченного числа каналов возможны также вынужденные задержки блоков обмена (так называемые «пролёживания» блоков обмена, при их готовности к выполнению) из-за занятости процессоров счётом предыдущих блоков. Тогда суммарные вынужденные «пролёживания» блоков обмена а составят величину

s-2

a = max {0, Tj — (k — 1)tj+i]. Однако следует заметить, что если длитель-j=1

ности времён выполнения блоков обмена и счёта удовлетворяют неравенствам Tj ^ (к — 1) tj+i, j = 1, s — 1 и Tj ^ (к — 1) max tj, то величина a = 0.

Анализ приведённых выше формул для нахождения значений А(т) и a показывает, что в условиях дефицита каналов величины суммарных простоев процессоров и вынужденных «пролёживаний» блоков обмена во многом зависят от соотношения их длительностей между собой.

2. Задача балансировки числа каналов и процессоров

Задачу об оптимальной балансировке числа каналов обмена и процессоров изучим на классе стационарных процессов. Процесс будем называть стационарным, если времена выполнения блоков обмена и счёта удовлетворяют условиям Тх = Т2 = • • • = Т3 = Т, tl = = • • • = = Ь. Для класса стационарных процессов из формул (1) - (4) и соотношений для нахождения величин А(т) имеют место следствия.

Следствие 1. Для класса стационарных процессов общее время выполнения р процессов Т£т-(т), конкурирующих за использование т, т > 1, каналов обмена при р = кт, где к > 1, составляет величину

{

ст, ^ I kst + Т, если (к — 1) t ^ Т; 1р 1 (к + s — 1) t + sT, если (к — 1) t ^ Т.

Следствие 2. Для класса стационарных процессов общее время простоев А (т) каждого процессора из-за ограниченного числа каналов обмена со—, ч \ (к — 1) st — (s — 1) Т, если (к — 1) t ^ Т; ставляет величину А(т) = <

( (к — 1) t, если (к — 1) t ^ Т.

На практике значительный интерес представляет задача нахождения минимального числа каналов обмена, обеспечивающих реализацию заданных объёмов вычислений с минимальными простоями процессоров из-за занятости каналов. Ответ даёт следующая теорема.

Теорема 1. Минимальное число каналов обмена т0, необходимых для выполнения р, р ^ 2, стационарных процессов при заданных T,t c минимальными простоями, определяется из соотношения т0 = ' Здесь

[а] — целая часть числа а.

Доказательство. В силу следствия 2 величина минимальных простоев процессоров и, следовательно, ожиданий процессов равна одному из значений (к — 1) t, если (к — 1) t ^ Т или (к — 1) st — (s — 1) Т, если (к — 1) t ^ Т. Тогда имеет место следующее соотношение (к — 1) st — (s — 1) Т = (к — 1) t. Из последнего равенства после несложных преобразований получаем к — 1 = Тft. Откуда с учётом условия р = km, к > 1, и следует формула из теоремы. ■

Рассмотрим несколько характерных случаев, которым могут удовлетворять времена счёта и обмена для класса стационарных процессов.

Пусть времена счёта и обмена удовлетворяют условию Т = аЬ, а > 0. Тогда в силу теоремы 1 справедливо следствие 3.

Следствие 3. Минимальное число каналов обмена т0, необходимых для выполнения р, р ^ 2, стационарных процессов при заданных Т = аЬ, а> 0, c

минимальными простоями, определяется из соотношения т0

Р

1 + а

Пусть далее времена счёта и обмена удовлетворяют условию Т = оЪ2, а > 0. Тогда в силу теоремы 1 справедливо следствие 4.

Следствие 4. Минимальное число каналов обмена т0, необходимых для выполнения р, р ^ 2, стационарных процессов при заданных Т = а.Ь2, а > 0,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Р

c минимальными простоями, определяется из соотношения т0

3. Задача минимизации числа блоков

1 + at

Будем предполагать, что в рамках введённой выше модели макроконвейер-ной организации вычислений взаимодействие процессоров, каналов обмена и

п

процессов заданы следующие величины: а = Е tj — суммарное время обменов

j = 1

п

и ft = Е Tj — суммарное время счёта (a, ft > 0, s ^ 1). Предполагается также,

j=i

что длительности времён счёта и обмена удовлетворяют неравенствам

Tj > (k — 1) max tj. (5)

Тогда в силу формул (2) и (3) имеет место теорема 2.

Теорема 2. Если времена счёта и обмена удовлетворяют условиям (5)

п п

и заданы величины а = Е tj и ft = Е Tj, то для каждого фиксированного

j=i j=i

s минимальное значение Тр (т) достигается на классе процессов, времена обмена которых удовлетворяют условиям tj = a/s, j = 1,s, а само минимальное значение общего времени

Тр(т) = а + ft + (k — 1) a/s. (6)

Доказательство. В силу условий теоремы и с учётом (5), для вычисления величины Тр(т) имеет место следующая формула: Тр(т) = a+ft+ (k—1) max tj.

l^j^s

Пусть времена обменов удовлетворяют условиям tj = a/s, j = 1,s. Тогда из предыдущего соотношения для вычисления Тр(т) имеет место формула (2). Покажем далее, что величина Тр(т) ^ Тр(т). Рассмотрим разность

Тр(т) — Тр(т) = (к — 1)1 max tj — a/s) и покажем, что она не может быть

\1<Ks у

отрицательной. Действительно, относительно правой части последнего соотношения имеет место неравенство (к — 1) ^max tj — a/s^ ^ 0, так как max tj ^

Введём в рассмотрение следующие параметры: £\,£2 > 0 — времена дополнительных затрат (накладные расходы) на организацию параллельного выполнения каждого из блоков обмена и счёта соответственно. Тогда в силу теоремы 2 имеет место следствие.

Следствие 5. Если времена счёта и обмена удовлетворяют условиям (5)

п п

и заданы величины а = tj и ft = Y1 Tj, а также £\,е2 > 0, то величина

3=1 3=1

Тр(т) общего времени определяется по формуле

Тр(т) = а + ft + (£1 + £2) s + (k — 1) £1 + (k — 1) a/s . (7)

Докажем далее следующую теорему, из которой следует решение задачи об оптимальном числе блоков s0, при котором достигается минимальное значение общего времени выполнения всех р процессов.

Теорема 3. Если времена счёта и обмена удовлетворяют условиям (5)

п п

и заданы величины а = tj и ft = Tj, а также е1,е2 > 0, то величина

3=1 3=1

минимального значения Тр(т) достигается на классе процессов, величина обменов которых удовлетворяет условиям tj = a/s0, j = 1,s, где s0 выбирается из двух чисел ^^ + 1} по условию наименьшего значения функции

. Здесь [х] означает наибольшее

гр / \ .. 1-, ,(к - 1) а

Тр(т), причем в1 = шах < 1, --—

[ [V £1 + £2

целое число не превосходящее х.

Доказательство. В (7) заменим ^ на х и введём в рассмотрение функцию действительного аргумента $ (х) = а + /3 + (£1 + £2) х + (к — 1) е1 + (к — , х ^ 1.

X

П Кк—г)^ „

Покажем, что точка х = \- является точкой локального минимума

\ £1 + £2

а

функции f (х). Очевидно, что первая производная /' (х) = е1 + £2 — (к — .

_ X2

ГС^^ТТа

Из равенства /' (х) = 0 получим стационарную точку х = \ -. Да-

V £1 + £2

2 (к — 1) а

лее /" (х) = -3- > 0, так как к > 1, а > 0, х ^ 1. Следовательно,

х* = х = а является точкой локального минимума функции f (х). Це-

лочисленные точки, в которых достигается наименьшее значение Тр(т), будут в = [ж*] или ^ = [ж*] + 1. Тогда в качестве з0 можно выбрать одно из чисел , в1 + 1}, где в1 = [х*]. Если же окажется, что ни одна из точек , в1 + 1} не принадлежит [2,р\, то з0 = 1. Последнее означает, что минимальное значение общего времени выполнения всех р процессов достигается только при условии, что каждый из р процессов состоит из одного блока. ■

Заключение

Построенная модель и проведённый анализ позволяют непосредственно проводить расчёты оптимального соотношения числа каналов обмена и процессоров с учётом объёмов вычислений, минимизировать время непроизводительных простоев процессоров и каналов в МС, получить решение задачи об оптимальном числе блоков обмена и счёта во, при котором достигается минимальное значение общего времени выполнения всех р процессов. Это, в свою очередь, может послужить отправной точкой при разработке системного и прикладного программного обеспечения.

Литература

1. Воеводин Вл.В. Распределённая обработка данных // Вторая сибирская школа-семинар по параллельным вычислениям: сб. науч. тр. ТГУ, 2004. С. 3-9.

2. Топорков В.В. Модели распределённых вычислений. М. : Физматлит, 2004. 320 с.

3. Коваленко Н.С., Павлов П.А. Математическое моделирование параллельных процессов. LAP LAMBERT Academic Publishing GmbH, Saarbrucke.n, Germany, 2011. 246 c.

4. Коваленко Н.С. Макроконвейерная реализация асинхронных конкурирующих процессов при ограниченном числе каналов обмена // Кибернетика и системный анализ. 1998. № 5. С. 150-158.

MODEL OF SYNCHRONOUS PROCESSES IN MULTIPROCESSOR SYSTEMS AND TASKS OF THEIR OPTIMIZATION

N.S. Kovalenko

Dr.Sc. (Phys.-Math.), Professor, e-mail: [email protected]

Belarusian State Economic University, Minsk, Republic of Belarus

Abstract. Proposed model of synchronous processes in which mathematical formulas and ratios that allow calculations of optimum ratio of Exchange processors and channel light amounts of computations, solve Xia task of minimizing time unproductive downtime CPUs and channels, optimizing the number of blocks and Exchange accounts, where the minimum value of the total execution time of all processes is reached. This, in turn, is the starting point when designing the system and applications.

Keywords: multiprocessor systems, processors, peering, synchronous processes, optimization problems.

References

1. Voevodin Vl.V. Raspredelennaya obrabotka dannykh. Vtoraya sibirskaya shkola-seminar po parallel'nym vychisleniyam: sb. nauch. tr., TGU Publ., 2004, pp. 3-9. (in Russian)

i Надоели баннеры? Вы всегда можете отключить рекламу.