Научная статья на тему 'АНАЛІЗ СУЧАСНИХ МЕТОДІВ ПЛАНУВАННЯ ОБЧИСЛЕНЬ ТА БАЛАНСУВАННЯ НАВАНТАЖЕННЯ В РОЗПОДІЛЕНИХ КОМП’ЮТЕРНИХ СИСТЕМАХ'

АНАЛІЗ СУЧАСНИХ МЕТОДІВ ПЛАНУВАННЯ ОБЧИСЛЕНЬ ТА БАЛАНСУВАННЯ НАВАНТАЖЕННЯ В РОЗПОДІЛЕНИХ КОМП’ЮТЕРНИХ СИСТЕМАХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
216
28
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
балансування навантаження / планування обчислень / відмовостійкість / менеджмент ресурсів / розподілена комп’ютерна система / кластер / хмарна система / grid система / CloudIoT. / load balancing / computing scheduling / fault tolerance / resource management / distributed computer system / cluster / cloud system / grid system / CloudIoT.

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

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

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

ANALYSIS OF MODERN COMPUTING SCHEDULING AND LOAD BALANCING METHODS IN DISTRIBUTED COMPUTER SYSTEMS

The article presents the results of the analysis of various modern methods of computing scheduling and load balancing, which are used to optimize the performance of computing resources in distributed computer systems. Systematic literature was presented, which describes in detail the examined methods. The main solved tasks and advantages of each considered approach are noted. At the same time, a brief description of the problems that arise in the application of a particular approach, and suggestions for further research.

Текст научной работы на тему «АНАЛІЗ СУЧАСНИХ МЕТОДІВ ПЛАНУВАННЯ ОБЧИСЛЕНЬ ТА БАЛАНСУВАННЯ НАВАНТАЖЕННЯ В РОЗПОДІЛЕНИХ КОМП’ЮТЕРНИХ СИСТЕМАХ»

АНАЛ1З СУЧАСНИХ МЕТОД1В ПЛАНУВАННЯ ОБЧИСЛЕНЬ ТА БАЛАНСУВАННЯ НАВАНТАЖЕННЯ В РОЗПОД1ЛЕНИХ КОМП'ЮТЕРНИХ СИСТЕМАХ

Демчик В.В.

астрант факультету тформатики та обчислювально'1 техтки Нацюнального технЫного утверситету Украти «Кшвський полтехтчний тститут iменi 1горя Сжорського»

ANALYSIS OF MODERN COMPUTING SCHEDULING AND LOAD BALANCING METHODS IN

DISTRIBUTED COMPUTER SYSTEMS

Demchyk V.

PhD-student in Faculty of Informatics and Computer Science at the National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute "

Анотащя

В статп наведено результата проведеного аналiзу pi3HOMaHh™x сучасних алгоритмш балансування навантаження та методiв планування обчислень, яш використовуються для оптимiзaцiï продуктивное^ об-числювальних ресурсiв в розподшених комп'ютерних системах. Було представлено систематичну лггера-туру, яка детально описуе оглянутi методи. Виоркемлено основш вирiшенi завдання та переваги кожного розглянутого шдходу. В той же час надаеться i стислий опис проблем, що виникають при застосуванш того чи iншого пiдходу, та пропозицп для подальших дослiджень.

Abstract

The article presents the results of the analysis of various modern methods of computing scheduling and load balancing, which are used to optimize the performance of computing resources in distributed computer systems. Systematic literature was presented, which describes in detail the examined methods. The main solved tasks and advantages of each considered approach are noted. At the same time, a brief description of the problems that arise in the application of a particular approach, and suggestions for further research.

Ключов1 слова: балансування навантаження, планування обчислень, вщмовостшшсть, менеджмент ресурав, розподшена комп'ютерна система, кластер, хмарна система, grid система, CloudloT.

Keywords: load balancing, computing scheduling, fault tolerance, resource management, distributed computer system, cluster, cloud system, grid system, CloudIoT.

Вступ

Обчислювальш тдходи вщграють важливу роль у рiзних областях, таких як медицина, фiзика, астрономiя та метеоролопя, для швидкого вико-нання складних розрахуншв. Сьогодт персональт комп'ютери дуже потужнi, але використовуються недостатньо. Бшьштсть комп'ютерних ресурсiв не працюють 75% часу i сервер часто непродуктивна Це породжуе проспр для розподiлених обчислень, в яких iдея полягае у використаннi фiзично та геог-рафiчно розподiлених ресурав для задоволення потреб високопродуктивних обчислень. 1нтернет по-легшуе користувачам доступ до неоднорщних пос-луг та запуску програм у розподшеному середовищi. Через вiдкритiсть та неоднорщтсть розподiлених обчислень розробник повинен вирь шити декiлька питань, таких як балансування навантаження, сумютсть, виникнення помилок, вибiр ресурсiв та планування завдань. Балансування навантаження - це мехатзм оптимального розпод^ навантаження мiж ресурсами. Мета цiеi роботи -обговорити та проаналiзувати необхщтсть балансування навантаження, основнi тдходи до його ре-алiзацii, iх переваги та недолiки.

1. Балансування навантаження

На продуктивтсть будь-якого веб-сервера за-звичай впливае веб-трафiк, i час обробки запитiв

сервером збшьшуеться, оскiльки вш перевантажу-еться. Через збтшення трафiку через 1нтернет сервер стикаеться з проблемами обслуговування велико! кiлькостi клiентiв з мшмальною затримкою. Тому iснуе концепщя конфедерацii ресурсiв. Попу-лярний сервер Google працюе за такою ж концеп-цiею. Вiн розподiляе запит користувача по рiзних серверах, яш географiчно розташованi в рiзних мю-цях. Сервер вимагае кiлькох механiзмiв роботи з пов'язаними вiдкритими даними (LOD) для вико-нання запиту користувача [1]. Балансування навантаження вщграе важливу роль у робот розподше-них та паралельних обчислень. Цей тдхвд розподь ляе вхвдне робоче навантаження на меншi завдання, призначет обчислювальним ресурсам для одноча-сного виконання. Навантаженням може бути ем-нiсть процесора, об'ем пам'яп, навантаження на мережу, затримка тощо. Причина балансування навантаження - обробка запипв кiлькох користувачiв без погiршення продуктивностi сервера. Балансува-льник навантаження отримуе запити вщ користувача, визначае навантаження на наявт ресурси та надсилае запит на сервер, який злегка завантажу-еться. Основнi функцп балансувальника навантаження таю:

• Розподiляти вхщний трафiк мiж кiлькома об-числювальними ресурсами;

• Визначати наявшсть ресурав та 1х надш-нють для виконання завдань;

• Покращувати використання pecypciB;

• Пвдвищувати задоволенiсть кленпв;

• Забезпечувати вiдмовостiйкiсть та гнучку структуру шляхом додавання або ввдшмання ресу-рсiв у мiрy виникнення попиту.

Алгоритм балансування навантаження (АБН) перш за все можна класиф^вати так, як показано на рисунку 1. Статичш алгоритми (СБН) вимагають попередньо! шформацп про характеристики сис-теми, так1 як можливосп обробки, пам'ять, шль-к1сть активних з'еднань тощо, тодi як алгоритми ди-намiчного балансування навантаження (ДБН) вико-ристовують поточний стан системи для прийняття pinieHb щодо планування.

Рис 1. Класифгкацгя алгоритмгв балансування навантаження

Щоб отримати згаданi вище переваги ввд балансування, важливо вибрати вщповщний АБН для веб-ресyрсiв у розподшеному середовищi [2]. На основi характеристик шщаци процесу АБН можна ввести додаткову, уточнюючу класифiкакцiю на три шдкатегорп:

• Iнiцiйованi ввдправником;

• Iнiцiйованi одержувачем;

• 1нщшоваш симетрично.

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

чно шщшоваш алгоритми усувають умову випере-дження, яка е характерною для алгоршшв, iнiцiйо-ваних приймачем, i пропонують два алгоритми: алгоритм вище середнього (above-average) та адапти-вний алгоритм. Алгоритм вище середнього використовуе прийнятний дiапазон для прийняття рiшення про те, чи е вузол шщшований ввдправни-ком або одержувачем. Адаптивний алгоритм прий-мае рiшення на основi певного набору правил та по-казник1в, що зазвичай забезпечуе бшьшу гнучк1сть.

1.1. Статичне балансування навантаження

Щдходи до балансування статичного навантаження використовують попередню iнформацiю про завдання, обчислювальнi ресурси чи елемент обробки та дстал1 мсрс'/k'i. як показано на рисунку 2.

<

Рис 2. Схема цикл1чного процесу статичного балансування навантаження

Завдання можна делегувати до будь-якого еле-мента обробки двома методами:

• Без врахування стану системи (stateless, ймо-Bip^cm);

• З врахуванням стану системи (stateful, детер-мшоваш).

У stateless методi без врахування стану вибiр елемента обробки (ЕО) здiйснюеться без будь-якого оцшювання системного середовища, тодi як у stateful методi вибiр ЕО вимагае шформацп про стан системи [3]. Stateless методи просп у реал1за-ци, але вони забезпечують взаемодш м1ж клiентом та сервером лише у формат! один до одного, як показано на рисунку 3.

Юпент A

Q

K.iieHT В

K.iieHT С

/

Балансувальник навантаження

__^

П

V

.¿-J

i

Сервер A

Сервер В

Сервер С

ü

Сервер D

Кл1ент D

Рис 3. Схема статичного stateless балансування навантаження в системi

На рисунку 4 схематично зображено процес статичного балансування навантаження зi stateful методом. Балансувальник навантаження ввдстежуе Bci сеанси, а ршення приймаються на ochobi заван-таження сервер1в. 1снують pi3Hi stateful методики

Сеая 1

для вибору такого елемента обробки, як Round Robin, зважений Round Robin та алгоритм випадко-вого розподшу [3]. Однак, щ алгоритми мають об-межену сферу застосування через здебшьшого ди-намiчний характер розподiлених середовищ.

Сеая 1

Кл1ент А Сеая 2

Сеая 3

/

\

Балансувальник навантаження

\

\ I

/

Сеая 4

Сеая 2

Сеая 3

Сеая 4

Кшент B

1

Сервер A

1

Сервер B

Рис 4. Схема статичного stateful балансування навантаження в системi

1.2. Динамiчне балансування навантаження пити ктенпв розподiляються мiж доступними ре-Динaмiчне балансування навантаження являе сурсами тд час виконання. LB призначае запит на собою розвиток stateful алгоршшв СБН, в яких за- основi динaмiчноl шформацп, зiбрaноl з yсiх ресу-

рсiв, як показано на рисунку 5.

1

2

3

4

Наявна база знань (метадам, обмеження, iнформацiя про поточне та попередм планування, тощо)

Рис. 5. Схема циклгчного процесу динам1чного балансування навантаження

Алгоритми ДБН можна роздшити на двi кате-горii - розподшеш та нерозподiленi. У розподше-ному алгоритмi ДБН всi обчислювальш ресурси од-наково ввдповвдають за балансування навантаження. В нерозподшених алгоритмах кожен ресурс виконуе свою роботу самостшно для досягнення сшльно1' мети. Як правило, розподiленi алгоритми ДБН генерують б№ше службових поввдомлень, шж нерозподiленi алгоритми ДБН, завдяки свош безпосереднiй взаемодп з уама ресурсами системи.

Розподiленi алгоритми ДБН працюють краще в умовах вщмови вузлiв, оск1льки випадкова не-справшсть вузла погiршуе лише отриманий розпо-дiл сумарноi задачi в системi замiсть зведення наш-вець загально1' продуктивностi системи. Нерозподь ленi алгоритми ДБН в свою чергу також подшяються на двi категорii - централiзованi та на-пiвцентралiзованi. У централiзованому алгоритмi центральний сервер вщповщае за виконання алгоритму балансування навантаження. У натвцентра-лiзованих сервери розташоваш в кластерах, а балансування навантаження всередиш кластера управляеться централiзовано.

2. Проблеми балансування навантаження

Балансувальник навантаження реалiзуе калька алгоршшв балансування навантаження для визна-чення вiдповiдного ресурсу. Проте вiн стикаеться з кшькома проблемами при розподш навантаження мiж доступними ресурсами. У наступному роздiлi представлено калька основних проблем iз ввдповщ-ними ршеннями.

2.1. Збшьшення веб-траф1ку

За останш калька рок1в веб-трафiк дуже шви-дко збiльшуеться завдяки численним зареестрова-ним веб-сайтам та онлайн-транзакщям. Зi зб№-шенням кiлькостi запиттв вiдповiдь сервера стае по-в№ною через обмежену к1льк1сть ввдкритих з'еднань. Запити додаються до загально1' можливо-стi обробки ресурсiв. Коли вхвдш запити перевищу-ють можливостi ресурсу, ресурс аваршно завершуе роботу або виникае помилка. Юлька авторiв про-аналiзували та запропонували рiшення для вирь шення проблеми. Перше ршення - це оновлення сервера, в якому на деякий час запити обробля-ються б№ш потужним сервером. Але з цим ршен-ням пов'язанi проблеми масштабованосп, перери-вання та обслуговування. 1ншим рiшенням е аутсорсинг, при якому запити надсилаються на шший вiдповiдний сервер для швидко1' вщповщ. Але цей шдхвд коштуе дорого i мае обмежений контроль

над проблемами якосп обслуговування. Розмiр веб-сторiнки та к1льк1сть користувачiв виказують знач-ний вплив на час вщгуку системи [4].

Найбшьш сприятливим рiшенням е викорис-тання декiлькох серверiв з ефективним балансуван-ням навантаження, яке врiвноважуе навантаження м1ж серверами. Продуктивнiсть цих серверiв аналi-зуеться за допомогою моделей черги або моделей лiнiй очiкування. Загалом, два типи моделей балан-сування навантаження використовуються для ана-лiзу продуктивносл сервера. Кожен пiдхiд мае сво1' переваги, застосування та обмеження.

2.1.1. Модель централ1зовано1 черги для балансування навантаження

У цьому механiзмi використовуються однорь днi сервери з шнцевими розмiрами буфера. Балансувальник навантаження отримуе запит вiд мента i перенаправляе запит мiж серверами, використову-ючи одну з таких полтик маршрутизацп:

• Випадкова полгтика;

• Полiтика RR;

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

• Полгтика найкоротших черг.

Порiвняння цих полтшк з точки зору частоти

ввдхилень та часу ввдгуку системи показуе, що щ алгоритми добре працюють, коли рух невеликий, але коли веб-трафж стае високим, полiтика найкоротших черг працюе краще, шж полiтика випадко-вих та ЯЯ [5]. Кiлькiсть ввдхилень у ЯЯ i випадковiй полiтицi зб№шуеться зi збiльшенням трафiку. 1с-нуе запропонований алгоритм черги для вимiрю-вання перевантаження та обслуговування сервюних можливостей сервера в середовищi з ДБН [6]. Алгоритм працюе краще як в однородному, так i в гетерогенному середовищ^ шж алгоритми залишко-во1' емносп (ЯС) та алгоритми черги на основi вмь сту сервера (QSC).

2.1.2. Модель розподшеноХ черги для балансу-вання навантаження

Ц механiзми також виршують проблему за-тримки мереж1, що дозволяе уникнути перевантаження мереж1. Моделi черги дотримуються певних правил прибуття та розподiлу для розпод^ запи-тiв. Моделi розподiленоi черги добре працюють в умовах штенсивного руху [5]. Рiшення про марш-рутизацiю приймаються на основi рiзницi в дов-жинi черги веб -серверiв. Зiбрана iнформацiя вико-ристовуеться для розпод^ трафiку для покра-щення продуктивностi веб-серверiв. Час виконання завдання безпосередньо впливае на довжину черги веб-сервера, тому дощльним е застосування моделi

на основi коефщенту сшввщношення середнього часу виконання завдання [7].

Для нормал!заци затримки мереж1 iснуe пiдхiд до балансування навантаження з контролем затримки для покращення продуктивностi мереж1. Однак шдхвд мае обмежену застосовнiсть i тдходить для стабiльних станiв шляху [8].

Також iснуе пiдхiд на основi теори черг для мониторингу мережевого трафiку, при якому моделю-вання виконуеться в однорщному, а також в гетерогенному мережевому середовищах [9]. Монiторинг траф!ку необхвдний для розрахунку параметрiв до-стовiрностi та ефективностi вiд постшно! роботи мереж!. Виходячи з теори черг i закону Малта, пе-ревантаженiсть мереж! збалансована.

2.2. Вибiр ресурав та розподт завдань

Багато дослвднишв зверталися до проблеми ви-бору ресурсiв та розпод!лу завдань для справедливого балансування навантаження. Балансувальник навантаження бере на себе всю вщповщальшсть за вщображення ресурсу та завдання до фактичного виконання.

Управлшня ресурсами складаеться з двох ос-новних функдш: забезпечення ресурсами та плану-вання ресурсiв. Шд час надання ресурсiв користу-вач надсилае брокеру завдання з р!зними заздале-пдь визначеними обмеженнями якосл обслуговування. Брокер несе вiдповiдальнiсть за пошук ввдповвдного ресурсу для виконання завдань. Планування ресурсiв - це вiдображення та виконання завдання на вщповвдному ресурсi. Вш складаеться з трьох основних функдш: вщобра-ження ресурсiв, виконання ресурсiв та мониторинг ресурсiв.

Класифiкувати ресурс можна за трьома катего-р!ями - недовантажений, нормально завантажений та перевантажений [10]. Планувальник позначае завдання лише на недовантажеш або нормально зава-нтажеш ресурси. З шшого боку, можна роздшити ресурси на дискретш р!вш для вибору найб!льш придатного ресурсу для виконання завдань [11]. Також можна представити планування бюджетних завдань та розрахувати придатнiсть уах ресурсiв для вщбору ресурсiв [12].

Для виконання завдання можна вивести функ-щю вартосп для вибору ресурсу, значення яко! об-числюеться з використанням коефщента завер-шення та кторично! шформаци про ресурс [13]. Для мш!м!заци передачi даних м1ж ресурсами можна використати гшерграф, який вдентифшуе зале-жшсть завдань та даних [14]. Завдання, яш викори-стовують схож1 данi, призначаються одному i тому ж ресурсу для непрямого зниження вартостi.

Перспективним е метод вибору ресурав на основ! бюджету для под!льних навантажень [15]. Метод призначае ввдповвдний ресурс з точки зору вар-тост! з! списку доступних ресурав. Метод розподшу ресурав для под!льних навантажень юнуе також на основ! лшшного програмування [16]. Робота класиф!куеться у ввдповвдних розм!рах для ро-зпод!лу за наявними ресурсами. 1снуе також вдос-

коналення методу вибору ресурав [17] шляхом ви-значення навантаження на завдання та наявносп ресурав вщповвдно [18].

Р!зш дослвдники запропонували численш ме-тоди розподшу неоднорщних завдань. Наприклад удосконалення традицшного планування завдань кругово! роботи (RR), яке добре працюе, коли ва ресурси мають однакову пропускну здатшсть [19]. У гетерогенному середовищ! це не дае помггних ре-зультапв. Тому кожному серверу призначаеться вага, яка вщображае також прюритет вибору сервера. Алгоритм справляеться з розподшом навантаження бшьш ефективно, шж класичний алгоритм планування ЯЯ.

1снуе також алгоритм планування завдань в хмарному та туманному середовища, на основ! асо-щадп м!ж вузлами туману та хмарними вузлами, щоб зменшити пропускну здатшсть та цшу хмар-них ресурав [20]. Якщо обчислення неможливе на туманному вузл1, то завдання виконуються на хмарному вузл!. Калька обмежень, таких як термш та бюджет, можуть падвищити ефектившсть та прида-тшсть алгоритму.

В рамках штернету речей (1оТ) також юнують алгоритми планування завдань в ДБН. Наприклад, для вбудованих систем для тдвищення продуктив-носп реальних додатк1в у парадигм! QoudIoT можна застосувати шдхвд з використанням мереж реального часу, де чггко дотримуються часових обмежень [21]. Алгоритм тдвищуе швидк1сть планування виконання завдань у режим! реального часу в гетерогенних веб-серверах. Для багатохмар-ного середовища 1оТ юнуе алгоритм планування за-вдань, при якому найменш завантажений сервер ви-бираеться глобальним диспетчером для планування завдань 1оТ [22].

1снують також генетичш алгоритми для вирь шення проблеми планування завдань. Наприклад, за допомогою мета-евристичних метод!в генетич-ний алгоритм планування здатен знижувати вар-псть зв'язку м!ж процесорами [23].

2.3. Вимiрювання навантаження

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

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

ресурс для завершения 1'х виконання. Мехашзм контрольно!' точки використовуеться для збереження та ввдновлення стану завдання, що значно зменшуе середнiй час ввдгуку та час повторного подання завдання та покращуе пропускну здатнiсть системи.

В якосл показнику навантаження можна ви-значити динамiчне порогове значення на основi стандартного вiдхиления для балансування навантаження та тграци робочих мюць [24]. Для мцраци завдань ресурси класифiкуються, а середне навантаження кожного кластера порiвнюеться з порого-вим значенням елемента обробки. Для балансування навантаження завдання вибираються випад-ковим чином з колекци недовантажених або перевантажених ресурав.

1снуе модель вибору найкращого кластеру з точки зору тдвищення надшносп системи та змен-шення споживання енергп, а також ефективного збалансування навантаження на систему [25]. Кль ент може визначити прюритетшсть свого вибору, щоб вибрати ввдповщний кластер для виконання за-вдань. Ефективний пiдхiд до визначення накладних витрат на мiграцiю робочих процеав може тдви-щити адаптившсть моделi до реальних сценарiiв.

2.4. Оптимгзацгя витрат

Алгоритм балансування навантаження вщо-бражае завдання на рiзнi гетерогенш ресурси на ос-новi заздалегiдь визначених цiлей. Основна мета балансувальника навантаження - ошгашзувати час виконання завдань, вартiсть ресурав та !х викорис-тання. Тому тд час балансування розглядаються питання вартостi та пропонуються деяк1 можливi рiшення для його оптимiзацii.

Перш за все це може бути адаптивне плану-вання робочих процеав, з врахуванням вартостi ресурав та вартостi зв'язку мiж завданням та ресурсами [26]. Через неоднорвдшсть ресурсiв к1нцева вартiсть розраховуеться перюдично. Реалiзувати це можна у формат! двофазного алгоритму плану-вання завдань, з фазою вибору завдань та фазою вибору процесора [12]. Для вибору завдання прюри-тет визначаеться шляхом обчислення рангу. Для вибору процесора обчислюеться цшшсть усiх процесорiв i вибираеться процесор з найвищою цш-шстю.

В свою чергу, методи резервування забезпечу-ють бiльше зниження витрат, шж методи на вимогу [27]. При цьому методi, загалом, видшення ресурсiв передбачае такi три етапи:

• Бронювання ресурсiв;

• Розширення ресурсiв;

• Ресурс на вимогу.

На першому етапi хмарний брокер заздалепдь органiзовуе ресурси, не враховуючи вимоги кте-нта. На другому еташ спiвставляються вимоги кль ента та варпсть ресурсiв, а також виявляеться над-мiрне або недостатне використання ресурсiв. Якщо вимога мента перевищуе зарезервованi ресурси, брокер може попросити додатковi ресурси на ос-новi оплати за використання. Далi розпочинаеться етап на вимогу, при якому клiент повинен знати вь дповiднi майбутнi вимоги, як1 важко оцiнити в хма-рному середовищг

1снуе також метод оптимiзацii витрат на основi активностi процесу, при якому варпсть обробки та час оч^вання визначаються за допомогою часу да-яльностi, використання ресурсiв та коефщента мь нливостi для перевiрки ефективностi [28].

У разi використання хмарних середовищ, можна класиф^вати хмари за трьома категорiями за-лежно ввд наявностi ресурсiв: загальнодоступна хмара, приватна хмара та пбридна хмара. Користу-вач може скористатися послугами публiчноi хмари за допомогою методу оплати за використання. При-ватш хмари належать приватним особам i пропону-ють безкоштовнi рiзноманiтнi послуги. У гiбриднiй хмарi ресурси iз загальнодоступно1' хмари агрегу-ються вщповвдно до вимог [29].

Для планування завдань в хмарному середо-вища е пiдхiд з направленням дiяльностi на скоро-чення завдань. Цей алгоритм працюе краще, шж традицiйнi пiдходи до призначення завдань з точки зору зниження витрат [30].

Ефективне забезпечення ресурсами вщграе життево важливу роль у зниженш витрат на виконання завдань. Одним з алгорштшв, як1 вирiшуе цю проблему, е алгоритм забезпечення ресурсами на основi оптимiзацii рою частинок (PSO) [31]. PSO прийнято для вибору ввдповвдного ресурсу для оп-тимiзацii витрат. Оцiнюються i порiвнюються з iн-шими iснуючими методами три показники ефекти-вностi: виконання завдань, використання пам'яп та варпсть. Результати моделювання показують, що алгоритм на основi PSO забезпечуе мшмальний час виконання та використання пам'яп з наймен-шими витратами, шж iншi найсучаснiшi методи.

Розподiл ресурав також можливий на основi аукцюну для задоволення вимог клiента та постача-льника послуг [32]. Щд час планування ресурси призначаються користувачам, яш мають найвищi ставки. Алгоритм забезпечуе найбшьший прибуток i задовольняе як клiентiв, так i постачальнишв послуг за к1лькома критерiями. Пов'язання механiзму розподiлу ресурсiв з економiчною проблемою по-питу та пропозици забезпечуе кращу функцiональ-шсть iз 17% прибутку за допомогою шших iсную-чих методiв [33].

Планування завдань також необхщне для про-грам робочого процесу [34]. Щ програми робочого циклу складаються iз залежного завдання з обме-женнями термiну виконання. Мета полягае у виборi найменш витратного хмарного ресурсу через PSO для виконання завдань на основi робочого процесу. Ефективне планування завдань скорочуе час виконання, що безпосередньо впливае на шнцеву вар-тiсть. Враховуючи накладш витрати на зв'язок, ефе-ктивнiсть моделi та й' застосування можна пiдви-щити в реальному хмарному середовищг

Мобiльнi пристро1' значною мiрою залежать в1д хмарних ресурав для доступу до даних та виконання операцш. Мета планування та забезпечення ресурсами в цьому випадку полягае в тому, щоб вибрати оптимальний ресурс за мшмальну варпсть [35]. Постачальник послуг виконуе завдання на вiд-поввдних ресурсах, щоб отримати максимальний прибуток.

2.5. Вiдмовостiйкiсть

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

Методи вщмовостшкосп можна роздшити на дв! категори: проактивш та реактивн! Проактивш методи - це методи запобпання, як1 визначають ко-нтрольований стан на ввдмовостшкють до !х вини-кнення. Системи постшно контролюються для ош-нки несправностей. Проактивна в!дмовостшк!сть може бути реал1зована трьома способами: самов!д-новлення, попереджувальна м!гращя та омоло-дження системи. У процес! самовщновлення перю-дично застосовуються процедури ввдновлення несправностей для автономного вщновлення. П!д час попереджувально! мирадц завдання переносяться з ймов!рно несправного ресурсу на шший ресурс. Омолодження системи - це мехашзм, за допомогою якого перюдично створюються резервш коп!! для очищения та видалення помилок !з системи.

1нша категория - це реактивш шдходи, як1 ма-ють справу з несправностями шсля !х виникнення. Реактивна в!дмовостшк!сть також може бути реаль зована трьома способами: реплжацп завдань, мира-ц!я завдань та контрольна точка. П!д час реплшаци завдань калька екземпляр!в або копш одного завдання стають доступними на р!зних ресурсах. Якщо один екземпляр не працюе, завдання викону-еться на шшому екземпляр!. При мирацд завдань завдання м!груються на шший в!дпов!дний ресурс для завершення його виконання. У контрольнш то-чш стани завдань перюдично зберпаються ! переза-пускаються з останнього збереженого стану, а не з самого початку. 1снуе калька запропонованих меха-шзм!в вщмовостшкосп та ршень для вщновлення.

На основ! розгляду проблеми з недостатнютю ресурав представлено мехашзм ввдновлення на основ! контрольних точок для виконання завдань. Якщо завдання не завершуе виконання у встанов-лен! термши, то для завершення його вибираеться шший в!дпов!дний ресурс. Перш шж перенести його на шший вщповщний ресурс, стан завдання зберпаеться ! вщновлюеться для подальшого виконання через контрольну точку. Це призводить до бь льшого скорочення часу виконання, часу вщгуку та покращення пропускно! здатносп, пор!вняно з ш-шими юнуючими методами [36].

Проте, як правило, сама по соб! контрольна точка зб!льшуе час виконання, що безпосередньо впливае на варпсть виконання. Тому можна вико-ристовувати процес надмрно! техшки, щоб скоро-тити час виконання завдання. Ця методика досить хороша ! зменшуе накладш витрати на контрольно-пропускш пункти до 40% [37].

Щоб забезпечити планування ввдмовостшкосп в хмарному середовищ! також необхщною е !денти-фжащя зловмисник1в [38]. Будь-який користувач, який користуеться лише хмарними службами та вщхиляе шш! запити, розглядаеться як зловмисний

користувач. Репутащя розраховуеться для визна-чення шшдливих користувач!в. Такий шдх!д може бути реал!зовано для шдвищення надшносп мереж! та часу виконання завдань у хмарнш парадигм!.

Стшкють до помилок на основ! реплжацп призводить до витрачання велико! к!лькосп ресурав, а також йде на компромю з найменшим можливим часом виконання [39]. Для виршення ц!е! проблеми юнуе механ!зм планування ввдмовостшкосп, що за-безпечуе усп!шне завершення виконання завдання. Обмеження реплжацп уникаеться шляхом перене-сення завдання на подальше виконання. Якщо пла-нувальник виявляе помилку, вш переназначае завдання на шший в!дпов!дний ресурс ! збер!гае втрату ресурс!в. Цей мехашзм зменшуе спожи-вання ресурс!в та час виконання завдань. Однак пе-редбачаються витрати на впровадження плану-вання, що обмежуе застосовн!сть модел! в реальному сценар!!.

Для ведення юторп ресурс!в 1нформац!ю про несправност! в систем! можна представити у формат! !ндексу несправносп [40]. 1ндекс несправност! визначаеться на основ! усшшного та невдалого виконання завдання на конкретному ресурс!. На основ! значення !ндексу несправност!, брокер повто-рюе завдання, яке можна використовувати при ви-никненш несправност!. Бюджетн! та часов! обмеження також враховуються п!д час планування виконання завдань. Такий мехашзм задовольняе рь зним вимогам якост! обслуговування, п!двищуе на-дшшсть, а також посл!довно працюе за наявносп несправност!.

Поеднання двох метод!в ввдмовостшкосп: пб-ридизац!ю альтернативного завдання за допомогою мехашзму повторно! спроби та контрольно! точки дозвляе успадкувати сприятлив! аспекти !х обох. Результати моделювання показують, що альтерна-тивне завдання з мехашзмом контрольно! точки працюе краще ! покращуе пропускну здатн!сть системи, н!ж шш! !снуюч! методи [41].

Хмара полегшуе збертання та доступ до неод-нор!дних даних у розпод!лен!й вщдаленш мереж1. Через динам!чн!сть, перевантаження мереж! та сис-темн! збо! е ключовими факторами виникнення несправностей. Запобпання перевантаженню мереж! та виб!р в!дпов!дних сервер!в дозволяе уникнути умов несправност!. Для забезпечення цього запро-поновано концепц!ю квадратного матричного мно-ження для управл!ння мережевим траф!ком та уни-кнення переваитажения мереж! [42]. Мон!тор ресурав прогнозуе умови несправност! та використовуе полгтику м!грац!!, щоб уникнути збою системи. Представлений механ!зм в!дмовост!йкост! забезпе-чуе знижену варт!сть з меншим споживанням енер-г!!.

В результат! спостереження за умовами вини-кнення помилок було також запропоновано генети-чний алгоритм для визначення ресурсних об'ем!в для планування завдань. Представлений шдх!д п!д-вищив над!йн!сть системи та скоротив час вико-нання завдань у мережевому середовищ! [43].

2.6. Питання сумiсностi

• CloudIoT - це шновацшна тенденщя, яка з'еднуе та управляе мiльйонами пристро!в, як1 роз-повсюджеш по всьому свгту, дуже екоHOMi4HO ефе-ктивними способами. Хмара може отримувати при-буток ввд IoT, щоб мати справу з реальними речами, використовуючи спшьний ресурс високообчислю-вальних ресурсiв, замють того, щоб мати локальнi сервери чи персональш пристро! для обробки про-грам.

Пов'язанi вiдкритi даш (LOD) надають новий вимiр для рiзних проблем гетерогенно! сумiсностi на основi архитектур веб-серверiв. Цi питання пот-ребують уваги для тдтримки неоднорiдних прин-ципiв опису, необхвдних для роботи з рiзними да-ними з веб-ресурсiв. Сумiснiсть LOD дотримуеться пiдходу знизу вгору для встановлення мiцних зв'яз-к1в мгж наборами даних. Рiзнi дослвдники виршу-вали питання сумiсностi LOD та представляли ввд-повiднi рiшення для задоволення попиту користу-вачiв [1].

2.7. Проблеми QoS

Користувач надсилае завдання з рiзними обме-женнями якостi обслуговування (час виконання, витрата енерги, затримка тощо) для покращення продуктивностi в розподiленому середовищг Дослвдники вирiшили калька проблем забезпечення якостi обслуговування та запропонували рiшення для досягнення поставлено! мети.

Видшена на основi спостереження за рiзними проблемами якостi обслуговування (вартють, на-дiйнiсть, безпека та час для забезпечення ресурсами в мережевому середовищ^ угода про рiвень обслуговування (SLA) зменшила складнiсть надання ре-сурсiв, шдтримуючи актуальну шформацш про всi ресурси [44]. Цей пвдхвд працюе краще з точки зору використання ресурсiв, вартостi та задоволеносп клiентiв.

В таблицi 1 згруповано найкращi з оглянутих в статп пiдходiв, технiк та методiв, розкрито !х си-льнi та слабш або поки нереалiзованi сторони.

Таблиця 1.

Основнi переваги та недолiки деяких основних сучасних методiв балансування навантаження_

Основа методу та посилання на опис Сильш сторони Слабш сторони / подальша робота

Розподш ресурав на основi ви-трат [16] Вартють Оптимiзацiя продуктивностi

Розподшення ресурсiв [15] Вартють Бюджетнi та часовi обмеження

Паралельний розподш ресурав на основi виконання [17] Вартють Моделювання в реальнiй хмарi

Розподш ресурав на основi ви-трат [28] Вартють Обмеження часу

Передбачення часу виконання [11] Час виконання Вiдмовостiйкiсть

Мехашзм в1дбору ресурсiв [10] Час виконання в найкращому ви-падку, показник завершеносп, час повторного подання Розгляд термшу виконання завдання

Мехашзм в1дбору ресурсiв [12] Час виконання, вартють Вiдмовостiйкiсть

Мехашзм планування завдань та вибору ресурав [43] Час виконання Оптимiзацiя витрат

Модель черги [6] Час ввдгуку, швидкють падiння, використання сервера Вiдмовостiйкiсть

Модель вибору ресурав [18] Час ввдгуку, показник ввдкидання, використання сервера Розгляд iнших показнишв опти-мiзацii

Вибiр ресурав та планування завдань [36] Час виконання, час ввдгуку, про-пускна здатнiсть, час повторного подання Механiзм вiдмовостiйкостi та пов'язаш з ним накладнi витрати

Взаемосумiснiсть означае ефективну мiграцiю та iнтеграцiю неоднорвдних програм та даних для отримання безперебiйних послуг у рiзних доменах. 1снують рiзнi розподiленi програми для надання мь льйонiв послуг, що вiдрiзняються за пропонова-ними послугами:

• Розподiленi обчислення - це сукупнють рiз-них неоднорiдних компоненпв, розташованих у вiддалених мюцях, яш координуються мiж собою шляхом передачi поввдомлень. Кожен компонент або процесор мае власну пам'ять.

• Сiтковi (grid) обчислення - це мережа комп'ютерних ресурав, пов'язаних для виршення складно! проблеми. Кожен ресурс слабо пов'язаний i виконуе незалежне завдання для досягнення ст-льно! мети. Grid обчислення можна класифiкувати на основi масштабу та функцiональних можливос-тей. На основi масштабу grid обчислення можна класифжувати на двi категорп, тобто кластерну а-тку та сiтку пiдприемства. Кластер означае групу однотипних сутностей. Тож кластерна сiтка надае послуги груповому чи ввдомчому рiвням. 1нший тип - це атка пiдприемства, яка забезпечуе спiльне використання ресурсiв у межах тдприемства.

• Хмарнi обчислення надають на вимогу комп'ютерш ресурси, таю як сховище чи обчислю-вальш ресурси, без безпосередньо! участi користу-вачiв. Вiн мае ефективну систему управлшня да-ними та обчислювально! бази для паралельного виконання завдань для покращення рiзних показнишв якостi обслуговування (QoS).

• Обчислення в тумаш - це розширення хмар-них обчислень, яке складаеться з дек1лькох вузлiв туману, безпосередньо тдключених до фiзичних пристро!в. Рiзниця м1ж обома технолог1ями полягае в тому, що хмара - це централiзована система, а туман - децентралiзована.

3. Висновок

Шдводячи тдсумок, можна сказати, що су-часна система веб-серверiв повинна завжди викори-стовувати один або калька методiв ефективного ба-лансування входного навантаження для розподiлy мiж доступними 1й веб-ресурсами. Цi ресурси з ко-жним днем стають все дорожчими, тому необхвдш ефективнi мехaнiзми оптишзацд витрат, особливо в рамках шдтримки тако! системи в невеликий орга-шзацд.

В роботi було виявлено калька проблем з бала-нсуванням навантаження для ефективного викори-стання веб-ресyрсiв у розподiленомy середовищi та проведено огляд та aнaлiз цшого ряду сучасних ал-горитмiв та пiдходiв до вирiшення цих проблем. Був проанал1зований детальний опис цих пiдходiв, 1х сильних та слабких сторiн, перспектив застосу-вання та обмежень, як вони накладають.

На основi вищезгаданих проблем балансу-вання навантаження та виявлених недолiкiв сучасних алгоршшв балансування навантаження, було визначено калька мaйбyтнiх вимiрiв, яш будуть ко-рисними для дослвдницько! спiльноти для досяг-нення рiзних цiлей:

• Розробка моделi розпод^ ресyрсiв, яка вра-ховуе характеристики як ресурсу, так i конкретного завдання для оптишзацд рiзних показнишв якостi обслуговування;

• Розробка моделi збaлaнсовaностi навантаження з ввдмовою для частково виконаних завдань через збш ресyрсiв та побудова политики вибору ре-сyрсiв для виконання завдань;

• Анaлiз контекстуальних вщносин м1ж проблемами CloudloT та оптишзащя 1х за допомогою ефективного планування;

• Розробка моделi прогнозування часу вико-нання для ефективного забезпечення ресурсами, вибору та планування.

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

1. Bermes E. Convergence and interoperability: A linked data perspective. In: IFLA World Library and Information Congress. Vol. 77. 2011. pp. 1-12.

2. Khatchadourian S, Consens MP. ExpLOD: Summary-based exploration of interlinking and RDF usage in the linked open data cloud. In: Extended Semantic Web Conference; May 2010. pp. 272-287.

3. Kumar B, Richhariya V. Load Balancing of Web Server System Using Service Queue Length. M.tech Scholar (CSE) Bhopal. Vol. 5(5). 2014.

4. Chen C, Bai Y, Chung C, Peng H. Performance measurement and queueing analysis of web servers with a variation of webpage size. In: Proceedings of the International Conference on Computer Applications and Network Security. 2011. pp. 170-174.

5. Zhang Z, Fan W. Web server load balancing: A queueing analysis. European Journal of Operational Research. 2008;186(2):681-693.

6. Singh H, Kumar S. WSQ: Web server queueing algorithm for dynamic load balancing. Wireless Personal Communications. 2015a;80(1):229-245.

7. Singh H, Kumar S. Analysis & minimization of the effect of delay on load balancing for efficient

web server queueing model. International Journal of System Dynamics Applications. 2014;3(4):1-16.

8. Li M, Nishiyama H, Kato N, Mizutani K, Akashi O, Takahara A. On the fast-convergence of delay-based load balancing over multipaths for dynamic traffic environments. In: International Conference on Wireless Communications and Signal Processing. October 2013. pp. 1-6.

9. Kamali SH, Hedayati M, Izadi AS, Hoseiny HR. The monitoring of the network traffic based on queuing theory and simulation in heterogeneous network environment. In: International Conference on Computer Technology and Development; November 2009. pp. 322-326.

10. Hao Y, Liu G, Wen N. An enhanced load balancing mechanism based on deadline control on GridSim. Future Generation Computer Systems. 2012;28(4):657-665.

11. Chang RS, Lin CF, Chen JJ. Selecting the most fitting resource for task execution. Future Generation Computer Systems. 2011;27(2):227-231.

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

12. Arabnejad H, Barbosa JG. A budget constrained scheduling algorithm for workflow applications. Journal of Grid Computing. 2014;12(4):665-679.

13. Naik KJ, Jagan A, Narayana NS. A novel algorithm for fault tolerant job scheduling and load balancing in grid computing environment. In: International Conference on Green Computing and Internet of Things. 2015. pp. 1113-1118.

14. Cheng B, Guan X, Wu H. A hypergraph based task scheduling strategy for massive parallel spatial data processing on master-slave platforms. In: 23rd International Conference on Geoinformatics. 2015. pp. 15.

15. Murugesan G, Chellappan C. An economic allocation of resources for divisible workloads in grid computing paradigm. European Journal of Scientific Research. 2011;65(3):434-443.

16. Shah SNM, Mahmood AKB, Oxley A. Modified least cost method for grid resource allocation. In: International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery. 2010. pp. 218-225.

17. Singhal S, Kumar M, Kant K. An economic allocation of resources in grid environment. In: International Conference on Information Systems and Computer Networks. March 2013. pp. 185-190.

18. Singh H, Kumar S. Optimized resource allocation mechanism for web server grid. In: IEEE UP Section Conference on Electrical Computer and Electronics. 2015b. pp. 1-6.

19. Raman K, Subramanyam A, Rao AA. Comparative analysis of distributed web server system load balancing algorithms using qualitative parameters. VSRD International Journal of Computer Science and Information Technology. 2011;8:592-600.

20. Pham XQ, Huh EN. Towards task scheduling in a cloud-fog computing system. In: 18th Asia-Pacific Network Operations and Management Symposium. October 2016. pp. 1-4.

21. Wu DH. Task optimization scheduling algorithm in embedded system based on internet of things.

Applied Mechanics and Materials. 2014;513:2398-2402.

22. Moschakis IA, Karatza HD. Towards scheduling for Internet of Things applications on clouds: A simulated annealing approach. Concurrency and Computation: Practice and Experience. 2015;27(8):1886-1899.

23. Kamalinia A, Ghaffari A. Hybrid task scheduling method for cloud computing by genetic and DE algorithms. Wireless Personal Communications. 2017;97(4):6301-6323.

24. Rathore N, Chana I. Variable threshold-based hierarchical load balancing technique in grid. Engineering with Computers. 2015;31(3):597-615.

25. Kaushik A, Vidyarthi DP. An energy-efficient reliable grid scheduling model using NSGA-II. Engineering with Computers. 2016;32(3):355-376.

26. Garg R, Singh AK. Adaptive workflow scheduling in grid computing based on dynamic resource availability. Engineering Science and Technology an International Journal. 2015;18(2):256-269.

27. Chaisiri S, Lee BS, Niyato D. Optimization of resource provisioning cost in cloud computing. IEEE Transactions on Services Computing. 2012;5(2):164-177.

28. Singh H, Kumar S. Resource cost optimization for dynamic load balancing on web server system. International Journal of Distributed and Cloud Computing. 2014;2(1):7-18.

29. Bittencourt LF, Madeira ERM. HCOC: A cost optimization algorithm for workflow scheduling in hybrid clouds. Journal of Internet Services and Applications. 2011;2(3):207-227.

30. Cao Q, Wei ZB, Gong WM. An optimized algorithm for task scheduling based on activity based costing in cloud computing. In: 3rd International Conference on Bioinformatics and Biomedical Engineering. June 2009. pp. 1-3.

31. Suresh A, Varatharajan R. Competent resource provisioning and distribution techniques for cloud computing environment. Cluster Computing. 2017:1-8.

32. Salehan A, Deldari H, Abrishami S. An online valuation-based sealed winner-bid auction game for resource allocation and pricing in clouds. The Journal of Supercomputing. 2017;73(11):4868-4905 .

33. Nezarat A, Dastghaibyfard G. A game theoretical model for profit maximization resource allocation in cloud environment with budget and deadline constraints. The Journal of Supercomputing. 2016;72(12):4737-4770.

34. Netjinda N, Sirinaovakul B, Achalakul T. Cost optimal scheduling in IaaS for dependent workload with particle swarm optimization. The Journal of Supercomputing. 2014;68(3):1579-1603.

35. Chunlin L, Layuan L. Cost and energy aware service provisioning for mobile client in cloud computing environment. The Journal of Supercomputing. 2015;71(4):1196-1223.

36. Patel DK, Tripathy D, Tripathy C. An improved load-balancing mechanism based on deadline failure recovery on GridSim. Engineering with Computers. 2016;32(2):173-188.

37. Egwutuoha IP, Chen S, Levy D, Selic B. A fault tolerance framework for high performance computing in cloud. In: 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing. May 2012. pp. 709-710.

38. Choi S, Chung K, Yu H. Fault tolerance and QoS scheduling using CAN in mobile social cloud computing. Cluster Computing. 2014;17(3):911-926.

39. Mei J, Li K, Zhou X, Li K. Fault-tolerant dynamic rescheduling for heterogeneous computing systems. Journal of Grid Computing. 2015;13(4):507-525.

40. Nazir B, Qureshi K, Manuel P. Replication based fault tolerant job scheduling strategy for economy driven grid. The Journal of Supercomputing. 2015;62(2):855-873.

41. Qureshi K, Khan FG, Manuel P, Nazir B. A hybrid fault tolerance technique in grid computing system. The Journal of Supercomputing. 2011;56(1):106-128.

42. Tamilvizhi T, Parvathavarthini B. A novel method for adaptive fault tolerance during load balancing in cloud computing. Cluster Computing. 2017:1-14.

43. Garg R, Singh AK. Fault tolerant task scheduling on computational grid using checkpointing under transient faults. Arabian Journal for Science and Engineering. 2014;39(12):8775-8791.

44. Aron R, Chana I. Formal QoS policy based grid resource provisioning framework. Journal of Grid Computing. 2012;10(2):249-264.

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