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

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

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

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

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

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

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

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ

001: 10.12737/24140

Бабичев Р.П., аспирант, Клабуков А.Д., аспирант, Родионов К.В., аспирант Вятский государственный университет

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

babichevrp@gmail.com

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

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

Введение. Одним из важнейших вызовов современности при проектировании, создании и эксплуатации распределенных информационных систем является их энергоэффективность. Критерий энергоэффективности может быть сформулирован как достижение либо определенного результата деятельности при наименьших затратах энергоресурсов, либо наибольшего результата деятельности при определенных затратах энергоресурсов без их перерасхода [1]. Например, годовое потребление электроэнергии американскими дата центрами за 2013 год составило 91 миллиард киловатт-часов, и, по прогнозам, к 2020 году может достигнуть 140 млрд. киловатт-часов [2]. Кроме того, по мнению ряда ученых [3], таких как Ахил Лангер, Эшан Тотони, Удатта Палекар и Лаксмикант В. Кале, для распределенных систем вопрос энергоэффективности является одной из самых серьезных проблем, над решением которой работают многие ведущие университеты [3, 4] и ИТ корпорации [5, 6], применяя как программно -алгоритмические [7], так и аппаратные [8] средства для снижения уровня энергопотребления. Однако, для ряда распределенных систем, назначение которых не связано напрямую с вы-

числениями, более важной характеристикой может быть не показатель энергоэффективности, а показатель её отказоустойчивости [9]. По словам Д.В. Шкурко: «Отказоустойчивость распределенной системы определяется возможностью функционирования системы, несмотря на отказы ограниченного числа ее компонентов» [10]. Данное определение рассматривает ситуацию с точки зрения состояния компонентов системы, не рассматривая её с точки зрения пользователя. Пользователь, использующий распределенную систему как сервис, обычно абстрагируется от её внутреннего устройства и состояния её компонентов, поэтому с его точки зрения отказом системы является невозможность её использования в момент обращения к ней независимо от каких-либо факторов, влияющих на работоспособность системы. Примером такой системы может являться nVidia Grid - платформа для виртуализации графики, которая обеспечивает ускорение работы виртуальных десктопов и приложений на графических процессорах NVIDIA [11]. Очевидно, что компания nVidia обладает конечным количеством серверов, поэтому теоретически возможна ситуация, когда система не сможет должным образом обрабо-

тать все запросы пользователей, что является, с точки зрения конечного пользователя, ситуацией отказа системы. Таким образом, в данной статье под отказоустойчивостью будет пониматься способность системы в каждый конкретный момент времени удовлетворить запрос пользователя на выделение ресурсов, либо предоставить их в течение короткого промежутка времени, если время выделения этих ресурсов не является критичным. Соответственно, для предотвращения подобного рода отказов системы необходимо, чтобы количество активных узлов системы обеспечивало отказоустойчивость и при этом способствовало энергосбережению. Сервис Nvidia Grid предоставляет услуги по модели GaaS [12], обеспечивая пользователей облачным доступом к видеоиграм. Однако в сервисах типа GaaS достаточно сложно квотировать выделяемые ресурсы, поскольку в данных сервисах нагрузка на узлы системы напрямую зависит от сценария использования предоставляемого программного обеспечения. В отличие от GaaS, сервисы типа IaaS [13] могут выделять фиксированное количество ресурсов на каждого пользователя, т.е. даже если пользователь не расходует все предоставленные ему ресурсы, система все равно может закреплять за ним эти ресурсы в пределах, оговоренных в условиях пользовательского соглашения о квотах [14]. Именно для подобного рода сервисов возможно создание модели, описывающей оптимальное энергоэффективное состояние системы с сохранением отказоустойчивости.

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

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

• S„ - общее количество узлов системы. Под узлом понимается компьютер, предназначенный для определенных задач в кластере [15]. В рамках данной модели в показателе S„ учитываются только узлы, связанные с основной задачей распределенной системы;

• а кт ( 0 - количество активных (включенных) узлов системы в некий момент времени

К

• ^пиК.узлов ое — максимальное номинальное количество ресурсов, которое способен предоставить пользователю 1 узел системы;

• ^пи к. о бщ е е - максимальное номинальное количество ресурсов, которое способна предоставить пользователю система. Данный показатель рассчитывается следующим образом:

—пи к . о б щ е е —пи к.уз л о в о е * "^п (1)

• —уз л .( О - нагрузка на узел в текущий момент времени t. Количество предоставленных узлом ресурсов в момент времени £;

• —об щ .( О - общая нагрузка на систему в текущий момент времени Данный показатель рассчитывается как:

—о б щ .( 0 = —уз л .( 0*^п (2)

Система может являться отказоустойчивой, если — б щ .( О не превышает —пи к. о б щ е е, т.е.

—о б щ .( £) — —пи к . о б щ е е (3)

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

•п а кт .( £) — "^п (4)

Таким образом, одновременное выполнение условий (3) и (4) обеспечивает отказоустойчивость системы в любой момент времени

—о б щ .( £) — —пи к. о б щ е е

^?г.актч1-у —

Выполнение условия (5) допускает ситуации, когда количество активных узлов системы в некоторый момент времени £ меньше их общего количества в системе, но при этом система сохраняет состояние отказоустойчивости. Если рассчитать предполагаемую нагрузку, можно определить показатель оптимального количества активных узлов, при котором избыточные ресурсы системы отключены, но для каждого пользователя система продолжает оставаться отказоустойчивой. Обозначим этот показатель •п . о пт( £)• Математически его можно описать как

Г 5п . а кт( т

•п .о пт( 0 = о бщ .( £) — —пи к. о бщ ее (6)

V •п . а кт( £) — •п

Поддержание системы в состоянии (6) требует решения следующих задач:

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

• разработка нейронной сети для прогнозирования значения показателя пользовательской нагрузки и определения оптимального состояния системы (6) на основании его значения;

• разработка программно-аппаратного решения, способного поддерживать систему в состоянии (6).

Согласно формуле (2), показатель общей

нагрузки на момент времени С рассчитывается, исходя из показателя Л?уз л .( С). Таким образом, необходимо рассчитать Л?уз л . ( С).

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

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

^си СТ .( С) = Р( С)ХЛ( С) (7)

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

Пример группировки пользовател

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

• продолжительность сессии;

• равномерность загрузки системы в рамках сессии;

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

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

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

Таблица 1

с учетом их почасовой активности

—^^Группы дней Часы — Будни Выходные Праздники/особые дни

0:00-01:00 ^^^^ проявляет активность не проявляет активность проявляет активность не проявляет активность ^^^^ проявляет ^^^^ активность не проявляет^^^. активность ^^^^

Расширим формулу (7) с учетом способа группировки, предложенного в таблице 1.

^си СТ .( С) = Р(С) х С) Х (Яраб + Яв ых + Я 0 с 0 б ) (8),

Я0С0б - логические функции,

где öp а б, D

вых

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

Поскольку функции Dpa б, DBых, D0С0б отражают принадлежность временного интервала к типу дней, очевидно, что их сумма должна быть равна 1:

Таким образом, формула (8) представляет собой расширенную форму записи (7) с учётом категорий пользователей, исходя из их почасовой активности, представленной в таблице 1. Справедливым будет дополнить систему (6) выражением (8) и налагаемым на него ограничением (9):

öpa6 Н- ^RbTY önrnf) 1

особ

(9)

.а кт( t) - Ш™

AL

r(t) =

(10)

AL

Система (10) описывает модель оптималь-

0 б щ.( 0 — —пи к. о б щ е е

•^п .а кт( t) — "^п ( ) ( ) ( ) ( )

Яраб ^вых Аэсоб 1

ного энергоэффективного состояния распреде-

ленной отказоустойчивой системы с учетом почасовых колебаний нагрузки.

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

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

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Давыдянц Д.Е., Жидков В.Е., Зубова Л.В. К определению понятий «энергосбережение» и «энергоэффективность» // Фундаментальные исследования. 2014.№ 9. С. 1294-1296.

2. Delforge P. America's data centers are wasting huge amounts of energy [Электронный ресурс]. Систем. требования: Adobe Acrobat Reader. URL: https://www.nrdc.org/sites/default/files/data-center-efficiency-assessment-IB.pdf (дата обращения: 17.09.2016).

3. Berkeley Lab Data Center Energy Efficiency Research [Электронный ресурс]. URL: https://eetd.lbl.gov/l2m2/datacenter.html (дата обращения: 17.09.2016).

4. Research Clusters | Energy Production & Infrastructure Center | UNC Charlotte [Электронный ресурс]. URL: http://epic.uncc.edu/research/research-clusters (дата обращения: 17.09.2016).

5. IBM Research - Zurich: Energy efficiency & green technology, Zero-emission datacenter [ Электронный ресурс]. URL: http://www.research.ibm.com/labs/zurich/st/energy _efficiency/zero_emission.html (дата обращения: 17.09.2016).

6. Scientific and Academic Institutions Accelerate Research Initiatives with HP Supercomputers [ Электронный ресурс]. URL: http://m.hp.com/us/en/news/details.do?id=799540& articletype=news_release (дата обращения: 10.10.2016).

7. Langer A., Totoni E., Palekar S.U., Kale V.L. Energy-optimal configuration selection for manycore chips with variation [Электронный ресурс]. Систем. требования: Adobe Acrobat Reader. URL: http://charm.cs.illinois.edu/newPapers/16-10/paper.pdf (дата обращения: 10.10.2016).

8. Rountree B., Lowenthal K.D., Funk S., Freeh W.V., Supinski B.R. de, Schulz M. Bounting energy consumption in large-scale MPI programs [Электронный ресурс]. Систем. требования: Adobe Acrobat Reader. URL: http://www.cs.arizona.edu/~dkl/Publications/Papers /sc07.pdf (дата обращения: 12.10.2016).

9. Langer A., Dokania H., Kale V.L., Palekar S.U. Analyzing energy-time tradeoff in power over-provisioned HPC data centers [Электронный ресурс]. Систем. требования: Adobe Acrobat Reader. URL: http://charm.cs.illinois.edu/newPapers/15-11/paper.pdf (дата обращения: 12.10.2016).

10. Соловьев А. Энергоэффективность ЦО-Дов: методы и решения [Электронный ресурс]. URL:

http://www.osp.ru/dcworld/2015/04/13 045486.html (дата обращения: 12.10.2016).

11. Шкурко Д.В. Отказоустойчивость в распределенных сетях: проблемы консенсуса [Электронный ресурс]. Систем. требования: Adobe Acrobat Reader. URL: http://www.iis.nsk .su/files/articles/sbor_kas_13_shk urko.pdf (дата обращения: 28.11.2016).

12. NVIDIA Corporation. Возможности облачных игр [Электронный ресурс]. URL: http://www.nvidia.ru/object/nvidia-grid-cloud-gaming-ru.html (дата обращения: 13.12.2016).

13. Медведев А. Облачные технологии: тенденции развития, примеры исполнения [Электронный ресурс]. Систем. требования: Adobe Acrobat Reader. URL:

http://www.cta.ru/cms/f7448405.pdf (дата обращения: 13.12.2016).

14. IBS DataFort. Вычислительные мощности IaaS [Электронный ресурс]. URL: http://datafort.ru/vyichislitelnyie-moshhnosti/ (дата

обращения: 13.12.2016).

15. Воеводин Вл.В., Жуматий С.А. Вычислительное дело и кластерные системы. М.: Изд. МГУ, 2007. 150 с.

Babichev R.P.. Klabukov A.D.. Rodionov K.V.

MODEL OF OPTIMAL ENERGY EFFICIENCY STATE OF DISTRIBUTED FAULT-TOLERANCE SYSTEM WITH CONSIDERING HOURLY LOAD FLUCTUATIONS

Currently, one of the major contemporary challenges in the design, development and operation of distributed information systems is their energy efficiency. In the case of services, based on distributed systems that do not require simultaneous operation of all system components, it is possible to determine the optimal condition in which all users are provided with the requested resource, and unused components are de-energized. Using of this approach should not impact system fault tolerance. In this article the system fault tolerance is considered from a user's perspective, allowing you to redefine the concept. During the research it was to formulate a new approach to fault tolerance, and created a model that describes the optimal energy-saving state of a distributed system. On the basis of this model it is possible to create hardware and software that allows to dynamically maintain the system in optimum energy-efficient state.

Key words: distributed systems, energy-efficiency, fault-tolerance, load fluctuations, mathematical model

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

Бабичев Роман Павлович, аспирант кафедры фундаментальной информатики и прикладной математики.

Вятский государственный университет.

Адрес: Россия, 610000, Киров, ул. Московская 36.

E-mail: babichevrp@gmail.com

Клабуков Алексей Дмитриевич, аспирант кафедры автоматики и телемеханики.

Вятский государственный университет.

Адрес: Россия, 610000, Киров, ул. Московская 36.

E-mail: fellan91@mail.ru

Родионов Кирилл Владиславович, аспирант кафедры автоматики и телемеханики.

Вятский государственный университет.

Адрес: Россия, 610000, Киров, ул. Московская 36.

E-mail: xorn2.0@rambler.ru

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