Пингвин кластеризуется Денис Колисниченко Хакер, номер #075, стр. 075-094-2 Высокопроизводительные кластеры используются научно-исследовательскими институтами и центрами обработки информации, которые нуждаются в большой скорости обработки информации. Организация таких кластеров – довольно дорогое удовольствие, поэтому мы их рассматривать не будем. Ради справедливости нужно отметить, что такой кластер, несмотря на свою стоимость, все же дешевле суперкомпьютера, приобретение которого не под силу тем же центрам обработки информации. Кластерные технологии Надоела теория? Осталось еще чуть-чуть: поговорим о кластерных технологиях – это не займет много времени, а потом сразу перейдем к созданию собственного кластера. Существует несколько технологий программно-аппаратных реализаций кластера: (N)UMA, DSM, PVM, MPI. Первая технология подразумевает использование разделяемого доступа, в которой выполняются процессы узлов кластера. В ядре Linux есть поддержка NUMA, которая позволяет получать доступ к разным областям памяти. Технология DSM чем-то похожа на UMA: она тоже использует распределяемую память, но, в отличие от UMA, реализована как на программном, так и на аппаратном уровне. Технология MPI – это спецификация библиотеки передачи сообщений. PVM – это родственник MPI, используемый при создании Beowulf-кластеров. Преимущество PVM заключается в том, что он запускается как пользовательская программа и не требует внесения изменений в ядро *nix-системы. Проект openMosix Программа openMosix позволяет превратить компьютеры под управлением Linux в настоящий кластер. Как ты догадался, если есть openMosix, то где-то должен быть и обыкновенный Mosix. Да, так оно и есть, но практически все бывшие пользователи (если быть точным - 97%) проекта Mosix уже давно перешли на openMosix. И тут дело не в каких-то функциональных преимуществах, а в лицензии. Первоначально Mosix был обыкновенной программой для *BSD. Сейчас openMosix – это патч для ядра Linux, который позволяет с минимальными временными затратами создать балансировочный кластер. Пусть в твоей сети есть три компьютера: Pentium 233 MMX, Duron 1200 и Athlon XP 2000+. Ты работаешь за самым медленным из них. Допустим, нужно преобразовать файл из формата wav в формат mp3. Ты запускаешь кодек, а дальше в работу включается openMosix. Он смотрит, какой компьютер является самым мощным – это Athlon XP, за ним – Duron 1200. Но Athlon XP более загружен, чем Duron 1200, поэтому твой процесс мигрирует на Duron 1200. Позже, если ситуация изменится, твой процесс перекочует на Athlon XP. Как все мы знаем, у каждого процесса есть свой PID (Process ID). При работе с openMosix появляется еще один атрибут - UHN (Unique Home Node, уникальный домашний узел). При миграции процесс разбивается на две части: системную и пользовательскую. Системная всегда остается на UHN, где процесс был изначально запущен, а пользовательская может кочевать по всей сети. |