2.3. openMosix в действии: Пример

openMosix кластеры могут приобретать самую разную форму. Чтобы лучше себе это представить, давайте предположим что вы – студент, и живёте в одной комнате с богатым компьютерщиком, с которым вы объединили свои компьютеры в openMosix кластер. Теперь давайте предположим, что вы сейчас конвертируете музыку с компакт-дисков в файлы Ogg Vorbis, что вполне легально в вашей стране. Ваш сожитель работaет над проектом на С++, который, по его словам, принесёт мир во всём мире. Но в данный момент он в ванной, где занимается непонятными вещами, а его компьютер простаивает.

Итак, вы запускаете программу, скажем, bladeenc, чтобы сконвертировать творения Баха из формата .wav в .ogg. Алгоритм openMosix на вашей машине сравнивает загрузку на обоих узлах и решает, что процесс будет выполняться быстрее, если его отправить с вашего Pentium-233 на соседний Athlon XP. Всё это происходит автоматически: вы выполняете команды как на обычном персональном компьютере. Всё, что вы заметите, это, например, когда вы запустите сразу две задачи, то они будут работать быстрее, а время их ответа не затянется надолго.

Итак, пока вы что-то там набираете на клавиатуре, ваш сожитель возвращается, бормоча что-то про красный перец в кафетерии. Он садится за свой компьютер и продолжает свои тесты, используя при этом программу pmake – версию make, только оптимизированную для параллельного выполнения. В общем, он так загрузил ей свой процессор, что openMosix даже начал посылать подпроцессы на вашу машину для балансировки нагрузки.

Подобная конфигурация кластера называется “single-pool” (единый пул): в ней все компьютеры используются как единый кластер. Преимуществом или недостатком такой конфигурации, исходя из обстановки, является то, что ваш компьютер – часть пула, то есть, ваши задачи выполняются на других машинах, хотя и процессы с других машин будут мигрировать на вашу машину тоже. О других конфигурациях подробнее читайте в главе Планирование вашего кластера.