Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Мета створення кластерів та розпаралелення задач





Часто можна зустріти невірне твердження, що використання суперкомп’ютера може само по собі дати приріст продуктивності. Це невірне твердження. Так як якщо задача не має внутрішнього паралелізму і неадаптована відповідним чином, максимум, що Ви отримаєте від кластера – це запуск декілька програм одночасно, кожна із якої працює з своїм набором даних. Це не прискорить виконання програми, проте дозволить з економити час, якщо потрібно обробити багато варіантів даних. Можна навести приклад: якщо 1 корабель перепливе море за 7 днів, то 7 кораблів море за день не перепливуть. Проте, за цей самий час 7 кораблів перевезуть у 7 раз більше вантажу. Якщо ж об’єми задачі такі, що тільки один прогін програми може тривати декілька днів, то відповідно слід адаптувати програму. Потрібно розділити задачу на декілька під задач, які можуть виконуватися незалежно. А в місцях, де незалежне виконання неможливе, потрібно явно викликати процедури синхронізації для обміну даними через мережу. Наприклад, якщо обробляється великий масив, то слід його розділити між вузлами кластера забезпечивши оптимальне навантаження. Тому перед тим як перейти до практичної реалізації кластерної технології, потрібно вирішити декілька принципових питань:

1. чи взагалі необхідний кластер та паралельні обчислення для даної задачі?

Кластер потрібен якщо:

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

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

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

2. наявність принципової можливості розпаралелити задачу; деякі алгоритми не піддаються ефективній паралелізації. Нехай в програмі доля операцій, які треба виконати послідовно, тобто розпаралелити їх не можливо = f; 0 £ f £ 1. Якщо f=0, то всі операції – не залежні, f=1, то залежні. Для оцінки прискорення продуктивності S на комп’ютері із P-процесорами при певному значенні f використовують закон Амдала:

. Він дуже обмежує використання паралельних комп’ютерів. Якщо в програмі лише 10% послідовного колу, то за законом Амдала не слід очікувати прискорення більш ніж у 10 разів, яку б кількість Р – процесорів не використовували.

 







Date: 2015-07-17; view: 411; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию