Знаймо

Додати знання

приховати рекламу

Цей текст може містити помилки.

Розподілені обчислення



План:


Введення

Не слід плутати з Добровільні обчислення.

Розподілені обчислення - спосіб вирішення трудомістких обчислювальних завдань з використанням декількох комп'ютерів, найчастіше об'єднаних в паралельну обчислювальну систему. [1] Виконання послідовних обчислень в розподілених системах має сенс в рамках вирішення багатьох завдань одночасно, наприклад в розподілених системах управління. [2] Особливістю розподілених багатопроцесорних обчислювальних систем, на відміну від локальних суперкомп'ютерів, є можливість необмеженого нарощування продуктивності за рахунок масштабування. [2] : 550 слабосвязанних, гетерогенні обчислювальні системи з високим ступенем розподілу виділяють в окремий клас розподілених систем - Grid.


1. Історія

У 1973 році Джон Шох і Джон Хапп з каліфорнійського науково-дослідного центру Xerox PARC написали програму, яка ночами запускалася в локальну мережу PARC і примушувала працюють комп'ютери виконувати обчислення [3].

У 1978 році радянський математик Віктор Глушков працював над проблемою макроконвеєрних розподілених обчислень. Він запропонував ряд принципів розподілу роботи між процесорами. [2] : 320 На базі цих принципів їм була розроблена ЕОМ ЄС-2701.

У 1988 році Арьєн Ленстра і Марк Менес написали програму для факторизації довгих чисел. Для прискорення процесу програма могла запускатися на декількох машинах, кожна з яких обробляла свій невеликий фрагмент. [3].

У 1994 році Девідом Джида була запропонована ідея з організації масового проекту розподілених обчислень, який використовує комп'ютери добровольців (т. зв. добровільні обчислення) - SETI @ Home [4]. Науковий план проекту котрий розробили Девід Джида і Крейг Каснофф з Сіетла був представити на п'ятій міжнародній конференції з біоастрономіі в липні 1996 року [5].

У січні 1996 року стартував проект GIMPS з пошуку простих чисел Мерсенна, також використовуючи комп'ютери простих користувачів як добровільну обчислювальну мережу.

28 січня 1997 стартував конкурс RSA Data Security на вирішення задачі злому методом простого перебору 56-бітного ключа шифрування інформації RC5. Завдяки хорошій технічній і організаційній підготовці проект, організований некомерційним співтовариством distributed.net, швидко здобув широку популярність [3].

17 травня 1999 стартував SETI @ home на базі Grid, а на початку 2002 року завершилася розробка Каліфорнійського Університету в Берклі відкритої платформи BOINC (Berkeley Open Infrastructure for Network Computing), що розробляється з квітня 2000 року спочатку для SETI @ Home, але першим на платформі BOINC став проект Predictor @ home запущений 9 червня 2004.


2. Управління обчислювальними завданнями

Проблема розподілу різних обчислювальних завдань в рамках розподіленої системи відноситься до проблеми прийняття рішень в умовах невизначеності. Дана проблема розглядається в теорії прийняття рішень і в теорії невизначеності.

2.1. Розподілені операційні системи

Розподілена ОС, динамічно і автоматично розподіляючи роботи з різних машин системи для обробки, змушує набір мережевих машин обробляти інформацію паралельно. Користувач розподіленої ОС, взагалі кажучи, не має відомостей про те, на якій машині виконується його робота. [1]

Розподілена ОС існує як єдина операційна система в масштабах обчислювальної системи. Кожен комп'ютер мережі, що працює під управлінням ОС розподіленої, виконує частину функцій цієї глобальної ОС. Розподілена ОС об'єднує всі комп'ютери мережі в тому сенсі, що вони працюють у тісній кооперації один з одним для ефективного використання всіх ресурсів комп'ютерної мережі.

У результаті мережева ОС може розглядатися як набір операційних систем окремих комп'ютерів, що складають мережу. На різних комп'ютерах мережі можуть виконуватися однакові або різні ОС. Наприклад, на всіх комп'ютерах мережі може працювати одна і та ж ОС UNIX. Більш реалістичним варіантом є мережа, в якій працюють різні ОС, наприклад, частина комп'ютерів працює під управлінням UNIX, частина - під управлінням NetWare, а інші - під управлінням Windows NT і Windows 98. Всі ці операційні системи функціонують незалежно один від одного в тому сенсі, що кожна з них приймає незалежні рішення про створення та завершення своїх власних процесів і управлінні локальними ресурсами. Але в будь-якому випадку операційні системи комп'ютерів, що працюють в мережі, повинні включати взаємно узгоджений набір комунікаційних протоколів для організації взаємодії процесів, що виконуються на різних комп'ютерах мережі, і поділу ресурсів цих комп'ютерів між користувачами мережі.

Якщо операційна система окремого комп'ютера дозволяє йому працювати в мережі, тобто надавати свої ресурси в загальне користування та / або використовувати ресурси інших комп'ютерів мережі, то така операційна система окремого комп'ютера також називається мережевий ОС.

Таким чином, термін "мережева операційна система" використовується у двох значеннях: як сукупність ОС всіх комп'ютерів мережі і як операційна система окремого комп'ютера, здатного працювати в мережі. З цього визначення випливає, що такі операційні системи, як, наприклад, Windows NT, NetWare, Solaris, HP-UX, є мережевими, оскільки всі вони володіють засобами, які дозволяють їх користувачам працювати у мережі.


Примітки

  1. 1 2 Ендрю Таненбаум, Мартін ван Стеен Розподілені системи. Принципи та парадигми = Andrew S. Tanenbaum, Maarten van Steen. "Destributed systems. Principles and paradigms" - Санкт-Петербург: Питер, 2003. - 877 с. - (Класика computer science). - ISBN 5-272-00053-6.
  2. 1 2 3 Словник з кібернетики / За редакцією академіка В. С. Михалевича - 2-е. - Київ: Головна редакція Української Радянської Енциклопедії імені М. П. Бажана, 1989. - 751 с. - (С48). - 50000 екз . - ISBN 5-88500-008-5.
  3. 1 2 3 З миру по нитці: Суперкомп'ютер "журнал" Популярна механіка" - www.popmech.ru/article/5435-s-miru-po-nitke/
  4. Комп'ютер на службі науки - інтерв'ю директора SETI @ Home і BOINC Девіда П. Андерсона -
  5. Ільїн Ю. SETI для позаземного розуму: 24 години на пошуки \ \ - www.membrana.ru/particle/2594 MEMBRANA, 12 березня 2003
ПЗ для розподілених і паралельних обчислень
Стандарти, бібліотеки MPI MPICH OpenMPI OpenMP Список багатопоточних бібліотек C + +
ПЗ для моніторингу Ganglia Nagios Cacti Zabbix MRTG Munin Clumon Zenoss Collectd
Керуюче ПО PBS ( OpenPBS) Torque Cleo Maui Moab SLURM Red Hat Cluster Suite ( Heartbeat, Pacemaker)
, Round-robin (алгоритм)
Паралельні обчислення
Загальні положення Хмарні обчислення Високопродуктивні обчислення Кластерні обчислення Розподілені обчислення Грід-обчислення Гібридні обчислення
Рівні паралеллизмом Біти Інструкції Дані Завдання
Потік виконання Суперпоточность Гіперпоточность
Теорія Закон Амдала Закон Густавсона - Барсіса Ефективність витрат Метрика Карпа-Флетта Уповільнення Коефіцієнт прискорення
Елементи Процес Потік Файбер ПМПД Instruction window
Взаємодія Багатопроцесорність Нить Когерентність пам'яті Когерентність кешу Недійсність кешу Бар'єр Синхронізація Контрольна точка
Програмування Моделі (Прихований паралеллизмом Явний паралеллизмом Паралелізм) Таксономія Флінна ( SISD SIMD MISD MIMD (SPMD)) Потік Неблокірующіх синхронізація
Комп'ютерна техніка

Мультипроцессорности ( Симетрична Асиметрична) Пам'ять ( NUMA COMA Розподілена Колективна Розподілена колективна) Одночасна багатопоточність

MPP Суперскалярної Векторний процесор Суперкомп'ютер Beowulf
API Ateji PX POSIX Threads OpenMP OpenHMPP PVM MPI UPC Intel Threading Building Blocks Boost Global Arrays Charm + + Cilk Co-array Fortran OpenCL CUDA Stream Dryad DryadLINQ - research.microsoft.com / en-us / projects / dryadlinq /
Проблеми Скрутне розпаралелювання Проблеми Великого Виклику Блокування ПО Масштабованість Стан гонки Взаємне блокування Активний тупик Детермінований алгоритм Паралельне уповільнення

Цей текст може містити помилки.

Схожі роботи | скачати

Схожі роботи:
Розподілені бази даних
Обчислення
Обчислення
Символьні обчислення
Відкладені обчислення
Паралельні обчислення
Сверхтьюрінговие обчислення
Обчислення процесів
Добровільні обчислення
© Усі права захищені
написати до нас
Рейтинг@Mail.ru