УДК 004: 519.854
ОБОСНОВАНИЕ МОДЕЛИ МНОГОУРОВНЕВОГО ПРОГРАММИРОВАНИЯ ДЛЯ ПОСТРОЕНИЯ РАСПИСАНИЙ ГРУППОВОЙ ОБРАБОТКИ ПАРТИЙ ДАННЫХ В КОНВЕЙЕРНОЙ СИСТЕМЕ ПРИ НАЛИЧИИ ОГРАНИЧЕНИЙ
© К.В. Кротов1
Севастопольский государственный университет, 299040, г. Севастополь, ул. Университетская, 33.
Для современных конвейерных вычислительных систем актуальной является задача построения расписаний обработки однотипных данных в составе партий при наличии ограничений на время функционирования системы. Решение данной задачи обеспечивается двумя этапами исследований: обоснованием модели многоуровневого программирования для построения расписаний групповой обработки партий данных при наличии ограничений, обоснованием методов формирования партий, групп партий и расписаний обработки данных в конвейерной системе. В данной работе реализован первый этап решения сформулированной задачи - обосновывается модель формирования расписаний групповой обработки партий данных при наличии ограничений, на основе которой в дальнейшем выполняется разработка соответствующих методов оптимизации.
Ключевые слова: многоуровневое программирование; конвейерная система; партии данных; ограничения на время функционирования системы; группы партий; расписания обработки партий.
VALIDATION OF A MULTI-LEVEL PROGRAMMING MODEL FOR SCHEDULING DATA SERIES GROUP PROCESSING IN A PIPELINED COMPUTING SYSTEM WITH CONSTRAINTS K.V. Krotov
Sevastopol State University,
33 Universitetskaya St., Sevastopol, 299040, Russia.
The task of scheduling the processing of similar data as a part of series under time constraint to the system operation is relevant for modern pipelined computing systems. Two research stages ensure the solution to this problem: it is validation of a multi-level programming model for making the schedules of data series group processing under constraints; and justification of the formation methods of series, groups of series, and data processing schedules in a pipelined computing system. The presented work implements the first stage of formulated problem solution: it grounds the model of forming the schedules of data series group processing under constraints, which serves the basis for further development of corresponding optimization methods.
Key words: multi-level programming; pipelining (pipelined computing system); data series; time constraints to system operation; groups of series; series processing schedules.
Введение. Выполнение программы в составе конвейерной системы предполагает, что она (программа) разделена на количество частей, которое соответствует числу сегментов в конвейере. Каждая сформированная таким образом часть программы закрепляется для выполнения за соответствующим ей сегментом конвейера [1]. Введем в рассмотрение обозначения: i - идентификатор типа обрабатываемых в системе данных; n - количество типов данных,
обрабатываемых в системе (i = 1, n); П - количество данных /-го типа, которые должны быть обработаны в системе. Данные i-го типа обрабатываются соответствующей им программой, индекс i соответствует программе, выполняемой в составе конвейера, обрабатывающей данные i-го типа. Однократное выполнение конвейеризированной программы i-го типа обеспечивает обработку одного элемента данных i-го типа. Если множество данных i-го типа содержит П элементов, то обрабатывающая эти данные программа должна быть выполнена в конвейерной системе П раз. Цель функционирования конвейерной системы состоит в обработке поступающих на ее вход данных выполняющимися в системе конвейеризированными программами. Программы, выполняющие обработку данных, находятся в оперативной памяти каждого из сегментов конвейера. Тогда управление вычислительным процессом в конвейерных системах связано с определением порядка запуска программ обработки данных на выполнение.
1
Кротов Кирилл Викторович, кандидат технических наук, доцент кафедры информационных систем, тел.: (978) 7303819, e-mail: [email protected]
Krotov Kirill, Candidate of technical sciences, Associate Professor of the Department of Information Systems, tel.: (978) 7303819, e-mail: [email protected]
Объемы вычислений на каждом сегменте различны, являются различными длительности выполнения программ при обработке данных соответствующих типов, поэтому может быть сформировано расписание выполнения конвейеризированных программ, представляющее собой порядок запуска программ на выполнение. Развитие подхода по конвейеризации обработки данных выполняющимися в многостадийных системах программами рассматривается в работах [2-4].
Постановка задачи управления вычислительным процессом предполагает, что при п1 > 1 (1 = 1, п) реализуется обработка однотипных данных (многократный запуск на выполнение соответствующих программ), поэтому обработка однотипных данных осуществляется в составе партий. Под партией подразумевается совокупность данных одного типа, обрабатываемая без переналадки конвейера на обработку партии данных другого типа. Характеристиками партии являются тип / и количество данных этого типа в партии. Партия является фиксированной, если в нее входят все данные /-го типа. В то же время партия может содержать не все П данных /-го типа, в этом случае в системе обрабатывается не одна, а несколько партий данных этого типа. Длительности интервалов функционирования системы при обработке данных являются заданными. В этом случае должны быть определены совокупности партий, обрабатываемые в течение задаваемых интервалов времени функционирования системы. Совокупность партий данных, обрабатываемых в течение одного интервала времени функционирования системы, названа группой партий.
Анализ публикаций показал, что современные методы теории расписаний позволяют формировать статические расписания обработки единичных данных разных типов при заданном количестве приборов в многостадийных системах с использованием различных критериев определения эффективных решений. В работах [5-8] выполнено решение классических задач теории расписаний обработки единичных данных в конвейерных системах при различных видах критериев и наличии директивных сроков окончания. При этом развиваются точные (ветвей и границ, ветвей и отсечений) и приближенные методы построения расписаний. В работе [9] выполнено решение задач теории расписаний без наличия ограничений на порядок выполнения операций с данными, предполагающий произвольный маршрут обработки. При этом развиваются точные методы построения расписаний обработки единичных данных для ограниченного числа приборов (2-4 прибора) - метод ветвей и границ, а также методы локальной оптимизации рассматриваемых решений (генетические алгоритмы, метод отжига и т.д.). Применению эвристических и приближенных методов посвящены работы [10, 11], где исследованы задачи формирования статических расписаний обработки единичных данных. Развитию классических постановок задач теории расписаний посвящены работы зарубежных авторов (например [12]). Решение задач обработки данных в партиях рассматривается в работе [13], однако указанные в ней методы построения расписаний предполагают формирование фиксированных партий при обработке данных на ограниченном количестве приборов. При построении расписаний обработки партий данных ограничения на длительности интервалов функционирования системы также не учитываются. В общем виде постановка задачи формирования расписаний обработки партий данных предполагает задание: произвольного количества сегментов конвейера, ограничений на время функционирования системы при обработке партий. Это обуславливает необходимость перехода к формированию эффективных составов партий и групп партий, обрабатываемых в течение заданных интервалов времени, расписаний обработки партий.
Цель данной работы состоит в совершенствовании методов построения расписаний обработки партий данных в конвейерных системах, что связано с решением задач обоснования модели и методов определения эффективных составов партий, определения совокупностей партий, обрабатываемых в течение задаваемых интервалов времени функционирования системы (групп партий). При этом в основу разрабатываемых моделей и методов положен подход, связанный с локальной оптимизацией решений.
Обоснование модели вычислительного процесса обработки партий данных в конвейерной системе
Рассматриваемая задача является задачей с полной информацией: все параметры, характеризующие обрабатываемые данные (типы данных, количество данных каждого типа, длительности обработки данных и т.д.) и функционирующую систему (количество сегментов, дисциплина обработки данных, длительности интервалов времени функционирования системы и т.д.) являются заданными. Если через / обозначен идентификатор типа данных, обрабатываемых в системе, тогда через ^ обозначен момент времени поступления в систему данных каждого /-го типа (1 = 1, п). Для всех данных моменты времени их поступления на об -работку одинаковы (^ = 0). Обозначим через I индекс сегмента конвейера, осуществляющего
выполнение 1-й части программы, при этом I = 1,Ь, где ^ - количество сегментов в конвейере. Каждым сегментом конвейера выполняются вычисления, соответствующие назначенной для него части программы. Дисциплина обслуживания выполняемых в системе программ предполагает прохождение данными, которые они обрабатывают, всех сегментов конвейера, при этом, если 1-й сегмент приступил к выполнению /-й программы (к обработке данных /-го типа), обработка не может быть прервана. Выполнение на каждом 1-м сегменте назначенной ему части /-й программы характеризуется параметром длительности обработки данных, однозначно соответствующей объему выполняемых вычислений при интерпретации программного кода. Таким образом, в системе выполняется обработка п типов данных, при этом обработка реализуется последовательно на ^ сегментах конвейера. Так как п1 > 1 (1 = 1, п), тогда обрабатываемые данные группируются в партии.
Поскольку обработка партий данных разных типов выполняется с учетом ограничений на время функционирования системы, то для идентификации интервалов времени, задаваемых в качестве исходных параметров решаемой задачи, в рассмотрение введены следующие обозначения: щ - интервал времени, в течение которого реализуется обработка партий данных; I - количество интервалов времени (г = 1,2). Обработка партий данных при задании интервалов времени аы = 0 функционирования системы (г = 1,2) должна быть направлена
на осуществление операций на сегментах конвейера с максимальным количеством данных разных типов таким образом, чтобы ресурс времени системы использовался наилучшим образом (то есть время простоя сегментов конвейера при обработке партий, входящих в каждую
из групп, должно быть минимальным). Формирование партий данных /-х типов (1 = 1, п) вместо фиксированных партий позволяет получить более эффективное решение при учете ограничений на время обработки - интервалов (г = 1,2).
Выполнение обработки партий данных /-х типов (1 = 1, п) реализуется в течение заданных интервалов времени функционирования системы (г = 1,2), поэтому на основе решения по количеству и составам партий данных различных типов формируются группы партий, каждая из которых обрабатывается в течение одного из интервалов (должно быть сформировано I групп партий). Под группой партий подразумевается совокупность партий, обрабатываемых в течение одного интервала времени функционирования системы. При этом состав группы партий для каждого интервала функционирования системы (г = 1,2) определяется таким образом, чтобы обеспечить максимальную загрузку сегментов. В соответствии с полученным решением по составу групп партий требуется определить порядок обработки партий каждой из групп на сегментах конвейера, то есть расписания обработки партий соответствующих групп. Поскольку на длительность обработки групп партий (на длительность реализации расписаний) введены ограничения, то не все сформированные партии могут быть распределены по группам, не вошедшие в группы партии являются не обработанными. Коли-
чество обработанных в течение интервалов tz (г = 1,2) данных (количество обработанных партий в каждой из групп) зависит от числа и составов сформированных партий. Расписания обработки партий каждой из групп зависят от составов партий данных в этой группе. Таким образом, определение числа и составов партий данных различных типов, распределение партий по группам, построение расписаний обработки партий групп с учетом ограничений на длительность интервалов tz должно обеспечивать обработку максимального количества данных.
Входными параметрами для системы построения расписаний обработки партий в группах являются: типы данных, обрабатываемых в системе; количество п' > 1 (' = 1,п) данных каждого типа, которые должны быть обработаны в системе; длительности интервалов времени ^ функционирования системы при обработке данных; количество интервалов времени, в течение которых реализуется обработка. Формируемыми выходными решениями являются: составы партий данных /-х типов (' = 1, п); составы групп партий, обрабатываемых в течение интервалов времени tz (г = 1,2); расписания обработки партий данных каждой группы (виды последовательностей обработки партий каждой группы на сегментах конвейера). В итоге цель функционирования системы, связанная с обработкой партий данных в течение интервалов tz (г = 1,2), может быть представлена как совокупность иерархически упорядоченных целей подсистем (функций, решаемых на иерархически упорядоченных уровнях системы построения расписаний обработки партий данных). Формирование решений на уровнях системы построения расписаний обработки партий осуществляется следующим образом: первый уровень -решения по составам партий данных, второй уровень - решения по составам групп партий; третий уровень - решения по порядку обработки на сегментах конвейера партий, входящих в группы. Тогда задача построения расписаний обработки партий при наличии ограничений на длительности интервалов времени функционирования системы решается как задача теории иерархических игр [14, 15].
С целью формирования модели иерархической игры для построения расписаний обработки партий в рассмотрение введены следующие обозначения: щ - количество партий данных /-го типа (' = 1,п), формируемых на первом уровне принятия решений, параметры щ образуют вектор (М); (А) - матрица, элемент ай которой - это количество данных /-го типа в Л-й партии (к < щ), размерность матрицы (А)-п х ктах, где к™" = тах(Щ) (если к = щ +1,ктаах,
1<''<п
то = 0). Матрица (А) - матрица составов партий данных различных (/-х) типов, в которой индекс столбца Л идентифицирует партию. Решение, формируемое на первом уровне системы, имеет вид: [(М), (А)], где (М) - вектор количества партий данных /-х типов, (А) - матрица количества данных в соответствующих партиях. Через Ы* обозначим группу партий, обрабатываемых в течение одного из интервалов ^ (г = 1,2). Партии данных /-го типа в количестве щ могут входить в различные группы партий Ы* (г = 1,2). Через т* обозначим количество партий данных /-го типа в группе партий Ы*, через (А)* - вектор количества данных /-го типа в т* партиях в группе Ы* . Партии данных /-го типа, входящие в группу партий Ы* , определены с использованием набора параметров вида [',т*,(А)], тогда группа Ы* - совокупность наборов вида Ы* = {[',т*,(А)*\ | к = 1,кг}*, где кг - количество типов данных, партии которых входят в Ы*. При т* = 0 соответствующий набор параметров [', т* ,(А)* ] не входит в группу партий Ы*. Решение, формируемое на втором уровне системы - совокупность групп партий, имеет вид: {Ыг | (г = 1,2)}. При распределении совокупности партий данных /-х типов (пред-
ставленной в виде решения [(М), (А)]) по группам Ыг (г = 1,2) состав партий не изменяется (значения щ и а , поступившие с верхнего уровня, изменены быть не могут).
Расписание обработки партий группы Ыг обозначено как лг, оно представляет собой совокупность последовательностей л1 запуска партий на обработку на каждом 1-м сегменте конвейера (1 = 1,Ь). Каждой партии данных в последовательности л1 соответствует некоторая позиция, индекс которой обозначен через у. Тогда расписание лг имеет вид л7 = {л1,л,2 л3,...,лЬ}г. Расписание обработки партий лг формируется в предположении, что порядок обработки партий данных является одинаковым на всех ^ сегментах конвейера. Для формализации вида последовательностей л1 расписания лг в рассмотрение введена матрица порядка обработки партий в системе (Р)г; элемент р* = 1, если партия данных /-го типа
занимает у-ю позицию в последовательности л1; рг = 0, если партия данных /-го типа не занимает у-ю позицию в последовательности л1. Размерность матрицы (Р)г определена как к2 х п2р, где к2 - количество типов данных в партиях группы Ыг, пгр - количество партий в последовательностях л1 расписания лг. Порядок обработки партий группы на всех сегментах одинаков, поэтому достаточно определения одной матрицы порядка (Р)г. В рассмотрение введена матрица (К)г - матрица количества данных /-го типа в партиях, занимающих в последовательностях л1 у-е позиции (элемент г* - количество данных /-го типа в партии, занимающей у-ю позицию в л1). Решение, формируемое на нижнем уровне иерархии подсистем, имеет вид:
{[(Р У, (К У ] | г = 1,2} .
В общем виде модель иерархической игры при наличии ограничений и введенных обозначениях имеет вид:
1-й уровень - Л([М,^],{Ыг*|г = 12}) ^шт(шах), (1)
2-й уровень - /2({Ыг | г = 1,2},{[(Р)г,(К)г]* | г = 1,2}) ^шт(шах), (2)
3-й уровень - /3({Ыг |г = 1,2},{[(Р)г,(К)г]}| г = 1,2) ^шт(шах). (3)
Для формирования на нижнем уровне модели вычислительного процесса обработки партий данных, включенных в группы Ыг (г = 1,2), введены следующие обозначения: г\ - длительность обработки данных /-го типа на 1-м сегменте конвейера (1 = 1, Ь); (^)г - вектор длительностей обработки данных /-х типов, партии которых включены в группу Ыг (г = 1,2); 4 - длительность переналадки 1-го сегмента с обработки данных /-го типа на обработку данных к-го типа; 4 - длительность первоначальной наладки 1-го сегмента на обработку данных /-го типа; (4)г - матрица длительностей переналадок 1-го сегмента для типов данных, партии которых включены в группу Ыг; г п1 - момент времени начала обработки партии данных /-го типа, занимающей в последовательности л1 на 1-ом сегменте у-ю позицию; (4')2 - матрица
моментов времени начала обработки партий данных /-х типов, занимающих в л1 у-е позиции (для группы партий Ыг); - момент времени начала обработки данных, имеющих q-й порядковый номер в партии, занимающей у-ю позицию в последовательностях л1 (1 = 1,Ь);
(г0/)] - матрица моментов времени начала обработки д-х данных в партии, занимающей в К
jq
k.
у-ю позицию (д = 1,п],п] = £ г], где и] - количество данных в партии, занимающей ¡-ю пози-
цию в К). С использованием матриц (Р)2 и (г°/)] элементы матрицы (гП)2 определяются как
[гп/]] = р] •[г°/]], где г = 1,к2,1 = 1,п], [г°/]2 - момент времени начала обработки первых данных в партии, занимающейу-ю позицию в К.
Выполним дальнейшие рассуждения по обоснованию модели вычислительного процесса обработки партий данных в конвейерной системе и дальнейшему обоснованию вида критерия эффективности формируемых расписаний обработки партий для одной из групп N (опуская при этом индекс группы г в обозначениях параметров расписания и временных характеристик вычислительного процесса).
Формирование модели вычислительного процесса предполагает формализацию выражений для определения параметров гП, г0/ (г = 1,к, 1 = 1,п], 1 = 1,Ь). Для первого сегмента
(1=1) выражение для г01 формируются следующим образом:
1) если г 01 - время начала обработки данных с д=1 в партии, занимающей первую позицию в последовательности я1, гП - время начала обработки партии данных /-го типа, занимающей в я1 первую позицию, тогда г = = г\;
к
2) выражение ^гш рш определяет интервал первоначальной наладки первого сегмен-
Й=1
к]
та на обработку данных /-го типа, выражения (д-1)^г\-рм - время обработки предыдущих
h=1
ч1
(д-1) -х данных в этой партии, (г) - вектор длительностей обработки данных на первом сегменте, тогда значение г00 моментов времени начала обработки любых данных в первой парк
тии в я1, занимающих в ней д-ю позицию (1 < д < п], п] г]), определяется выражением
h=1
С =Ё 4 • Ры + (д-1)Ё г\ р;
й=1 к=\
3) если г^ - длительность переналадки первого сегмента с обработки данных /-го типа (первая позиция партии в я1) на обработку данных другого типа (вторая позиция партии в я 1), а г21 - момент времени начала обработки данных в первой позиции во второй партии (г2] - начало обработки партии данных /-го типа в п 1 (гП = г2 1)), тогда значение параметра г02 (г2п г ) вычисляется с использованием выражения
t п=10 1=i 4-phi + rl+1, (4)
h=1 h=1 • 2
где значение г) 11гер определяется следующим образом:
Дпер = .1
ti1,i2 tir}r' ,
\1г =11 рл =11 =1, кг
где 1 ! --
= ] | Р12 = 1 ] = 1, К
к2 к2
Выражение £ 4 ■ р\х + £ ■ 4 + ^П4' позволяет определить момент времени начала
к=1 к=1 1 2
к
обработки второй в я1 партии данных, выражение (д -1)£ 4 ■ р\2 - длительность обработки
П=1
данных, предшествующих данным в q-ой позиции в этой партии, тогда момент времени начала обработки q-х данных /-го типа в партии, занимающей вторую позицию в я1, определяется следующим образом:
# = к-ри4+С+(д-О^Ш- д=^. (5)
П=1 П=1 1 2 П=1
По аналогии с (4), (5) сформированы выражения для вычисления моментов времени начала обработки произвольнойу-ой партии в я1 и данных в q-х позициях в ней:
к2 1-1 кг }-1 I ч=£ 4 ■ р«+££4 ■ г1ч+£ с
П= /= п= п=1 П П+1 /Сг
Л к (6)
Г 01 = £ 4 ■ рк: + £ к ■ г/+£ ^ +(д -1) £ 4 • р\
п=1 /=1 п=1 п=1 п п=1 п
При 1=2 и у=1 значение г02 определяются как максимум из моментов времени окончания наладки (1=2)-го сегмента конвейера на обработку партии данных /-го типа в (/'= 1 )-ой пози-
кг
ции (£ 4' р&1) и окончания обработки данных с q=1 в партии с у=1 на предшествующем сег-
п=1
менте (41 + £^ ■ рм). Тогда Ж = шах(£ 'рм; + £А'рм). Значения 42 (д = 2,п*) для
п=1 п=1 п=1
данных в первой партии на втором сегменте определяются как максимум из моментов времени окончания обработки этих q-х данных на предшествующем сегменте и окончания обработки предшествующих данных на (1=2)-ом сегменте:
К К
42 = шах(42+£ 4 ■ рм; ^+£■ рм);■ ■ ■- = -+£ 4 ■ р^+£ А ■ рм) -
п=1 п=1 п=1 п=1
к,
где п= £ г* - количество данных в первой партии.
к
По аналогии сформированы выражения для определения ^ (д = 1,К, пр = )
1=1
вторая партия в п - в виде:
121=с=шах^ +£4 ■ ри+С ^+Ш);
К
г +'
Л=1 й=1
К
X22 = шах^02+£Г2р^;^+£А■ рп2); ■■■; 1^ = шах^-+£4-р^л2^+£4■ рп2).
п=1 п=1 п=1 п=1
1=1
В итоге сформированы выражения для г % (с учетом особенностей для и %,
l = 2,L, q = 1,nz, nZ = £r;) в виде:
h=1
t01 = t? = max(£th -pM;t10J"1 + £th-1- pM); h=1 h=1
tOl = j = max( j +±tl .phH +;t01 1 + £^ - p„);
^ J-1 J 1 * -
h=1
t oq = max(t oq_1 +^th-Phj ;t0q -1 + £th-1- Phj).
(7)
h=1
h=1
h=1
Полученные выражения представляют собой модель вычислительного процесса обработки партий данных /-х типов (I = 1,п) на 1-х сегментах конвейера (I = 1,Ь). Метод построения расписаний обработки партий данных на третьем уровне системы реализует «жадный» подход при решении задач, что предусматривает добавление партии рассматриваемого /-го типа
в конец последовательностей П (I = 1, Ь) и определение эффективного местоположения этой партии в П.
При формировании вида критерия эффективности построения расписания в основу рассуждений положена внутренняя цель функционирования системы, в соответствии с которой требуется минимизировать неэффективное использование ресурса времени конвейера при обработке партий групп. Тогда значение критерия при определении эффективной позиции рассматриваемой партии в П характеризует простои сегментов конвейера при обработке текущего количества партий, находящихся в последовательностях П (не всех партий, включенных в группу на втором уровне). В этом случае критерий эффективности расписания обработки партий должен учитывать:
а) длительность простоя сегментов в ожидании начала обработки партий данных (с учетом интервалов наладки, переналадки и последующего ожидания);
б) время простоя сегментов в ожидании готовности данных при их обработке внутри партий.
Простой 1-го сегмента в ожидании обработки первой партии в П (I = 1,Ь) равен значению , суммарное время простоя сегментов в ожидании начала обработки партий в П опре-
Ь
деляется выражением вида X¿и. Интервал простоя 1-го сегмента в ожидании начала обра-
I=1
ботки следующей партии после окончания обработки предыдущей определяется выражением вида:
,01 J1-
t
h=1
h,J-1
где % = 2, п2 , пг_, = X г2 ^ - количество данных в (¡-1)-й партии.
h=1
Суммарный простой 1-го сегмента в ожидании начала обработки ]-х партий (% = 2,п2р) определен как:
I
j=2
/11 -ti 1
J-1'"j-1 h=1
+ £ti - p
h, j-1
k
k
z
n
Тогда суммарной простой всех ^ сегментов в ожидании начала обработки партий определяется выражением вида:
L np
I I
¡=1 j=2
t 01 ■
Ol kz l
t i-\nz + 1 th ■ Ph, j-1 j 1,nj-i h=1
(8)
Простой 1-го сегмента в ожидании готовности к обработке данных, занимающих q-ю позицию в у-ой партии в л', определяется как разность между моментом времени ^Ч начала об-
к;
работки q-х данных и моментом времени окончания обработки ^-1)-х данных х),д-1 + £4 ■ рА/ и
h=1
вычисляется выражением вида:
t01 -
t ja
tj,q-i + Z th • phj
h=1
где д = 2, п*.
Тогда суммарный простой 1-го сегмента в ожидании готовности к обработке всех данных в у-ой партии в л1 вычисляется с использованием выражения
I
q=2
1 ja
tj,a-i
+ ±th • Ph,
h=1
(9)
z
где n* = Z
hj ■
h=1
На основе выражения (9) общий простой 1-го сегмента в ожидании готовности к обработке данных внутри всех партий в л1 определяется выражением
II
j=1 q=2
j 1 _
t ja
t j,q-1 + Ii th • phj
h=1
Тогда суммарный простой всех I сегментов конвейера в ожидании готовности данных внутри всех партий вычисляется выражением
III
¡=2 j=1 q=2
t j,q-1 +1 th' phj
h=1
(10)
Критерий эффективности решения на нижнем уровне иерархии для текущего количества партий, добавленных в л (1 = 1,Ь), учитывает суммарный простой сегментов конвейера при определении порядка обработки этих партий. При его формировании учтены выражение
Ь
для £ t01г, формулы (8) и (10). В этом случае критерий эффективности расписания обработки
i=1
партий, включенных в группу Ыг, имеет вид (индекс г в обозначениях параметров модели вычислительного процесса указан):
L L p
I (t01)z+I ZI
¡=2
¡=1 j=2
(t01)z -
(tj^ Г + !( • pZ
j-1 h=1
j-1
L "p -■]
I11
¡=2 j=1 q=2
(tja)z -
(tj!a-1)z + I(t • pj
h=1
(11)
n
Так как на втором уровне определяется эффективный состав каждой из групп партий Ыр (г = 1,2), то критерий на этом уровне характеризует общую эффективность использования ресурса времени сегментов конвейера при реализации обработки партий каждой группы Ыр в течение интервала гр. Суммарное время простоя сегментов при обработке партий группы Ыр определяется:
1) суммой длительностей интервалов наладки сегментов и возможного их простоя в ожидании начала обработки первой партии в ж1 (1 = 1, Ь), вычисляемой для ^ сегментов вы-
ь
ражением вида X г?1;
1=1
2) суммой длительностей переналадки сегментов с обработки данных одного типа на обработку данных другого типа, возможного простоя сегментов в ожидании обработки следующей в Ж партии, определяемой выражением (8);
3) суммой длительностей интервалов времени простоя сегментов в ожидании готовности данных при обработке партии внутри группы, определяемой выражением (10);
4) суммой длительностей интервалов простоя ^ сегментов после окончания обработки прр партий группы Ыр (сумма интервалов простоя сегментов после окончания обработки партий группы на стадии освобождения конвейера). Если прр - количество партий, входящих в
группу Ыр (индекс последней партии в группе), то пр2 - количество данных, входящих в по-
пр
следнюю партию, обрабатываемую в Ыр группе (индекс данных, являющихся последними в
партии с индексом пр), а (г0 * )р - момент времени начала обработки последних данных в
р пр ,п р
партии с индексом пр. В этом случае время окончания обработки этой партии на 1-ом сегмен-
_ р
те определяется выражением (г^ )р + Х(г[)р • рр
h=1
Время простоя 1-го сегмента после окончания обработки партий группы Ыр определя-
К _
ется выражением (гр -)р + £(А]) (р = 1,2),
h=1
а суммарный простой всех сегментов конвейера после окончания обработки партий группы Ыр вычисляется с использованием выражения
X С - )р + Х (4) р-р; пр ]). (12)
1=1 р 4 й=1 р
Общий простой сегментов конвейера при обработке партий одной группы Ыр определяется путем суммирования значений, получаемых с использованием выражений (8), (10) и (12). Критерий на втором уровне характеризует эффективность использования ресурса времени системы при обработке всех групп Ыр (р = 1,2), поэтому для него выполняется суммирование простоев конвейера при обработке каждой группы:
L
l=1 j=2
l=2 L „Р „Z
(t ;ii „z)z+x (th) z-pzk ; _i
i ^ "j-1 Й=1
+ZH
l=2 j=1 q=2
(t l) Z -
(t01)z -
(t0lq-l)Z + X (tlh)Z-pZhl h=1
Z (tz - [(tj „z)z+ X (th) z-pzh ]
l=1 „"' np h=1 h'„p
(13)
k
z
Z
L
n
z=1
Решение, формируемое для всех групп партий данных на втором уровне системы и передаваемое на первый уровень для вычисления значения критерия Л({Ы2* 17 = 1,2}), имеет вид _
{N |(7 = 1,2)},
где Ы2 = {[/, т2 ,(А)2 к = 1, кг}; (А) 2 - вектор количества данных /-го типа в т2 партиях в группе Ы2; к2 - количество типов данных, партии которых входят в Ы2.
Решение на первом уровне представляется в виде набора [(М),(А)], где элементы щ (1 = 1, п) соответствуют количеству партий данных /-х типов, элементы соответствуют ко-
личеству данных /-го типа в h-ой партии (h = 1,щ). При щ >£ш* не все партии данных /-го
z=1
типа были размещены в группах партий Nz (z = 1,Z). Партии данных /-го типа, не вошедшие в группы, будут размещены в множестве Q, которое представляет собой набор параметров:
q={[/, mq,(A)q ]k =i7k">,
где т^ - количество партий данных /-го типа, не включенных ни в одну из групп партий; (А)* - составы этих партий; к - количество типов данных, партии которых не включены в состав групп.
Общее количество данных /-го типа, которые распределены по партиям в соответствии
т
с решением [(М),(А)], определяется выражением вида £ай . Общее количество данных /-го
Й=1
типа, обрабатываемых в группах партий Ы2 (2 = 1,2), определяется выражением вида
2 т\ 2 т 2 т
££(а)2. В том случае, если щ >£т*, тогда (£ай -££(а)2) - это количество данных
2 =1 Й=1 2=1 Й=1 2=1 Й=1
/-го типа, распределенных по партиям, но не вошедших в группы партий Ы2 (2 = 1,2). На основе полученного выражения общее количество данных разных типов (1 = 1, п), включаемых в составы соответствующих партий на первом (верхнем) уровне, но не вошедших в группы партий Ы2 (2 = 1,2) для обработки, будет определено как
п т1 2 Щ
£ (£ -££ (а X).
1=1 Й=1 2=1 Й=1
В соответствии с выражениями (1)-(3) критерий на верхнем уровне характеризует эффективность решения [(М),(А)] на основе анализа как самого этого решения, так и решения
{Ы2* 12 = 1,2} со второго уровня иерархии. Тогда полученный вид выражения может быть использован в качестве критерия эффективности составов партий на первом (верхнем) уровне принятия решений.
Обозначение п2 соответствует индексу (номеру) данных, являющихся последними в
партии, занимающей некоторую j-ю позицию в последовательностях ж1 (l = 1,L; nz = £4).
h=1
Эти рассуждения могут быть распространены и на последнюю партию в последовательностях
Z
Ж (1 = 1 ,Ь). В рассмотрение введено обозначение (г01ь р )р для момента времени начала об-
пр • ппр
пр
работки последних данных в партии с индексом пр на ¿-ом сегменте конвейера. Тогда время окончания обработки этой партии на ¿-ом сегменте определяется выражением
к
)р + Е (гЬ).
пр' ппр ^Т ' р
пр 1=1
При задании значений интервалов гр (р = 1 ,2) ограничение на время обработки партий данных, входящих в группы Ыр, имеет вид:
к _
[(г0рЬ пр)р + £(гЬ)]<гр(р = 1,2).
пр' ппр ^Т 1 р
пр 1=1
Обобщая введенные выражения для критериев, представим модель многоуровневого программирования определения составов партий, групп партий и расписаний обработки партий в группах в следующем виде:
- первый уровень иерархии - определение составов партий данных /-х типов (1 = 1 , п):
п щ 2 Щр
т1П Л , Л = X (Х агН -ХХ (аг Уь ) ;
1=1 ь=1 р=1 ь=1
- второй уровень иерархии - определение составов групп партий Ыр:
/2 =Z
min /2
L L „p
Z (tu)z+Z Z
l=2
l=1 j=2
(fJ1)z -
+ZZZ
l=2 j=1 q=2
(tuq)z -
(t wz+z (th) z-ph
h=i
(t j-^)z+| (th)z-ph,j -i
Z (tz - [(tULn.)z+Z (th) z-p; „z ]
i=i
p' „p h=1
z=1
- третий уровень иерархии - определение последовательностей обработки партий в группах):
min /зг (z = 1, Z),
/3z=Z (tu)z+ZZ
l=2
l=1 j=2
(tj)z -
(j ^ )z+z (th)z • ph, ,-1
h=1
l=2 j=1 q=2
(tj)z -
(j-1)z + Z (th) h
h=1
Ограничения на длительность реализации расписания обработки партий группы Ыр (р = 1,2), задаваемые на третьем уровне иерархии, сформированы в виде
„
(tu, )z +Z (tL) z-pz
< tz
Выводы. Результатом выполненных исследований является сформированная многоуровневая модель построения комплексных расписаний обработки партий в группах
Nz (z = 1,Z) при ограничениях на время реализации выполнения операций с этими партиями данных. Достоинством использования сформированной модели является возможность определения:
1) эффективных составов партий (количество партий и число данных в них) таких, для которых общее количество обработанных данных разных типов будет максимальным (минимальное число необработанных данных);
2) эффективных составов групп партий, обрабатываемых в течение установленных интервалов времени, для которых общая эффективность использования ресурса времени сегментов конвейера будет максимальной (минимально неэффективное использование ресурса времени сегментов);
3) эффективного порядка обработки партий на сегментах конвейера.
При этом количество приборов в системе, количество групп партий, длительности обработки данных на сегментах являются произвольными (т.е. отсутствуют какие-либо начальные упрощающие условия при поиске решений).
Дальнейшие исследования выполнены в направлении формализации методов формирования комплексных расписаний групповой обработки партий при наличии ограничений на длительности интервалов времени функционирования системы, соответствующих сформированной модели. Реализована разработка методов локальной оптимизации для определения: эффективных составов партий данных на первом уровне иерархии, составов групп партий на втором уровне иерархии, расписаний обработки партий данных соответствующих групп на третьем уровне иерархии.
Статья поступила 02.12.2015 г.
Библиографический список
1. Хьюз К., Хьюз Т. Параллельное и распределенное программирование на С++ // пер. с англ. М.: Вильямс, 2004. 672 с.
2. Топорков В.В. Модели распределенных вычислений. М.: Физматлит, 2004. 320 с.
3. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб.: Изд-во «БХВ-Петербург», 2002. 599 с.
4. Сиротина Н.Ю. Параллельные вычислительные системы. Красноярск: Изд-во СФУ, 2008. 133 с.
5. Лазарев А.А., Гафаров Е.Р. Теория расписаний. Задачи и алгоритмы. М.: Изд -во МГУ им. М.В. Ломоносова, 2011. 222 с.
6. Теория расписаний. Задачи управления транспортными системами / А.А. Лазарев, Е.Г. Мусатова, А.Г. Кварцхелия, Е.Р. Гафаров. М.: Изд-во МГУ им. М.В. Ломоносова, 2012. 159 с.
7. Лазарев А.А. Методы и алгоритмы решения задач теории расписаний для одного и нескольких приборов и их применение для задач комбинаторной оптимизации: дис. ... д-ра физ.-мат. наук: 01.01.09. М., 2007. 426 с.
8. Садыков Р.Р. Алгоритмы решения задач теории расписаний для одного прибора с критериями Zmax и
£Wjüj : дис. ... канд. физ.-мат. наук: 01.01.09. М., 2006. 132 с.
9. Кобак В.Г. Методология сопоставительно-критериальной аналитической оценки распределительных задач и средства ее программно-алгоритмической поддержки: дис. ... д-ра техн. наук: 05.13.01. Ростов-н/Д, 2008. 319 с.
10. Гончар Д.Р. Методы планирования вычислений в САПР систем реального времени: дис. ... кан. техн. наук: 05.13.1. М., 2008. 140 с.
11. Долгова О.Э., Пересветов В.В. Составление расписаний с минимизацией суммарного запаздывания на одном приборе методом параллельных муравьиных колоний // Вестник ТОГУ. 2012. № 2 (25). С. 45-52.
12. Pinedo M.L. Sheduling. Theory, Algoritms and Systems. Springer Science+Business Media, LLC, 2008. 664 p.
13. Ковалев М.М. Модели и методы календарного планирования. Курс лекций. Минск: Изд-во БГУ, 2004. 63 с.
14. Петросян Л.А., Зенкевич Н.А., Семина Е.А. Теория игр. М.: Высш. шк., 1999. 300 с.
15. Гермейер Ю.Б. Игры с непротивоположными интересами: монография. М.: Наука, 1976. 326 с.