Научная статья на тему 'ИЕРАРХИЧЕСКАЯ МОДЕЛЬ И АЛГОРИТМ ОПТИМИЗАЦИИ РЕШЕНИЙ ПРИ РАСПРЕДЕЛЕННОМ ХРАНЕНИИ И ОБРАБОТКЕ ДАННЫХ'

ИЕРАРХИЧЕСКАЯ МОДЕЛЬ И АЛГОРИТМ ОПТИМИЗАЦИИ РЕШЕНИЙ ПРИ РАСПРЕДЕЛЕННОМ ХРАНЕНИИ И ОБРАБОТКЕ ДАННЫХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
41
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИЕРАРХИЧЕСКАЯ ИГРА / ОГРАНИЧЕНИЯ НА ОБЪЕМЫ РАСПРЕДЕЛЕННЫХ УСТРОЙСТВ ХРАНЕНИЯ / ОПТИМИЗАЦИЯ РЕШЕНИЙ ПО РАСПРЕДЕЛЕННОМУ ХРАНЕНИЮ И РАСПРЕДЕЛЕННОЙ ОБРАБОТКЕ ДАННЫХ / ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ

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

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

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

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

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

HIERARCHICAL MODEL AND DECISION OPTIMIZATION ALGORITHM FOR DISTRIBUTED DATA STORAGE AND PROCESSING

The task of optimizing distributed data storage and processing is difficult to solve in a limited time. In this regard, a hierarchical approach has been applied to solve it, which provides for the presentation of a generalized problem in the form of a set of hierarchically ordered subtasks, for each of which locally optimal solutions are determined at the appropriate hierarchy level. To optimize solutions for distributed data storage and processing, a process model has been formed, presented in the form of a set of hierarchically ordered components, a mathematical model of a hierarchical game, which is a way to optimize solutions at hierarchy levels. In order to determine effective solutions at hierarchy levels, an algorithm for local optimization of solutions based on genetic algorithms has been developed. The construction of data processing schedules assigned to computing devices is implemented using the proposed heuristic procedure. The application of the developed models of the distributed data storage and processing process, hierarchical game models and algorithms for optimizing solutions made it possible to significantly increase the dimension of the problem, take into account the parameters characterizing data transmission channels when optimizing solutions at hierarchy levels, and minimize the amount of unused resources.

Текст научной работы на тему «ИЕРАРХИЧЕСКАЯ МОДЕЛЬ И АЛГОРИТМ ОПТИМИЗАЦИИ РЕШЕНИЙ ПРИ РАСПРЕДЕЛЕННОМ ХРАНЕНИИ И ОБРАБОТКЕ ДАННЫХ»

Научная статья УДК004:519.854

DOI:10.31854/1813-324X-2023-9-2-112-127

Сс<

Иерархическая модель и алгоритм оптимизации решений при распределенном хранении и обработке данных

Кирилл Викторович Кротов, krotov_kl@mail.ru

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

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

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

Ссылка для цитирования: Кротов К.В. Иерархическая модель и алгоритм оптимизации решений при распределенном хранении и обработке данных // Труды учебных заведений связи. 2023. Т. 9. № 2. С. 112-127. DOI:10.31854/1813-324X-2023-9-2-112-127

Kirill Krotov, krotov_kl@mail.ru

Sevastopol State University Sevastopol, 299053, Russian Federation

Abstract: The task of optimizing distributed data storage and processing is difficult to solve in a limited time. In this regard, a hierarchical approach has been applied to solve it, which provides for the presentation of a generalized problem in the form of a set of hierarchically ordered subtasks, for each of which locally optimal solutions are determined at the appropriate hierarchy level. To optimize solutions for distributed data storage and processing, a process model has been formed, presented in the form of a set of hierarchically ordered components, a mathematical model of a hierarchical game, which is a way to optimize solutions at hierarchy levels. In order to determine effective solutions at hierarchy levels, an algorithm for local optimization of solutions based on genetic algorithms

Hierarchical Model and Decision Optimization Algorithm for Distributed Data Storage

and Processing

©Кротов К.В., 2023

112

tuzs.sut.ru

has been developed. The construction of data processing schedules assigned to computing devices is implemented using the proposed heuristic procedure. The application of the developed models of the distributed data storage and processing process, hierarchical game models and algorithms for optimizing solutions made it possible to significantly increase the dimension of the problem, take into account the parameters characterizing data transmission channels when optimizing solutions at hierarchy levels, and minimize the amount of unused resources.

Keywords: hierarchical game, restrictions on the volume of distributed storage devices, optimization of solutions for distributed storage and distributed data processing, genetic algorithms

For citation: Krotov K. Hierarchical Model and Decision Optimization Algorithm for Distributed Data Storage and Processing. Proc. of Telecom. Universities. 2023;9(2):112-127. (in Russ.) DOI:10.31854/1813-324X-2023-9-2-112-127

Введение

В настоящее время активно развивается подход к обработке данных, предполагающий, что устройства их хранения и выполнения вычислений с ними являются географически распределенными. Указанный подход к обработке данных предусматривает распределенное их хранение и распределенную их обработку, в смысле - выполнение вычислений (РХ-РО). Предполагается, что для решения некоторого пула задач обработки данных выделяются ресурсы ограниченного объема как для их хранения, так и для вычислений. Также следует учитывать, что хранение данных на устройствах и их обработка связаны с взиманием платы за оказываемые услуги. Отсюда рассматриваемая постановка задачи типа «РХ-РО» характеризуется особенностями, связанными с наличием ограничений на ресурсы, а также с назначением стоимости за оказание соответствующих услуг.

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

Современное состояние научных исследований, направленных на планирование распределенного выполнения заданий (обработки данных на распределенных ВУ) связано в основном с применением различных эвристических подходов. В [1] рассматривается применение известных эвристик для выбора задания, назначаемого на устройство в GRID-системах: «задание с наименьшим временем обработки - первым» (SPTF, аббр. от англ. Shortest-Processing-Time-First), «короткое задание - первым» (SJF, аббр. от англ. Short-Job-First), «задание с самым длинным временем обработки - первым» (LPTF, аббр. от англ. Longest-Processing-Time-First), «зада-

ние самого большого размера - первым» (LSF, аббр. от англ. Largest-Size-First), «задание с самым ранним директивным сроком окончания выполнения -первым» (EDF, аббр. от англ. Earliest-Deadline-First). Также в [1] предложен способ упорядочивания заданий в очереди на выполнение с использованием специальных метрик, выражения для вычисления которых предусматривают использование параметров: директивного срока, длительности обработки данных, значения текущего времени. Кроме того, в [1] рассматривается применение эвристик для выбора устройства, на которое может быть назначено задание из головы очереди: эвристика «выбор наиболее подходящего» (от англ. Best-Fit) выбирает узел, который имеет наименьшее количество доступных ресурсов и может выполнить обработку рассматриваемых данных; эвристика «выбор первого подходящего» (от англ. First-Fit) планирует задания по первому подходящему ресурсу из списка доступных; эвристика «самый быстрый ресурс - первый» (FRF, аббр. от англ. Fastest-Resource-First) выбирает самый быстрый ресурс из списка доступных и назначает его для выполнения задания; эвристика «минимально загруженный ресурс - первый» (MLF, аббр. от англ. Min-Loaded-First) выбирает ресурс, имеющий максимальную неиспользуемую мощность процессора.

Развитию эвристического подхода к планированию в GRID-системах посвящена работа [2], в которой рассматриваются эвристики: 1) UDA (аббр. от англ. User-Defined-Attributes, определяемый пользователем атрибут) - назначает устройству задачу с наилучшим ожидаемым временем ее выполнения, независимо от его (устройства) доступности; 2) алгоритм Min-Min-задача с самым минимальным временем выполнения назначается на соответствующий ресурс; 3) алгоритм Max-Min-задача с максимальным (среди минимальных) временем выполнения назначается на соответствующий ресурс.

В работе [3] также рассматривается применение эвристик Min-Min и Max-Min к планированию в GRID-системах; анализируются эвристические правила:

1) «минимальное время выполнения - первым» (MET, аббр. от англ. Minimum-Execution-Time), ко-

торое назначает задание устройству, имеющему наименьшее время выполнения для этого задания;

2) «самое длинное задание - на самый быстрый ресурс» (LJFR, аббр. от англ. Longest-Job-to-Fastest-Resource);

3) «самое короткое задание - на самый быстрый ресурс» (SJFR, аббр. от англ. Shortest-Job-to-Fastest-Resource);

4) «минимальная относительная стоимость выполнения задания - первой» (RC, аббр. от англ. Relative-Cost) - предполагает вычисление значений параметров статической и динамической относительной стоимости и упорядочивание заданий в соответствии с этими значениями.

Исследованию рассмотренных выше эвристик (в том числе MET, MLF, FRF, Min-Min и Max-Min) применительно к планированию в GRID-системах посвящена работа [4]. Также упоминается о возможности применения метаэвристических алгоритмов (генетические алгоритмы, муравьиные колонии, имитация отжига) к решению задач планирования в рассмотренных системах. Однако непосредственная адаптация этих алгоритмов для решения указанных задач планирования в этой работе не рассматривается.

В работе [5] рассматриваются различные политики (эвристические правила) назначения ресурсов заданиям в облачных средах. Это политика «первого доступного кэша» (FCA, аббр. от англ. First-Cache-Available), политика «максимального количества попаданий кэша» (MCH, аббр. от англ. Max-Cache-Hit), «максимальное количество вычислений» (MCU, аббр. от англ. Max-Compute-Util) и «хорошее вычисление кэша» (GCC, аббр. от англ. Good-Cache-Computing). Политика FCA игнорирует информацию о местоположении данных при выборе исполнителя для задачи; она обеспечивает выбор первого доступного исполнителя (устройства) и не предоставляет исполнителю никакой информации о расположении данных, необходимых для задачи; исполнитель должен получать все эти данные из постоянного хранилища при каждом доступе. Политика MCH использует информацию о расположении данных для отправки каждой задачи исполнителю с наибольшим объемом данных, необходимых для ее решения. Если исполнитель занят, то отправка откладывается до тех пор, пока он не станет доступным. Политика MCU использует информацию о местоположении данных, пытаясь максимизировать использование ресурсов даже при потенциально более высоких затратах на перемещение данных. Она назначает задачу доступному исполнителю, предпочитая исполнителей, находящихся «ближе» к необходимым для ее решения данным. Политика GCC - гибридная политика по отношению к MCH и MCU; она устанавливает порог минимального использования процессора с целью определения необходимости

использования одной из указанных политик (MCH или MCU).

В работе [6] наряду с уже рассмотренными эвристиками используются следующие правила для планирования выполнения заданий в вычислительных кластерах: «наименее подходящий» (WF, аббр. от англ. Worst-Fit); случайное назначение (RF, аббр. от англ. Random-Fit), а также методы предварительного резервирования и обратного заполнения. Метод предварительного резервирования использует информацию о времени выполнения, предоставленную пользователем, чтобы зарезервировать ресурсы процессора и памяти, и соответственно сгенерировать расписание. Метод обратного заполнения является улучшением алгоритма планирования с полным распределением задач по ресурсам.

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

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

В [9] предложен алгоритм назначения ВУ в облачной среде с учетом заданных директивных сроков окончания выполнения заданий и ограничений на бюджеты, связанные с их выполнением. Задан

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

В целом выполненный анализ существующих методов планирования распределенного выполнения заданий на ВУ позволил определить следующие их недостатки:

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

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

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

Задача оптимизации решений по размещению данных на устройствах хранения ограниченного объема, по назначению ВУ для их обработки (с учетом использования каналов передача между указанными устройствами) является ЫР-трудной [1]. В связи с этим необходима разработка приближенных методов оптимизации решений или методов локальной оптимизации решений. Одним из возможных способов решения указанной задачи оптимизации является иерархический подход [10, 11], который предусматривает выделение в обобщенной задаче оптимизации совокупности подзадач, каждая из которых решается на назначенном ей уровне иерархии; реализация указанного подхода предполагает:

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

уровне выбирается лучшее (в частном случае, локально-оптимальное);

- необходимость обмена решениями между уровнями - решение, сформированное на вышестоящем уровне, передается на нижестоящий для определения локально-оптимального решения, которое передается на вышестоящий для вычисления на его основе оценки оптимальности;

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

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

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

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

- метода (алгоритма) поиска локально-оптимальных решений на каждом из уровней иерархии;

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

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

1. Математическое моделирование процессов и

синтез математической модели оптимизации

решений по распределенному хранению и

обработке данных

Для синтеза математической модели процесса распределенного хранения и обработки данных в рассмотрение введены обозначения для входных данных и параметров задачи:

1) i - идентификатор типа данных, распределенное хранение и обработка которых выполняется в системе ([ = 1, М);

2) ^ - объем данных /-го типа, которые должны быть размещены в устройствах хранения (/ = 1, М);

3) m - идентификатор устройства распределенного хранения данных (т = 1,М);

4) - размер m-го хранилища данных (т = 1, М), являющийся задаваемым при решении задачи оптимизации; V = (рт\ т = 1,М)- вектор-строка размеров m-х хранилищ данных;

5) Бт - стоимость хранения единицы данных в единицу времени на m-м устройстве хранения; $ = (^т \ т = 1,М)Т - вектор-столбец стоимостей хранения данных разных типов в единицу времени на m-х устройствах;

6) Бкт - размер штрафа за единицу неиспользованного ресурса на m-ом устройстве хранения; Бк = (Бкт\ т = 1,М)- вектор-строка штрафов за единицу неиспользованного ресурса на m-х устройствах;

7) l - идентификатор устройства распределенной обработки данных (I = 1Д);

8) Ьц - длительность обработки данных /-го типа на 1-м ВУ (I = 1,Мщ,1 = 1Д); Т = \\£а\\мхь- матрица длительностей обработки данных /-х типов на 1-х ВУ;

9) - стоимость единицы времени обработки данных на 1-м ВУ (I = 1, ¿);

10)ст1- пропускная способность канала передачи данных между т-м устройством хранения и 1-м устройством обработки (в том случае, если между т-м устройством хранения и 1-м устройством обработки отсутствует канал передачи данных, то ст1 = 0); С= \\ст1\\МхЬ - матрица пропускных способностей каналов передачи данных между т-ми устройствами хранения и 1-ми устройствами обработки;

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

12) Ьтах - максимальная длина канала передачи данных, используемая для вычисления значений коэффициентов длин каналов ( т = 1,М ; I = Ц);

13) - коэффициент длины канала передачи данных между т-м устройством хранения и 1-м устройством обработки (вычисляется в соответствии с формулой: вт1 = (Ьт1/Ьтах)); 0 = \\етг\\Мхь -матрица коэффициентов длин каналов передачи данных между т-ми устройствами хранения и 1-ми устройствами обработки;

14) Цт1 - стоимость передачи единицы данных между на т-м устройством хранения и 1-м устройством обработки (т = 1,М; I = 1Д); Q = \\цт1\\мхъ -матрица стоимостей передачи единицы данных между т-ми устройствами хранения и 1-ми ВУ.

Постановка задачи предполагает введение условия 21=1 < 2т=1 , предусматривающего,

что все данные будут распределены для хранения по устройствам. Необходимость построения расписания загрузки на устройства хранения в связи с этим отсутствует. Однако при распределении данных /-х типов по ВУ требуется построение расписаний их (данных) обработки на устройствах, так как на его основе осуществляется расчет стоимостных показателей, связанных с хранением.

В соответствии с иерархическим подходом [10, 11] к математическому моделированию и оптимизации процессов распределенного хранения и обработки данных выполнена декомпозиция обобщенной функции системы на совокупность иерархически упорядоченных подфункций, которые распределены по уровням следующим образом:

1) верхний уровень - моделирование и оптимизация распределенного хранения данных на устройствах;

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

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

компонента верхнего уровня

- матрицу назначений Р = \\р1т\\ыхм, элементы которой р1т = 1, если данные /-го типа размещены для хранения на т-м устройстве, и р1т = 0, если данные /-го типа не размещены для хранения на т-м устройстве;

- матрицу Ттет = \\^т\\мхм интервалов времени хранения данных /-х типов на т-х устройствах хранения (I = 1,М; т = 1,М); элемент матрицы Ф 0 в том случае, если для соответствующих индексов / и т элемент р1т матрицы Р равен 1 (р1т = 1), элемент матрицы = 0 в том случае, если для соответствующих индексов / и т элемент р1т матрицы Р равен 0 (р;т = 0); компонента нижнего уровня

- матрицу назначений И = \\гг;\\ьхи, элементы которой Гц = 1, если данные /-го типа назначены для обработки на 1-м ВУ, и ги = 0, если данные /-го типа не назначены для обработки на 1-м устройстве;

- матрицу Т0 = ||£°||^ ьмоментов времени начала обработки данных /-х типов на 1-х ВУ (элемент ^ матрицы Т° - это момент времени начала обработки данных /-го типа на 1-м ВУ (I = 1,М; I = 1, ¿); Ф 0 в том случае, если для соответствующих индексов / и 1 элемент ги матрицы Я равен 1

(Гц = 1), Ь0 = 0 в том случае, если для соответствующих индексов / и 1 элемент ги матрицы Я равен 0 (ги = 0)).

Элементы Ь0 матрицы Т0 соответствуют определенным порядкам обработки данных /-х типов на 1-х ВУ, формируемым с использованием разработанной эвристической процедуры. То есть матрица Т0 соответствует расписаниям обработки данных /-х типов на 1-х ВУ.

В этом случае математическая модель процесса распределенного хранения и распределенной обработки данных имеет вид кортежей:

- компонента верхнего уровня - кортеж вида [Р,Ттет], соответствующий распределению данных для хранения по устройствам и характеризующий интервалы времени хранения их на этих устройствах;

- компонента нижнего уровня - кортеж вида [Д,Г°] соответствующий распределению данных на ВУ и характеризующий моменты времени начала их обработки на этих устройствах (иными словами - расписание распределенной обработки данных на ВУ).

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

Особенностью реализации теоретико-игрового подхода к иерархической оптимизации решений по распределенному хранению и обработке данных (особенностями взаимодействия игроков при оптимизации решений на уровнях игры) являются [12-14]:

1) передача решения по распределенному хранению данных с верхнего уровня на нижний с целью формирования на его основе решения по распределенной обработке данных;

2) формирование для полученного с верхнего уровня решения по распределенному хранению данных локально-оптимального решения по распределенной обработке данных на соответствующем ему нижнем уровне;

3) передача локально-оптимального решения по распределенной обработке данных с нижнего уровня на верхний с целью оценки оптимальности решения по распределенному хранению данных.

В соответствии с указанными особенностями взаимодействия игроков и введенными обозначениями для решений, оптимизируемым на каждом из уровней, модель иерархической игры представлена в следующем общем виде [12-14]:

1) верхний уровень:

min f1([P,Tmem],[R,T0]*); [pjmem^Ni ±VL J L J 7

2) нижний уровень:

min f2([P,Tn

[R,T0]EN2([P,Tmem])

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

%[R,T0]),

где М2([Р,Ттет]) - множество решений по распределенному хранению данных и по их обработке, соответствующее сформированному решению [р, гртет] по распределенному хранению данных, полученному с верхнего уровня.

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

Интервал времени передачи данных одного /-го типа между т-м устройством, на котором реализуется их хранение, и 1-м ВУ, на котором реализуется их обработка, определяется следующим образом:

m и

V V di

/ / Pimrli-.

^ ^ ст1

т=1 1 = 1

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

оценках критерия при сравнении решений по распределенной обработке данных.

В этом случае оценка времени передачи данных одного /-го типа между т-м устройством, на котором реализуется их хранение, и 1-м ВУ, на котором реализуется их обработка (с учетом веса, характеризующего длину канала связи), определяется выражением:

т=1 1 = 1

¿1

р1тгИ~ ®т1. Ст1

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

N М Ь

1 1 ^1Р1тгИ~ ®т1.

1 = 1 т=1 1 = 1

Интервал времени выполнения вычислений с данными /-х типов, обработка которых назначена на одном 1-м устройстве, определяется следующим образом:

I

=1

Г11

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

тах I п^I.

1=1, Ь ¿—I

III Р1тП1 — вт1 + тах I Гц Ь,

Ст1 1=1,Ь 4->

(1)

1 = 1 т=1 1 = 1

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

Определение интервалов времени хранения данных /-х типов на т-х устройствах ( / = 1,И;т = 1, М) реализуется в предположении, что все данные N типов распределяются по устройствам хранения одновременно в момент времени, равный 0. Тогда интервал времени хранения данных /-го типа на т-м устройстве определяется с учетом момента времени Ь01 начала обработки данных на 1-м ВУ и интервала времени передачи всего объема данных этого типа (в количестве ^) с т-го устройства на 1-е устройство. То есть момент времени окончания хранения данных /-го типа на т-м устройстве (и, соответственно, интервал времени их хранения на этом устройстве) определяется как разность между моментом времени начала обработки данных на 1-м устройстве и интервалом времени передачи данных по каналу, соединяющему т-е устройство (где хранятся данные) и 1-е устройство (где они обрабатываются).

Интервал времени передачи данных между т-м устройством хранения и 1-м устройством обработки определяется как сумма интервала времени выставления данных в канал в заданном их объеме ^ (при известной пропускной способности Ст1 канала, по которому передаются данные) и интервала времени передачи данных по каналу. С целью определения интервала времени передачи данных по каналу в рассмотрение введена константа , соответствующая скорости распространения сигнала в канале (54г = 2* 105км/с).

Тогда для данных /-го типа, размещенных для хранения на т-м устройстве и обрабатываемых на 1-м устройстве, время их передачи по каналу будет определено следующим образом:

р1т ' ' с* ,

=1

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

Указанные характеристики процесса распределенной обработки данных определяются выражением следующего вида:

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

Интервал времени выставления данных /-го типа, размещенных для хранения на т-м устройстве, в канал, соединяющий это устройство и 1-е устройство, на котором они обрабатываются, определяется выражением вида:

Ь

I

=1

. .А

р1т ' ' .

Ст1

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

N М

Ь

N

Yv r + / Pimrli I ---T T— ).

¿-1 4cml ¿tr '

1=1

Значение ^ для данных /-го типа, обрабатываемых на 1-м устройстве, определяется в соответствии с расписанием, формируемом с использованием эвристической процедуры.

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

t"

где 1 = 1,Ы, т = 1,М.

С целью синтеза критерия оптимальности решений на верхнем уровне иерархической игры введена в рассмотрение матрица Р' = \\р''т1\\мхм, элементы которой определяются следующим образом: Р' = РТ (где Т - символ операции транспонирования матрицы Р). То есть р'т1 = р1т (т = Т/М; / = Т/Ы).

Тогда для данных /-го типа, хранящихся на т-м устройстве, стоимость хранения единицы данных в течение интервала времени определяется выражением вида:

Y

t-' п

' V mi Sm.

В силу истинности условия:

N М

1 = 1 т=1

все данные будут распределены для хранения по устройствам.

Тогда стоимость хранения всех данных п типов на устройствах определяется выражением вида:

N / М \

*-тетл

Y4Y

t-

п

V mi^m

¿ = 1 \т=1 '

где й^ - это количество данных /-х типов, хранящихся на т-х устройствах.

Стоимость выполнения единицы вычислительных операций на 1-ом устройстве обозначена через , а длительность выполнения всех операций на 1-м устройстве с назначенными на него данными определяется выражением:

Y

ri ih i.

Тогда стоимость выполнения всех вычислительных операций на отдельном 1-м устройстве определяется выражением:

N

Щ^Пько

=1

а стоимость реализации вычислительных операций с данными на всех Ь устройствах обработки:

Ь N

^Щ^ГцЬЦ.

=1 =1

Аналогичным образом затраты на передачу единицы данных разных /-х типов между некоторым т-м устройством хранения, на котором они размещены, и некоторым 1-м устройством обработки, на котором они обрабатываются, определяются выражением:

N

Y

Pimrli 4ml,

а затраты на передачу всего объема (11 данных /-х типов между т-м устройством хранения и 1-м устройством обработки определяется выражением:

N

Y

i = 1

Pimrli^i4ml.

Выражение для определения суммарных затрат на передачу данных /-х типов ( / = 1, М) от разных т-х устройств хранения на различные 1-е устройства для обработки имеет вид:

N M L

YYY

i=1 m=1 1=1

Pimrli^i4ml.

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

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

Y

=1

V mi^i,

где р'т1 - элемент матрицы Р' (Р' = РТ)).

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

N

-Yv'midi.

=1

Тогда размер штрафа за неиспользованный ресурс хранения данных на т-м устройстве определяется выражением:

$гп I Vrr

-YP'midi \

=1

=1

m=1

V

m

l=1

Итоговое выражение для определения суммарных штрафов за неиспользуемые ресурсы на всех устройствах хранения имеет вид:

I Sm¡vm-Iр'midi V

$ т I ^т

т=1 V 1=1

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

N г М \ Ь N

I ¿1 (I С^Рт^ш ) + I Щ I ГцЬЦ +

1=1 \т=1 ' 1 = 1 1=1

N М Ь

+! 11 Р1тГий1Чт1 + (2)

1 = 1 т=1 1 = 1

М г N \

+ ISm(vm-Iр'midi ).

^т \ "т т=1 \ 1 = 1

где

N / М

тт Д , (3)

)Ь N

+ Iw^Ir^ítí^ +

=1 =1

N М Ь

I IIРimnidiqml +

+

1=1 т=1 1=1

М / N \

+ I ^ ( УГП - I Р^^1 I ' =1 =1

2) нижний уровень - минимизация времени передачи данных и времени обработки:

где

N М Ь

тт ¡2 ,

(4)

f2=III Р1тГи —L вт1 + тахУ гиЬй ; ¿—1 ¿—1 ¿—1 ст1 1=1,ь ¿—I

1=1 т=1 1=1 1 = 1

3) ограничения на множества допустимых решений на верхнем и нижнем уровне:

Iрim = 1 =

т=1

(5)

Ь

Irli = l(i=т:N),

=1

N

I^ ■ р1т <ут(т = Тм).

(6) (7)

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

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

Ограничение (5) предусматривает, что данные /-го типа размещаются только на одном из М устройств их хранения. Ограничение (6) предусматривает, что данные /-го типа назначаются только на одно из ¿ВУ для их обработки. Ограничение (7) предусматривает, что количество данных разных типов, хранящихся на т-м устройстве, не превышает допустимого (заданного) объема хранилища.

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

2. Генетический алгоритм оптимизации

решений по распределенному хранению

и обработке данных

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

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

М

N

N

Кодирование решений по распределенной обработке данных с целью их оптимизации на нижнем уровне иерархической игры выполняется следующим образом. Одному решению по распределенной обработке данных соответствует хромосома, состоящая из п генов (где п - количество типов данных, обрабатываемых в системе). Каждый /-й ген ( / = 1, М) соответствует закреплению данных /-го типа для обработки за одним из Ь ВУ. Обозначим значение /-го гена через ^ ( / = 1, М), тогда при формировании начального решения (хромосомы) выполняется инициализация ^ = I, где 1 - номер ВУ, на котором выполняется обработка данных /-го типа ( I = 1, ¿).

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

Популяция (множество) хромосом, соответствующих решениям по размещению данных на устройствах хранения, имеет вид:

Нт = [кти\и = Щ},

где и - количество хромосом в популяции; кти - и-я хромосома, представленная в виде вектора кти = = (т?, т",.., т%); т? - значение /-го гена (/ = 1, Ы) в и-й хромосоме (и = 1, и), при условии, что т? Е е {1,2,...,м}.

Популяция (множество) хромосом, соответствующих решениям по назначению обработки данных на соответствующих ВУ, имеет вид:

Н к и\и = 1,М},

где к - и-я хромосома, представленная в виде вектора к1и = (11?, I?,.., I?); I? - значение /-го гена ( / = 1,М) в и-й хромосоме (и = 1, и), такое, что I? Е е {1,2,...,ь}.

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

и обработке данных использованы следующие генетические операторы:

- оператор селекции с целью выбора родительских хромосом для их последующего скрещивания;

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

- оператор мутации, позволяющий трансформировать решения, полученные в результате скрещивания, случайным образом.

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

Для каждой хромосомы кти Е Нт (аналогично для хромосомы к Е Нь) первоначально определяется ее оценка 0^и, используемая в дальнейшем при вычислении величины сектора, в соответствии с выражением вида:

01. =

fU

yU fU уи=1)1

для хромосом, соответствующих решениям по распределению данных на ВУ для обработки:

01 =

fU

1и уи fU, 2и=112

где /"и /2? - значения критериев /г и /2 на верхнем и нижнем уровнях иерархической игры для некоторых и-х решений (и-х хромосом, входящих в популяции)).

На основе значений 0^и (для решений на верхнем уровне) и 01и (для решений на нижнем уровне) определяются значения для оценок 0и 02и и-х хромосом (и = 1, и) в соответствии с выражениями вида:

1

п2 = _. р2

0ти 1 , П1 ; 0l, 1+ 0

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

U

и

1 + 0}

и

Оценка Ртии иР^величины сектора колеса рулетки для и-х хромосом (и = 1, и) на верхнем и нижнем уровнях иерархической игры определяются в соответствии с выражениями вида:

Р =

1 т..

0U

УU О2

¿-¡и=1 0т,

; Pl. =

02

У U 02 уи=1 01и

1

и

Вычисленные с использованием полученных выражений значения величин сектора колеса рулетки используются для определения размеров подин-тервалов в интервале [0;1], закрепляемых за соответствующими хромосомами. Генерация случайных чисел и определение их принадлежности соответствующим подинтервалам позволяют идентифицировать родительские хромосомы, используемые для скрещивания. После формирования множества родительских хромосом, используемых для скрещивания, в нем необходимо идентифицировать пары, к которым будет применен оператор кроссо-веринга. Способами выбора пар родительских хромосом в соответствующем множестве для их непосредственного скрещивания (применения оператора кроссоверинга) являются [15, 16]:

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

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

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

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

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

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

Если родительские хромосомы имеют вид:

тах

N

I

т

тах

кти = (тI,т%,..,,т" -1,т4.,ти

т

Ч2~

Ы1-1'

^42 + 1

41 + 1'

1,ти2,тЧ2+1,-",ти)

кт. = (т]1,ш]2.....т]Ч1-1,т4^,т]а

41'

41 + 1''

,т]l2-l,т]/2,т]l? + l,..,т]г),

42 + 1'

то в результате реализации оператора двухточечного кроссоверинга пара дочерних хромосом будет иметь вид:

к'ти = (т1,mи,..,,тU1-l,тll1,тll1+l,..., ...,т41-1,ти1,ти1+1,..,тп)

к'т] = КХ.....тЧ1-г,ти1'ти1+1.

...,mU1-l,m)l1,m)ql+l,..,m)n).

где ] = 1,и- 1&} = и + 1, и).

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

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

41

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

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

Синтезированный генетический алгоритм используется для поиска локально оптимального решения по закреплению обработки данных /-х типов ( I = 1,М) за 1-ми ВУ (I = 1Д) (лучшей хромосомы в сформированной финальной популяции, сгенерированной для текущего решения по распределенному хранению данных). То есть это локально оптимальное решение соответствует текущему решению по распределенному хранению данных, полученному с верхнего уровня. Оно передается на верхний уровень с целью оценки оптимальности решения по распределенному хранению данных. Для решений по распределенному хранению данных на верхнем уровне (хромосом, входящих в популяцию, рассматриваемую на верхнем уровне) реализуется повторное формирование новых решений с использованием рассмотренных выше генетических операторов (формирование новой популяции хромосом, соответствующих решениям по распределенному хранению данных).

Поиск локально оптимальных решений по распределенному хранению данных и их распреде-

и

и

N

- т

=1

=1

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

Оптимизация решений по распределенному хранению и обработке данных (на верхнем и нижнем уровне иерархической игры, соответственно) выполняется при следующих параметрах генетических алгоритмов: общее количество хромосом в популяции и = 60; разрыв поколений Т = 0,5 (количество наиболее приспособленных хромосом, участвующих в селекции), количество поколений равно 30. Вероятность мутации генов определяется по формуле Рм = 1/(10 • И), где N - количество типов данных, распределенное хранение и обработка которых реализуется в системе.

3. Эвристический алгоритм построения

расписаний обработки данных на ВУ

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

Для обоснования эвристической процедуры формирования порядков реализации распределенной обработки данных на каждом из ВУ в рассмотрение введены:

1) множества М1 (I = 1,Ц) типов данных, назначенных для выполнения указанной операции на эти устройства (множества формируются в соответствии с видом матрицы Я с учетом значений ее элементов гь^ = 1 в каждой 1-й строке ( I = 1Д));

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

Определение значений ( / = 1,И,1 = 1,1.) моментов времени начала выполнения операций с данными /-х типов на 1-х ВУ (то есть построение расписаний обработки данных на 1-х устройствах) реализуется в предположении, что к моменту времени начала интерпретации расписания данные всех N типов уже распределены по устройствам хранения. В том случае, если данные некоторых /-х типов занимают (/ = 1)-е позиции в последовательностях их обработки на 1-х приборах (значения переменных Predl = 0(/ = 1,Ь)), тогда для них

предполагается, что ^

0. В этом случае мо-

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

Вычисление значения для данных /-го типа в (/ = 1>й позиции их обработки на 1-м приборе реализуется в соответствии с выражением:

M

il = / Pimrli{~ ).

i—t \ Суп] àfy./

m=1

d: Ь, с S

'-ml Jtr

(8)

В том случае, если для данных /-го типа их позиция в последовательности обработки на 1-ом приборе ] Ф 1, то значение Ь01 определяется выражением:

t° = t° + 1 î i = +

Y

=1

til lrlv

(9)

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

Эвристический алгоритм построения расписания обработки данных, назначенных на 1-е устройство, а также определения моментов времени Ь01

начала обработки данных /-х типов на этом устройстве, имеет следующий порядок шагов.

Шаг 1. Переменную Ргей1 инициализировать значением 0.

Шаг2. Определить в множестве М1 тип данных/', которому соответствует условие: тах(<^| / Е М1).

Шаг 3. Если Ргей1 = 0, то для рассматриваемого /'-го типа данных определить значение Ь<0п с использованием выражения (8); если Ргей1 Ф 0, то для рассматриваемого /-го типа данных определить значение 1 с использованием выражения (9), с учетом данных /-го типа, идентификатором которых инициализирована переменная Рг ей1 на предыдущей итерации алгоритма, с использованием значения Ь01, определяемого для данных этого типа в матрице Т0).

Шаг 4. Модифицировать множество М1 и значение переменной Ргей1: И1 = Мг\{/'}; Ргей1 = /'.

Шаг 5. Если И1 Ф 0, то перейти на пункт 2; если М1 = 0, то перейти на пункт 6. Шаг 6. Останов алгоритма.

Результатом интерпретации рассмотренного алгоритма являются последовательности выполнения заданий на 1-х приборах, которым соответствует матрица Т0 моментов времени Ь01 начала обработки данных /-х типов на этих приборах. Матрица Т0совместно с матрицей назначений Я передается на верхний уровень с целью вычисления на их основе оценки критерия / текущего рассматриваемого решения [Р, Ттет] по распределению данных по хранилищам.

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

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

тт(^) - минимальный объем данных /-х типов ( / = 1, М), обрабатываемых в системе;

тах(<^) - максимальный объем данных /-х типов ( / = 1,М), обрабатываемых в системе;

тах(<^)/тт(^) - отношение максимального объема данных /-х типов ( / = 1,М) к минимальному объему данных /-х типов ( / = 1, М), обрабатываемых в системе, которое определяет неоднородность объемов данных различных типов, распределяемых по устройствам хранения;

тт(£а) - минимальная длительность обработки данных /-х типов ( / = 1, М) на 1-х ВУ (I = 1,Ь );

max(ta) - максимальная длительность обработки данных /-х типов ( i = 1, N) на l-х ВУ (I = 1, L);

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

max( ti¿)/min( ti ¿) - отношение максимальной длительности обработки данных /-х типов ( i = 1, N) на l-х ВУ ( I = 1,L) к минимальной, определяющее неоднородность длительностей обработки данных на различных ВУ.

При проведении исследований значения тт(^) и min(ta) задавались равными 10. Также при проведении исследований значения отношений max(di)/min(di) и max( ta)/mm(ta) задавались равными: 1, 2, 4, 8, 16. Исследования проводились при фиксированных значениях длин каналов передачи данных между устройствами хранения и обработки, а также их пропускных способностей.

С целью анализа эффективности применения метода многоуровневой оптимизации решений по распределенному хранению и обработке данных использован эвристический алгоритм SIM упаковки в контейнеры [17]; метод формируется путем оптимизации с использованием рассмотренного генетического алгоритма. Эффективность применения метода многоуровневой оптимизации характеризуется степенью снижения затрат на хранение, обработку, передачу данных и штрафов за неиспользованные ресурсы для решений, полученного с использованием эвристического алгоритма SIM, и для решений, полученных путем оптимизации.

Снижение суммарных затрат при использовании метода многоуровневой оптимизации оценивалась путем сравнения:

1) значения критерия fi на верхнем уровне, обозначенного как f{!IM, полученного для решения, сформированного с использованием эвристического алгоритма SIM упаковки в контейнеры [17], и соответствующего ему локально оптимального решения по распределенной обработке данных;

2) значения критерия fi на верхнем уровне, полученного после многоуровневой оптимизации (обозначенного как f°).

Снижение затрат на хранение, обработку, передачу данных и штрафов при оптимизации решений определено в соответствии с выражением:

fSIM fo

Jl - Jl

fSIM • Jl

Снижение суммарных затрат на хранение, обработку, передачу данных и штрафов, получаемое при использовании метода многоуровневой оптимизации, представлено на рисунке 1 (слева M = 5, L = 5; справа M = 10, L = 10).

о

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

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

о

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

—•

/

—♦

х-

10

max^/minft-J a)

15

20

5 10 15

max(f,]/min(fj

b)

20

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

f

/ Кг —А

10

max(f//)/min(f/J

c)

15

20

10

max(f/,)/min(i/J d)

15

20

Рис. 1. Снижение суммарных затрат на хранение, обработку, передачу данных и штрафов для решений, полученных с использованием алгоритма SIM и метода многоуровневой оптимизации для n = 50 (a, c) и для n = 100 (b, d)

Fig. 1. Reduction of Total Costs for Storage, Processing, Data Transmission and Penalties for Solutions Obtained Using the SIM Algorithm and the Multilevel Optimization Method for n = 50 (a, c) and for n = 100 (b, d)

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

1) увеличение количества устройств хранения М и обработки данных Ь (при неизменном количестве типов данных п) обуславливает снижение эффективности применении разработанного метода;

2) увеличение количества типов данных п, для которых реализуется распределенное хранение и обработка (при неизменном количестве ВУ) обуславливает увеличение эффективности применения разработанного метода;

3) увеличение неоднородности объемов хранимых данных (значения тах(^)/тт(<^)) обуславливает более значительный рост эффективности применения метода по сравнению с увеличением неоднородности длительностей обработки данных на устройствах (значения тах( ^ г)/тт( ^ г)).

Заключение

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

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

0

0

5

0

5

0

5

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

В качестве способа оптимизации решений по распределенному хранению и обработке данных

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

С целью построения расписаний обработки данных, закрепленных за соответствующими вычислительными устройствами, разработан эвристический алгоритм, предусматривающий упорядочивание обработки данных с точки зрения не убывания их объема. Использование разработанного эвристического алгоритма построения расписаний обработки данных на устройствах обеспечивает минимизацию интервалов времени их нахождения на устройствах хранения и, как следствие, минимизацию затрат на хранение. Выполненные исследования эффективности применения разработанного метода многоуровневой оптимизации решений по распределенным хранению и обработки данных показали, что его использование позволяет на 10-60 % снизить суммарные финансовые затраты на выполнения указанных операций, а также на операции передачи данных и штрафы за неполное использование ограниченных ресурсов.

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

Список источников

1. Prajapati H.B., Shah V.A. Scheduling in Grid Computing Environment // Proceedings of the Fourth International Conference on Advanced Computing & Communication Technologies (Rohtak, India, 08-09 February 2014). IEEE, 2014. PP. 315-324. D01:10.1109/ACCT.2014.32

2. Bhatia M.K. Task Scheduling in Grid Computing: A Review // Advances in Computational Sciences and Technology. 2017. Vol. 10. Iss. 6. PP. 1707-1714.

3. Xhafa F., Barolli L., DurresiA. Batch mode scheduling in grid systems // International Journal of Web and Grid Services. 2007. Vol. 3. Iss. 1. PP. 19-37. D0I:10.1504/IJWGS.2007.012635

4. Khan M. Design and Analysis of Security Aware Scheduling in Grid Computing Environment // International Journal of Computer Science and Information Technology Research (IJCSITR). 2013. Vol. 1.Iss. 1. PP. 42-50.

5. Naresh U. Study on Many-Task-Computing using Data Aware Scheduling in Cloud Computing // International Journal of Innovations & Advancement in Computer Science (IJIACS). 2017. Vol. 6. Iss. 9. PP. 360-366.

6. Mahajan S., Kaur R. A Concern towards Job scheduling in Cluster Computing // International Journal of Computer Engineering in Research Trends. 2015. Vol. 2. Iss. 6. PP. 392-394.

7. Abawajy J.H. Dynamic Parallel Job Scheduling in Multi-cluster Computing Systems // Proceedings of the 4th International Conference of Computer Science (ICCS 2004, Kraków, Poland, 6-9 June 2004). Lecture Notes in Computer Science. Vol. 3036. Berlin, Heidelberg: Springer, 2004. PP. 27-34. D0I:10.1007/978-3-540-24685-5_4

8. Alworafi M.A., Dhari A., El-Booz Sh.A., Mallappa S. Budget-aware task scheduling technique for efficient management of cloud resources // International Journal High Performance Computing and Networking. 2019. Vol. 14. Iss. 4. PP. 453-465. D0I:10.1504/IJHPCN.2019.102352

9. Arabnejad V., Bubendorfer K., Ng B. Budget and Deadline Aware e-Science Workflow Scheduling in Clouds // IEEE Transactions on Parallel and Distributed Systems. 2019. Vol. 30. Iss. 1. PP. 29-44. D0I:10.1109/TPDS.2018.2849396

10. Месарович М., Мако Д., Такахара И. Теория иерархических многоуровневых систем. М.: Из-во «Мир», 1973. 344 с.

11. Воронин А.А., Мишин С.П. Оптимальные иерархические структуры. М.: ИПУ РАН, 2003. 214 с.

12. Губко М.В., Новиков Д.А. Теория игр в управлении организационными системами. М.: Институт проблем управления им. В.А. Трапезникова, 2005. 138 с.

13. Бурков В.Н., Коргин Н.А., Новиков Д.А. Введение в теорию управления организационными системами. М.: Либроком, 2009. 264 с.

14. Бусыгин В.П., Желободько Е.В., Коковин С. Г., Цыплаков А.А. Микроэкономический анализ несовершенных рынков. Новосибирск: Новосиб. гос. ун-т, 1999. 132 с.

15. Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы. М.: Физматлит, 2006. 320 с.

16. Курейчик В.М. Генетические алгоритмы и их применение. Таганрог: Таганрогское РТУ, 2002. 244 с.

17. Смирнов А.В. О задаче упаковки в контейнеры // Успехи математических наук.1991. Т. 46. № 4. С. 173-174.

References

1. Prajapati H.B., Shah V.A. Scheduling in Grid Computing Environment. Proceedings of the Fourth International Conference on Advanced Computing & Communication Technologie, 08-09 February 2014s, Rohtak, India. IEEE; 2014. p.315-324. D0I:10.1109/ACCT.2014.32

2. Bhatia M.K. Task Scheduling in Grid Computing: A Review. Advances in Computational Sciences and Technology. 2017;10(6):1707-1714.

3. Xhafa F., Barolli L., Durresi A. Batch mode scheduling in grid systems. International Journal of Web and Grid Services. 2007;3(1):19-37. D0I:10.1504/IJWGS.2007.012635

4. Khan M. Design and Analysis of Security Aware Scheduling in Grid Computing Environment. International Journal of Computer Science and Information Technology Research (IJCSITR). 2013;1(1):42-50.

5. Naresh U. Study on Many-Task-Computing using Data Aware Scheduling in Cloud Computing. International Journal of Innovations & Advancement in Computer Science (IJIACS). 2017;6(9):360-366.

6. Mahajan S., Kaur R. A Concern towards Job scheduling in Cluster Computing. International Journal of Computer Engineering in Research Trends. 2015;2(6):392-394.

7. Abawajy J.H. Dynamic Parallel Job Scheduling in Multi-cluster Computing Systems. Proceedings of the 4th International Conference of Computer Science, 1CCS 2004, 6-9 June 2004, Kraków, Poland. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer; 2004. vol.3036, p. 27-34. D0I:10.1007/978-3-540-24685-5_4

8. Alworafi M.A., Dhari A., El-Booz Sh.A., Mallappa S. Budget-aware task scheduling technique for efficient management of cloud resources. International Journal High Performance Computing and Networking. 2019;14(4):453-465. D0I:10.1504/IJHPCN.2019.102352

9. Arabnejad V., Bubendorfer K., Ng B. Budget and Deadline Aware e-Science Workflow Scheduling in Clouds. IEEE Transactions on Parallel and Distributed Systems. 2019;30(1):29-44. D0I:10.1109/TPDS.2018.2849396

10. Mesarovich M., Mako D., Takahara I. Theory of Hierarchical Multilevel Systems. Moscow: Mir Publ.; 1973. 344 p. (in Russ.)

11. Voronin A.A., Mishin S.P. Optimal Hierarchical Structures. Moscow: V.A. Trapeznikov Institute of Management Problems Publ.; 2003. 214 p. (in Russ.)

12. Gubko M.V., Novikov D.A. Game Theory in the Management of Organizational Systems. Moscow: V.A. Trapeznikov Institute of Management Problems Publ.; 2005. 138 p. (in Russ.)

13. Burkov V.N., Korgin N.A., Novikov D.A. Introduction to the Theory of Management of Organizational Systems. Moscow: Librocom Publ.; 2009. 264 p.(in Russ.)

14. Busygin V.P., Zhelobodko E.V., Kokovin S.G., Tsyplakov A.A. Microeconomic Analysis of Imperfect Markets. Novosibirsk: Novosibirsk State University Publ.; 1999. 132 p. (in Russ.)

15. Gladkov L.A., Kureychik V.V., Kureychik V.M. Genetic Algorithms. M.: Fizmatlit Publ.; 2006. 320 p. (in Russ.)

16. Kureychik V.M. Genetic Algorithms and Their Application. Taganrog: Taganrog Radio Engineering University Publ.; 2002. 244 p. (in Russ.)

17. Smirnov A.V. 0n the Problem of Packaging in Containers. Successes of Mathematical Sciences. 1991;46(4):173-174. (in Russ.)

Статья поступила в редакцию 28.11.2022; одобрена после рецензирования 23.01.2023; принята к публикации 26.01.2023.

The article was submitted 28.11.2022; approved after reviewing 23.01.2023; accepted for publication 26.01.2023.

Информация об авторе:

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

КРОТОВ Кирилл Викторович

доктор технических наук, доцент, доцент кафедры «Информационные системы» Севастопольского государственного университета https://orcid.org/0000-0002-9670-6141

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