Як створити суперкомп`ютер

Вам потрібна машина, здатна проводити обчислення з точністю до сотень трильйонів знаків після коми за секунду? Або вам потрібна історія, яку можна розповідати в барах, про те, як суперкомп`ютер в вашому підвалі вибив пробки? Створення власного Високопродуктивного Комп`ютера, або суперкомп`ютера - завдання, яке будь-який досвідчений гик може вирішити за вихідні при наявності вільного часу і деякої суми грошей. Висловлюючись технічною мовою, сучасний мультипроцесорний суперкомп`ютер - мережа з комп`ютерів, які працюють паралельно для вирішення проблеми. У цій статті коротко описано кожен крок процесу побудова такої мережі, увага приділяється «заліза» і програмного забезпечення.

кроки

  1. Build a Supercomputer Step 1
1. В першу чергу визначитеся з тим, які компоненти і ресурси будуть потрібні. Вам потрібен буде один головний вузол, мінімум десяток ідентичних обчислювальних вузлів, свитч Ethernet, блок розподілу харчування і стійка. Визначте потужність проводки і охолодження, а також площа простору, які вам будуть потрібні. Також визначіться, які IP адреси ви хочете використовувати для вузлів, яке ПЗ ви поставите і які технології будуть потрібні для створення паралельних обчислювальних потужностей (докладніше про це нижче).
  • Хоча «залізо» коштує дорого, все наведені в статті програми розповсюджуються безкоштовно, і більшість з них - з відкритим вихідним кодом.
  • Якщо ви хочете дізнатися, наскільки швидким теоретично може бути ваш суперкомп`ютер, використовуйте цей інструмент: http: // hpl-calculator.sourceforge.net /
  • Build a Supercomputer Step 2
    2. Змонтуйте ноди. Вам потрібно буде зібрати вузли мережі або придбати попередньо зібрані сервери.
  • Вибирайте рами для серверів з максимально раціональним використанням простору і енергії, а також з ефективним охолодженням.
  • або ви можете «утилізувати» десяток або близько того б / у серверів, кілька застарілих - і нехай їх вага перевищує сумарний вага комплектуючих, зате ви заощадите пристойну суму. Всі процесори, мережеві адаптери і материнські плати повинні бути однакові, щоб комп`ютери добре працювали разом. Звичайно, не забудьте про RAM і жорсткі диски для кожної ноди, а також як мінімум про один оптичному приводі для головного вузла.
  • Build a Supercomputer Step 3
    3. Встановіть сервери в стійку. Починайте знизу, щоб стійка не була перевантажена зверху. Вам знадобиться допомога друга - зібрані сервери можуть бути дуже важкими, і ставити їх в осередки, на яких вони тримаються в стійці, досить складно.
  • Build a Supercomputer Step 4
    4. Встановіть світч Ethernet поруч зі стійкою. Варто відразу ж конфігурувати свитч: встановіть розмір джамбо-кадрів 9000 байт, встановіть статичний IP адреса, який ви вибрали на кроці 1 і вимкніть непотрібні протоколи, такі як SMTP.
  • Build a Supercomputer Step 5
    5. Встановіть розподільник харчування (PDU, або Power Distribution Unit). Залежно від того, яку максимальну навантаження видають Ноди в вашій мережі, вам може знадобитися 220 вольт для високопродуктивного комп`ютера.
  • Build a Supercomputer Step 6
    6. Коли все встановлено, переходите до конфігурації. Linux за фактом є основною системою для високопродуктивних (HPC) кластерів - він не тільки ідеально підходить в якості оточення для наукових обчислень, але вам ще й не доведеться платити за установку системи на сотні і навіть тисячі вузлів. Уявіть, у скільки обійшлася б установка Windows на всі ноди!
  • Почніть з установки останньої версії BIOS для материнської плати і ПО від виробника, яке повинно бути однаковим для всіх серверів.
  • Встановіть бажаний дистрибутив Linux на всі ноди, а на головний вузол - дистрибутив з графічним інтерфейсом. Популярні системи: CentOS, OpenSuse, Scientific Linux, RedHat і SLES.
  • Автор дуже рекомендує використовувати Rocks Cluster Distribution. На додаток до установки всіх необхідних для кластера програм та інструментів, Rocks реалізує відмінний метод для швидкого `перенесення` безлічі копій системи на аналогічні сервера з використанням PXE boot і процедури `Kick Start` отRed Hat.
  • Build a Supercomputer Step 7
    7. Встановіть інтерфейс передачі повідомлень, менеджер ресурсів та інші необхідні бібліотеки. Якщо ви не поставили Rocks на попередньому кроці, вам доведеться вручну встановлювати необхідне програмне забезпечення, щоб налаштувати логіку паралельних обчислень.
  • Для початку вам знадобиться портативна система для роботи з bash, наприклад, Torque Resource Manager, який дозволяє розділяти і розподіляти завдання на кілька машин.
  • Додайте до Torque ще Maui Cluster Scheduler, щоб закінчити установку.
  • Далі вам потрібно встановити інтерфейс передачі повідомлень, який необхідний для того, щоб індивідуальні процеси в кожній окремій ноді використовували загальні дані. OpenMP - найпростіший варіант.
  • Не забудьте про багатопоточних математичних бібліотеках і компіляторах, які будуть «збирати» ваші програми для розподілених обчислень. Я вже говорив, що вам варто просто поставити Rocks?
  • Build a Supercomputer Step 8
    8. З`єднайте комп`ютери в мережу. Головна нода посилає завдання для обчислення на підлеглі Ноди, які в свою чергу повинні повернути результат назад, а також відправляти повідомлення один одному. І чим швидше все це відбувається, тим краще.
  • Використовуйте приватну Ethernet мережу, щоб з`єднати всі ноди в кластер.
  • Головна нода може також працювати в якості NFS, PXE, DHCP, TFTP і NTP сервера при підключенні до Ethernet.
  • Ви повинні відокремити цю мережу від публічних, щоб бути впевненим, що пакети не перекриваються іншими в LAN.
  • Build a Supercomputer Step 9
    9. протестуйте кластер. Останнє, що вам варто зробити перед тим, як дати доступ користувачам до комп`ютерних потужностей - протестувати продуктивність.HPL (High Performance Lynpack) benchmark- популярний варіант для вимірювання швидкості обчислень в кластері. Вам потрібно скомпілювати ПО з початкових кодів з найвищим ступенем оптимізації, яку дозволяє ваш компілятор для тієї архітектури, яку ви вибрали.
  • Ви повинні, звичайно, компілювати з усіма можливими настройками оптимізації, які доступні для платформи, яку ви вибрали. Наприклад, при використанні AMD CPU компілюйте в Open64 і рівнем оптимізації -0.
  • Порівняйте отримані результати з TOP500.org, щоб зіставити свій кластер з 500 найшвидшими суперкомп`ютерами в світі!
  • Поради

    • IPMI може спростити адміністрування великого кластера, надавши KVM-over-IP, віддалене управління живленням і багато іншого.
    • Для отримання дійсно високій швидкості роботи погляньте на інтерфейс InfiniBand network. Але будьте готові оплатити преміальний доступ.
    • Використовуйте Ganglia для моніторингу навантаження на окремі Ноди.

    попередження

    • Переконайтеся, що інфраструктура приміщення (проводка і так далі) витримає навантаження.
    Cхоже