| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программное обеспечение под *NIX системы > Придумал шнягу |
| Автор: GrayCardinal 7.1.2008, 15:12 |
| В общем хочу объеденить N компов, в вещь, которая, на сколько знаю, называется "кластером". По типу openmosix, только не глючную и юзер-спэйсную. Плюс пропатчить bash (или другой шел) чтобы сам команды распределял... В общем distcc задолбал (слишком через Жо сделан), хочу то же только с NFS Так вот - существуют ли такие проги и, сколько можно снять за такую (полностью доработанную, да с GUI контроля, да с патчиками для bash, make etc) |
| Автор: JackYF 7.1.2008, 15:18 |
ээ... а кто патченные bash, make etc будет в дистрибутивы толкать? и сколько программ тебе придётся пропатчить? что с сеткой будет? в общем, идею можно развить, но пока, имхо, многое не понятно. |
| Автор: GrayCardinal 7.1.2008, 15:32 | ||
JackYF,
Никто не будет. Я патчики дам кому надо-будет ) В дистрибутив никто толкать не будет. Шняга будет не опенсорсная и не 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 | ||
Нет, 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 | ||
опять же, в определенных случаях обычно в распределенных средах с тяжелыми I/O нагрузками при компиляции И при запуске, т.е. в серьезных кластерах, используются кеширующие файловые системы, напр OpenAFS, или более серьезные, коммерческие решения. ( на физическом поключении в 10Гб -медь или оптика, или Миринет или ИнфиниБэнд, и думаю есть уже и другие технологии ) В таких случая скорость передачи данных становится, благодаря этим высокоскоростным технологиям, в нужное нам неравенство, тем самым оправдывая использование распределенной сборки. и ессно все эти технологии не из дешевых. |