Научная статья на тему 'Градиентный метод формирования динамических расписаний обработки данных в конвейерной системе при различных моментах времени их поступления и разных приоритетах'

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

CC BY
47
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОНВЕЙЕРНАЯ СИСТЕМА / CONVEYOR SYSTEM / ОБРАБОТКА ДАННЫХ / DATA PROCESSING / РАСПИСАНИЕ ВЫПОЛНЕНИЯ ПРОГРАММ / PROGRAMS EXECUTION SCHEDULE / ЖАДНЫЙ АЛГОРИТМ / GREEDY ALGORITHM / ДИНАМИЧЕСКОЕ РАСПИСАНИЕ / DYNAMIC SCHEDULING / ПРИОРИТЕТ / PRIORITIES

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

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Кротов Кирилл Викторович, Кротова Татьяна Юрьевна

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

Gradient method for construction dynamic data processing schedules in a conveyor system with various data arrival time and different priorities

Nowadays the task of handling of pipelined data using various priority programs is an actual task. High priority data is received for processing by the system at later time points. It interrupts the processing of the previously received low priority data on the conveyor segments. As the disturbance, it violates the planned course of the computational process. Reducing the effect of these disturbances is possible by building dynamic scheduling that accounts for entering the high-data system. The model of the computer data processing with different priorities, type of endpoint of generated dynamic scheduling, as well as a method of constructing dynamic scheduling along with the search for locally optimal solutions within the neighbourhood with a variety of metrics are executed for the task. The formulated method for constructing dynamic scheduling is based on the conditions that allow the determination the important data in the sequences on each segment of the pipeline. The order in these sequences can be changed, and the data order may be not. For data, for which the order of the processing sequences can be changed, a dynamic schedule based on the received high-priority data is arranged. Comparison of the results based on the dynamic scheduling that uses this method and the results of the build schedules, which use the heuristic rules is completed. The heuristic rules take into account the priorities for organizing data in a sequence of processing them on the conveyor segments. Studies have shown that this method for construction of the dynamic scheduling is 25-40 % more efficient then the procedure that uses heuristic rules that take into account these priorities.

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

Вычислительные технологии

Том 21, № 5, 2016

Градиентный метод формирования динамических расписаний обработки данных в конвейерной системе при различных моментах времени их поступления и разных приоритетах

К. В. Кротов*, Т. Ю. Кротовл

Севастопольский государственный университет, Россия *Контактный e-mail: krotov_k1@mail.ru

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

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

Введение

Конвейеризация программ обработки данных предполагает для выполнения закрепление за каждым сегментом конвейера определенных их частей [1]. Введем обозначения: i — идентификатор типа данных, обрабатываемых в системе; п — количество типов данных (i = 1 ,п); пг — количество данных г-го типа, которые должны быть обработаны. Данные г-го типа обрабатываются соответствующей им программой, тогда i — идентификатор программы, выполняемой в составе конвейера, обрабатывающей данные г-го типа. Фрагменты программ, выполняющих обработку данных, находятся в оперативной памяти каждого из сегментов конвейера. Однократное выполнение конвейеризированной программы г-го типа обеспечивает обработку одного элемента данных г-го типа. Постановка задачи управления вычислительным процессом предполагает, что пг = 1 (г = 1, п), реализуется обработка единичных данных. Обозначим через / индекс сегмента конвейера, осуществляющего выполнение 1-й части программы (/ = 1, L). Все сегменты конвейерной системы имеют равную и неизменную во времени производительность работы. Выполнение на каждом /-м сегменте назначенной ему части г-го типа программы

© ИВТ СО РАН, 2016

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

Через йг обозначим момент времени поступления в систему данных г-го типа (1, п), а через Щ — приоритеты данных, для которых ^ = 0. Данные с более высоким приоритетом, чем Кг, поступают на обработку в моменты времени ^ > 0, они прерывают обработку данных с ^ = 0. Для данных с ^ > 0 введем обозначение их типа как гпр, а приоритет гпр-го типа данных обозначим как К^пр. Запланированный для данных г-х типов (с йг = 0) ход вычислительного процесса подвергается возмущающему воздействию, соответствующему поступлению в систему в моменты времени ^¿пр > 0 данных гпр с приоритетом Д^пр > Д^.

1. Анализ существующих методов построения динамических расписаний

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

В работах [3-10] развиваются методы формирования динамических расписаний, среди которых рассматриваются как методы на основе эвристических правил [3-8], так и методы, позволяющие получать локально оптимальные решения [9, 10]. В работе [3] приводятся различные эвристические правила, позволяющие формировать статические расписания обработки данных, они могут быть использованы также при формировании динамических расписаний. Работа [4] имеет аналогичный характер, в ней рассматривается использование функций приоритета, позволяющих вычислять значения приоритета (веса) обрабатываемых данных, на основе которых эти данных упорядочиваются в очереди на обработку. В соответствии с этим реализуется определение эффективных (с точки зрения введенных критериев) эвристических правил и функций приоритетов при решении задачи построения динамических расписаний для данных, поступающих на обработку в различные моменты времени. Аналогичная задача решается в [5], где на основе эвристических правил реализуется упорядочивание данных в очередях на обработку и приводится анализ эффективности правил при решении задачи построения расписаний с динамической нагрузкой (поступление данных в различные моменты времени).

В работе [6] на основе имитационной модели определяются оптимальные значения параметров эвристического правила планирования загрузки многопроцессорной системы — значения уровня мультипрограммирования (количества задач, распределяемых по процессорам с учетом динамической нагрузки) и кванта времени процессора, выделяемого выполняемым задачам. То есть рассматривается эвристическое правило, реализующее планирование при поступлении данных в различные моменты времени, и способ определения его параметров. В [7] также исследуется применение эвристического правила, предполагающего сдвиг начала обработки данных как можно ближе к директивному

сроку окончания их обработки, для определения расписания обработки периодических и апериодических задач (т.е. задач, поступающих на обработку в различные моменты времени). Полученные с применением данного правила расписания содержат интервалы времени простоев обрабатывающих приборов, которые используются для обработки поступающих апериодических задач.

В [8] обосновывается применение эвристического правила для формирования расписаний обработки задач, взаимодействие которых представляется в виде параметризованного графа выполнения задач. При этом граф может быть дополнен вершинами, соответствующими динамически поступающим задачам, которые с использованием этого же эвристического правила распределяются по очередям обработки процессорных элементов.

В [9] реализуется применение одновременно эвристических правил для формирования начальных решений и аппарата генетических алгоритмов (ГА) с целью определения локально оптимальных решений при построении динамических расписаний. Генетические алгоритмы также используются для построения динамических расписаний в [10]. При этом учитываются динамические свойства расписаний: исключаются данные, обработанные к моменту поступления новых данных, и операции, завершившиеся к этому моменту; исключаются обрабатывающие приборы, занятые обработкой данных. Этот подход может быть использован при построении динамических расписаний обработки данных с одинаковыми приоритетами, поступающими в систему в различные моменты времени.

Таким образом, первая группа исследований связана с применением эвристических правил к построению динамических расписаний и направлена на определение эффективных правил (и их параметров) с точки зрения введенных критериев. Вторая группа исследований связана с применением ГА при решении задачи определения динамических расписаний. Этот подход не является универсальным, так как требует применения различных операторов ГА (мутации, скрещивания, селекции) при разных исходных данных для определения локально оптимальных решений. Применение одновременно всех возможных операторов ГА значительно усложняет процесс поиска локально оптимального решения. Так, эвристические правила, предложенные в [3, 4], могут быть адаптированы для построения расписаний обработки данных с разными приоритетами, поступающих в различные моменты времени. Все остальные методы реализуют формирование динамических расписаний обработки данных с равными приоритетами, поступающими в различные моменты времени. Поэтому решение задачи построения динамических расписаний при учете возмущающих воздействий, изменяющих ход вычислительного процесса (поступлении на обработку данных с высокими приоритетами в моменты времени ^пр), является актуальным.

Цель настоящей работы состоит в совершенствовании методов построения расписаний обработки данных в конвейерных системах. Совершенствование методов связано с разработкой подходов к формированию динамических расписаний, учитывающих влияние возмущающих воздействий (поступление данных с , г = 1 ,п, в моменты времени ^пр) на ход вычислительного процесса, реализуемый в соответствии со статическим расписанием. Это позволит осуществить построение динамических расписаний в конвейерных системах и снизить влияние возмущений. Для достижения этой цели необходимо выполнить решение задач: формирование модели оптимизации расписаний обработки данных и обоснование метода локальной оптимизации для построения динамических расписаний.

2. Обоснование модели оптимизации расписаний обработки данных в конвейерной системе

Особенностью решаемой задачи является задание двух групп данных, обрабатываемых в системе. Первая группа содержит данные п типов, для которых выполняются условия: 1) время поступления данных на обработку <1^ = 0 (г = 1,п); 2) приоритеты данных являются одинаковыми, Кг = К^. Вторая группа — данные гпр, поступающие на обработку в моменты времени ¿1пр > 0, значения приоритетов этих данных Кгпр > Кг (г = 1,п). При этом как значения приоритетов Щ данных г-х типов (г = 1,п), так и приоритетов Кгпр данных гпр задаются входными параметрами алгоритма построения расписаний, т. е. исходными параметрами решаемой задачи построения расписаний. Эти значения не изменяются в ходе реализации алгоритма (являются статическими). Значения приоритетов Кгпр данных гпр, поступающих в систему в моменты с1гпр, одинаковые. Тогда прерывание обработки данных гпр с приоритетом Щпр поступившими данными гПр с приоритетом К^пр невозможно (при > ^пр в силу К^пр = Кгпр). Фактически различаются две градации приоритета: низкий — для данных г-х типов (г = 1,п) с йг = 0, высокий — для данных гпр с ¿гпр > 0.

Управление вычислительным процессом состоит в определении порядка обработки данных на каждом из сегментов. Порядки обработки данных на сегментах определяют расписание обработки. Каждому из сегментов соответствует последовательность п1 обработки данных, расписание обработки данных определяется как совокупность последовательностей п1 (I = 1,Ь). Последовательность п1 (I = 1,Ь) для данных, поступивших на обработку в систему в момент йг = 0 (п типов данных с приоритетом Кг), имеет вид п = (г\, г12,..., г1п-1, {1п). Построение расписания предполагает определение эффективных с точки зрения введенного критерия видов последовательностей п1 (I = = 1,Ь). Данные гпр с приоритетом Кгпр прерывают обработку данных, входящих в п1 на каждом из сегментов конвейера, либо обрабатываются в течение интервала времени простоя сегментов. Тогда для данных гпр позиция в последовательностях п1 не определяется. Для формализации видов последовательностей п1 расписания п в рассмотрение введены матрицы Р1 (I = 1, Ь) порядков обработки данных в системе. Элемент р1- = 1, если данные г-го типа занимают в последовательности п1 ]-ю позицию, р1^ = 0 в том случае, если данные г-го типа в п1 ]-ю позицию не занимают. Матрицы Р1 (I = 1,Ь) имеют размерность п х п.

Для формализации вида модели вычислительного процесса обработки данных в конвейерной системе введены обозначения: Ь\ — длительность обработки данных г-го типа на I-м сегменте (/ = 1, Ь, г = 1, п); ^.¿пр — длительность обработки данных гпр на 1-м сегменте конвейера; {Ь^) — матрица моментов времени начала обработки данных г-х типов, занимающих в п1 ]-е позиции, через ^ обозначен момент времени окончания обработки данных г-го типа в ]-й позиции в п1. Значения элементов матриц (I = 1,Ь) определяются в соответствии с видом матриц Р1 следующим образом: ^ = 0 для элемента матрицы {10), который соответствует р1^ = 1. В случае р1^ = 0 соответствующий ему элемент ^ матрицы ('¿0равен 0. Для первого сегмента конвейера элементы матрицы

п 2 п

(г0*) определяются с учетом матрицы Р1: ¿01 = 0, 41 = Е ^Рм, г"1 = Е Е , 41 =

Н=1 j=1Н=1

3 п

Е Е ЦгРъ з и т. д. В общем виде выражение для определения ¿01 следующее:

3=1И=1 '

]-1 п

$ = ЕЕ ^Ья при (1)

я=1 Ь=1

Для 1-го сегмента (при I = 1) элементы матрицы (¿0') определяются выражениями вида:

а) первая строка (первая позиция для данных г-го типа, ] = 1)

п

% = Е ^ №1+О, (2)

Ь=1

где тип данных г определяется по матрице Р1 (I = 1,Ь) как занимающих первую позицию в последовательности п1 (г-й тип данных в позиции ] = 1 на 1-м сегменте);

б) ]-я строка (] = 1) в матрице (¿0') (I = 2, V) для данных г-го типа

!п п Л

Е№ (С-1 + О; Е 1Л + 4) ^ . (3)

Ь=1 Ь=1 )

Выражения (1)-(3) являются моделью вычислительного процесса обработки данных в конвейерной системе. Сформированное решение по порядку обработки данных имеет вид [р1 , (1%) 11 = !;!]•

Особенностями алгоритма определения расписания обработки данных, реализующего "жадный" подход [1], являются:

1) добавление на 5-м шаге данных г-го типа в конец последовательностей — 1) (/ = 1,Ь), сформированных на предыдущем (в — 1)-м шаге;

2) определение эффективных позиций рассматриваемых данных -го типа в каждой из последовательностей п1 (в) на текущем 5-м шаге алгоритма;

3) если изменение положения данных г-го типа в последовательностях п1 (I = 1,Ь) не приводит к уменьшению значения критерия, то реализуется изменение положения данных г-го типа одновременно в двух последовательностях п1 (I = 1,Ь), в трех последовательностях и т. д. Тогда для текущего решения реализуется переход к более эффективному решению в рамках его окрестностей с различными метриками.

В соответствии с особенностями алгоритма формирования расписаний обработки данных [1] на некотором -м шаге выполняется решение отдельной подзадачи добавления и размещения в последовательностях (I = 1,Ь) данных одного г-го типа, при этом на последующих шагах алгоритма предполагается решение подзадачи размещения в последовательностях п1 (I = 1,Ь) данных оставшихся (п — г)-х типов. Тогда на 5-м шаге алгоритма выполняется "жадный" выбор по определению локально оптимального решения (эффективных ]-х позиций в п1 (I = 1,Ь) данных г-го типа). На основе локально оптимального решения для данных -го типа формируется решение по определению позиций данных следующих (п — г)-х типов. Каждый последующий жадный выбор связан с добавлением в п1 данных одного типа, определением их позиций в последовательностях п1 (I = 1,Ь). Решение по размещению в п1 (I = 1,Ь) данных г-го типа формируется на основе локально оптимального решения, сформированного для данных предшествующих (г — 1)-х типов.

Данные не всех п типов одновременно находятся в последовательностях п1(в) (I = = 1,Ь), а только их текущее количество. Тогда для обоснования критерия эффективности решения приведем следующие рассуждения.

1. При £ Щр1^ > ^ (+ I-й сегмент конвейера ожидает готовности для

г=1 г=1 , ,

обработки данных в ]-й позиции после их обработки в (]-1)-й позиции. Длительность простоев I-го сегмента в ожидании данных, занимающих ]-ю позицию в последовательности п1, определяется следующим образом:

Л (4-01 I

3,'>

г=1 г=1

тогда длительность простоев I-го сегмента при выполнении текущего количества программ обработки данных, находящихся в п1, определяется выражением

^ ] ^0,гРг,3 } ](Ъ0_ 1,г +

(п п \

— (1,г + ¿г)Р1л_11 ■

г=1 г=1 )

I / У 3

3=2 \г=1 1=1

2. Для последовательности п1 простои первого сегмента в ожидании готовности данных отсутствуют, тогда суммарное время простоев (Ь — 1)-го сегмента конвейера будет определено выражением вида

Ь п

Е Е ( Е ^1^,3 — Е(1^ + ^г)Р1г,3_1

1=2 з=2 \г=1

3. Если данные занимают первую позицию в последовательностях п1 (I = 2,Ь), то для I-го сегмента (/ = 1) время ожидания готовности данных для обработки в первой

п

позиции определяется выражением ^ ,1р\1. Так как ЬЦ = 0, простои всех I-х сегментов

г=1 ,

__Ь п

конвейера (/ = 2, Ь) будут определены выражением ^ ^ Ь0^р111.

1=2 %=1 ,

В соответствии с приведенными рассуждениями вид критерия эффективности формируемых решений по порядку обработки данных в п1 (I = 1, Ь) следующий:

Ь п Ь п / п п \

¡ = ЕЕ+ ЕЕ Е^ — Е(<5_»+1)■ (4)

1=2 г=1 1=2 ¿=2 \í=1 г=1 /

Введем обозначение окрестности текущего решения с метрикой к ( к = 1, ктах), в которой выполняется поиск локально оптимального решения О к. Значение метрики к определяется как

п п

к = Е Е 1 (8 + д) — Рч(8) |/2

г=1 3=1

где д — индекс промежуточного шага алгоритма, на котором выполняется формирование нового решения + д) на базе текущего локально оптимального решения п(з).

3. Обоснование метода построения динамических расписаний обработки данных

Предложенный в [1] метод построения статических расписаний обработки данных в конвейерных системах является основой для обоснования метода построения динамических расписаний (с учетом поступления данных гпр в моменты времени с1гпр > 0). Использование одинаковых структур данных при построении статических и динамических расписаний позволяет унифицировать подход к решению рассматриваемых задач.

Для дальнейших рассуждений по обоснованию метода построения динамических расписаний выполнен переход к обозначениям данных и их позиций в последовательности п1 (I = 1, Ь) в виде , где ] — позиция данных г-го типа в последовательности п1. Поступление в систему данных гпр приводит к прерыванию обработки данных т}^ на соответствующих сегментах. В момент времени ^пр > 0 (/ = 1)-й сегмент конвейера немедленно приступает к обработке данных Iпр, прерывая обработку данных I1-. В момент ¿^ 1 (I = 2,Ь) оканчивается обработка данных гпр на (I — 1)-м сегменте, на 1-м сегменте прерывается обработка данных г^. Прерывание обработки данных ^ на I-х

сегментах конвейера (в моменты времени 4-1) продолжается до полной обработки данных гпр в системе. В силу того, что значение ^гпр > 0 определяется в момент поступления данных гпр на обработку и значения длительностей Ь' (I = 1, Ь) известны, могут быть определены моменты ¿0^ начала обработки данных гпр на I-х сегментах (I = 1, Ь):

Моменты времени начала обработки данных гпр определяются по (5), тогда моменты времени прерывания обработки данных гтакже вычисляются по (5). При преры-

г 01, И.

, где гI

вании данными гпр обработки данных ^ выполняется условие Е

моменты времени начала и окончания обработки данных г^. В случае выполнения этого условия при построении динамического расписания длительность обработки данных г^, занимающих в п1 j-ю позицию, и момент времени окончания обработки модифицируются следующим образом:

' = + % , ' = Т,. + % , (6)

^ у 1пр / \ ^ / 3 1пР

где — длительность обработки данных %-го типа на I-м сегменте; ^ — длительность обработки данных -го типа, используемая при построении динамического расписания.

Так как момент времени с1гпр > 0 поступления данных гпр на обработку задан и моменты времени начала обработки данных пр на -х сегментах вычисляются с использованием (5), при построении динамического расписания длительности обработки

данных г^ и моменты времени окончания их обработки Ь\ вычисляются по (6). В результате позиции данных гпр в последовательностях п1 (I = 1,Ь) не определяются, а при построении динамического расписания модифицируются значения Ьи Ь\..

01 +гп г п

с, К

и ^ Е

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

^пр

4-1 4-01

,

чр

то момент на-

Если для ¿9^ реализуются условия ¿0^ Е чала обработки данных пр на -м сегменте принадлежит интервалу времени простоя этого сегмента в ожидании начала обработки данных г-го типа в ]-й позиции в п1 после окончания обработки данных г '-го типа в (] — 1)-й позиции. Поскольку данные ^ являются следующими за гпр в последовательности п1, значения Щ изменяются следующим образом:

1 0П = г, если г0 < г <; и0П = г0г, если г0> > г. (7)

] / '

Решение задачи построения динамических расписаний обеспечивается рассмотрением последовательностей п1 полученного статического расписания, оптимизированного для данных п типов, в виде двух последовательностей — и п2 (п1 = и^2 (I = 1, Ь)). Последовательность образуют данные, обработанные и обрабатываемые к моменту

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

Для определения данных ^, включаемых в (I = 1,Ь), сформулированы условия следующего вида: г1-

а) данные г1Е , обработанные к моменту ¿гпр > 0:

+01 < л. +1 < л. ■

1 г^ < а^пр , < "»пр ;

б) данные г^ Е щ обрабатываются к моменту с1гпр > 0, но их обработка завершится к моменту Ь01пр (до поступления данных гпр на обработку на I-й сегмент конвейера):

*1 < ^пр, ^ >^пр, ^ < ; (9)

в) данные ^, обрабатываемые к моменту ¿гпр > 0, но их обработка к моменту Ь, т. е. к поступлению данных пр на обработку на -й сегмент конвейера, завершена не будет:

< <Лгпр, ^ < 4 ■ (10)

Значения Щ и Ь\ (I = 1,Ь) соответствуют статическому расписанию, значения ^^ (I = 1,Ь) вычисляются по формуле (5).

При выполнении условий Щ < ¿гпр, ^^ < данные являются "граничными" для последовательности и их длительность (момент времени окончания их обработки ^) модифицируется в соответствии с (6). Обозначив через г данные, которые являются "границей" последовательности п1^, эту последовательность можно представить в одном из следующих видов:

= {г[, г12,■■■, г\) , = {г[, %,■■■, г[, 4} , = {¿1, %,■■■,(&) 1, 4,«) ^ , (11)

где г^ (] = 1, д) — данные, порядок которых в п1 не может быть изменен; данные 11д — "граница" между последовательностями и п12; [г1^ и [г1^ — первая и вторая стадии обработки данных г 1д при прерывании их обработки данными гпр на I-м сегменте.

Для данных г, включаемых в последовательность п12, выполняются условие ^пр < Щ (данные ^ начинают обрабатываться на I-м сегменте после поступления данных гпр в систему) и одно из указанных ниже условий.

1. Обработка данных г^ завершается раньше поступления данных гпр на обработку на -й сегмент конвейера:

$ < , ^ < ^ при ^пр < ^ (12)

2. Обработка данных г1- будет прервана поступлением на обработку данных гпр (г = = 1~п):

$ < С, 4 > С при Фпр < ^ (13)

3. Обработка данных начинается после завершения обработки данных гпр:

< е ■ (14)

В результате для данных гЕ п12 выполняются условия:

а) ^гпр < Щ и условие (12), если в статическом расписании обработка данных ^ предшествует поступлению данных пр на -й сегмент конвейера;

б) пр < ^ и условие (13), если обработка данных т}^ на I-м сегменте прерывается поступлением данных пр;

пр

в) < ¿0 и условие (14), если обработка данных г1- выполняется после завершения

обработки данных пр. Выражения (12)-(14) при ¿гпр < Щ определяют условия включения данных ^ в п2.

Их порядок в п2 (I = 1,Ь) может быть изменен при построении динамического расписания.

Последовательности п2 (I = 1, Ь) в динамическом расписании при выполнении условия ¿гпр < Щ и условий, определяемых выражениями (12)-(14), имеют следующий вид:

а) данные гпр не прерывают обработку данных ^ в последовательности п2, а строго следуют за ними (в соответствии с условием (12)):

п2 = {\+1, ^пр, \+2, \+3, . . . , Ъп} ;

б) данные гпр прерывают обработку данных ^ в последовательности п2 (в соответствии с условием (13)):

п2 = 14+1,4+2,..., (4 К, 4р, (4) 2,4+1,4+2,..., 4

где ( 4) и (г1^ 2 — первая и вторая стадии обработки данных при прерывании этой обработки данными пр;

в) данные гпр не прерывают обработку данных ^ в последовательности п2 (в соответствии с условием (14)):

п2 = {\+1, \+2,... , 4, Ъ+1,... , ^п} . Данные, входящие в последовательность п2 (I = 1, Ь), могут занимать в ней позиции от (д + 1)-й до п-й (]-я позиция данных г-го типа, входящих в последовательность п2, определяется с точки зрения минимизации критерия (4) при условии д + 1 < ] < п). Позиции для данных гпр в последовательностях и п2 не определяются, для них по формулам (5) вычисляются значения ¿0^ (I = 1,Ь) при учете ¿гпр > 0.

Таким образом, если для данных г, входящих в (в п2), выполняется условие

№ е

г 01, г I.

то длительности обработки данных й модифицируются в соответствии

с (6). Если для данных ^, входящих в (в п2), выполняются условия ¿0^ Е

4-01 4-1 ,

и

е е

, то значение £для данных ij модифицируется по (7).

4-1, гг.

Построению динамического расписания с учетом обработки данных пр предшествует построение статического расписания для данных г-х типов с йг = 0 (г = 1,п). Для этого используется предложенный в [1] метод формирования расписаний обработки данных в конвейерных системах, который основывается на "жадных" стратегиях.

Перед построением динамического расписания выполняется реализация предварительных этапов:

• в статическом расписании для последовательностей п1 (I = 1,Ь) в соответствии с выражениями (8)-(10) и (12)-(14) определяются для каждого 1-го сегмента составы последовательностей и п2 (/ = 1,Ь);

• в последовательностях в соответствии с условием (10) определяются данные

г Е , являющиеся граничными для этих последовательностей. Для обоснования алгоритма построения динамического расписания в рассмотрение введено обозначение множеств Ы (I = 1, Ь) данных, порядок которых в последовательностях п2 (I = 1,Ь) на каждом 1-м сегменте будет определяться. Для каждого сегмента в соответствии с (12)-(14) формируется множество Ы (I = 1,Ь) данных, позиции которых в последовательностях п2 будут определены при построении динамического

]

расписания. Также введено множество Ыпр всех типов данных, которые в процессе построения динамического расписания будут размещены в последовательностях п2 (I =

= 1,1): Ыпр = б Ы.

1=1

Расчет значений критерия (4) возможен в случае, когда количество данных в последовательностях п1 (I = 1, Ь) является одинаковым, при этом в п1 размещены данные одинаковых типов. Поэтому способ формирования последовательностей п2 предусматривает реализацию двух этапов.

1. Размещение в последовательностях п2 (I = 1, Ь) данных г Е Ыпр таких, что г Е и г Е , где I = I' (данные г-го типа не входят в последовательность п1^ 1-го сегмента конвейера, но входят в последовательность другого /'-го сегмента). Определение в п2 эффективного положения этих данных (на первом этапе определяется

местоположение в п2 всех данных г, для которых перед началом построения ди-

( Ь

намического расписания выполняется условие г Е Ыпр П ( и

\г=1

А

2. Размещение в последовательностях п2 данных г-х типов, для которых перед по-

расписания выполняетс

(гЕЫпр)^г Е (и^!

строением динамического расписания выполняется условие

ь

■ I I ТТ ^

пр)

* * ,г=1

определение эффективного местоположения этих данных в последовательностях п2, т.е. размещение в п2 данных г-х типов, которые перед началом построения расписания не входили в последовательности ни на одном 1-м сегменте (I =

= 1ТЬ).

Для реализации первого этапа определения эффективных порядков обработки данных в последовательностях п2 введем в рассмотрение множество ЫПр данных г-го типа,

таких, что г Е Ыпр П ( и I, а также т! для данных, которые будут рассматриваться

М=1 )

на в-м шаге алгоритма, позицию которых в п12 обозначим как ]'.

Формирование начального решения по порядку обработки данных в п2 (I = 1,Ь) предполагает добавление данных г-х типов, для которых выполняются условия г Е Ы'пр и г Е (I = 1,Ь), т. е. данных, которые не входят в последовательность на этом сегменте, но содержатся в последовательности (I = /'). В силу приведенных рассуждений последовательность шагов алгоритма, реализующего формирование начального решения по составам последовательностей п2 (I = 1,Ь) для данных г Е ЫПр, имеет следующий вид.

1. Из ЫПрвыбираются данные г'-го типа в соответствии с условием г' = шт {г|г Е ЫПр}.

2. Для данных г'-го типа выполняется проверка условия г' Е (I = 1,Ь), в случае г' Е они добавляются в последовательность п2: п2 = п2 и {г'}, в результате данные занимают в п2 некоторую ]'-ю позицию (д < ]').

3. Для данных г '-го типа в ^ -й позиции в п2 (данных г'1-,) реализуется проверка усло-

вия прерывания их обработки на I-м сегменте данными гпр: Е

+01 +1

1 %'.,,1 %'., ] ] -I

. При

его выполнении значение длительности модифицируется в соответствии с (6).

Для данных т!1-, реализуется проверка условий ¿0^ при их выполнении модифицируется значение ¿0/ в соответствии с (7).

+01 +1

1 %'.,,1 %'., ■ ] -1

и ¿0г е

тр

, € . ] Л

4. После добавления данных г '-го типа в последовательности п12 они удаляются из множеств и Мпр: Кр = Кр\ {г1}; Кпр = Кпр\ {г'}. Проверяется условие Кр = 0. В случае его выполнения реализуется переход на шаг 1, при невыполнении все данные г-х типов ( г Е КПр) размещаются в п12 и происходит останов алгоритма.

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

После определения начального решения для данных г Е КПр осуществляется определение на его основе эффективных порядков их обработки. При этом последовательности п12 содержат данные в порядке возрастания значений идентификаторов этих типов. После формирования начального решения для последовательностей п12 количество данных в п1 (I = 1,Ь) одинаково.

Для определения эффективных порядков обработки данных в последовательностях

п12 на основе сформированного начального решения выполним повторную инициализа-

£

цию множества КПр следующим образом: Кр = и п12, тогда множество Кр — это типы

1=1

данных, которые размещены в последовательностях п12 и порядок которых в п12 будет изменен. Полученное множество КПр упорядочивается по возрастанию идентификаторов типов данных г Е КПр.

Для определения порядков обработки данных в последовательностях п12 использован подход, предложенный в [11-14]. В текущем локально оптимальном решении п рассматриваемые данные г '-го типа занимают в последовательностях п12 некоторую начальную позицию ]', которая в процессе поиска эффективного решения будет изменяться. В результате изменений -х позиций данных г '-го типа в п12 определяется окрестность О1 (п) текущего решения п (расписания обработки данных), состоящая из решений, отличающихся от исходного решения п тем, что в одной из последовательностей п12 данные г'-го типа (если они входят в эти последовательности) перемещаются на одну позицию ближе к началу. При одновременном изменении положения данных -го типа сразу в нескольких последовательностях п12 [1] выполнен переход к окрестности Ок(п) (к = 2,ктах). По аналогии с [1] на в-м шаге алгоритма данные г' перемещаются на одну позицию к началу в каждой последовательности п12 (г' Е п12) либо в совокупности последовательностей п12, количество которых определяется значением к (к =1, ктах).

В формируемых окрестностях Ок (п) (к = 1,ктах) реализуется определение более эффективных решений, чем текущее решение п. Затем для полученного нового локально оптимального решения также рассматриваются окрестности О к (п) (к = 1,ктах), состоящие из построенных в соответствии с описанным выше подходом расписаний. Если в сформированных окрестностях О к (п) более эффективное решение не найдено, реализуется переход к следующему типу данных г Е КПр, позиция ] которых в последовательностях п12 будет изменяться.

Для обоснования метода формирования решений по порядкам обработки данных в п12 введено множество Ь$ номеров сегментов, в последовательностях которых находятся данные рассматриваемого типа г1. Изменению подлежат позиции данных г'-го типа в последовательностях п12, для которых г' Е п12. Вид множества Ь$ следующий: Ь$ = {11,12, ■ ■ ■ , 1Ьз}, каждый индекс I последовательностей п12 такой, что г' Е п12, и имеет в множестве Ь$ соответствующий ему номер. Выполнено определение способа задания комбинаций индексов I (I Е Ь$) последовательностей п12, в которых на текущем шаге алгоритма изменяются позиции данных в соответствии с метрикой окрестности О к рассматриваемого решения п^). Определение индексов I последовательностей п12 (I Е Ьз), в которых выполняется изменение положения данных г', реализуется путем изменения значений их номеров таким образом, чтобы осуществить последовательный

перебор всех комбинаций этих индексов с учетом метрики . При достижении номерами индексов I Е Ь$ последовательностей п12 максимальных значений, задаваемых с учетом значения метрики , формирование новых решений, входящих в окрестность, заканчивается.

Расписание п*(в) характеризуется матрицами Р1 (в), (¿^(з)) (I = 1,Ь), поэтому ло-

Я/

кально оптимальное решение обозначим как \^Р1 (в); {Ъ0^(з)) II = 1,Ьу . Алгоритм оптимизации видов в последовательностях п2 имеет следующий порядок шагов.

л

1. Решение по порядкам обработки данных в последовательностях п2 (I = 1,Ь), по-

лученное после размещения в п2 данных г-х типов

(

ь

гЕКпр П (

1=1

определяется как локально оптимальное. Обозначим его как п*(з) и вычислим значение критерия f.

2. Из множества Кр выбирается тип данных г' по условию г' = ш1п {Е КПр}.

3. Формируется множество Ь$ номеров сегментов I, для которых г' Е п2. Изменению подлежат позиции данных г '-го типа в последовательностях п2, для которых 1еЬ$ . Определяются значения ]' позиций данных г' в последовательностях п2 (I ЕЬ$).

4. Значение метрики к окрестности Ок(п*(з)) решения п*(з), в которой будет выполнен поиск локально оптимального решения, задается равным 1.

5. Значение д индекса промежуточного решения инициализируется значением 1 ( в + д — номер промежуточного шага алгоритма, связанного с формированием решения по определению позиций данных г '-го типа в п2 на основе решения п*(з)).

6. Для каждого сегмента I (I Е Ь$) выполняется проверка условия (д + 1) < ]' (положение данных г' в п2 может быть изменено). При условии (д + 1) = ]' для последовательности п2 (I Е Ь$) ее индекс исключается из Ь$: Ь$ = Ь$\{}.

7. В соответствии со сформулированным способом определения индексов последовательностей п2 (I Е Ь$), в которых изменяется положение данных г'-го типа, в Ь^ выполняется идентификация индексов I тех последовательностей, которые рассматриваются на ( в + д)-м шаге алгоритма. Количество индексов I последовательностей соответствует значению метрики к окрестности О к решения п*(з).

8. Для определенных таким образом последовательностей п2 реализуется изменение положения данных -го типа на одну позицию ближе к их началу. Изменение -х позиций данных г' в п2 выполняется путем преобразования матриц Р1 (I Е Ь$) следующим образом: I = 1, Ь, (в + д) = 0, р'к,¿,-1(в + д) = 0, р1к,^,(в + д) = 1, где к' — индекс строки в матрице Р1, в которой элементы р1к, в (]' — 1)-м столбце равны 1 (на в -м шаге алгоритма — это предыдущая позиция для рассматриваемых данных, которую они занимают на ( + ) -м шаге). В результате формируются матрицы Р1 (в + д).

9. На основе матриц Р (/ = 1,Ь) выполняется расчет значений элементов матриц

) (^ = 1,Ь) на (в + д)-м шаге алгоритма. Для всех данных г-го типа и их позиций ] после вычисления значения ^ (соответственно значения ¿^ = ^ + ¿') вы-

полняется проверка условия прерывания их обработки данными гпр: Ь01 Е

¿01 я

Ьзг, ьзг

При его выполнении значение Ь\ (и значение модифицируется в соответствии с (6). Для данных г-го типа в ]-й позиции в последовательностях п12 для вычислен-

ного значения ¿0' выполняется проверка условий ¿0 ф

Зг

4-01

401 41

ЬЗг, ьзг

и г01 е

4-1 401

ь3-\,г, 1Ц

при их выполнении модифицируется значение ¿0' (и значение ¿^) с использованием (7). В итоге формируется решение (Рг( в + д), (¿01(з + д)) II = 1,Ь^, для которого рассчитывается значение /( в + д).

10. Для решений (р1 (в), (¿01(з)) II = ТХ) * и (Р1(в + #), (¿01(з + #)) = ЦЬ) вычисляются значения градиентов критерия / [15]: либо левого ( 5 ) = [ /( 5 + д) — /( 5 )] < 0, либо правого +УЙ/( 5 ) = [ /( 5 + д) — /( 5 )] > 0. В случае выполнения на ( з + д)-м шаге алгоритма условия ( 8) < 0 индекс д группы последовательностей ж1 добавляется в множество Щ индексов направлений отрицательных левых градиентов: Щ = Щ и {д}. В результате формируется множество Щ направлений д, для которых /( в) < 0). Реализуется изменение значения шага д: д = д + 1.

11. Реализуется проверка условия окончания формирования решений, входящих в окрестность О к (п*(в)). Это условие сформулировано при обосновании способа определения индексов I последовательностей п 2, в которых изменяется положение данных г '-го типа. При его выполнении реализуется переход к шагу 12, в противном случае (при возможности формирования дополнительных решений в окрестности Ок(п*(в)) с метрикой к) осуществляется переход на шаг 7.

12. Если Щ = 0, то реализуется переход к шагу 15. При Щ = 0 в множестве Щ выбирается направление д', для которого модуль градиента ( в ) < 0 максимальный: д' ^ тах (|-Уй/( 5 )|) при ( 5 ) < 0. Полученное решение [ Р1(в + д'),

д \

(¿01 ( 5 + </)) II = 1, Ь^ фиксируется как локально оптимальное, на основе которого формируются последующие решения:

[р1 ( Я), (¿01 ( в )) II = 1ТХ)* = (р1(8 + д'), (¿01 (а + </)) II = 1ТХ) .

Модифицируется значение номера шага алгоритма в = в + д. Значения индексов столбцов матриц (Р^, идентифицирующих местоположение в п12 данных -го типа для последовательностей, рассматриваемых на текущем шаге алгоритма, модифицируются: = — 1.

13. Выполняется проверка условия ( д + 1) < ]' для каждой последовательности

(I Ф Ь8).

14. При невыполнении условия (д + 1) < ]' для последовательностей п12 (I Ф Ь$), в которых осуществлялось изменение порядка данных на ( в + д)-м шаге алгоритма, индексы I исключаются из множества Ьз: Ьз = Ьз\{}. При выполнении условия Ьз = 0 реализуется переход к шагу 4; при Ьз = 0 отсутствуют последовательности п12 (I Ф Ьз), в которых может быть изменен порядок обработки данных, выполняется переход к шагу 17.

15. Если Щ = 0, то в окрестности Ок решения ^Р1 (в), (¿01 (в)) II = 1,Ь^ (расписания п*(з)) новое решение, уменьшающее значение критерия, не найдено; текущее значение метрики модифицируется: к = к + 1, если к < ктах, тогда выполняется переход к шагу 5.

16. При выполнении условия к > ктах в окрестностях О к локально оптимального решения ^Р1 (в), (¿01 (в)) II = 1,Ь^ более эффективное решение не найдено, поэтому локально оптимальное решение (Р1 (в), (¿01 (з)) II = 1,Ь1 интерпретируется как

эффективное решение по определению позиции данных г '-го типа в ж1 (I = 1,L). При реализации условия к > kmax выполняется переход к шагу 17.

17. Выполняется модификация множества Nnp: Nnp = Если в результате МПр = 0, то все данные г G N^p размещены в последовательностях п1 (I = 1,L) эффективным образом и реализуется переход на шаг 18. При N^p = 0 не все данные размещены в последовательностях ж1 (I = 1, L), реализуется переход на шаг 2.

18. Останов алгоритма.

При интерпретации алгоритма в последовательностях ж1 (I = 1,L) (в последовательностях ж12) определены эффективные позиции данных г-го типа, для которых г G

Nnp П I [J I. На втором этапе построения динамического расписания реализуется \i=i J

определение последовательностей ж12 при размещении в них данных г-х типов, для которых перед началом построения динамического расписания выполнялось условие

г G Nnp& I г G У ж\ I. Данные, типы которых входят в множество Nnp, полученное после

V i=i J

реализации первого этапа алгоритма построения динамического расписания, должны быть добавлены в каждую из последовательностей ж12 (I = 1, L), тогда для определения их позиций в этих последовательностях применен "жадный" алгоритм, предложенный в [1]. Отличием в использовании данного алгоритма при реализации второго этапа построения динамического расписания является то, что добавляемые на каждом шаге алгоритма в ж12 данные могут занять любую позицию в них, начиная с (q + 1)-й.

Рассмотренные первый и второй этапы алгоритма построения динамических расписаний с учетом поступления на обработку данных гпр с приоритетом Rnp > R реализованы программно. С использованием разработанной программы выполнены исследования особенностей процесса формирования динамических расписаний. Возможность построения динамического расписания обусловливается различными порядками обработки данных в последовательностях ж12 (I = 1, L) в исходном статическом расписании. Причиной формирования различных порядков обработки данных является несогласованность длительностей обработки на различных сегментах конвейера. На одном из сегментов максимальная длительность обработки данных должна превышать максимальную длительность обработки этих данных на предшествующем сегменте. Длительности обработки данных на остальных сегментах на формирование динамических расписаний влияния не оказывают.

При исследовании метода построения динамических расписаний рассматривалась задача с пятью сегментами конвейера (L = 5) и семью типами данных (п = 7). При увеличении количества типов данных тенденция изменения эффективности формирования динамического расписания сохраняется. В качестве сегмента, максимальная длительность обработки данных на котором превышает максимальные длительности обработки данных на других сегментах, задан (I = 3)-й сегмент. Для задания степени несогласованности длительностей обработки данных на (I = 3)-м и предшествующем ему сегментах в рассмотрение введено отношение max (t3) / max (t, где t3 — длительность

г i

обработки данных г-го типа на (I = 3)-м сегменте конвейера, tli — длительность обработки данных г-го типа на I-х сегментах конвейера (/ = 3). Для задания степени несогласованности длительностей обработки данных на сегментах конвейера (/ = 3) в рассмотрение введено отношение max (tlA / min (t\j. При проведении экспериментов значе-

i i

ния отношений max (t3) / max (tи max (t/ min (tизменялись от 2 до 10 с шагом 2.

При этом min (¿3) = min (t. Для задания несогласованности длительностей обработки i i

данных гпр-х и г-х типов на I-х сегментах конвейера в рассмотрение введено отношение min ^tlin^ / min (i'). Для задания несогласованности длительностей обработки данных

гпр на 1-х сегментах конвейера в рассмотрение введено отношение max ^tlin/ min ^tinp^. При проведении эксперимента значения отношений min ^1/ min (t1^ и max ^tinp^ /

min ^tlin^ изменялись от 2 до 10 с шагом 2.

Для определения работоспособности алгоритма выполнены исследования задач модификации статических расписаний с учетом поступления данных гпр-го типа на обработку в моменты времени dinp > 0 и формирования динамических расписаний обработки данных г-х и гпр-х типов (с разными приоритетами). Модификация статических расписаний предполагает, что порядок обработки данных в последовательностях (I = 1, L) не изменяется. Для данных г-го типа выполняется только модификация значений t\ в соответствии с выражением (6) либо модификация значений ¿01 в соответствии с выражением (7) при выполнении введенных условий, а также модификация значений ¿0' для следующих за ними данных.

Реализация метода построения динамических расписаний позволяет изменить виды последовательностей П (I = 1, L) с учетом поступления данных гпр на обработку. Выполнялось построение динамических расписаний при поступлении единственных данных пр на обработку и поступлении пары данных пр в различные моменты времени dinp > 0. Анализ полученных результатов показал, что построение динамических расписаний (в сравнении с модифицированными статическими расписаниями) позволяет сократить время простоя сегментов конвейера на 5-45 % при поступлении единственных данных гпр и на 5-30% при поступлении пары данных гпр.

Также реализовано исследование применения известных эвристических правил, учитывающих приоритеты данных для построения динамических расписаний [3, 4]. В этом случае при поступлении данных гпр на обработку в каждой из последовательностей П (I = 1,L) определяются последовательности , данные в которых упорядочиваются в соответствии со значениями весов w\ (где w\ — вес данных г-го типа в последовательности П при i = 1, n, I = 1, L) , определяемых по одному из указанных ниже способов: R

1) wl = —т, где Кг — приоритет данных, а t\ — длительность их обработки на 1-м

г

сегменте;

wW

+

^ (Рг -ti -t)+ + hti

, где Рг — директивный срок окончания обработ-

ки данных г-го типа (г = 1,п), задаваемый в качестве входного параметра, ц — оставшееся время обработки данных г-го типа на сегментах конвейера, начиная

с текущего I-го и заканчивая L-м (определяется следующим образом: tl = У] t

L q=l

+

£ — значение текущего времени, к — весовой коэффициент, [А] — операция, определяемая как тах(0, А). Выполненные исследования показали, что эвристическое правило упорядочивания данных в последовательностях П (I = 1,Ь), использующее выражение первого вида, не позволяет при формировании динамических расписаний получать решение, лучшее,

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

Использование эвристического правила на основе выражения второго вида позволяет получить решения, улучшающие значения критерия по сравнению с модифицированным статическим расписанием на 2-5%. При этом решения, лучшие, чем модифицированное статическое расписание, получены только для отдельных комбинаций значений исходных данных. Не наблюдается общая тенденция улучшения решений с использованием эвристических правил. Таким образом, предложенный метод формирования динамических расписаний обработки данных с разными приоритетами позволяет получить результаты, которые на 25-40 % лучше, чем методы на основе эвристических правил.

Предложенный подход может быть использован при оперативном мониторинге поверхности Земли по данным дистанционного зондирования. В случае идентификации наличия источника загрязнения (пожара либо другого события, требующего особого внимания) запланированная штатная обработка снимков должна быть прервана для обработки данных (информации), детализирующих это событие, которые поступают с другого спутника.

Выводы

Предложен метод построения динамических расписаний в конвейерных системах с учетом поступления в моменты времени ¿гпр > 0 данных с приоритетами К^пр > К.

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

Предложенный метод формирования динамических расписаний реализован программно, выполнены исследования целесообразности его применения в рассматриваемой задаче. Установлено, что использование метода позволяет уменьшить простои оборудования при обработке данных (в случае реализации рассматриваемых возмущающих воздействий) на 5-40 % по сравнению со модифицированным статическим расписанием, в котором порядок обработки данных в соответствии с возмущающими воздействиями не изменяется.

Список литературы / References

[1] Кротов К.В. Градиентный метод составления статических расписаний для конвейерных систем, основывающийся на жадных стратегиях // Вест. НГУ. Информ. технологии. 2015. Т. 13, № 1. С. 55-73.

Krotov, K.V. Gradient method of making static schedules for conveyor systems based on greedy strategies // Novosibirsk State Univ. J. of Information Technologies. 2015. Vol. 13, No. 1. P. 55-73. (In Russ.)

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

[2] Топорков В.В. Модели распределенных вычислений. М.: Физматлит, 2004. 320 с. Toporkov, V.V. Models of distributed computing. Moscow: Fizmatlit, 2004. 320 p. (In Russ.)

[3] Morton, T.E., Pentico, D.W. Heuristic scheduling systems: with applications to production systems and project management. Wiley Series in Engineering & Technology Management. John Wiley & Sons, 1993. 720 p.

[4] Jakobovic, D., Budin, L. Dynamic scheduling with genetic programming // Genetic Programming, 9th European Conf., EuroGP2006. Lecture Notes in Computer Science, LNCS 3905. P. 238-249.

[5] Barbosa da Silva, E., Costa, G.M., Fatima de Souza da Silva, M., Pereira, F.H.

Simulition study of dispatching rules in stochastic job shop dynamic scheduling // World J. of Modelling and Simulation. 2014. Vol. 10, No. 3. P. 231-240.

[6] Frachtenberg, E., Feitelson, D.G., Ferrandez, Ju., Petrini, F. Parallel job scheduling under dynamic workloads // 9th Workshop in Job Scheduling Strategies for Parallel Processing. JSSPP2003. Seattle, WA, USA. 24 June. 2003.

[7] Lee, S., Kim, H., Lee, J. A soft aperiodic task scheduling algorithm in dynamic priority system // 2nd Intern. Workshop on Real-Time Computing Systems and Applications. October 25-27, 1995. Japan. Tokyo, 1995. P. 68-72.

[8] Cosnard, M., Jeannot, Е., Rougent, L. Low memory cost dynamic scheduling of large coarse grain task graphs // Intern. Parallel Processing Symp./Symp. on Parallel and Distributed Processing (IPPS/SPDP'98). USA, Florida, Orlando, 1998. P. 524-530. Available at: http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=5485&punumber%3D5485 %26filter%3DAND%28p_IS_Number%3A14764%29%26pageNumber%3D3&pageNumber=4

[9] Dahal, K., Hossain, A., Varghese, B., Abraham, A., Xhafa, F., Daradoumis, A. Scheduling in multiprocessor system using genetic algoritm // 7th Intern. Conf. on Computer Inform. System and Industrial Management Application. Ostrava. Czech Republic, June 26-28. 2008. P. 281-286.

[10] Lin, S.-C., Goodman, E.D., Punch, W.F. A genetic algorithm approach to dynamic job shop scheduling problems // 7th Intern. Conf. on Genetic Algoritm. East Lansing. USA, July 19-23. 1997. P. 481-488.

[11] Кочетов Ю.А., Младенович Н., Хансен П. Локальный поиск с чередующимися окрестностями // Дискретный анализ и исследование операций. 2003. Т. 10, № 1. С. 11-43. Kochetov, Yu.A., Mladenovich, N., Khansen, P. Local search with alternating neighborhoods // Diskretnyi Analiz i Issledovanie Operatsii. Series 2. 2003. Vol. 10, No. 1. P. 11-43. (In Russ.)

[12] Кононова П.А. Нижние и верхние оценки длины оптимального расписания презентаций медиа-объектов // Дискретный анализ и исследование операций. 2012. Т. 19, № 1. С. 59-73. Kononova, P.A. Lower and upper bounds for the optimal makespan in the multimedia problem // Diskretnyi Analiz i Issledovanie Operatsii. 2012. Vol. 19, No. 1. P. 59-73. (In Russ.)

[13] Кононова П.А., Кочетов Ю.А. Локальный поиск с чередующимися окрестностями для задачи Джонсона с пассивным буфером // Дискретный анализ и исследование операций. 2012. Т. 19, № 5. С. 63-82.

Kononova, P.A., Kochetov, Yu.A. Variable neighborhood search for two machine flowshop problem with a passive prefetch // Diskretnyi Analiz i Issledovanie Operatsii. 2012. Vol. 10, No. 5. P. 63-82. (In Russ.)

[14] Кононова П.А. Локальный поиск с чередующимися окрестностями для задачи Джонсона с пассивным буфером: Дис. .. .канд. физ.-мат. наук. Новосибирск: Ин-т математики им. С.Л. Соболева, 2012. 106 с.

Kononova, P.A. Local search with alternating neighborhoods for the Johnson problem with passive buffer: Dissertatsionnaya Rabota Kandidata Fiz.-Mat. Nauk. Novosibirsk: Sobolev Institute of Mathematics, 2012. 106 p. (In Russ.)

[15] Ковалев М.М. Матроиды в дискретной оптимизации. М.: Едиториал УРСС, 2003. 224 с. Kovalev, M.M. Matroids in discrete optimization. Moscow: Editorial URSS, 2003. 224 p. (In Russ.)

Поступила в 'редакцию 9 марта 2016 г., с доработки —10 июня 2016 г.

Gradient method for construction dynamic data processing schedules in a conveyor system with various data arrival time and different priorities

KROTOV, KlRILL V.*, KROTOVA, TATIANA Yu.

Sevastopol State University, Sevastopol, 290053, Russia * Corresponding author: Krotov, Kirill V., e-mail: krotov_k1@mail.ru

Nowadays the task of handling of pipelined data using various priority programs is an actual task. High priority data is received for processing by the system at later time points. It interrupts the processing of the previously received low priority data on the conveyor segments. As the disturbance, it violates the planned course of the computational process. Reducing the effect of these disturbances is possible by building dynamic scheduling that accounts for entering the high-data system. The model of the computer data processing with different priorities, type of endpoint of generated dynamic scheduling, as well as a method of constructing dynamic scheduling along with the search for locally optimal solutions within the neighbourhood with a variety of metrics are executed for the task. The formulated method for constructing dynamic scheduling is based on the conditions that allow the determination the important data in the sequences on each segment of the pipeline. The order in these sequences can be changed, and the data order may be not. For data, for which the order of the processing sequences can be changed, a dynamic schedule based on the received high-priority data is arranged. Comparison of the results based on the dynamic scheduling that uses this method and the results of the build schedules, which use the heuristic rules is completed. The heuristic rules take into account the priorities for organizing data in a sequence of processing them on the conveyor segments. Studies have shown that this method for construction of the dynamic scheduling is 25-40 % more efficient then the procedure that uses heuristic rules that take into account these priorities.

Keywords: conveyor system, data processing, programs execution schedule, greedy algorithm, dynamic scheduling, priorities.

Received 9 March 2016 Received in revised form 10 June 2016

© ICT SB RAS, 2016

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