Stochastic models for time complexity of computing tasks: I. Development principles, statistical data mining, identification problems
- Authors: Borisov A.V.1, Ivanov A.V.1
-
Affiliations:
- Federal Research Center “Computer Science and Control” of Russian Academy of Sciences
- Issue: No 1 (2024)
- Pages: 22-34
- Section: INFORMATION PROCESSING AND IDENTIFICATION
- URL: https://journals.rcsi.science/0002-3388/article/view/262522
- DOI: https://doi.org/10.31857/S0002338824010037
- EDN: https://elibrary.ru/IXTIMV
- ID: 262522
Cite item
Full Text
Abstract
The paper contains the first part of an investigation devoted to the design of the mathematical models for the execution time of user tasks carried out on the virtual calculating nodes. We suppose that the execution time is a random value with the mean and variance depending on the node resources, task parameters, and the current characteristics of the node state. We discover the key features of the mean and variance functions and specify some of their particular cases. Both the mean and variance functions depend on the unknown parameters, and the design of the stochastic model for the time complexity leads to the parameter identification in the form of the generalized maximum likelihood estimates under the heterogeneous statistical information. The paper also contains recommendations concerning the gathering and subsequent usage of this information: the node testbed preparation, stress test planning, and the obtained data processing. The specific illustrating examples of the proposed mathematical model will be presented in the subsequent parts of the investigation.
Full Text
Стохастические модели трудоемкости вычислительных задач. I. Принципы формирования, сбор статистических данных, задачи идентификации 1
Введение. Стремительное развитие средств вычислительной техники различной производительности в совокупности с повсеместным проникновением высокоскоростных сетей передачи данных привело к появлению таких новых отраслей услуг, как дополненная и виртуальная реальность [1], Индустриальный Интернет [2], Интернет вещей [3], Интернет военных вещей [4], Интернет транспортных средств [5] и пр. Широкое распространение в ближайшем будущем стандартов мобильной связи 5G/6G обеспечит пользователям возможность доступа к вычислительным мощностям любого уровня вне зависимости от их территориального расположения и без необходимости владения ими, с одной стороны, и даст владельцам компьютерных сетей возможность оперативного распределения нагрузки по территориально разнесенным вычислительным узлам — с другой. Подобные вычислительные сети функционируют в следующих условиях:
- высокая стоимость создания и эксплуатации,
- высокие требования пользователей сети к качеству предоставляемых услуг,
- высокая конкуренция между сетями — поставщиками услуг.
Эти жесткие требования приводят к необходимости оптимизации использования ресурсов компьютерных сетей.
Объектом выполненного исследования являются проблемы распределения вычислительной нагрузки по узлам различной производительности и выделения вычислительных ресурсов различным пользователям. Идеальный результат с точки зрения провайдера — предоставление каждому пользователю минимальных вычислительных ресурсов, достаточных для решения его задач, с учетом обязательного выполнения условий соглашения об уровне обслуживания (service level agreement, SLA). Однако достижению этой цели препятствует ряд фундаментальных проблем.
Во-первых, имеет место неопределенность запросов пользователей на выполнение вычислений. Несмотря на то что SLA, заключаемое между пользователем и провайдером, определяет перечень задач, решение которых обеспечивает вычислительная сеть, интенсивность поступления пользовательских заданий заранее неизвестна. Это означает, что количество выделенных ресурсов, необходимых для удовлетворения SLA, может варьироваться в сторону увеличения. Помимо этого трудоемкость отдельных заданий также содержит в себе неопределенность. Причинами этого являются не только различия в объемах заданий. Иногда время выполнения одного и того же задания на одной и той же аппаратно-программной платформе может отличаться в разы на различных входных данных. Примером этого служит численное решение оптимизационных задач [6, 7] при различных начальных условиях, использование алгоритмов машинного обучения [8], компиляция видеоландшафтов компьютерных игр [9] и пр.
Во-вторых, большинство используемого программного обеспечения (ПО) является проприетарным, что исключает возможность его детального алгоритмического анализа в целях определения трудоемкости выполнения той или иной задачи. Относительно процедуры выполнения заданий возможно делать только самые общие выводы, основываясь на знаниях функционирования аналогичных программ с открытым кодом, а также алгоритмов решения того или иного класса задач. В некоторых случаях о времени выполнения заданий существует прямая и косвенная статистическая информация в виде результатов нагрузочного тестирования.
В-третьих, между требованиями пользователей к качеству услуг, зафиксированными SLA, и объектами управления, доступными провайдерам, существует известный разрыв. Дело в том, что пользователи определяют качество своего обслуживания через максимальное время выполнения задач того или иного класса. В то же время для обеспечения выполнения пользовательских заданий провайдеры выделяют определенный объем вычислительных ресурсов: оперативной и дисковой памяти, процессорных ядер и пр. Количество выделенных ресурсов влияет на скорость выполнения заданий, однако не определяет время их выполнения из-за неизвестной трудоемкости.
Цель данной работы — предложить стохастические модели времени выполнения пользовательских заданий на вычислительных узлах, а также методики идентификации параметров этих моделей.
Статья организована следующим образом. Раздел 1 содержит неформальное описание проблем оценивания вероятности нарушения SLA на определенном виртуальном вычислительном узле, заключающегося в превышении допустимого времени выполнения задания. При этом объем пользовательского задания либо известен, либо известен пользовательский профиль, т.е. вероятностное распределение заданий различного объема, характерное для данного пользователя.
В разд. 2 представлены основные принципы выбора моделей времени выполнения заданий. Приведена аргументация в пользу его вероятностного описания, а также предложены полезные свойства, которыми должны обладать выбранные модели. В разд. 3 время выполнения заданий предлагается описывать семейством случайных величин, чьи средние значения M и дисперсия D являются функциями ресурсов узла, характеристик выполняемого задания и переменных аппаратно-программной среды. Подобно производственным функциям [10], в разделе рассмотрены свойства функций M и D по разным переменным, а также предложены некоторые их частные случаи. Здесь же приведены математически корректные формулировки и решения задач оценивания вероятности нарушения SLA.
В разд. 4 предлагается использовать методологию взвешенного М-оценивания [11] для решения задачи идентификации параметров предложенной модели трудоемкости пользовательских заданий. При этом в качестве функции потерь предлагается применять одну из следующих выпуклых функций: квадратичную, модуль или выпуклую кусочно-линейную.
Решение задачи идентификации параметров предполагает наличие необходимой статистической информации. Раздел 5 содержит рекомендации по ее сбору и обработке. Накопление этой информации выполняется в процессе нагрузочного тестирования, проводимого именно на той аппаратно-программной платформе (аппаратное обеспечение плюс общесистемное программное обеспечение (ОПО)), на которой и будет впоследствии функционировать виртуальный вычислительный узел. В то же время реальное специальное программное обеспечение (СПО) может быть заменено некоторым тестовым, и его краткая классификация приведена в разделе. Помимо фиксируемого времени выполнения заданий с различными варьируемыми параметрами: предложен перечень регистрируемых данных, который может быть полезен для определения переменных аппаратно-программной среды. В Заключении содержатся краткие выводы по модели, а также перспективы дальнейших исследований.
1. Описание проблемы. Представлено неформальное описание проблемы характеризации времени выполнения пользовательских задач на вычислительных узлах. Предполагается, что узел является виртуальным и физически располагается на некотором средстве вычислительной техники (СВТ): рабочей станции, сервере, мейнфрейме и пр. Для обеспечения функционирования узла на СВТ выделено определенное количество процессорных ядер, оперативной памяти, дискового пространства и других ресурсов для монопольного использования. На узле развернуто ОПО и СПО. Именно СПО обеспечивает выполнение поступающих на узел пользовательских заданий.
Все задания, которые могут выполняться на исследуемом узле, подразделяются на типы. Задания относятся к одному типу, если они выполняются одним и тем же СПО с помощью одних и тех же алгоритмов. Например, к одному типу относятся задания по сжатию видеоданных, проводимому одной и той же программой-архиватором. Если тем же программным средством выполняется архивация текстовых данных, то это задание относится к другому типу, так как сжатие видео- и текстовой информации осуществляются с помощью разных алгоритмов. В то же время задания сжатия видеоинформации различными программными средствами так же относятся к разным типам, так как используют разное СПО.
Еще одним примером заданий различного типа являются задачи загрузки информации в некоторую базу данных (БД), с одной стороны, и выгрузки данных, полученных в результате некоторого запроса — с другой. В дальнейшем изложении предполагается, что изучаются задачи одного фиксированного типа.
Задания, принадлежащие одному типу, отличаются друг от друга. Эти отличия описываются некоторым вектором параметров. Самой простой характеристикой задания является объем данных, обрабатываемых в процессе его выполнения, например, объем видеофайлов, подлежащих сжатию, число снимков, подлежащих распознаванию, объем информации, подлежащих загрузке в БД, и пр. Тем не менее характеристики задания не исчерпываются объемом данных. Например, в задании обучения нейронной сети в качестве параметров могут выступать:
- число слоев в сети,
- максимальное число узлов в слое,
- объем обучающего банка,
- параметр, определяющий условие остановки процесса обучения.
Как уже было отмечено ранее, время выполнения индивидуальных заданий того или иного типа содержит в себе неопределенность, порожденную различными причинами. Первая из них — “закрытый” характер функционирования ПО. Неопределенность этого сорта проявляется в колебаниях времени даже при выполнении заданий с одинаковыми параметрами.
Вторая причина кроется в неопределенности выбора пользователем того или иного вектора параметров задания и входных данных. Эта неопределенность может быть частично сокращена с помощью формирования так называемого пользовательского профиля по исторической информации о запросах данного пользователя на выполнение заданий изучаемого типа. Например, задание на скачивание фильмов из некоторого хранилища в 80% случаев относится к полнометражным фильмам продолжительностью от 90 до 240 мин, в 15% случаев — к короткометражным фильмам продолжительностью от 10 до 30 мин, и в 5% случаев — к документальным фильмам продолжительностью от 40 до 90 мин. Таким образом, пользовательский профиль определяет условные доли задания с различными параметрами.
Для обеспечения оптимизации использования аппаратных ресурсов СВТ при наличии пользовательских SLA необходимо решить следующие практические проблемы.
Проблема 1. Для фиксированных аппаратных ресурсов узла, состояния ОПО и СПО, и пользовательского задания известного типа и объема оценить вероятность нарушения SLA — превышения максимального времени выполнения задания данного типа.
Проблема 2. Для известного пользовательского профиля при фиксированных аппаратных ресурсах узла, состояния ОПО и СПО оценить вероятность нарушения SLA — превышения максимального времени выполнения задания данного типа.
Формальное описание предлагаемых моделей, постановка задачи идентификации их параметров, а также математически корректная постановка и решение представленных выше проблем даны в следующих разделах.
2. Основные принципы выбора моделей. На выбор математических моделей времени выполнения заданий на вычислительных узлах фундаментальное влияние оказывает наличие неопределенности этого времени. Это означает, что повторяющееся выполнение одного и того же задания на одном и том же вычислительном узле будет требовать разного времени. В качестве математического аппарата, описывающего данное явление и позволяющего решать для него задачи системного анализа, можно использовать теорию нечетких множеств [12], игровой/гарантирующий подход [13, 14] и пр. Однако наиболее перспективным для этого представляется аппарат теории вероятностей. Таким образом, время выполнения задания будет считаться случайной величиной , а значит, модель, ее описывающая, относится к классу стохастических.
Стохастическую модель времени выполнения заданий следует выбирать, руководствуясь следующими принципами.
- Адекватность: модель задает все те особенности действительного времени выполнения, которые необходимы для решения полного спектра последующих задач анализа, идентификации параметров модели и их оптимизации.
- Универсальность: модель предоставляет возможность адекватно описывать время выполнения для широкого набора вычислительных узлов и пользовательских заданий.
- Простота: число параметров модели должно быть, по возможности, минимальным при сохранении требуемой степени адекватности и универсальности.
- Гибкость по отношению к априорной информации: модель настраивается в соответствии с дополнительной доступной информацией о характеристиках СВТ, ОПО, СПО, наличии новых или отсутствии каких-либо факторов, влияющих на время выполнения заданий того или иного типа.
- Развитость: для выбранных моделей существует эффективный математический аппарат и алгоритмическое обеспечение решения всего спектра прикладных задач, связанных с анализом исследуемого времени, идентификацией параметров моделей, а также возможной последующей оптимизацией настройки виртуальных вычислительных узлов.
- Возможность применения имитаторов: на предварительном этапе идентификации параметров модели при сборе статистических данных о времени выполнения заданий возможно использование тестового программного обеспечения (ТПО) (benchmarks) — имитаторов пользовательской нагрузки и имитаторов СПО.
3. Стохастические модели трудоемкости: формальное описание, постановка и решение задачи анализа. Согласно выбранному стохастическому подходу, время выполнения пользовательского задания некоторого фиксированного типа предлагается описывать случайной величиной τ(ω), имеющей конечное математическое ожидание и дисперсию . Обе эти характеристики являются неизвестными функциями
где x — вектор ресурсов узла, y — вектор параметров задания, z — вектор параметров аппаратно-программной среды узла; развернутое описание данных векторов приведено ниже.
Вектор переменных задает аппаратно-программный состав виртуального вычислительного узла, например: x1 — число процессорных ядер, x2 — объем доступной оперативной памяти, x3 — объем доступного дискового пространства.
Замечание 1. Предлагаемая модель позволяет варьировать набор x в зависимости от состава и возможности настроек виртуального узла, добавляя в него какие-то компоненты, или исключая неактуальные. Например, могут быть добавлены x4 — объем дискового пространства, зарезервированного для подкачки страниц, x5 — объем кэша и пр.
Вектор характеризует пользовательские задания фиксированного типа, поступающие на данный вычислительный узел. Компоненты ym для разных видов заданий могут нести совершенно разный смысл, однако все они влияют на время выполнения. Например, если узел сконфигурирован для выполнения научных вычислений, скажем, для численного решения уравнений математической физики, то возможен следующий вариант: M = 2, y1 — количество временны́х слоев в численном решении, y2 — количество узлов пространственной сетки в численном решении.
Другой пример: на узле размещена база данных, и выполняемое на ней пользовательское задание предусматривает ввод/вывод данных и выполнение запросов на решение некоторой информационной задачи. В этом случае M = 3, y1 — объем входных данных в задании, y2 — объем выходных данных в задании, y3 — число запросов к базе на выполнение информационных задач в задании.
Вектор содержит текущие параметры аппаратно-программной среды вычислительного узла. Например, если на данном вычислительном узле размещена база данных, то параметрами среды могут выступать следующие характеристики: z1 — максимальный объем оперативной памяти, доступный на узле, z2 — текущий объем “полезных” данных, хранящийся в базе, z3 — общий текущий объем служебной информации, хранящейся в базе данных: журнал транзакций и пр., z4 — средний объем оперативной памяти вычислительного узла, занимаемый ОПО, и т. д.
Замечание 2. Между векторами x, y и z существуют следующие смысловые различия. Вектор x представляет собой “управление”, доступное провайдеру. Вектор y — “управление”, доступное пользователю. И x, и y могут независимо друг от друга варьироваться в процессе нагрузочного тестирования и сбора статистической информации для последующей идентификации параметров модели. Следует также отметить, что из-за того, что на одном и том же узле могут выполняться задания различных типов, размерность вектора x и множество его возможных значений для данного узла остаются неизменными, в отличие от вектора , характеристики которого для заданий разного типа различны.
В отличие от x и y параметры z аппаратно-программной среды не управляются напрямую ни провайдером, ни пользователем. Тем не менее его компоненты доступны прямому или косвенному наблюдению в процессе нагрузочного тестирования: информацию о нем можно получить либо путем выполнения служебных команд/запросов, либо путем анализа системных журналов.
Множество допустимых значений аргументов (x, y) является ограниченным и, более того, конечным: компоненты и могут принимать значения из некоторых конечных множеств. Без ограничения общности предполагается, что множество допустимых значений векторов (x, y) содержится в параллелепипеде , на котором функции и обладают следующими свойствами.
- Неотрицательность: для любого (x, y,z) верны неравенства
Данные неравенства очевидны: математическое ожидание и дисперсия любой положительной случайной величины с конечными первыми двумя моментами всегда положительны.
- Локальное невозрастание по x: для любого фиксированного z существует такое подмножество , что для любых таких, что покомпонентно, выполняется
Данное неравенство означает, что в некоторой подобласти рост используемых ресурсов ведет к снижению среднего времени выполнения заданий, т.е. наращивание ресурсов вычислительного узла имеет смысл.
- Неубывание по y: для любого фиксированного z компоненты вектора y могут быть определены так, что для любых таких, что покомпонентно, верно неравенство
Согласно данному свойству вектор может быть определен таким образом, что все его компоненты будут нести смысл объема задания, и с ростом их значений время выполнения задания в среднем будет увеличиваться.
- Непрерывность по y: для любых фиксированных x и z функции и непрерывны по переменной y. Данное свойство означает, что при фиксированных ресурсах малые вариации объема пользовательского задания приводят к малым вариациям характеристик времени его выполнения.
- Выпуклость по y: для любого фиксированного z и для любых и справедливо неравенство
Согласно неравенству при фиксированных ресурсах среднее время выполнения задания как функция объема пользовательского задания растет как линейная, или быстрее.
Замечание 3. Локальность невозрастания среднего времени выполнения задач по ресурсным переменным (свойство 2) выглядит экзотично лишь на первый взгляд. Во-первых, подобный характер поведения среднего времени выполнения наблюдается при анализе функционирования реальных приложений, например баз данных. Конкретный пример данного явления будет приведен во второй части представляемого исследования. Во-вторых, неуменьшение времени выполнения задания с ростом объема предоставленных ресурсов может быть отчасти объяснено косвенными ограничениями и различиями в интенсивности использования ресурсов различного вида. Если представить работу всего приложения как совокупности некоторых конвейеров обработки данных разной интенсивности, эксплуатирующих единые ресурсы узла, то вполне возможна следующая ситуация. Среди упомянутых конвейеров существует один наименее производительный — “бутылочное горло”, определяющий в итоге интенсивность работы всего узла. Наращивание некоторых ресурсов выше определенного порога может вести к ситуации, когда “бутылочное горло” перестанет справляться с обработкой возросшего потока данных, и эти данные будут помещаться в очередь или попросту бесполезно теряться, требуя повторного их создания. Более того, из-за совместного использования конвейерами ресурсов часть их будет отнята у “бутылочного горла” более быстрыми конвейерами, дополнительно снижая его производительность.
Замечание 4. Для иллюстрации свойства 3 вновь рассмотрим пользовательское задание, заключающееся в численном решении некоторого уравнения математической физики. Упрощенно говоря, время выполнения задания является возрастающей функцией от числа узлов сетки, в которых требуется вычислить решение уравнения. Параметры задачи можно описать следующим образом: y1 — шаг сетки по пространственной переменной, y2 — шаг сетки по времени, y3 — область интегрирования пространственной переменной, y4 — область интегрирования по времени.
Однако такая параметризация не будет удовлетворять свойству 3: среднее время выполнения задания не будет расти с ростом шагов сетки (параметров y1 и y2). Параметризацию можно модифицировать подходящим образом так, чтобы свойство 3 выполнялось: корректный вариант приведен в данном разделе выше, сразу после Замечания 1.
Перечисленные свойства функций и накладывают на них определенные ограничения. В работе предлагается использовать следующие зависимости.
Первая модель предполагает экспоненциальную зависимость Mz и Dz от пары (x, y) “ресурсы — объем задания” и независимость от параметров z аппаратно-программной среды:
(3.1)
где — вектор неизвестных параметров, подлежащих последующей идентификации отдельно для функций Mz и Dz. Свойства 1—5 функций Mz и Dz диктуют наличие следующих ограничений на векторы параметров:
1) для функций Mz и Dz — условие неотрицательности,
2) для функции Mz — условие локального невозрастания по переменным ,
3) для функции Mz — условие локального неубывания по переменным .
Экспоненциальная модель может быть использована для первоначального, так называемого разведочного статистического анализа [16], необходимого, например, для определения зоны эффективной работы виртуального узла.
Вторая модель предполагает степенную зависимость от компонентов (x, y) и независимость от параметров z аппаратно-программной среды. Таким образом, функции Mz и Dz второго типа имеют вид
(3.2)
где — вектор неизвестных параметров, подлежащих последующей идентификации отдельно для функций Mz и Dz. Свойства 1—5 функций Mz и Dz диктуют наличие следующих ограничений на векторы параметров, часть из которых можно задать явно, а часть зависит от каждой конкретной задачи идентификации:
4 ) , для функций Mz и Dz — условие неотрицательности,
5 ) для функции Mz — условие невозрастания по переменной ,
6 ) для функции Mz — условие неубывания по переменной .
Третья модель предполагает кусочно-линейную зависимость по переменной y. При этом подмножества множества , на которых функции и являются линейными по переменным y, образуют разбиение : для и . Введем в рассмотрение индикаторные функции множеств :
Для выполнения заданий различного объема виртуальный вычислительный узел использует различное количество ресурсов. При достижении заданиями определенных объемов узел скачкообразно меняет процедуру их обработки, при этом эти изменения недоступны прямому наблюдению. О них можно судить только косвенно, анализируя информацию, хранящуюся в системных журналах. Данный скачок и является причиной смены параметров линейной зависимости времени обработки от объема задания. Наиболее “выпукло” подобное явление можно наблюдать при варьировании объема заданий и скачкообразной смены использования оперативной памяти. При малых объемах все задание умещается в кэше — наиболее быстродействующей области оперативной памяти. Затем с ростом объема задание начинает заполнять свободную часть оперативной памяти, и скорость обработки несколько снижается. Как только объема оперативной памяти не хватает для полного размещения задания, включается механизм подкачки страниц, что резко увеличивает время обработки.
Итак, функции Mz и Dz третьего типа имеют вид
(3.3)
где — вектор неизвестных параметров, подлежащих последующей идентификации отдельно для функций Mz и Dz. Следует уточнить, что γjm — это коэффициенты линейной зависимости по переменной в области .
Свойства 1—5 функций Mz и Dz определяют следующие ограничения на оцениваемые параметры:
7) для функций Mz и Dz — условие неотрицательности,
8) для функций Mz — локальное невозрастание по функции x,
9) — неубывание Mz по переменной y,
10) совместные ограничения на и , обеспечивающие непрерывность функций Mz и Dz по переменной y,
11) совместные ограничения на и , обеспечивающие выпуклость Mz по переменной y.
Замечание 5. Модели среднего времени выполнения заданий (3.2) и (3.3) допускают следующую экономическую интерпретацию. Предположим, что алгоритм, реализующий решение пользовательского задания, относится к классу сложности P. Это означает, что число операций, обеспечивающих выполнение задания, ограничено сверху некоторой степенной, в частном случае линейной функцией компонентов вектора . Из-за использования механизма подкачки страниц при недостатке оперативной памяти число операций может увеличиваться, что описывается с помощью степенной или выпуклой кусочно-линейной функции параметров задания. Интенсивность выполнения задания, определяющая число операций алгоритма, выполняемого на вычислительном узле в единицу времени, близка по смыслу к производственной функции [10], в которой в качестве ресурсов выступают компоненты вектора . Одной из популярных является функция Кобба—Дугласа, представляющая собой произведение компонент с некоторыми положительными показателями. Зная общее число операций и интенсивность их выполнения, время выполнения задания определяется их частным. Модели (3.2) и (3.3) как раз и представляют собой отношение оценок сверху числа потребных операций к интенсивности их выполнения, описываемой функцией Кобба—Дугласа.
Предложенные стохастические модели времени выполнения позволяют корректно сформулировать проблемы 1 и 2 из предыдущего раздела как задачи анализа и решить их.
Задача анализа 1. На виртуальном узле выполняются задания фиксированного типа, функции среднего и дисперсии времени τ(ω) выполнения задания известны. Помимо этого тройка “конфигурация узла — параметры задания — параметры аппаратно-программной среды” (x, y,z) фиксированы и известны. Пусть — параметр SLA, определяющий максимально допустимое время выполнения пользовательского задания y: оценить сверху вероятность превышения временем τ(ω) порога .
Решение задачи может быть получено с помощью неравенства Чебышева [15]:
(3.4)
Задача анализа 2. Параметры конфигурации узла x фиксированы и известны, а параметры пользовательского задания Y(ω) являются случайными. Тем не менее пользовательский профиль задания известен и задан в форме вероятностного распределения P(dy) вектора Y(ω). Помимо этого известна зависимость, связывающая значение параметра z от пары (x, y): z = z (x, y). Пусть — параметр SLA, определяющий максимальное время выполнения пользовательского задания с параметрами Y: оценить сверху вероятность превышения временем τ(ω) порога .
Среднее время выполнения пользовательского задания вычисляется с помощью формулы полной вероятности [15]:
(3.5)
Аналогичным образом можно рассчитать и дисперсию :
(3.6)
Решение задачи вновь может быть получено с помощью неравенства Чебышева:
(3.7)
Таким образом, предложенная стохастическая модель времени выполнения пользовательских заданий позволяет эффективно решать важную задачу анализа — оценивать сверху вероятность нарушения SLA.
Оценки (3.4) и (3.7), основанные на неравенствах Чебышева, являются очень консервативными. Если о распределении времени τ(ω) имеется дополнительная информация, то предложенные оценки могут быть существенно уточнены (см. работы [17, 18] и ссылки внутри них). Отметим, что данные предположения не являются чрезмерно обременительными и почти всегда выполняются на практике.
Первое предположение заключается в том, что функция распределения τ(ω) — вогнутая на положительной полуоси. В этом случае решение задачи анализа 1 может быть получено из неравенства Гаусса:
(3.8)
Второе предположение состоит в том, что у τ(ω) имеется плотность распределения, являющаяся унимодальной функцией на положительной полуоси. В этом случае решение задачи анализа 1 может быть получено из неравенства Кантелли:
(3.9)
Замечание 6. Вид функций , используемых для описания моментных характеристик времени τ(ω) выполнения задания, не исчерпывается функциями (3.1) — (3.3). Причины выбора этих моделей в представляемом исследовании следующие. Экспоненциальная зависимость (3.1) может быть использована для разведочного анализа поведения описываемых моментных характеристик и определения области (x, y), в которой узел эффективно выполняет задания указанного типа. Степенная модель (3.2) имеет удачную экономическую интерпретацию. Модель (3.3), представляющая собой степенную зависимость от ресурсных параметров и кусочно-линейную — от объема выполняемого задания, также имеет свои сильные стороны. Во-первых, она проста и экономична, так как включает небольшое число параметров. Во-вторых, эта модель позволяет описывать скачкообразную смену дисциплины обработки заданий в зависимости от их объема.
4. Задачи идентификации параметров. Пусть дан некоторый фиксированный набор переменных (x, y), для которых проведен комплекс нагрузочного тестирования исследуемого вычислительного узла. Результатом тестирования является набор векторов , полученных при обработке статистической информации о работе узла при фиксированных значениях пар . Первая компонента представляет собой выборочное среднее времени τ(ω), вторая — его дисперсию, а третья компонента, возможно блочная — некоторые известные выборочные характеристики аппаратно-программной среды, соответствующие паре . Также задан набор положительных весов , определяющих индивидуальную значимость результат каждого эксперимента.
Выбор моделей, описывающих математическое ожидание и дисперсию времени выполнения задания среди возможных функций (3.1)—(3.3), а также идентификация их параметров, проводятся независимо. Поэтому подробно опишем постановку задачи идентификации только для функции математического ожидания: задача идентификации параметров функции дисперсии будет выглядеть абсолютно аналогично. Величина
представляет собой ошибку оценки среднего значения времени выполнения задания при описании конфигурации функцией , вычисленной со значениями параметров .
Для сравнения качества моделей с различными параметрами воспользуемся функцией потерь , удовлетворяющей следующим свойствам [11]: , для всех , функция является невозрастающей при и неубывающей при .
Задача оптимальной идентификации модели среднего времени выполнения задания заключается в нахождении
(4.1)
Задача оптимальной идентификации модели дисперсии времени выполнения задания состоит в определении
(4.2)
Если в качестве функции потерь выступает квадратичная функция, т.е. , то называется оценкой наименьших квадратов, если используется абсолютное значение, т.е. , то — оценка наименьших модулей [19, 20]. В более общем случае, когда является кусочно-линейной функцией, удовлетворяющей представленным выше свойствам, называется квантильной оценкой [21]. Очевидно, что (3.10) и (3.11) представляют собой взвешенный вариант задач построения M-оценок [19].
Замечание 7. Использование различных весов имеет практический смысл. Во-первых, точность индивидуальных значений выборочных средних и дисперсий для разных параметров может быть разной, и это необходимо учитывать при последующей идентификации. Такая ситуация может складываться в том случае, когда при некотором аппаратно-программном составе узла время выполнения заданий достаточно велико и нет возможности найти тестовую выборку достаточного размера для последующего осреднения и получения приемлемой точности. Во-вторых, на практике наблюдается следующее явление: в случае “скудных” ресурсов x наблюдается большой разброс времени τ(ω), что ведет к низкой точности выборочных моментов . Так как модели и строятся едиными как для всех значений x, то неравноточность наблюдений можно учитывать путем выбора соответствующих весов . В-третьих, владелец вычислительного узла может иметь некоторую дополнительную априорную информацию о предпочтении пользователя выполнять задания с определенными параметрами чаще остальных. В связи с этим может возникнуть задача идентифицировать параметры таким образом, чтобы модель точнее описывала время выполнения именно предпочитаемых пользователем заданий, возможно, в ущерб описанию остальных.
5. Статистическая информация для идентификации моделей: принципы сбора и обработки. Задача идентификации параметров модели трудоемкости заданий при их выполнении на некотором виртуальном узле является абсолютно практической, и поэтому сбор статистических данных для ее решения должен проводиться на той же аппаратно-программной платформе, которая и будет затем использоваться в реальности. Затруднение может возникнуть только при оснащении узла планируемым СПО: по разным причинам оно может быть недоступно до момента реальной эксплуатации. В этом случае данное СПО следует заменить ТПО, близким по целевой направленности к планируемому СПО.
В настоящее время существует достаточно большой выбор доступного ТПО, отличающегося друг от друга:
- предметом тестирования (общая производительность компьютера, производительность процессора, графических сопроцессоров, дисковой системы и пр.),
- набором симулируемых приложений (офисные программы, базы данных, научные вычисления и пр.),
- уровнем кроссплатформенности и готовности к нагрузочному тестированию (готовность “из коробки” / необходимость предварительной компиляции кода для тестируемой аппаратно-программной платформы),
- уровнем сервиса сбора статистической информации в процессе нагрузочного тестирования (есть/нет встроенная возможность журналирования используемых ресурсов),
- видом лицензии (платная/бесплатная).
В исследуемой задаче идентификации первые два признака являются ключевыми при выборе того или иного ТПО. Следующие виды ТПО позволяют имитировать нагрузку, порождаемую:
- офисными приложениями [22, 23],
- компиляторами, интерпретаторами [24],
- сжатием данных, в том числе видео [24],
- научными вычислениями (гидродинамика, моделирование атмосферы, молекулярная динамика и пр.) [24],
- 3D-рендерингом [24],
- транзакциями баз данных [25].
Использование ТПО вместо СПО допустимо на начальном этапе идентификации, однако окончательное уточнение параметров модели возможно только на основе статистической информации, полученной при эксплуатации реального СПО. Далее, вне зависимости от применения СПО/ТПО следует учитывать, что для решения задач оптимальной идентификации среднего времени (3.10) и дисперсии (3.11) выполнения задания необходимо многократное повторение тестов с одними и теми же значениями пар с последующим вычислением по ним соответствующих выборочных моментов .
Помимо измерения времени τ во время нагрузочного тестирования следует с некоторой периодичностью регистрировать данные, относящиеся к состоянию аппаратно-программной среды, т.е. ту информацию, обработка которой позволит определить компоненты вектора z. Обычно фиксируется следующая информация:
процент использования процессорного времени,
- объем оперативной памяти,
- объем записанных данных,
- объем считанных данных,
- объем страничной памяти,
- объем данных, записанных во вторичное хранилище страничной памяти (своп),
- объем данных, считанных из свопа и пр.
Обычно периодичность фиксации данных составляет 1 с. Для дальнейшей обработки полученных “сырых” данных к ним обычно применяются стандартные операции осреднения, нахождения минимальных/максимальных/медианных значений и пр. Дополнительная информация в форме вектора z позволяет построить разбиение для последующего применения кусочно-линейной модели (3.3). Например, с помощью подобной обработки данных можно определить минимальный объем задания, с которого начинает использоваться механизм страничной подкачки памяти, кардинально замедляющий выполнение заданий.
В заключение следует отметить, что практическая реализация идентификации параметров описанных моделей связана c решением следующих проблем. Первая из них имеет более теоретический характер и связана с корректным планированием эксперимента по нагрузочному тестированию [26, 27], обеспечивающим идентифицируемость параметров [28], построением их состоятельных оценок, а также характеризацией их скорости сходимости к истинным значениям [29]. Вторая проблема является по бо́льшей части алгоритмической. Дело в том, что задачи идентификации (3.10) и (3.11) относятся к оптимизационным, критерий в которых может быть не только невыпуклым по оптимизируемым переменным, но и негладким. Набор строгих утверждений и теоретически обоснованных алгоритмов решения подобных оптимизационных проблем достаточно скуден, что ведет к необходимости использования эвристических и нейросетевых алгоритмов. Проблема заключается в рациональном выборе алгоритма оптимизации в соответствии со спецификой критерия и вида ограничений или разработке собственной версии алгоритма. Достаточно полный обзор и описание подобных алгоритмов оптимизации приведен в монографии [30].
Заключение. Первая часть исследования посвящена теоретическому аспекту построения математической модели времени выполнения пользовательских заданий на виртуальном вычислительном узле. Приведена аргументация в пользу использования вероятностного аппарата для описания фундаментального свойства вариативности, присущего этому времени. Исходя из необходимости последующей идентификации параметров модели вероятностного распределения времени, предложено ограничиться двумя его первыми моментами. Аргументы функций, описывающих выбранные моменты, включают в себя характеристики ресурсов, пользовательских заданий и аппаратно-программной среды. В работе представлены свойства этих функций, а также некоторые их варианты. Очевидно, что функции содержат неизвестные параметры, подлежащие идентификации для каждого вычислительного узла и вида заданий по статистическим данным, полученным в результате нагрузочных испытаний. Среди различных видов оценок параметров предлагается использовать взвешенные М-оценки. Представлены принципы сбора и обработки статистической информации по результатам нагрузочного тестирования, проводимого в целях идентификации параметров предложенной модели.
Исследования в данной области нельзя считать законченными. Перспективными предполагаются следующие направления. Во-первых, параметрическая идентификация модели является достаточно ресурсозатратной задачей, требующей продолжительного и разнообразного нагрузочного тестирования. В связи с этим вопросы оптимизации плана тестирования и адаптивного уточнения параметров модели в процессе эксплуатации узла представляются весьма актуальными. К этой же области следует отнести возможное расширение и уточнение класса функций, описывающих моментные характеристики времени выполнения заданий. Во-вторых, важной является детализация модели, позволяющая учитывать некоторые дополнительные особенности функционирования виртуальных узлов: совместное использование аппаратных ресурсов различными виртуальными узлами, одновременное обращение различных пользователей к одному виртуальному узлу и пр.
Однако первостепенное значение имеет проверка возможности применения предложенной методологии для построения моделей трудоемкости вычислительных заданий различного типа: реализации обработки информации в базах данных, научных вычислений, обработки изображений, сжатия данных и пр. Именно эту цель преследуют последующие части данного исследования.
1 Работа выполнена с использованием инфраструктуры Центра коллективного пользования "Высокопроизводительные вычисления и большие данные" (ЦКП "Информатика") ФИЦ ИУ РАН (г. Москва).
About the authors
Andrey V. Borisov
Federal Research Center “Computer Science and Control” of Russian Academy of Sciences
Author for correspondence.
Email: ABorisov@frccsc.ru
Russian Federation, Moscow
Alexey V. Ivanov
Federal Research Center “Computer Science and Control” of Russian Academy of Sciences
Email: AIvanov@frccsc.ru
Russian Federation, Moscow
References
- Sirohi P., Agarwal A., Maheshwari P. A Survey on Augmented Virtual Reality: Applications and Future Directions // Seventh Intern. Conf. on Information Technology Trends (ITT). Abu Dhabi, United Arab Emirates, 2020, P. 99—106.
- Gupta P., Krishna C., Rajesh R. et al. Industrial Internet of Things in Intelligent Manufacturing: a Review, Approaches, Opportunities, Open Challenges, and Future Directions // Int. J. Interact. Des. Manuf. 2022.
- Parveen I., C.A., Anjali, O., Sunder, R. Internet of Things: A Review on Its Applications // Information and Communication Technology for Competitive Strategies (ICTCS 2021). Lecture Notes in Networks and Systems. 2021. V. 400. P. 123—134.
- Fraga-Lamas P., Fernández-Caramés T., Suárez-Albela M., Castedo L., González-López M. A Review on Internet of Things for Defense and Public Safety // Sensors. 2016. V. 16. Iss. 10. P. 1644.
- Abu Talib M., Abbas S., Nasir Q., Mowakeh M. Systematic literature review on Internet-of-Vehicles Communication Security //Intern. J. of Distributed Sensor Networks. 2018. V. 14. P. 12.
- Nocedal J., Wright S. Numerical Optimization. N.Y.: Springer, 2006. 686 p.
- Bertsekas D. Convex Optimization Algorithms. Belmont: Athena Scientific, 2015. 576 p.
- Kearns M. The Computational Complexity of Machine Learning. Cambridge: MIT Press, 1990. 182 p.
- Teller S., Séquin C. Visibility preprocessing for interactive walkthroughs // Proc. 18th Annual Conf. on Computer Graphics and Interactive Techniques. 1991. P. 61—70.
- Интриллигатор М. Математические методы оптимизации и экономическая теория. М.: Прогресс, 1975. 600 c.
- Хьюбер П. Робастность в статистике. М.: Мир, 1984. 304 c.
- Броневич А., Лепский А. Нечеткие модели анализа данных и принятия решений. М.: ВШЭ, 2022. 264 c.
- Pankov A., Siemenikhin K. Minimax Estimation for Singular Linear Multivariate Models with Mixed Uncertainty // J Multivariate Analysis. 2007. V. 98. Iss. 1. P. 145—176.
- Borisov A. Minimax Estimation in Regression under Sample Conformity Constraints // Mathematics. 2021. V. 9. P. 1080.
- Ширяев А. Вероятность. М.: Физматлит, 1989. 644 c.
- Tukey J. Exploratory Data Analysis. Boston: Addison-Wesley, 1977. 712 p.
- Семенихин К. Двусторонняя вероятностная граница для симметричной унимодальной случайной величины // АиТ. 2019. № 3. С. 103—122.
- Ion R., Klaassen C., van der Heuvel E. Sharp Inequalities of Bienaymé-Chebyshev and Gauß Type for Possibly Asymmetric Intervals Around the Mean // TEST. 2023. https://doi.org/10.1007/s11749-022-00844-9
- Демиденко Е. Линейная и нелинейная регрессии. М.: Финансы и статистика, 1981. 304 c.
- Мудров В., Кушко В. Метод наименьших модулей. М.: URSS, 2022. 64 c.
- Koenker R . Quantile Regression. Cambridge: Cambrige University Press, 2005. 368 p.
- https://bapco.com/products/sysmark-25/
- https://benchmarks.ul.com/pcmark10
- https://www.spec.org/cpu2017/
- https://www.tpc.org/tpce/
- Ермаков С., Козлов В., Жиглявский А. Математическая теория планирования эксперимента. М.: Наука, 1983. 392 c.
- Black R. Managing the Testing Process, 3rd Edition: Practical Tools and Techniques for Managing Hardware and Software Testing. Indianapolis: Wiley, 2009. 672 p.
- Льюнг Л. Идентификация систем: Теория для пользователя. М.: Наука, 1991. 432 c.
- Ивченко Г., Медведев Ю. Математическая статистика. М.: URSS, 2014. 608 c.
- Пантелеев А., Метлицкая Д., Алешина Е. Методы глобальной оптимизации. Метаэвристические стратегии и алгоритмы. М.: Вузовская книга, 2013. 244 c.
Supplementary files
