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

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

CC BY
147
36
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОНВЕЙЕРНАЯ СИСТЕМА / CONVEYOR SYSTEM / РАСПИСАНИЯ ВЫПОЛНЕНИЯ ПРОГРАММ ОБРАБОТКИ ДАННЫХ / SCHEDULE PROGRAM EXECUTION / ЖАДНЫЙ АЛГОРИТМ / ДИНАМИЧЕСКИЕ РАСПИСАНИЯ / DYNAMIC SCHEDULING / МОМЕНТЫ ВРЕМЕНИ ПОСТУПЛЕНИЯ ДАННЫХ НА ОБРАБОТКУ / DATA ACQUISITION TIMES FOR PROCESSING LOCALLY EFFECTIVE SOLUTION NEIGHBORHOOD / ЛОКАЛЬНО ЭФФЕКТИВНОЕ РЕШЕНИЕ / ОКРЕСТНОСТИ

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

Обосновываются модель составления расписаний обработки данных в конвейерной системе и метод построения динамических расписаний обработки данных при различных моментах времени их поступления в систему.

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

GRADIENT METHOD OF CREATING THE DYNAMIC SCHEDULING OF PROCESSING DATA IN A CONVEYOR SYSTEM AT DIFFERENT POINTS IN TIME OF THEIR RECEIPT

Model of construction scheduling of processing data in conveyor system and method of constructing dynamic scheduling data at different time points of entry into the system are grounded in work.

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

УДК 004: 519.854

К. В. Кротов

Севастопольский государственный университет ул. Университетская, 33, Севастополь, 299053, Россия

krotov_k1@mail.ru

ГРАДИЕНТНЫЙ МЕТОД ФОРМИРОВАНИЯ ДИНАМИЧЕСКИХ РАСПИСАНИЙ ОБРАБОТКИ ДАННЫХ В КОНВЕЙЕРНОЙ СИСТЕМЕ ПРИ РАЗЛИЧНЫХ МОМЕНТАХ ВРЕМЕНИ

ИХ ПОСТУПЛЕНИЯ

Обосновываются модель составления расписаний обработки данных в конвейерной системе и метод построения динамических расписаний обработки данных при различных моментах времени их поступления в систему.

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

Введение

Одним из способов повышения производительности выполнения программ обработки данных является конвейеризация, которая предполагает их разделение на фрагменты. Каждый фрагмент закреплен для выполнения за соответствующим сегментом конвейера. Введем в рассмотрение обозначения: i - номер множества однотипных данных, характеризующих одинаковые объекты, которые обрабатываются в системе; I - множество всех данных, которые обрабатываются в вычислительной системе; П - количество элементов в множестве однотипных данных, характеризуемых индексом i. Индекс i соответствует программе, выполняемой в составе конвейера, обрабатывающей данные i-го типа. Однократное выполнение конвейеризированной программы i-го типа обеспечивает обработку одного элемента множества данных иго типа. Если множество данных i-го типа содержит п' элементов, то обрабатывающая эти данные программа должна быть выполнена в конвейерной системе П число раз. При этом предполагается, что выполняющие обработку данных конвейеризированные программы находятся в оперативной памяти каждого из сегментов конвейера. Тогда управление вычислительным процессом в конвейерных системах предполагает определение порядка запуска программ обработки данных на выполнение. Так как объемы вычислений на каждом сегменте различны, различны и длительности выполнения программ на соответствующих сегментах, тогда может быть сформировано расписание выполнения конвейеризированных программ обработки соответствующих данных, представляющее собой порядок запуска программ на выполнение. Постановка задачи управления вычислительным процессом предполагает, что при П = 1 реализуется обработка единичных данных (однократный запуск на выполнение соответствующих программ), для которых должно быть сформировано расписание выполнения программ. В то же время ход вычислительного процесса подвержен возмущающим воздействиям следующих видов: поступление на обработку данных в различ-

Кротов К. В. Градиентный метод формирования динамических расписаний обработки данных в конвейерной системе при различных моментах времени их поступления // Вестн. Новосиб. гос. ун-та. Серия: Информационные технологии. 2016. Т. 14, № 1. С. 39-60.

ISSN 1818-7900. Вестник НГУ. Серия: Информационные технологии. 2016. Том 14, № 1 © К. B. Кротов, 2016

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

Анализ публикаций

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

Постановка цели научного исследования

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

Основное содержание работы

Постановка задачи управления вычислительным процессом предполагает, что при П = 1 реализуется обработка единичных данных, для действий с которыми должно быть сформировано расписание выполнения программ. Если через i обозначен идентификатор типа данных и идентификатор типа программы, выполняющей обработку этих данных, то через di обозначен момент времени поступления в систему ^го типа данных. В рассматриваемой постановке задачи предполагается, что моменты времени поступления данных на обработку различны (di > 0). Обозначим через I индекс сегмента вычислительной конвейерной системы, осуществляющего выполнение 1-й части программы, при этом I = 1, Ь, где Ь - общее количество сегментов конвейера. Каждым сегментом конвейерной системы выполняются вычисления, соответствующие назначенной для него части программы. Дисциплина обслуживания в системе предполагает прохождение данными всех сегментов конвейера, при этом если 1-й сегмент приступил к выполнению ^й программы (к обработке данных ^го типа), обработка не может быть прервана обработкой других данных. Все обрабатывающие приборы конвейерной системы характеризуются равными и неизменными во времени значе-

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

Особенностью решаемой задачи является задание двух групп обрабатываемых в системе данных. К первой группе, обозначенной N, относятся данных п типов, первоначально обрабатываемых в системе, т. е. данные, поступающие на обработку в момент времени di = 0 (данные, для которых первоначально формируется статическое расписание). Вторая группа, обозначенная как Ы2, - данные, поступающие на обработку в отличные от 0 моменты времени, т. е. поступление которых на обработку реализуется после начала обработки данных первой группы (моменты времени поступления на обработку данных второй группы di > 0). Предполагается, что во вторую группу входит k типов данных. Тогда общее количество типов данных, обрабатываемых в системе (для которых di = 0 и di > 0), равно (п + к). Типы данных группы ^ могут быть упорядочены в соответствии со значениями di > 0 . Множество N обрабатываемых в системе данных различных типов определяется в виде N = N и Ы2, где множество N1 содержит данные с di = 0, а множество ^ - данные с di > 0. Решение задачи составления расписания осуществляется при условии, что параметры di являются детерминированными.

Так как время обработки данных на сегментах конвейера различно, обработка данных более чем одного типа на каждом из сегментов невозможна, результаты обработки на предыдущем сегменте находятся в качестве исходных данных в оперативной памяти последующего сегмента, тогда управление вычислительным процессом состоит в определении порядка обработки данных на каждом из сегментов. Порядок обработки данных на сегментах должен быть определен таким образом, чтобы расписание обработки было эффективным в соответствии с формируемым критерием. Тогда каждому из сегментов соответствует некоторая последовательность п1 обработки данных, а решение задачи - расписание обработки данных -определяется как совокупность последовательностей п1, соответствующих Ь приборам в системе. Таким образом, расписание может быть представлено в виде п = (п1,п2,,...,пЬ) (1 = 1,Ь), последовательность п1 (1 = 1,Ь) имеет вид п = ('1,i2,,...,'1п ,'П+1,. .,''„+к) и содержит как данные, поступившие на обработку в систему при di = 0 (п типов данных), так и данные с di > 0 (к типов данных). Для формализации видов последовательностей п1 расписания п в рассмотрение введены матрицы (РУ (1 = 1, Ь) порядков обработки данных в системе (порядков запуска обрабатывающих программ на выполнение). Элемент р/ = 1, если данные 'го типа занимают в последовательности п1 /-ю позицию, р/ = 0 в противном случае. Размерность введенных в рассмотрение матриц (РУ (1 = 1, Ь) - (п + к) х (п + к).

Для формализации вида модели вычислительного процесса обработки данных (выполнения программ) в конвейерной системе в рассмотрение введены следующие обозначения: -

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

обработки данных '-го типа, занимающих в п1 /-ю позицию. Через ^^ обозначим момент

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

вейера (1 = 1, Ь). Значения элементов матриц (])(1 = 1, Ь) определяются в соответствии с видом матриц (Р1 (1 = 1,Ь) следующим образом: ] Ф 0 для того элемента матрицы (]), который соответствует р] = 1. В случае если р] = 0 , то соответствующий ему элемент ] матрицы (]) равен 0 (] = 0). Для первого сегмента конвейера элементы матрицы ) определяются с учетом матрицы (Р )1 следующим образом:

п+к 2 п+к 3 п+к

,01 Л ,01 ^ ,1 1 01 ^ ^ ±1 1 .01 ^^ Л 1

¿1, = 0; ¿2, = Е ¿Ы ' Ръ1 \ 1 ° = Е Е ¡И ' Рк,] ^ ¿4, = ЕЕ ^ ' Ръ,] и т. д.

й=1 ]=1 ъ=1 ]=1 ъ=1

Понятно, что ^01 Ф 0 для того элемента матрицы (]), который соответствует р\2 = 1.

В случае если р]2 = 0, то соответствующий ему элемент матрицы (¿01) равен 0. В общем виде выражения для определения ] (номер позиции ] является заданным) имеют следующую форму:

= V V t1 • pJh,v , при j > 1,

j ~ln+k , , (1)

V V tl • р1 , при 1 > 1 W

¡V

у=1к=1

где ] - номер позиции данных ,'-го типа в последовательности п1, для которых определяется значение ] . Для 1-го сегмента конвейера (при 1 Ф 1) элементы матрицы (Vс].,1) определяются выражениями вида:

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

п+к

01 ^ I-1 -1 .Л-1 I

Oi = "у р1-1 • (t0l-1 + tl-1), (2)

h=1

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

позицию в последовательности п1 (,'-й тип данных, обрабатываемых в позиции ] = 1 на 1-м сегменте конвейера);

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

Ml I"+ i-l ,м-i . J-i \ "+ /М , л 1 i I (3)

t]l = maxi V piih •(thi + tl ); V (tJ-lh + th) • ph }-i \. ^

{h=i h=i J

Выражения (1)-(3) являются моделью вычислительного процесса обработки данных конвейеризированными программами в многостадийной системе, т. е. позволяют определять его временные характеристики. Формируемые значения временных характеристик вычислительного процесса зависят от видов матриц (Р)l (l = 1, L ). Тогда сформированное решение

может быть представлено в форме [(Р)l,(]) 11 = 1, L]. Для анализа эффективности получаемых решений должен быть сформирован критерий, учитывающий рассчитываемые с использованием выражений (1)-(3) значения характеристик вычислительного процесса.

Особенностями алгоритма метода определения порядка обработки данных, используемого при построении расписания выполнения программ и реализующего «жадную» стратегию [1], являются: 1) добавление в конец сформированных на предыдущем ((5 - 1)-м) шаге алгоритма последовательностей выполнения программ nl (5 -1) (l = 1, L) программы i-го типа для обработки соответствующих ей данных; 2) определение эффективного местоположения (позиции) рассматриваемой программы для i-го типа данных во вновь формируемых последовательностях на текущем (5-м) шаге алгоритма nl (5); 3) вычисление и анализ градиентов целевой функции после реализации каждого шага алгоритма, связанного с изменением положения в одной последовательности nl рассматриваемых данных i-го типа на одну позицию ближе к ее началу; 4) в случае если изменение положения данных рассматриваемого i-го типа в последовательностях nl (l = 1, L) на одну позицию ближе к их началу не приводит

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

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

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

п+к п+к

1. При Х ■ р1 > Е (¿0_ 1/ + ) • р\ . _1 1-й сегмент конвейера ожидает готовности для

/=1 /=1

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

п+к п+к

образом: Е ■ • р\ . _ Е (¿0_ 1 / + ) • р/ ._1 , длительность простоев 1-го сегмента при выпол-

/=1 /=1

нении текущего количества программ, находящихся в п1 (1 = 1, Ь), определяется выражением

п+к п+к п+к

Е (Е ¿О'- • Р' ] _ Е (¿0_ 1 / + ) • р1 ._1); полученное выражение позволяет определять сум] =2 /=1 / =1

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

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

Ь п+к (п+к п+к Л

выражением вида: ЕЕ I Е ■ • р'г,■ _ Е (( 1,/ + ) • р'г,■_1 I .

1 = 2 ■=2 V /=1 /=1 )

3. Простои сегментов конвейера при выполнении программ связаны также с ожиданием поступления данных на обработку, если эти данные занимают первую позицию в последова-

тельностях п1 (1 = 2,Ь); для 1-го сегмента (при условии, что 1 Ф 1) время ожидания готовности данных для обработки в первой позиции п1 (1 = 2, Ь) определяется выражением вида

п+к _

Е • р1и ; так как ¿101 = 0, простои всех 1-х сегментов конвейера (1 = 2, Ь) будут определе-

/=1

Ь п+к 01 I ны исходя из выражения ЕЕ ¿1 / • ри .

1=2 /=1

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

ЕпЕк0 р1 + ЕпЕк/Еко р1 пЕк+ л, р1 , (4)

/ =ЕЕ ¿1,/ • р-,1 + ЕЕ (Е •р,] _Е ■ _1- + */)• р/, 1). ^'

1=2/=1 1=2]=2 /=1 /=1

Введем обозначения: О - окрестность текущего рассматриваемого решения л(5), в которой выполняется поиск нового локально эффективного решения; О1 - окрестность с метрикой 1; - окрестность с метрикой к; Окт - окрестность с максимальной рассматриваемой метрикой ктах (максимально возможная метрика окрестности рассматриваемого решения).

Значение метрики к окрестности Ок (к = 1, ктах) определяется выражением вида

п+ к п+ к

к = ЕЕI р> ] (5 + у) _ рг ](5) I /2 , где V - индекс промежуточного шага алгоритма, на котором

выполняется формирование нового решения л(5 + V) на базе локально эффективного решения л(5). При к = 1 положение данных рассматриваемого /-го типа изменяется в одной из последовательностей п1 (1 = 1, Ь) ближе к их началу, при к = 2 положение данных /-го типа изменяется в двух последовательностях п1 (1 = 1,Ь) и т. д.

Алгоритм определения эффективного положения обрабатываемых данных /-го типа в последовательностях п1 (1 = 1, Ь) (при построении статических расписаний) предполагает: 1) размещение данных рассматриваемого /-го типа в п1 (1 = 1, Ь) путем добавления их в конец каждой последовательности; 2) изменение положения данных /-го типа в последовательностях п1 (1 = 1, Ь) на одну позицию ближе к началу последовательностей в зависимости от текущего значения метрики к окрестности Ок (5) (в одной последовательности п1 (1 = 1,Ь) -

метрика к = 1, в двух последовательностях п1 - метрика к = 2, в трех последовательностях - метрика к = 3 и т. д.); 3) изменение положения данных /-го типа в последовательностях п1 обуславливает изменение значения критерия / вида (4), при этом направление дискретного градиента критерия /, обозначенное как V, сопоставляется с идентификаторами по-

1 , „и

следовательностей п (с группой последовательностей п ), в которых изменяется

положение рассматриваемых данных (рассматриваются левый ^ 0 либо правый

+ > 0 дискретные градиенты целевой функции/ [2]), при (тс(5)) < 0 - левый дискретный градиент целевой функции / , соответствующий расписанию л(5 + V), сформированному на основе исходного расписания п(5), для которого положение данных /-го типа зафиксировано как текущее локально эффективное на 5-м шаге; 4) в случае если гарантируется выполнение условия У/^, < 0 вдоль направлений V, тогда среди всех V, для которых выполняется это условие, выбирается то направление V', для которого тах(| Уу/(^(5)) < 0|);

5) в тех последовательностях п1, в которых изменение положений данных /-го типа гарантирует выполнение условия тах(| Уу/(^(5)) < 0|), позиции данных фиксируются (т. е. рас-

сматриваемое решение фиксируется как локально эффективное), после чего действия по определению нового локально эффективного положения данных ,'-го типа в последовательностях п1 (1 = 1, Ь) повторяются; 6) в том случае, если при поиске локально эффективного решения в окрестности Ок (5) с меньшей метрикой такое решение не найдено, то значение метрики увеличивается на 1, после чего положение рассматриваемых данных ,'-го типа изменяется на одну позицию ближе к началу последовательностей п1 (1 = 1, Ь), количество которых соответствует значению метрики (рассматриваемые действия повторяются до тех пор, пока значение метрики окрестности для формируемых решений не превысит максимально возможное значение к^, увеличение метрики окрестности выполняется до тех пор, пока к < к^). Таким образом, направление V дискретного градиента целевой функции / соответствует идентификаторам последовательностей п1 , в которых изменяется положение данных рассматриваемого ,'-го типа на (5 + v)-м шаге алгоритма, т. е. направление V соответствует индексу шага V определения эффективного решения на основе текущего локально эффективного решения л(5Ц, а также некоторой v-й группе последовательностей п1, в которых на

данном шаге алгоритма одновременно изменяется положение данных рассматриваемого ,-го типа. Формулировка алгоритма метода построения статических расписаний обработки данных, основывающегося на жадных стратегиях, изложена в [1]. Этот метод используется при построении статического расписания для данных с di = 0 .

Учет влияния возмущающих воздействий на запланированный ход вычислительного процесса возможен путем построения динамических расписаний. Запланированный ход вычислительного процесса реализуется в соответствии со сформированным статическим расписанием (для этого используется градиентный метод, основывающийся на жадных стратегиях [1]). Формирование динамических расписаний предполагает перестроение полученного эффективного статического расписания обработки (для данных с di = 0) с учетом момента времени di > 0 поступления на обработку в конвейерную систему данных, входящих в группу Ы2. По этой причине должны быть обоснованы особенности формирования последовательностей п1 (1 = 1, Ь) при построении динамических расписаний с учетом поступления данных к типов, входящих в группу Ы2. При построении статических и динамических расписаний используется один и тот же вид критерия эффективности.

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

Для реализации дальнейших рассуждений выполнен переход к обозначениям типа данных и их позиций в последовательности л1 (1 = 1, Ь) в виде ,] , где ] - позиция данных ,'-го типа

в рассматриваемой последовательности л1 1-го сегмента. Данные, входящие в группу Ы2 (для которых d2 > 0), должны быть добавлены в уже сформированные последовательности л1

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

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

N = N иЫ2.

В рассмотрение введено множество N , сформированное на основе множества Ы2 таким образом, чтобы данные /-х типов (/ е Ы2) были упорядочены в соответствии со значением d¡ > 0, т. е.

^2 = {/п+1,/п+ 2,...,/п+ к 1 /п+ £ е N2, 8 > 0 dn+(£_1) < dn+ £ , ^ = 1,к}.

Обозначение /п+£ е N '2( g = 1, к ) соответствует /-му типу данных с (п + g) -м порядковым номером в множестве N2. Элементы множества N2 - это данные, размещение которых в последовательностях ж1 (1 = 1,Ь) должно быть реализовано эффективным образом. Выполним дальнейшие рассуждения для одного из типов данных /п+ е N '2, которые должны быть добавлены в последовательности ж1 (1 = 1, Ь). Аналогичные действия выполняются для любого типа данных /п+£ е N '2 (g = 1, к ).

Если последовательности данных ж1 (5 _ 1) для расписания ж(5 _ 1), сформированного на предыдущем (5 - 1)-м шаге алгоритма, имеют вид ж1 (5 _ 1) = {/,/2,...,/п+( , тогда вид последовательностей ж1 (5) с добавленными в них данными /п+£ е N '2 следующий: ж1 (5) = ж1 (5 _ 1)и{/п+£} , где ж1 (5 _ 1) = {//,/2,...,/п+(£_1)} ,

Ж1 ( 5) = {// , /2 ,..., /п+( £_1), /I £ }. (5)

Выражение (5) соответствует начальному виду последовательностей ж (5) (1 = 1,Ь), в которых в ходе реализации алгоритма определяется эффективное местоположение (позиция) данных /п+£ . К моменту времени di > 0 (/п+£ е N '2) некоторые данные /] в последовательностях ж1 (5 _ 1) могут быть обработаны либо находиться в процессе обработки. Тогда в последовательности ж1 (5 _ 1) могут быть выделены две подпоследовательности ж1 (5 _ 1) и ж12 (5 _ 1) в соответствии с условиями

ж((5 _ 1) = {/¡¿,...,/'1^ <dl ,]■ = = Щ, (6)

ж2(5 _ 1) = {/'+1,/'+2,...,/п+(^1)к0' > d,+g, ] = Ч + 1,п + (£ _ 1),£ = 1,к}. (7)

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

ж2(5)={/Ч+1, /1+2,...,/1п+(£_1),/1п+£ I > dl+¡, ]=4+1^7(^1), g =щ. (8)

Таким образом, последовательность ж! (5), эффективный порядок обработки данных в которой определяется на 5-м шаге алгоритма, может быть представлена в виде

ж' (5) = ж1 (5)У ж2 (5).

Условие (6) позволяет определить последовательность данных, порядок которых изменен быть не может, так как момент времени начала их обработки предшествует моменту времени поступления на обработку данных /п+£ е N'2 (g = 1,к ). В последовательности ж\ (5) (1 = 1,Ь)

данные /1д - ее правая граница, до которой может изменяться позиция (местоположение) данных /п+£ (g = 1,к ) в последовательности ж'2(5). Условие (7) позволяет определить в каждой из последовательностей ж1 (5) те данные, порядок которых может быть изменен с учетом поступивших в момент времени > 0 на обработку данных /п+£ е N'2 (g = 1,к ). Таким обра-

зом, рассматриваемые на текущем 5-м шаге алгоритма данные in+g е N '2 (с d^ > 0) могут занимать в последовательностях к'2 (5), определенных в соответствии с условием (7), любую из позиций (если это гарантирует улучшение значения целевой функции (4)) до данных i'q,

являющихся правой границей последовательности я\(5) (l = 1,L).

Исходной информацией для решения задачи введения данных множества N '2 в последовательности обработки я1 (5) (l = 1,L) на 5-м шаге алгоритма являются: 1) тип данных in+g е N'2, которые добавляются в последовательности я1 (5) (l = 1,L) и эффективное местоположение которых в этих последовательностях определяется; 2) расписание я(5 — 1), сформированное на предыдущем (5 - 1)-м шаге алгоритма, состоящее из последовательностей я1(5 — 1) = {i1l,i2,...,i'n+(g—1)} (l = 1,L), в каждой последовательности я1 (5 — 1) (l = 1,L) которого в

соответствии с условиями (6) и (7) определяются подпоследовательности я1 (5) и %'2(5). Таким образом, на текущем 5-м шаге алгоритма в последовательности я1 (5 — 1) (l = 1, L) добавляются данные (in+ )-го типа и определяется эффективное местоположение их в этих последовательностях.

Сформулированные условия (6), (7) позволяют определить состав последовательностей я\ и я'2(l = 1,L) в расписании, построенном для данных n + (g — 1) типов (для данных с di > 0, включенных в последовательности я1 до текущего 5-го шага). Таким образом, количество данных в последовательностях я1 (5 — 1), состоящих из подпоследовательностей я1 и %l2 (l = 1, L), равно n + (g — 1) .

Введем в рассмотрение множества Nl (l = 1, L) данных (типов данных) в последовательностях %12, порядок которых при построении динамического расписания может быть изменен. На основе условия (7) и сформированного вида последовательностей для каждого l-го сегмента определено множество Nl (l = 1, L) тех данных, порядок которых в последовательностях л 2 будет определяться. Формируемые с учетом (7) и видов последовательностей п'2 множества Nl для l-х сегментов (l = 1,L) имеют вид Nl = {i'q+1,il 2,...,i'n+(g—1)} . В каждое множество Nl должны быть добавлены данные (in+g )-го типа, размещаемые в я! на 5-м (текущем) шаге алгоритма, т. е. N1 = N1 u {in+ } (l = 1,L). Для данных, которые не были обработаны к моменту времени dn > 0 поступления на обработку данных in+g, в рассмотрение введено множество Nnp (not processed), которое формируется следующим образом:

L

N = II Nl .

np \J

l=1

Для определения порядка действий алгоритма составления динамических расписаний необходимо предварительно ввести в рассмотрение способ формирования последовательностей

л2( l = 1, L) и сформулировать способ определения их эффективного вида. Расчет значений

критерия (4) возможен в случае, когда количество данных в последовательностях я1 (l = 1, L)

одинаково, при этом в я1 размещены данные одинаковых типов. Если проинтерпретировать

я1 (l = 1, L) как упорядоченные множества данных, тогда для расчета значений критерия (4)

необходимо, чтобы |я1| = |я11, где l и 1'- индексы различных последовательностей я1

и я1 (l Ф l'). Поэтому способ формирования последовательностей я'2 (l = 1,L) предусматривает реализацию двух последовательных этапов:

1) размещение в последовательностях я'2 (1 = 1, L) всех данных i е Nnp таких, что i

и i е я\ , где 1 Ф1' (данные i' не входят в последовательность я\ 1-го сегмента конвейера, но входят в последовательность я1 другого l'-го сегмента, при 1 Ф1'), определение в я'2 эффективного положения этих данных; таким образом, на первом этапе определяется эффективное местоположение в %'2 (в итоге - в я1) всех данных i, для которых перед началом построения

L

динамического расписания выполняется условие i е Nn п (^ я\);

i=1

2) размещение в последовательностях я'2 данных i -х типов, для которых перед началом

L

построения динамического расписания выполняется условие (i е Nпр) & (i g (^ я\)), и опре-

l =1

деление эффективного местоположения этих данных в последовательностях я'2 (т. е. разме-

i

щение в последовательностях я2 данных i-х типов, которые перед началом построения расписания не входили в последовательности я! ни на одном 1-м сегменте (1 = 1, L)) ; в итоге на втором этапе в последовательностях я'2 размещаются (определяется их эффективное место-

L

положение) все данные, для которых выполняется условие (i е N) & (i g (^ я1)), в том чис-

i=1

ле рассматриваемые данные in+ .

Для реализации первого этапа формирования последовательностей я'2 необходимо: а) оп-

L

ределить все данные i, для которых выполняется условие i е Nn п (^ я() (которые будут до-

l =1

бавлены в я2 на первом этапе построения динамического расписания), для этих данных сформировать некоторое начальное решение по порядку их обработки в последовательностях я'2 (1 = 1,L); б) сформировать эффективные порядки обработки данных, добавленных в

я'2, с учетом последовательностей я1( 1 = 1,L). Иначе говоря, на основе сформированного

начального решения при учете порядков данных в последовательностях я1 (1 = 1, L) выпол-

L

нить определение эффективных позиций j данных i-х типов (i е Nnf п (^я1)). В рассмотре-

l =1

L

ние введено множество N 'пр типов данных i таких, что i е Nnf п (^ я1); если для некоторого

l =1

типа данных i е Nnp это условие выполняется, то N' = N }пр u {i} . Формирование начального решения по порядкам обработки данных в последовательностях я'2 (1 = 1, L) предполагает добавление в них данных i, для которых выполняются условия: i е N'пр и i g я1 (1 = 1,L) (в я'2 на 1-м сегменте добавляются данные i-го типа, которые не входят в последовательность я1 на этом сегменте, но содержатся в последовательности я1 другого 1'-го сегмента (1 Ф1')). В силу выполненных рассуждений порядок шагов алгоритма, реализующего формирование начального решения по составам последовательностей я12 (1 = 1,L) для данных i е N' , имеет следующий вид (множество N }пр предварительно упорядочивается по возрастанию идентификаторов i типов данных в нем):

1) из множества N *пр выбирается тип данных i' в соответствии с условием

i' = min {i | i е N \p j (определяются данных i '-го типа, добавляемые в последовательности

я2);

2) для данных г '-го типа и каждой последовательности г' ел1 (1 = 1, Ь) выполняется проверка условия г' ел\, в случае выполнения этого условия данные г' -го типа не могут быть добавлены в л'2; в случае г' ёл1 данные г' добавляются в конец последовательности л12 (л2 =л2 и {г'});

3) после добавления типа данных г' в последовательности л2 выполняется его удаление из множеств N 'пр и Nпр : N 'пр = N 'пр \{г'} ; Nпр = Nпр \{г'} (данные г' размещены в л'2, поэтому рассматриваться в качестве элементов множеств Nпр и N'пр не будут); проверка условия N'пр Ф0 ; в случае выполнения условия реализуется переход на шаг 1; при невыполнении условия все данные г-х типов (г е N' ) размещены в л2, останов алгоритма.

В результате для 1-х сегментов конвейера (1 = 1, Ь) сформированы последовательности л2 одного из следующих видов: 1) л2 = 0, если ни один из типов данных г е N' в последовательность л'2 добавлен не был; 2) л'2 = {^+1,+2,...,г'ц+п } , где п1- количество данных, которые были добавлены в последовательность л12. Во втором случае (q +1) - номер позиции в л1 данных, являющихся первыми в последовательности л'2 (начальная (q +1) - я позиция данных в л2 выступает следующей за крайней правой q-й позицией данных в последовательности л11 ).

На основе начального решения для данных г е N' в последовательностях л12( 1 = 1,Ь) необходимо реализовать определение эффективных порядков обработки данных в этих последовательностях. При этом следует учесть: последовательности л2 содержат данные в порядке возрастания значений идентификатора г их типа; после формирования начального решения для последовательностей л'2 количество данных в л1 (1 = 1,Ь) одинаково. Для определения эффективных порядков обработки данных в последовательностях л12 на основе сформированного начального решения (при условии рассмотрения последовательностей л2 как упорядоченных множеств элементов) выполним повторную инициализацию множества

Ь

N\р следующим образом: N' = ^ л'2 , тогда множество N' - это типы данных, порядок

1=1

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

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

1

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

Через г' обозначим тип данных в последовательностях л'2, позиция которых будет изменяться на текущем 5-м шаге алгоритма формирования эффективных порядков обработки данных (г ' - рассматриваемый тип данных, эффективное местоположение которых в последовательностях л12 определяется на текущем шаге алгоритма); ]1 - текущая позиция данных рассматриваемого типа г' в последовательности л'2 (1 = 1,Ь). Тогда данные г' -го типа занимают в последовательности л'2 (1 = 1, Ь) начальную позицию ], которая в процессе поиска эффективного решения будет изменяться. В результате для некоторого исходного начального

решения я (порядков обработки данных в последовательностях я1) определяется окрестность ü1 (я), состоящая из решений, отличающихся от исходного решения я тем, что в каждой из последовательности я 2 данные i' -го типа (если они входят в эти последовательности) перемещаются на одну позицию ближе к началу (выполняется изменение позиции j1

данных i' -го типа в я 2 ). При одновременном изменении положения данных одного типа сразу в нескольких последовательностях я12 (по аналогии с [1]) может быть выполнен переход от окрестности 01(я) к окрестности üh(я), при h = 1,hmax (hmax- максимальное количество последовательностей я^, в которых одновременно может быть изменена позиция данных рассматриваемого i'-го типа, hmax- метрику максимальной окрестности üh(я)). По аналогии с [1] на s-м шаге алгоритма рассматриваемые данные i' перемещаются на одну позицию к началу в каждой последовательности я12 (при i' ея^) либо в совокупности последовательностей я2, количество которых определяется индексом h (h = 1, hmax ). В формируемых окрестностях üh (я) (h = 1, hmax ) реализуется определение более эффективных решений, чем текущее решение я . Затем для полученного нового локально эффективного решения рассматриваются окрестности üh (я) (h = 1, hmax ), состоящие из сформированных на его основе расписаний обработки данных, построенных в соответствии с описанным выше подходом. Если в сформированных окрестностях üh (я) более эффективное решение не найдено, реализуется переход к следующему типу данных i' е N' , исходное местоположение (позиция) j1 которых в последовательностях я12 будет изменяться.

В соответствии с выполненными рассуждениями сформулирован алгоритм определения эффективных порядков обработки данных, размещенных в я12 на первом этапе их формирования. Расписание я(^) характеризуется совокупностью матриц P1 (s), (j (s)) (1 = 1, L), поэтому начальное решение как локально эффективное обозначим как (P1 (s); (j (s)) |

1 = 1,L )*. Введем обозначение Np для множества направлений, в которых при формировании новых решений (изменении порядков обработки данных в последовательностях я^) гарантируется выполнение условия для левого дискретного градиента [2] ~Vvf (s) целевой функции f в виде ~Vvf (s) < 0 . Иначе говоря, Np - это множество направлений v, для которых гарантируется vf (s) < 0. Алгоритм определения эффективных порядков обработки данных i е N' в последовательностях я2 имеет следующую последовательность шагов:

1) начальное решение по составам и порядку обработки данных в последовательностях я1 (последовательностях я12, 1 = 1, L), полученное после размещения в я'2 данных i-х типов (для

L

которых выполнялось условие i е Nnp п (^ я1)), определим как локально эффективное и обо-

1=1

значим как я * (s), где s - индекс текущего шага алгоритма (на начальной стадии его реализации s = 0);

2) из множества N'пр выбирается тип данных i' в соответствии с условием

i' = min {i | i е N 'np j (на s-м текущем шаге алгоритма определяются эффективные местополо-

11

жения данных г в последовательностях я2, г е я2 );

3) для последовательностей я2 (1 = 1,L) выполняется проверка условия i' е я'2, формируется множество Ls номеров сегментов, для которых это условие выполняется (изменению подлежат позиции данных i' -го типа в тех последовательностях я'2, для которых 1 е Ls ,

возможные позиции рассматриваемых данных г' в л[: ^ + 1)-я, ^ + 2)-я,..., ^ + пг)-я); в последовательностях л12, для которых 1 е Ь5 , определяются значения / начальных позиций данных г';

4) значение метрики к окрестности Ок (л(5)) решения л(5), в которой будет выполняться поиск локально эффективных решений, задается равным 1;

5) значение V индекса шага промежуточного решения инициализируется 1 ((5 + V) - номер промежуточного шага алгоритма, связанного с определением локального эффективного решения по местоположению данных г ' -го типа в последовательностях л12 , формируемого на основе локально эффективного расписания л *(5) (решения (Р1 (5) ;(х0 (5)))*);

6) для каждого сегмента 1 (при 1 е Ь5 ) выполняется проверка условия (д +1) < / (данные г' занимают в л1 (5) (1 е Ь5 ) позицию /, одну из следующих за ^ + 1)-й позицией, и их положение в л12 может быть изменено);

7) для 1-х сегментов конвейера (1 е Ь5 ), для последовательностей л[ которых выполняется условие (д +1) < / , в зависимости от текущего значения окрестности Ок (л(5)) реализуется изменение положения данных г' -го типа в л12 (1 е Ь5 ) на одну позицию ближе к началу (в каждой последовательности л'2 (1 е Ь5 ) при к = 1, в каждой паре последовательностей л12 при к = 2, в трех последовательностях л1 при к = 3 и т. д.); так как порядок данных в последовательностях п1 представляется матрицами Р (1 = 1, Ь), тогда изменение / -й позиции рассматриваемых данных в последовательностях л1 (в последовательностях л2, 1 е Ь5 ) выполняется следующим образом: р[ л (5 + V) = 1, р[ 4 (5 + V) = 0, рк, л (5 + V) = 0,

г, ■ 1 г, ■ к , ■ 1

р1,' (5 + V) = 1, где к' - индексы строк в матрицах Р1 (1 е Ь5 ), в которых элементы р1 .

к, 7 к, ■ -1

в (■ -1 )-м столбце равны 1 (на 5 -м шаге алгоритма - это предыдущая позиция для рассматриваемых данных, которую они занимают на (5 + V) -м шаге);

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

8) с использованием матриц Р1 (1 = 1,Ь) вычисляются матрицы (1 = 1, Ь) для (5 + V)-го шага алгоритма, а также значения критерия /(5 + V) (в итоге формируются решения (Р1 (5 + V), х0 (5 + v)\1 = ));

9) для исходного решения ((Р1 (5)), (х°г (5)) \ 1 = 1,Ь ) и каждого решения

((Р1 (5 + v)),(t0Л (5 + V)) \ 1 = Ц ) вычисляются значения левых (5) либо правых +УV/(5) дискретных градиентов целевой функции / [2]

( - (5) = [/(5 + V) - /(5)] < 0, б) + У/(5) = [/(5 + V)- /(5)] > 0 ; в результате индексы V групп последовательностей л1, для которых выполняется 'У(5) < 0 , добавляются в множество Nр : N5? = N5? и {V}, в итоге формируется множество N р тех направлений V, для которых (5) < 0 ; если N р =0, то реализуется переход к шагу 14);

10) в множестве Nр выбирается направление V', для которого модуль отрицательного градиента У/(5 ) < 0 наибольший (V' ^ тах(\ 'У(5) < 0 \); полученное решение

V

((Р1 (5 + V ')),(Х0 (5 + V '))\1 = Ц )

рассматривается как локально эффективное, на основе которого формируются последующие решения;

11) полученное решение ((Р' (5 + V ')),(7°/ (5 + V')) 1' = 1, Ь) фиксируется как локально эффективное: ((Р' (5)), (7™ (5)) |' = )*=((Р' (5 + V')), (5 + V')) |' = ), фиксируется значение номера шага алгоритма 5 = 5 + V; индекс текущего столбца, идентифицирующий местоположение в л'2 рассматриваемых данных 7' -го типа для последовательностей, измененных на текущем шаге, модифицируется (/ = / — 1);

12) выполняется проверка условия (д +1) < / для каждой последовательности л'2 (' е Ь5 );

13) при невыполнении условия (д +1) < / для соответствующих последовательностей л'2 (' е Ь5 ), в которых был изменен порядок данных на (5 + v)-м шаге алгоритма, индексы этих последовательностей ' исключаются из множества Ь5 : Ь5 = Ь5 \ {'} , где номера ' соответствуют последовательностям, входящим в группу, идентифицируемую индексом V', и для них выполняется условие ]' = (д +1) (где V' - индекс шага алгоритма, выполняемого относительно локально эффективного расписания л *(5)); при выполнении условия Ь5 Ф0 реализуется переход к шагу 7; при выполнении условия Ь5 = 0 отсутствуют последовательности л' (последовательности лг2, ' е Ь5), в которых может быть изменен порядок обработки данных, выполняется переход к шагу 16;

14) если Ыр =0, то в окрестности Ок локально эффективного решения

((Р'(5)) (5))|' = \Х)* (расписания л * (5)) не найдено новое решение, уменьшающее значение целевой функции, тогда текущее значение метрики к модифицируется следующим образом: к = к + 1 - формируется модифицированное значение метрики окрестности Ок (л * (5)), если к < ктах, то выполняется переход к шагу 6;

15) при выполнении условия к > ктах в окрестности Ок текущего локально эффективного решения ((Р' (5)), (70 (5)) |' = 1, Ь )* более эффективное решение не найдено, поэтому локально эффективное решение ((Р' (5)), (7™ (5)) |' = 1,Ь )* интерпретируется как эффективное решение по определению позиций данных 7 '-го типа в л' (' = 1, Ь); при реализации условия к > ктах выполняется переход к шагу 16;

16) выполняется модификация множества N 'пр следующим образом. N' = N' \{7'} , если для полученного в результате модификации множества N }пр выполняется условие N' =0 , тогда все данные 7-х типов такие, что 7 е N' , размещены в последовательностях

л' (' = 1, Ь) эффективным образом, тогда должен быть выполнен переход на шаг 17; если N' ^ 0 , то не для всех типов данных выполнено определение эффективного их положения

в л' (' = 1, Ь), реализуется переход на шаг 2;

17) останов алгоритма.

В результате реализации сформулированного алгоритма в последовательностях л' (' = 1,Ь) (в последовательностях л12) эффективным образом определены позиции данных 7-х типов, для которых перед построением динамического расписания выполнялось условие

Ь

7 е Nпр п (^ л'). На втором этапе построения динамического расписания реализуется опре-

'=1

деление эффективного вида последовательностей л'2 (' е Ь5 ) при размещении в них данных 7-х типов, для которых перед началом построения динамического расписания выполнялись

Ь

условия 7 е Nпр &(7 ^ ^ л'). Те же 7-е типы данных входят в множество Nпр, полученное по-

'=1

сле реализации приведенного выше алгоритма размещения в последовательностях л'2 дан-

ных, для которых выполнялось условие г е Nпр п (^ л\). Так как данные, типы которых вхо-

1=1

дят в полученное после реализации первого этапа алгоритма построения динамического расписания множество Nпр, должны быть добавлены в каждую из последовательностей л1

(1 = 1,Ь), тогда для определения их местоположения (позиции ■) в этих последовательностях применен «жадный» алгоритм, предложенный в [1]. Отличием в использовании данного алгоритма при реализации второго этапа построения динамического расписания является то,

что добавляемые на каждом шаге алгоритма в последовательности л2 (1 = 1, Ь) данные могут занять любую позицию в них, начиная с (д + 1)-й (т. е. эффективное местоположение этих данных может быть определено только в пределах последовательностей л12 (1 = 1, Ь)). Рассмотренные первый и второй этапы построения динамических расписаний с учетом поступления на обработку в систему данных гп+& е N в момент времени + > 0 позволяют определить модифицированные виды последовательностей л1 (1 = 1, Ь) при добавлении в них данных гп+ . В ходе реализации первого и второго этапов метода построения динамического расписания для данных гп+& определено их эффективное местоположение в последовательностях л1 (1 = 1,Ь), тогда они удаляются из N'2: N'2 = N\\{,п+ } . В случае выполнения условия N'2 Ф0 из множества N '2 извлекаются данные г 'п + в соответствии с условием

г 'п+ = тт{гп + \гп+ е N'2} , для которых определяется их эффективное местоположение в по-

& й, & &

гп+&

следовательностях л1 (1 = 1, Ь). Указанные действия по построению динамических расписаний для данных гп+&& (& = 1,к ) выполняются до тех пор, пока N'2 Ф0 . В случае N'2 = 0 все

данные гп+& (& = 1, к ), для которых выполняется условие й^ > 0, размещены эффективным

образом в последовательностях л1 (1 = 1,Ь).

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

расписания, сформированного при добавлении в статическое расписание данных гп+& (& = 1,к ). Для динамического расписания на рис. 1 заданы значения параметров: п = 5,

Ь = 5, к = 2 (& = 1,2), а на рис. 2 - п = 5, Ь = 5, к = 4 (& = 1,4).

Для анализа эффективности сформулированного метода построения динамических расписаний в рассмотрение введены следующие обозначения параметров задачи: тт(х') - минимальная длительность обработки данных г-х типов (г = 1, п) на 1-х сегментах конвейера (1 = 1,Ь), для которых di = 0 (данных в статическом расписании); тах(Хг1) / тт^1) - отношение максимальной длительности обработки данных г-х типов (г = 1,п ) на 1-х сегментах конвейера (1 = 1,Ь), для которых di = 0, к минимальной длительности обработки данных этих типов, определяющее неоднородность длительностей обработки данных в статическом расписании; тт(х2 )- минимальная длительность обработки данных (,п & )-х типов (& = 1, к )

на 1-х сегментах конвейера (1 = 1, Ь), для которых йп > 0 (данных, которые размещаются

в сформированном статическом расписании при построении динамического расписания); тах(Х1 ) / тт(Х; ) - отношение максимальной длительности обработки данных ,'-х типов

(г = п +1, п + к ) на 1-х сегментах конвейера (1 = 1, Ь), для которых di > 0, к минимальной дли-

ДниамикаОтрнб.) Статика с [ Динамика с ОзНЗ Статика [треб.) Статика с мимм (траб.) Дикаэтика(тра60 Длина распнсаяи<стат.) Джоне | Фронт| < [ » |

б

Рис. 1. Результаты функционирования программы построения динамических расписаний при п = 5; Ь = 5; к = 2 (g = 1,2 ): а - статическое расписание для данных с di = 0 (7 = 1,п ); б - статическое расписание, дополненное данными с d¡ + > 0 ( g = 1,2 ); в - динамическое расписание, сформированное на основе статического, для данных с dig > 0 (g = й)

в

ЩШ

^-аивннмшнн

|тт! 1ТТ11ТТ11ТТ111Р и1 и и и и и и I Ш1Ш|||||||1т| П П П П П ~ 1*ГП*П П1ГП1ГП1ГП1ГП1П

'П Г! П П П П 1ГП 1ГП 1ГП 1ГП 1П

- 1-Т 1Т 1*1' ■1 ■1 1............. ■ I ....... ■1 ■' ■1Р1 ■' Р1— I —I

П 1ГП 1ГП 1ГТ П 1"Т I

111111111111111111 I I

............... м'Р I I I I I I I I I I , 1МШ1Ш1|||1М'|||

Рис. 2. Результаты функционирования программы построения динамических расписаний при п = 5; Ь = 5; к = 4 (& = 1,4 ): а - статическое расписание для данных с di = 0 (г = 1,п ); б - статическое расписание, дополненное данными с d¡ > 0 ( & = 1,4 ); в - динамическое расписание, сформированное на основе статического, для данных

п+&

с d¡g > 0 (& = р)

а

б

в

тельности обработки данных этих типов, определяющее неоднородность длительностей обработки данных в динамическом расписании. Исследование эффективности сформированных динамических расписаний выполнено при условии, что введенные параметры принимают следующие значения: а) тт(^')- значения 2, 6, 10; б)тах(77' )/тт(^') - 2, 6, 10; в) тт(7' ) - 2, 6, 10; г) тах(7' )/тт(7' )- значения 2, 4, 6, 8, 10. Результаты исследова-

ln+g ln+g ln+g

ний эффективности построения динамических расписаний для случаев к = 2 и к = 4 представлены на рис. 3, 4.

С целью анализа эффективности построения динамических расписаний результаты исследований были сформированы следующим образом. Для задаваемых значений параметров длительностей обработки данных 7-х типов (7 = 1, п) в статическом расписании и данных (7п+g )-х типов (g = п +1,п + к ),поступающих на обработку в моменты времени di > 0 , программа формировала исходное статическое расписание для п типов данных, статическое расписание для п типов данных с добавленными в него данными с di > 0 , динамическое рас-

ln+g

писание для п типов данных с d i = 0 и к типов данных, для которых d i > 0 . Для каждого

ln+g

вида расписаний вычислялись значения критерия /. Для определения эффективности построения динамических расписаний значения критерия, формируемые для статического расписания обработки п данных с добавленными к нему данными с di > 0 , обозначены как /с,

значения критерия, полученные для динамического расписания при определении для данных с d7 > 0 их эффективного местоположения в последовательностях л' (' = 1, Ь), обозначены

как /д. Тогда эффективность построения динамического расписания определяется как (/с — /д)/ /с (уменьшение простоев сегментов конвейера при формировании динамического расписания к суммарному значению простоев сегментов при статическом расписании). Анализ зависимостей эффективности формирования динамических расписаний от параметров

длительностей обработки данных 7 -х (7 = 1, п ) и (7п+g )-х типов (g = п +1, п + к) позволил сделать следующие выводы. При значениях параметров тт(^') = 2 и тт(^' ) = 10 (при значениях отношения тах(7' )/тт(7') равных 2, 6, 10) эффективность предложенного метода построения динамических расписаний (эффективность сформированных динамических расписаний) максимальна.

При этом максимум эффективности (для тт(^') = 2, тт(^' ) = 10) получен для значения

тах(7') / тт(^') = 2 . Таким образом, формирование динамического расписания наиболее эффективно при малых длительностях обработки данных в статическом расписании (данные с d7 = 0), малой неоднородности длительностей обработки этих данных (тах(') / тт(') = 2), значительных длительностях обработки данных с d. > 0 (тт(7' ) = 10). Изменение неод-

ln+g ln+g

нородности длительностей обработки данных с di > 0 от тах(7' ) / тт(7' ) = 2 до тах(7,' ) / тт(7' ) = 10 обуславливает увеличение эффективности построения динамическо-

ln+g ln+g

го расписания от 0,27 до 0,44. При значениях тт(7') = 2 , тт(^ ) = 10 увеличение неоднородности длительностей обработки данных в статическом расписании (значения отношения тах(7' )/тт(7') равны 6 и 10) обуславливает уменьшение эффективности построения динамических расписаний. При тах(7' )/тт(7') = 6 эффективность построения динамического расписания находится в диапазоне от 0,23 до 0,4; при тах(7' )/тт(7') = 10 - в диапазоне от 0,16 до 0,38. Таким образом, при увеличении неоднородности длительностей обработки данных в статическом расписании эффективность построения динамического расписания снижается на значения, находящиеся в диапазоне от 0,04 до 0,11. Уменьшение длительностей

0,05 0

-тахр)/т1пр)=2 т1п(ип+д)=2 -тахр)/т1пр)=2 т1п№+д)=6 -тах(111)/т1п(111)=2 т1п(Ш+д)=10

max(tn+a)/m¡n(tn+a)

-тах(111)/т1п(111)=6 min(tln+q)=2

-тах(111)/т1п(111)=6 min(tln+q)=6 -mаx(tli)/min(tli)=6 min(tln+q)=10

-max(tli)/min(tli)=10 min(tln+q)=2 -max(tli)/min(tli)=10 min(tln+q)=6 -max(tli)/min(tli)=10 min(tln+q)=10

а

0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0

-max(tli)/min(tli)=2 min(tln+q)=2 -max(tli)/min(tli)=2 min(tln+q)=6 -max(tli)/min(tli)=2 min(tln+q)=10

max(tn+a)/m¡n(tn+a)

-max(tli)/min(tli)=6 min(tln+q)=2 -max(tli)/min(tli)=6 min(tln+q)=6 -max(tli)/min(tli)=6 тт^^)=10

-max(tli)/min(tli)=10 min(tln+q)=2 -max(tli)/min(tli)=10 min(tln+q)=6 -max(tli)/min(tli)=10 min(tln+q)=10

б

0,4 0,35 -0,3 -0,25 -0,2 -0,15 0,1 0,05 0

-max(tli)/min(tli)=2 min(tln+q)=2 -max(tli)/min(tli)=2 min(tln+q)=6 -max(tli)/min(tli)=2 min(tln+q)=10

max(tn+a)/m¡n(tn+a)

-max(tli)/min(tli)=6 min(tln+q)=2 -max(tli)/min(tli)=6 min(tln+q)=6 -max(tli)/min(tli)=6 min(tln+q)=10

-max(tli)/min(tli)=10 min(tln+q)=2 -max(tli)/min(tli)=10 min(tln+q)=6 -max(tli)/min(tli)=10 min(tln+q)=10

в

Рис. 3. Эффективность метода построения динамических расписаний обработки данных при различных моментах времени их поступления и д = 1,2 : а - эффективность динамического расписания при тт(г/) = 2 (7 = 1,п ); б -эффективность динамического расписания при тт(г/) = 6 (7 = 1,п ); в - эффективность динамического расписания при тт(г/) = 10 (7 = 1, п )

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

К 0,45 п

ГС и 0,4 --

5

и 0,35

а

о 0,3

<■>

и ф 0,25

У

5 0,2

X

Ч 0,15

.0

и О 0,1

СО 5 0,05

С

Ф * 0 1

*

т

-max(tli)/min(tli)=2 min(tln+q)=2 -max(tli)/min(tli)=2 min(tln+q)=6 -max(tli)/min(tli)=2 min(tln+q)=10

max(tn+q)/m¡n(tn+q)

-max(tli)/min(tli)=6 min(tln+q)=2 -max(tli)/min(tli)=6 min(tln+q)=6 -max(tli)/min(tli)=6 min(tln+q)=10

-max(tli)/min(tli)=10 min(tln+q)=2 -max(tli)/min(tli)=10 min(tln+q)=6 -max(tli)/min(tli)=10 min(tln+q)=10

а

0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0

-max(tli)/min(tli)=2 min(tln+q)=2 -max(tli)/min(tli)=2 min(tln+q)=6 -max(tli)/min(tli)=2 min(tln+q)=10

max(tn+a)/m¡n(tn+a)

-max(tli)/min(tli)=6 т^^)=2 -max(tli)/min(tli)=6 min(tln+q)=6 -max(tli)/min(tli)=6 min(tln+q)=10

-max(tli)/min(tli)=10 min(tln+q)=2 -max(tli)/min(tli)=10 min(tln+q)=6 -max(tli)/min(tli)=10 min(tln+q)=10

б

0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0

-max(tli)/min(tli)=2 т^^)=2 -max(tli)/min(tli)=2 min(tln+q)=6 -max(tli)/min(tli)=2 min(tln+q)=10

max(tn+a)/m¡n(tn+a)

-max(tli)/min(tli)=6 min(tln+q)=2 -max(tli)/min(tli)=6 min(tln+q)=6 -max(tli)/min(tli)=6 min(tln+q)=10

- max(tli)/min(tli)=10 min(tln+q)=2

- max(tli)/min(tli)=10 min(tln+q)=6

- max(tli)/min(tli)=10 min(tln+q)=10

в

Рис. 4. Эффективность метода построения динамических расписаний обработки данных при различных моментах времени их поступления и д = 1,4 : а - эффективность динамического расписания при тт(^) = 2 (7 = 1, п ); б -эффективность динамического расписания при шт(г7) = 6 (7 = 1, п ); в - эффективность динамического расписания при тт(г7) = 10 (7 = 1, п )

обработки данных с di > 0 (значения тт(х' ) = 6 и тт(х' ) = 2) обуславливает уменьшение эффективности построения динамических расписаний по сравнению с расписаниями, сформированными при

тш^) = 10 и теми же значениями остальных параметров. При тт(Х- ) = 6 эффективность сформированных динамических расписаний снижается на 0,05 (для тах^)/тт(х') = 2) и 0,16 (для тах(х')/т1п(Хг1) = 10). При тт(х' ) = 2 эффективность сформированных динамических расписаний снижается на 0,1 (для тах(Хг1 )/тт(х') = 2) и 0,25 (для тах(х1) / тт^1) = 10).

Таким образом, максимальная эффективность построения динамических расписаний наблюдается при малых значениях длительностей обработки данных в статическом расписании (при di = 0) и больших значениях длительностей обработки данных, поступающих в систему в моменты времени di > 0 (при условии значительной неоднородности длительностей обработки данных ( ¡п+ )-ых типов (& = п +1, п + к)). При уменьшении длительностей обработки данных, поступающих на обработку в моменты времени di > 0 , эффективность сформированных динамических расписаний снижается.

Увеличение длительностей обработки данных ¡-х типов (г = 1, п ) (соответственно значения тт( Х,1 ) = 6 и тт(х') = 10) при тех же (рассматриваемых для случая тт(х') = 2) значениях остальных параметров обуславливает уменьшение эффективности сформированных динамических расписаний. Эффективность динамических расписаний для случая тт( Х,1) = 6 снижается (по сравнению с экспериментами с тт(Х-) = 2) на значения, находящиеся в диапазоне от 0,002 до 0,07, для случая тт(х/) = 10 - на значения, находящиеся в диапазоне от 0,01 до 0,12. При этом снижение эффективности динамических расписаний более значительно при малых значениях отношения тах(Х1 ) / тт(х' ), при увеличении значений этого отношения до 8, 10 снижение эффективности незначительно.

На рис. 4 представлены виды графических зависимостей эффективности динамических расписаний от входных параметров задачи для количества к добавляемых в статические расписания данных, равного 4 (к = 4). Большее количество данных ¡п+&& при тех же значениях

параметра неоднородности длительностей их обработки приводит к незначительному снижению эффективности построения динамических расписаний по сравнению со случаем (к = 4). Максимальное снижение эффективности динамических расписаний наблюдается при малых значениях параметра тах(Х,1 ) /тт(Х_п ), увеличение значений этого параметра до 8, 10 обуславливает меньшее снижение эффективности метода построения динамических расписаний. Незначительное снижение эффективности построения динамических расписаний связано с увеличением количества обрабатываемых в системе данных (с di > 0) при неоднородности длительностей их обработки.

Заключение

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

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

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

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

2. КовалевМ. М. Матроиды в дискретной оптимизации. М.: Едиториал УРСС, 2003. 224 с.

3. Кочетов Ю. А., Младенович Н., Хансен П. Локальный поиск с чередующимися окрестностями // Дискретный анализ и исследование операций. 2003. Т. 10, № 1. С. 11-43.

4. Кононова П. А. Нижние и верхние оценки длины оптимального расписания презентаций медиаобъектов // Дискретный анализ и исследование операций. 2012. Т. 19, № 1. С. 54-73.

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

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

Материал поступил в редколлегию 15.09.2015

K. V. Krotov

Sevasopol State University 33 Universitetskaya Str., Sevastopol, 299053, Russian Federation

krotov_k1@mail.ru

GRADIENT METHOD OF CREATING THE DYNAMIC SCHEDULING OF PROCESSING DATA IN A CONVEYOR SYSTEM AT DIFFERENT POINTS

IN TIME OF THEIR RECEIPT

Model of construction scheduling of processing data in conveyor system and method of constructing dynamic scheduling data at different time points of entry into the system are grounded in work.

Keywords: conveyor system, schedule program execution, dynamic scheduling, data acquisition times for processing locally effective solution neighborhood .

References

1. Krotov K. V. Gradient method of drawing up schedules for static conveyor systems, based on greedy strategy. Vestnik Novosibirsk State University. Series: Information technology, 2015, vol. 13, № 1, p. 55-73.

2. Kovalev M. M. Matroids in discrete optimization. Moscow, Editorial URSS Publ., 2003, 224 p.

3. Kochetov Y. A. Local search with alternating neighborhoods / Y. A. Kochetov, N. Mlade-novic, P. Hansen. Discrete Analysis and Operations Research, 2003, vol. 10, № 1, p. 11-43.

4. Kononova P. A. Lower and upper bounds for the length of the optimal schedule of presentations of media objects. Discrete Analysis and Operations Research, 2012, vol. 19, № 1, p. 5473.

5. Kononova P. A. Local search with alternating neighborhoods for the Johnson problem with passive buffer. Discrete Analysis and Operations Research, 2012, vol. 19, № 5, p. 63-82.

6. Kononova P. A. Local search with alternating neighborhoods for the Johnson problem with passive buffer. Sci. Diss. Novosibirsk, 2012, 106 p.

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