Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программное обеспечение под *NIX системы > Придумал шнягу


Автор: GrayCardinal 7.1.2008, 15:12
В общем хочу объеденить N компов, в вещь, которая, на сколько знаю, называется "кластером". По типу openmosix, только не глючную и юзер-спэйсную. Плюс пропатчить bash (или другой шел) чтобы сам команды распределял... В общем distcc задолбал (слишком через Жо сделан), хочу то же только с NFS  smile 

Так вот - существуют ли такие проги и, сколько можно снять за такую (полностью доработанную, да с GUI контроля, да  с патчиками для bash, make etc)

Автор: JackYF 7.1.2008, 15:18
Цитата(GrayCardinal @  7.1.2008,  14:12 Найти цитируемый пост)
да  с патчиками для bash, make etc

ээ... а кто патченные bash, make etc будет в дистрибутивы толкать? и сколько программ тебе придётся пропатчить?
что с сеткой будет?

в общем, идею можно развить, но пока, имхо, многое не понятно.


Автор: GrayCardinal 7.1.2008, 15:32
JackYF, 
Цитата

ээ... а кто патченные bash, make etc будет в дистрибутивы толкать? и сколько программ тебе придётся пропатчить?
что с сеткой будет?

Никто не будет. Я патчики дам кому надо-будет ) В дистрибутив никто толкать не будет. Шняга будет не опенсорсная и не GPL ная (возможно, кроме GUI на Qt4)
Пропатчить вообще надо будет только bash или тот шелл, который запросит юзер шняги.

Автор: JackYF 7.1.2008, 15:50
Цитата(GrayCardinal @  7.1.2008,  14:32 Найти цитируемый пост)
Шняга будет не опенсорсная и не GPL ная (возможно, кроме GUI на Qt4)
Пропатчить вообще надо будет только bash или тот шелл, который запросит юзер шняги

ясно.

Автор: bilbobagginz 7.1.2008, 17:15
metronome, о нем: http://nmi.cs.wisc.edu/node/90
скачать: http://nmi.cs.wisc.edu/node/1268

Добавлено через 1 минуту и 49 секунд
она не то чтобы делает все так как ты описал, но работает довольно стабильно, не через Ж*


Автор: Imple 7.1.2008, 19:33
Достаточно непонятно, что вы хотите этим получить? Если не будет распределения по нитям процесса между станциями, то получается что один компьютер выполняет введеную комманду, потом следующий компьютер выполняет следующию комманду, и т.д., т.е. в основном будет работать одна станция, а другие простаивать. ИМХО это не имеет практического применения.

Автор: bilbobagginz 8.1.2008, 10:49
Imple, вы не поняли.
в принципе при условии, что все есть везде, саму компиляцию можно делать на всех параллельно.
и только связку (в смысле линковку, linkage) в нeкоторых случаях невозможно распараллелить.

Автор: Imple 8.1.2008, 12:14
Да, действительно, читая первый пост не обратил внимания что автор подразумевает использование NFS'а.

Автор: bilbobagginz 8.1.2008, 12:27
Цитата(Imple @  8.1.2008,  12:14 Найти цитируемый пост)
Да, действительно, читая первый пост не обратил внимания что автор подразумевает использование NFS'а. 

Нет, NFS не имеет ничего общего с распределением (нфс - централизованная технология, предполагающая центральный сервер. есть попытки распараллелить этот сервер, но они не очень удобны )
в некоторых случаях NFS помогает производить распределенные вычисления, при условии, что IO - меньшая часть работы.


для прироста производительности без NFS нужно соблюдать сл. неравенство:
2 х (время копирования 1 файла) << (время компиляции этого файла) 


Автор: Imple 8.1.2008, 12:53
А если IO - большая часть работы? К примеру когда происходит компиляция кучи маленьких .c файлов, или каждый исходник инклудит кучу заголовочных файлов, каждый из которых еще какие то заголовочные файлы, и т.д.? Тогда вместо NFS'а придется использовать точные зеркала дерева исходников на всех машинах, а после компиляции каждого куска программы собирать вместе бинарные файлы и линковать их вместе уже на одной машине?

Получается такая схема:
1. Синхронизация дерева исходников
2. Распределенная компиляция раздельных блоков кода
3. Сбор со всех машин готовых "объектных" файлов
4. Линковка

Мне кажется что все равно, с использованием или без использования NFS'а для решения пунктов 1 и 3, значительного прироста производительности, по сравнению с тем же distcc мы не увидим.

Добавлено через 5 секунд
Имхо, конечно.

Автор: bilbobagginz 8.1.2008, 14:04
Цитата(Imple @  8.1.2008,  12:53 Найти цитируемый пост)
Мне кажется что все равно, с использованием или без использования NFS'а для решения пунктов 1 и 3, значительного прироста производительности, по сравнению с тем же distcc мы не увидим.

опять же, в определенных случаях smile
обычно в распределенных средах с тяжелыми I/O нагрузками при компиляции И при запуске, 
т.е. в серьезных кластерах, 
используются кеширующие файловые системы, напр OpenAFS, или более серьезные, коммерческие решения.
( на физическом поключении в 10Гб -медь или оптика, или Миринет или ИнфиниБэнд, и думаю есть уже и другие технологии )

В таких случая скорость передачи данных становится, благодаря этим высокоскоростным технологиям, в нужное нам неравенство, тем самым оправдывая использование распределенной сборки.

и ессно все эти технологии не из дешевых.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)