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

З приведеного графiку видно, що запропонованi методи динамiчної змiни зернистостi зменшують час очiкування вводу-виводу на 10 - 15%. Ця величина є досить стабiльною та мало змiнюється з ростом кiлькостi процесорiв у системi. З iншого боку, зi збiльшенням кiлькостi процесорiв, на яких виконуються обчислення, вплив на вiдсоток часу, що займає очiкування введення та виведення, стає бiльш суттєвим завдяки двом факторам: по-перше, при великiй кiлькостi процесорiв збiльшується кiлькiсть пар вузлiв, що комунiстах один з одним, та потенцiйно створюють ситуацiї очiкування, i по-друге, зменшується загальний час виконання обчислень i очiкування має бiльш суттєве значення. При використаннi 64 процесорiв вiдсоток часу очiкування введення та виведення по вiдношенню до загального часу виконання обчислень було зменшено з 12.6% до 11.4%. Можна очiкувати, що з подальшим збiльшенням кiлькостi процесорiв, за умови використання балансування навантаження та балансування мережевого навантаження (наприклад, вiдкладених пересилок), рiзниця в часi очiкування буде суттєво збiльшуватися.

НЕ нашли? Не то? Что вы ищете?

Рис. 4.25. Вiдношення часу очiкування передачi даних до загального часу виконання програми, усереднене за всiма процесами

4.12. Використання пам’ятi у вузлах системи

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

Однак, динамiчна змiна зернистостi може призвести до збiльшення об’єму необхiдної локальної пам’ятi у деяких випадках:

·  При горизонтальному роздiленнi пакету може бути необхiдним збереження великої кiлькостi спiльних для конвеєрiв пакету даних.

·  У разi мiграцiї пакету пiсля призупинки виконання, треба резервувати необхiдну кiлькiсть пам’ятi як на вузлi з якого виконується мiграцiя, так i на який виконується мiграцiї.

Зберiгання занадто великих обсягiв може непрямо впливати на ефективнiсть виконання обчислень, а в деяких випадках навiть привести до зупинки обчислень через перевищення доступних обсягiв пам’ятi, так як ряд обчислювальних систем з локальною пам’яттю, зокрема великi кластернi системи, можуть не мати вузлiв, обладнаних дисками, що використовуються для пiдкачки даних в основну пам’ять.

На рис. 4.26 зображено обсяги пам’ятi, що в середньому були використанi одним процесом за весь час роботи програми, усередненi для всiх програм, для яких виконувалось тестування, та згрупованi за пiдходами до динамiчної змiни зернистостi.

Окремо зазначимо, що обсяг фiзичної пам’ятi на вузлах системи, яка використовувалась для тестування, складає 1024 Мб. на кожний наявний процесор. Програми виконання обчислень отримували цю iнформацiю вiд системи керування задачами на кластерi, однак не враховували обсяги пам’ятi, що використовуються системними процесами. Крiм того, оскiльки один вузол обчислювальної системи мiстить декiлька процесорiв, а обчислення могли виконуватись на одному або меншiй кiлькостi, iснувала можливiсть використовувати всю пам’ять, наявну у вузлi без задiяння механiзмiв пiдкачки.

З представленого графiку видно, що використання пiдходiв до планування з динамiчною змiною зернистостi призводить до пiдвищення об’ємiв використаної пам’ятi у системi на 13 - 15%.

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

Рис. 4.26. Середнiй обсяг видiленої пам’ятi

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

Можливим шляхом вдосконалення запропонованим методiв є динамiчний аналiз видiленої основної пам’ятi у системi.

3.13. Вплив на коефiцiєнт ефективностi

Покращення двох вище розглянутих факторiв: обсягiв використаної у вузлах пам’ятi та часу очiкування введення та виведення даних – мали на метi вплинути на ефективнiсть виконання обчислень, яка в свою чергу виражається як у швидкостi виконання обчислень, так i у завантаженостi апаратного забезпечення. Cлiд зазначити, що коефiцiєнт ефективностi буде залежати вiд конкретного набору пакетiв, що проходять через систему. Тим не менш, ми можемо оцiнити коефiцiєнт ефективностi зi статистичної точки зору.

Необхiдно розглянути поведiнку систему при рiзному вiдношеннi пакетiв, якi можуть бути роздiленi, i iнших пакетiв. Це дасть оцiнку коефiцiєнту ефективностi у реальнiй системi, у якiй не всi пакети можуть бути трансформованi запропонованими у данiй роботi методами.

На рис. 4.27 зображено яким чином змiнюється коефiцiєнт ефективностi системи при використаннi запропонованих пiдходiв в залежностi вiд кiлькостi процесорiв при вiдношеннi типiв пакетiв 1 до 1. Цей графiк дає можливiсть оцiнити можливостi масштабування запропонованих пiдходiв.

Рис. 4.27. Залежнiсть коефiцiєнту ефективностi вiд кiлькостi процесорiв для вiдношення типiв пакетiв 1 до 1

З графiку видно, запропонованi методи мають на 3 - 6% бiльшу ефективнiсть нiж базовий варiант без змiни зернистостi. Слiд зазначити, що пiдхiд з вертикальним роздiленням має виграш на системах з малою кiлькiстю процесорiв за рахунок високої утилiзацiї обчислювальних ресурсiв та вiдносно малої збиткової реплiкацiї даних. Зi збiльшенням кiлькостi процесорiв пiдходи з горизонтальним розбиттям починають вигравати в умовах достатньої кiлькостi задач у системi.

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

На рис. 4.28 зображенi коефiцiєнти ефективностi запропонованих пiдходiв в залежностi вiд вiдношення типiв пакетiв у системi для системи з 64 процесорами.

Рис. 4.28. Залежнiсть коефiцiєнту ефективностi вiд вiдношення типiв пакетiв 1 до 1 для системи з 64 процесорiв

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

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

4.14. Перевiрка гiпотез щодо пiдходiв до змiни зернистостi

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

Гiпотеза A. Для перевiрки цiєї гiпотези був здiйснений запуск кожної програмної моделi з повнiстю вимкненим механiзмом збору статистики. Середнiй коефiцiєнт ефективностi при моделюваннi зi збором статистики склав 76.182%, а при моделюваннi зi збором статистики - 76.163%. Таким чином, хоча формально гiпотеза пiдтвердилася, зменшення ефективностi на 0.019% не є суттєвим, i у бiльшостi випадкiв компенсується перевагами пiдходiв.

Гiпотеза B. Ця гiпотеза була перевiрена у рамках дослiдження коефiцiєнту ефективностi i пiдтверджена, спираючись на данi, представленi у рис.4.27. Дiйсно, в умовах роботи на системi з 1-8 процесорами, пiдхiд з вертикальним роздiленням дозволяє отримати на 1 - 4% бiльшу ефективнiсть за пiдходи з горизонтальним розбиттям.

Гiпотеза C. Ця гiпотеза була перевiрена у рамках дослiдження кiлькостi видiленої пам’ятi при застосуваннi запропонованих пiдходiв до динамiчної змiни зернистостi. Як видно з рис. 4.26, вертикальне розбиття призводить до збiльшення об’єму видiленої пам’ятi при використаннi бiльше нiж одного вузла системи на 10 - 12%. Проте, у процесi дослiдження було виявлено, що пiдходи з горизонтальним роздiленням призводять до схожого пiдвищення використання пам’ятi.

Гiпотеза D. Для перевiрки цiєї гiпотези вносилися штучнi погрiшностi у оцiнки лiмiтiв часу виконання пакетiв. При регулярному збiльшеннi лiмiту часу виконання пакетiв на 10% середнiй коефiцiєнт ефективностi системи падав вiд 75.128% до 74.115%, таким чином пiдтверджуючи гiпотезу. Цi результати також свiдчать, що навiть при використаннi запропонованих методiв змiни зернистостi на основi автоматизованого аналiзу вводу-виводу, система може суттєво програвати у ефективностi за рахунок людської помилки у визначеннi лiмiтiв часу виконання.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53