Читайте также:
|
|
Обчислювальний кластер - це мультикомп’ютерна архітектура, яка може використовуватися для паралельних обчислень. Це система, зазвичай складається з одного серверного вузла і одного або більше клієнтських вузлів, з'єднаних за допомогою Ethernet або деякої іншої мережі. Побудована з готових промислових компонентів, на яких може працювати ОС Linux, стандартних адаптерів Ethernet і комутаторів. Вона не містить специфічних апаратних компонентів і легко відтворювана. Також використовує програмні продукти, такі як ОС Linux, середовища програмування Parallel Virtual Machine (PVM) і Message Passing Interface (MPI). Серверний вузол управляє всім кластером і є файл-сервером для клієнтських вузлів. Він також є консоллю кластера та шлюзом у зовнішню мережу. Великі системи кластера можуть мати більше одного серверного вузла, а також можливі спеціалізовані вузли, наприклад, консолі або станції моніторингу. Вони конфігуруються і управляються серверними вузлами і виконують тільки те, що наказано серверним вузлом. У бездисковій конфігурації клієнтів, клієнтські вузли навіть не мають IP-адрес або імен, поки їх не призначить сервер. У більшості випадків клієнтські вузли не мають клавіатур і моніторів, і можуть бути доступні лише через віддалене підключення.
Даний обчислювальний кластер - це не специфічний пакет програм, нова топологія мережі або новітня модифікація ядра ОС, а технологія кластеризації комп'ютерів, що працюють під управлінням ОС Linux на різновид паралельного, віртуального суперкомп’ютера. Хоча існує багато програмних пакетів, таких як модифікації ядра, бібліотеки PVM і MPI і конфігураційні утиліти, які роблять архітектуру кластера більш швидкою, простою у конфігуруванні і ефективною, використовуючи тільки стандартний дистрибутив Linux, без будь-якого додаткового математичного забезпечення.
В даному випадку побудова кластерного комп'ютера не самоціль, а засіб досягти більшої ефективності і продуктивності від певного роду наукової роботи. Існує певний клас задач, що вимагають продуктивності більш високої, ніж ми можемо отримати, використовуючи звичайні комп'ютери. У цих випадках з кількох потужних систем створюють HPC (High Perfomance Computing) кластер, що дозволяє розробку обчислення не тільки з різних процесорів, але і з різних комп'ютерів. Для завдань, що дозволяють дуже хороше розпаралелювання і не пред'являють високих вимог по взаємодії паралельних потоків, часто приймають рішення про створення HPC кластеру з великого числа малопотужних однопроцесорних систем. Найчастіше подібні рішення, при низькій вартості, дозволяють досягти значно більшої продуктивності, ніж продуктивність суперкомп'ютерів.
Однак, створення такого кластеру вимагає певних знань і зусиль, а використання його тягне за собою кардинальну зміну використовуваної парадигми програмування.
Кластер складається з окремих машин (вузлів) і об'єднуючої їх мережі (комутатора). Крім ОС, необхідно встановити та налаштувати мережеві драйвери, компілятори, програмне забезпечення для підтримки паралельного програмування і розподілу обчислювального навантаження.
Вузли кластера: підходящим вибором в даний момент є системи на базі процесорів Intel Core 2 Duo або Intel Core 2 Quad. Варто встановити на кожен вузол не менше 1Gb оперативної пам'яті. Бажано 2-4Gb. Одну з машин слід виділити в якості центральної (консоль кластеру) куди можна (але не обов'язково) встановити досить великий жорсткий диск, можливо більш потужний процесор і більше пам'яті, ніж на інші (робочі) вузли. Робити консоль кластеру більш потужною машиною має сенс, якщо необхідно мати на цьому комп'ютері крім інтерфейсу командного рядка більш зручне операційне оточення, наприклад віконний менеджер (KDE, Gnome), офісні програми, програми візуалізації даних і т.п..
Має сенс забезпечити захищений зв'язок цієї машини із зовнішнім світом. Іншими словами, мережа кластеру (мережа, яка складається з їх консолі кластеру та робочих вузлів) топологічно не повинна знаходиться всередині корпоративної мережі. Якщо необхідно забезпечити доступ до консолі кластеру з корпоративної мережі або з мережі Інтернет, то в цьому випадку, зв'язок має йти через окрему мережеву карту, встановлену в головному комп'ютері, і окремий комутатор.
При комплектації робочих вузлів цілком можливо відмовитися від жорстких дисків - ці вузли будуть завантажувати ОС через мережу з центральної машини, що, окрім економії коштів, дозволяє налаштувати ОС і все необхідне ПЗ тільки один раз. Якщо ці вузли не будуть одночасно використовуватися в якості користувальницьких робочих місць, немає необхідності встановлювати на них відеокарти та монітори. Можлива установка вузлів в стійки (rackmounting), що дозволить зменшити місце, займане вузлами, але буде коштувати трохи дорожче.
Важливо зазначити, що бібліотеки для паралельних обчислень MPICH / MPI є кросплатформними, то вибір операційної системи (Windows vs Linux) не важливий. Однак слід врахувати той факт, що Linux є помітно менш ресурсномісткою системою. Наприклад при використанні PelicanHPC GNU Linux система займає в оперативній пам'яті не більше 40Мб! Вся інша пам'ять доступна паралельній програмі. Це дуже важливий чинник у тому випадку, коли кластер використовується з метою моделювання процесів на як можна більш докладній сітці.
Можлива організація кластерів на базі вже існуючих мереж робочих станцій, тобто робочі станції користувачів можуть використовуватися в якості вузлів кластеру вночі і в неробочі дні. Системи такого типу називають COW (Cluster of Workstations). У цьому випадку реальним видається варіант, коли кластер будується на основі існуючого комп'ютерного класу. Подібні класи вже є в більшості навчальних або наукових установах і зазвичай скомплектована однотипними машинами, що необхідні для кластеру. Проте зазвичай такі комп'ютерні класи працюють під операційною системою Windows і, ймовірно, для заміни її на Unix доведеться вирішити питання адміністративного плану і питання пов'язані з побудовою навчального процесу. Принципових перешкод для вирішення цих питань мабуть немає, оскільки Unix (конкретно Linux) має все необхідне програмне забезпечення для проведення навчального процесу чи наукової діяльності (компілятори, засоби розробки, офісні програми, програми роботи з зображеннями та візуалізації даних, засоби публікації).
Мережа: У найпростішому випадку для зв'язку між вузлами кластеру використовується один сегмент Ethernet (10Mbit/sec на витій парі). Проте дешевизна такої мережі, внаслідок колізій обертається великими накладними витратами на міжпроцесорний обміни, а хорошу продуктивність такого кластера можна чекати тільки на завданнях з дуже простою паралельною структурою і при дуже рідкісних взаємодіях між процесами (наприклад, перебір варіантів).
Для одержання гарної продуктивності міжпроцесорних обмінів використовують Fast Ethernet на 100Mbit/sec або Gigabit Ethernet. При цьому для зменшення числа колізій або встановлюють декілька "паралельних" сегментів Ethernet, або з'єднують вузли кластеру через комутатор (switch). Під паралельними сегментами мається на увазі така структура мережі, коли кожен вузол кластера має більше однієї мережевої карти, які за допомогою спеціальних драйверів об'єднуються в один віртуальний мережевий інтерфейс, що має сумарну пропускну спроможність. Для того, щоб уникнути проблем з конфігуруванням такого віртуального інтерфесом, слід використовувати однакові мережеві карти на всіх машинах кластеру. Крім того, кожна паралельна лінія такого інтерфесу повинна являти собою Ethernet-мережу побудовану на окремому (від інших паралельних їй ліній) комутаторі.
Дата добавления: 2015-01-05; просмотров: 176 | Поможем написать вашу работу | Нарушение авторских прав |