Эффективный алгоритм управления переработкой судебной статистической информации

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

Борисов Р.С.*

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

Аннотация.

Цель работы: совершенствование методов предварительной переработки судебной статистической информации.

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

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

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

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

DOI: 10.21681/1994-1404-2018-1-15-22

* Борисов Роман Сергеевич, кандидат технических наук, доцент кафедры информационного права, информатики и математики Российского государственного университета правосудия, Российская Федерация, г. Москва. E-mail: bestseller@bk.ru

Введение

Судебная статистика позволяет решать важнейшие задачи динамического моделирования социально-правовых процессов в обществе и выявлять устойчивые тенденции и закономерности их развития [11]. Важным шагом в сторону решения этих статистических задач является развитие прикладных программных продуктов в рамках Государственной автоматизированной системы (ГАС) РФ «Правосудие», в состав которой входят программные изделия «Судебная статистика» и «Судимость» функциональной подсистемы «Судебное делопроизводство и статистика».

Процесс создания единого информационного пространства судов общей юрисдикции и системы Судебного департамента при Верховном Суде Российской Федерации еще далёк от завершения [12, 14], между тем, объемы циркулирующей в системе информации постоянно требуют модернизации аппаратной инфраструктуры. На сегодняшний день аппаратная платформа ГАС РФ «Правосудие» представляет собой облачную инфраструктуру с более чем 1,5 тысяч процессорных ядер, совокупной емкостью оперативной памяти 31 Тбайт и с возможностью хранения до 1,5 Пбайт информации. Эти вычислительные мощности достаточны для решения текущих задач, однако, необходимо учитывать актуальные задачи создания единого информационного пространства и перспективы формирования более качественной и многоаспектной системы судебной статистики, обеспечивающей динамический анализ автоматически собираемых данных с учетом географической привязки их параметров [10, 13].

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

Эффективная и своевременная переработка таких массивов возможна исключительно при использовании систем распределенной и параллельной переработки, которые могут быть развернуты на аппаратной платформе ГАС РФ «Правосудие». Эффективность существующей облачной инфраструктуры можно значительно повысить, используя специализированные алгоритмы управления вычислениями без использования бесконечного наращивания вычислитель-

ных мощностей посредством увеличения числа вычислительных ядер и объёма оперативной памяти. Известно, что эффективность использование облачных технологий прямо зависит от того, каким образом распределяется нагрузка между отдельными вычислительными элементами в облаке [9]. Следовательно, задачу эффективного распределения нагрузки вычислительной среды по всем вычислительным задачам, поступающим на переработку, с учетом специфики переработки судебной статистической информации следует считать актуальной и важной.

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

— знании времени решения задачи до ее выполнения [2];

— оценивании времени выполнения;

— прогнозировании использования ресурсов на основе статистических моделей [1].

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

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

— различные ресурсные требования для данных задач;

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

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

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

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

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

Общая схема организации вычислений

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

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

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

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

Задание 1

Задание 2

Задание 3

Задание п

Система управления вычислениями

Вычислительный узел 1

' ггг- ггг-

Вычислительный узел 2

г г г. г г г;.

г г г . г г г ГГГ- ГГГ-

Вычислительный узел 3

[-IIII. 11111111

ГГГ " ггг;'

Вычислительный узел т

Вычислительный элемент 1...к

Вычислительный элемент 1...к

Вычислительный элемент 1...к

Вычислительный элемент 1...к

Рис. 1. Схема выполнения заданий в вычислительном комплексе

Планирование распределения вычислительных задач

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

распределение нагрузки осуществляется на прикладном уровне;

издержки на коммуникацию между вычислительными узлами значительно ниже времени решения элементарных задач;

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

Предположим, что на вход вычислительного комплекса поступили прикладные ресурсоемкие

задачи а 1, а2, ..., ап. Каждая из задач декомпозируется на ряд элементарных заданий На. (/ — номер задачи). Задача а , имеет директивный срок решения Ба,, задаваемый при поступлении, и известный расчетный срок их исполнения на имеющемся множестве вычислительных ресурсов та. (г — вектор множества ресурсов).

Величина Л = Оа — та показывает имею-

ы I ы I

щийся запас по времени решения задачи, который может использоваться для оптимизации применения вычислительных ресурсов. Задача считается выполнимой, если максимальное значение времени выполнения задачи на множестве вычислительных ресурсов Та. не превысит директивный срок решения &а i . В процессе выполнения задач выявляется необходимость решения новой задачи а п+1 с аналогичным или более высоким приоритетом и ожидаемым временем завершения

а п+1

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

Очевидно, что при значительных сроках выполнения задачи а, второй подход — наиболее предпочтительный, однако возникающие накладные расходы по затратам времени на прекращение и возобновление вычислений могут составлять до 50 % и более от времени решения задачи [4].

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

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

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

Формирование базы моделей

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

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

а, = (са, , та, Л, , На, , ^а, , Ра, X

где са, е N — число вычислительных средств из общего множества доступных Ы, выделенных для решения задачи сь ..., CN [5]; та. е К — объем оперативной памяти, запрашиваемый для исполнения каждой подзадачи, К — общий объем доступной памяти; Та. е N — оценка времени решения задачи на вычислительных средствах с единичной относительной производительностью; На, — набор параллельных элементарных заданий в рамках задачи; ,, ра, — тип и приоритет задачи, соответственно.

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

,

та =

'а,-

с<п

Ш1П ¿кг

(к, г )еАа,

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

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

Сформированный таким образом кортеж

4, = , ^а, , 1, Ра)

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

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

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

т'а, = %а 1 + 3г Рг ,

}=Ы')

где 3 — время, необходимое для реконфигурации; — сумма длин интервалов ожидания выполнения более приоритетных задач, j = Ир() —множество задач с приоритетом не ниже, чем у задачи а^.

Таким образом, общая продолжительность складывается из времени выполнения самой задачи та,, суммы длин интервалов, когда задача ожидает выполнения более приоритетных 2Р(Р' , а также времени 3г, необходимого для реконфигурации, включая время ожидания планового момента проведения реконфигурации, время прерывания вычислений и время для нового запуска задач.

Описание процесса планирования

Приведем общий алгоритм планирования заданий на основе сформированных моделей вычислений (1) — (3). На входе системы планирования формируется очередь заданий для перспек-

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

При формировании модели перераспределения задач по имеющимся ресурсам система руководствуется следующими правилами:

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

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

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

Оценка эффективности алгоритма планирования с динамической балансировкой

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

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

данными. Общее число типовых задач для перспективного решения — 100. Из типовых задач было скомплектовано 30 псевдослучайных наборов. Для каждого из наборов оценивалось время решения при использовании различных алгоритмов планирования. Для наглядности в таблице приведены пять первых наборов.

Сравнение разработанного алгоритма проводилось с двумя наиболее популярными мето-

дами балансировки нагрузки вычислительного комплекса — алгоритмом RR (Round Robin) и алгоритмом TLB (Throttled Load Balancing). В таблице и последующих рисунках, данные, относящиеся к разработанному алгоритму динамической балансировки обозначены синим цветом, к алгоритму Round Robin — серым, а алгоритму Throttled Load Balancing — желтым.

Таблица

Время решения пакета задач при использовании различных алгоритмов планирования

Номер набора Алгоритм планирования

с динамической балансировкой, с RR, с TLB, с

1 32183,18 42348,16 36463,23

2 34226,17 40538,65 38435,98

3 25677,34 39523,46 34279,17

4 36273,38 41384,25 37328,33

5 29163,45 40372,31 35172,14

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

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

Анализ приведенных на рис. 2 зависимостей показывает значительное повышение скорости вычислений алгоритма динамической балансировки по сравнению с алгоритмом RR. Между тем

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

Время решения пакета задач

50000 о. 10000

| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

<и

Номер пакета заданий ^^—Динамическая балансировка Алгоритм (Ш АлгоритмТ1_В

Рис. 2. Оценка времени решения задач для различных наборов

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

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

на рис. 2. Из рисунка видно, что сокращение среднего времени вычислений при использовании метода динамической балансировки составляет до 36% по сравнению с алгоритмом RR и более 11% по сравнению с алгоритмом TLB, что говорит

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

Рис. 3. Среднее значение времени вычислений для 30 наборов задач

Заключение

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

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

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

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

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

Рецензент: Федосеев Сергей Витальевич, кандидат технических наук, доцент, доцент кафедры информационного права, информатики и математики Российского государственного университета правосудия, Российская Федерация, г. Москва E-mail: fedsergvit@mail.ru

Литература

1. Neural Network and Regression Based Processor Load Prediction for Efficient Scaling of Grid and Cloud Resources, M. T. Imam et al., 14th Intern. Conf. on Computer and Information Technology (ICCIT), IEEE, 2011, pp. 333-338.

2. Performance Evaluation and Optimization of an Adaptive Scheduling Approach for Dependent Grid Jobs with Unknown Execution Time, M. Chtepen et al., 18th World IMACS / MODSIM'09 Congress. Cairns, Australia 13-17 July 2009, pp. 1003-1009. URL: http://www.mssanz.org.au/modsim09/C5/chtepen.pdf (дата обращения: 12.02.2018).

3. Астриков Д. Ю., Кузьмин Д. А. Исследование методов оценки эффективности вычислительных систем на основе функциональных моделей // Вестник Сибирского государственного аэрокосмического университета им. академика М. Ф. Решетнева. 2016. Т. 17. № 2. С. 295—301.

4. Борисов Р. С. Черных А. М. Динамическая балансировка нагрузки гетерогенной вычислительной системы // Вестник компьютерных и информационных технологий. 2017. № 10. С. 28—34.

5. Борисов Р. С. Аппаратно-ориентированная модель взаимодействия открытых систем // Электротехнические и информационные комплексы и системы. 2011. Т. 7. № 1. С. 21—25.

6. Ващекин А. Н., Ващекина И. В. Информационное право: прикладные задачи и математические методы // Информационное право. 2017. № 3. С. 17—21.

7. Ващекин А. Н., Ващекина И. В. Информационно-программное обеспечение рационального распределения судебных дел // Правовая информатика. 2017. № 4. С 24—30.

8. Ефименко А. А. Интегрированная интеллектуальная технология оптимизации параллельных алгоритмов в высокопроизводительных вычислительных системах // Труды Междунар. науч.-практ. конф. «Современные тенденции в науке, технике, образовании» (31 января 2016 г.). Смоленск: «Новаленсо», 2016. С. 59—61.

9. Королев В. Т., Ловцов Д. А., Радионов В. В. Системный анализ. Часть. 2. Логические методы / Под ред. Д. А. Лов-цова. М.: РГУП, 2017. 160 с.

10. Ловцов Д. А., Богданова М. В., Паршинцева Л. С. Пакеты прикладных программ для многоаспектного анализа судебной статистической информации // Правовая информатика. 2017. № 1. С 28—36.

11. Ловцов Д. А., Богданова М. В., Паршинцева Л. С. Правовая статистика преступности в современных условиях // Правовая информатика. 2017. № 4. С 40—48.

12. Ловцов Д. А., Ниесов В. А. Актуальные проблемы создания и развития единого информационного пространства судебной системы России // Информационное право. 2013. № 5. С. 13—18.

13. Ловцов Д. А., Черных А. М. Модернизация системы судебной статистики на основе новой геоинформационной технологии // Правовая информатика. 2016. № 1. С 7—14.

14. Чубукова С. Г. Стратегии развития информационного общества и направления развития законодательства // Правовая информатика. 2017. № 2. С. 67—72.