серверы distcc [solved]
jazzxiiv 15 февраля, 2010 - 03:06
Существуют ли бесплатные серверы в Интернете, предоставляющие
услуги компиляции - желательно по distccd?)
»
- Для комментирования войдите или зарегистрируйтесь
А ты стал бы доверять
А ты стал бы доверять таким??!
с такими рассуждениями можно
с такими рассуждениями можно и портежам/репозитариям недоверять )))))
гм я бы даже скорее не стал
гм я бы даже скорее не стал бы портежам/репозитариям доверять, чем серверам предоставляющим распределенную компиляцию ))) в репозитории хоть что-то свое впихнуть можно )
ну попробуй впихни =) а я
ну попробуй впихни =) а я посмотрю.
___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера
Погуглил, ничего путного
Погуглил, ничего путного сразу как-то не всплывает ) В принципе здесь присутсивующие могут мне кажется при должной степени желаения организовать вычислительную сеть. Отсюда предложение. кому не жалко процессорных ресурсов и у кого есть возможность ими поделится, может выложат сюда ip и порт и архитектуру своих серерверов. Будет некий своп процесорный ресурсов. если у администрации сайта есть желание, то можно это как-то облагородить. Идея сама по себе как мне кажется не новая, так что я думаю, что если поискать еще получше то может можно найти аналогичное что-то)
Вот я в принципе не против
Вот я в принципе не против пожертвовать своим процом.
Но насколько я понимаю, есть некоторые проблемы/вопросы.
1. У всех должна стоять одинаковая версия gcc
2. Судя по той инфе, которую я видел - не факт что не будет проблем при несовпадении архитектур
3. Для того, чтобы действительно получить прирост в скорости нужно правильно посчитать количество потоков компиляции, основываясь на количестве ядер на всех серверах
4. Как на скорость влияют пропускные способности каналов до серверов?
5. Как пройдет компиляция, если часть серверов выключатся во время сборки?
Если решить проблемы и ответы на вопросы будут приемлемыми - можно организовывать такую систему:
Скрипт по крону обновляет свои данные на удаленном серваке (версия gcc/архитектура/количество ядер и т.д.)
и получает список серваков, которые он может использовать для распределенной компиляции.
На это дело можно навесить авторизацию/регистрацию и подобие рейтинга (как на торентах). Но это уже после того, как система будет запущена, проработает какое-то время и вылезут проблемы (а они будут и все это делать прийдется)
Осталось только решить,
Осталось только решить, доверяем ли мы друг другу) Должна быть какая-то гарантия безопасности, для всех, кто участвует в нашем свопе. А техническую сторону вопроса реализовать можно, будут конечно проблемы, но их можно решить и они не ставят под удар всю идею реализации такой штуки. Можно завести, конечно, security department, который будет заниматься этими делами, но лучше сразу придумать нечто такое, что гарантировало бы от атаки.
Гарантировать защиту от атаки
Гарантировать защиту от атаки может только параллельная компиляция на 3+ (n) серверах с последующим сравнением. И выбираем тот результат, который совпадает на n-1 серверах. Если такого результата нет - повторяем или компилим локально с уведомлением системы, которая выдает нам адреса. Но вот этого функционала в distcc на данный момент скорее всего нет, так что нужно делать обвязки, желательно без изменения кода distcc.
В принципе можно реализовать отдельную систему, не distcc, которая правда будет работать только для gentoo (хотя кому она еще нужна?)
Это генерация бинарных пакетов. Система такая: есть главный сервер, есть клиентские машины. Клиент посылает задачу на сервер. Другие клиенты периодически приходят за заданиями. Компилируют бинарники и выладывают их на сервер. Когда пакет скомпилировался определенное количество раз и бинарники совпали - можно забирать всем. Это конечно менее реалтаймовый вариант, да и проблему use флагов нужно решить. Но с другой стороны к моменту стабилизации пакета бинарник уже будет готов. Это менее затратный в реализации вариант (ИМХО), но более затратный во время работы (нужен сервер с большим диском, широкий канал...)
В любом случае, я готов принимать во всем этом посильное участие (правда, я java/php программист)
я пасс
Боюсь, у меня пока не хватит знаний/навыков для такого проекта. Так что либо ищи кого-нибудь и делайте без меня, либо оставь свои координаты в личке и может быть я когда-нибудь с тобой свяжусь)
Со мной связаться можно на
Со мной связаться можно на форуме и в джаббере :-)
А по поводу знаний/навыков. Если собрать комманду (тут я думаю хватит 5-6) добровольцев, то можно найти применение каждому. Главное - желание. Ну и время :-)
Веб систему я могу взять на себя. Нужен человек, который займется вичиткой документации, чтобы ответить на некоторые вопросы.
Еще нужно 2-3 тестера и человек, который знает с/с++/питон для реализации клиентской части.
Так что будет желание заняться - обращайся
Если уже и идти по пути
Если уже и идти по пути создания сервера, то много выгоднее делиться ccache-данными. Объектными файлами с привязкой к исходнику, компилятору, и флагам компиляции. Проверку на достоверность можно делать так же, а в довесок pgp-сигнатуры впендюрить.
Но вот в чём дело. Подобная затея, имхо, дурная. Гонять большой трафик через сеть, не проработав все аспекты, которые коснутся безопасности ( а такие есть ), ради сомнительной выгоды.
emacs — отличная операционка которой не хватает только хорошего текстового редактора.
Да, возможно Вы и правы по
Да, возможно Вы и правы по поводу ccahce данных, только я не понял про pgp сигнатуры (я думал что-то типа проверки целостности ебилдов, т.е. хеш несколькими алгоритмами, с pgp я знаком слабо, там вроде нужно ключи/сертификаты делать?)
И про то, что затея дурная я тоже согласен :-)
Сначала нужно определиться, кому это нужно и нужно ли? Но раз вопрос возник - можно и заняться по свободному времени, только нужно несколько человек, чтобы спроектировать систему, а потом уже думать над реализацией.
Я тут еще подумал немного...
Я тут еще подумал немного... А если реализовать ccache или binpkg_dir на nfs? Вроде бы инфраструктура должна выйти не очень дорогой. Только как себя ведет nfs на медленных каналах? И опять таки вопросы с доверием источникам....
Ребята, ccache сразу
Ребята, ccache сразу отбрасывайте. Он только замедлит вам всё, я пробовал его на NFS держать в домашней сети — никакого выигрыша. Представьте, что будет через Сеть…
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Мне такая система бы очень
Мне такая система бы очень пригодилась, поскольку на нетбуке с 270-ым атомом всё собирается адски долго. Посему ускорялка сборки в виде distcc была бы крайне полезна для таких юзеров.
alpha_Qu4z4r написал(а): Мне
На атоме то ацки долго? ты не видел сколько я генту ставил на Asus EEE 701 %) в нем селерон с частотой срезанной до 600 МГц %)
Вы, товарищи, извините, но
Вы, товарищи, извините, но зажрались - у меня нормально под gentoo работают машины от pentium II.
А может не будем разводить
А может не будем разводить холивар в закрытой теме?
Думаю, всем и так понятно, что иногда хочется ускорить процесс компиляции, но своих ресурсов не хватает.
К сожалению, на данный момент сообщество не в состоянии решить эту проблему.
Я порылся в нете и нашел список BINARY HOST серверов. К сожалению, на данный момент это единственное решение данной проблемы. Причем не самое лучшее.
Вы что, серъёзно?! Если у вас
Вы что, серъёзно?!
Если у вас куча времени, знаний и энергии - лучше помогите девелоперам существующих проектов, - там всегда можно найти что-нибудь по-душе.
jazzxiiv написал(а): Осталось
Как говорили на нашем местном красноглазом сборище: хотите обезопаситься - презерватив на RJ-45 и вперёд.
Аффтар, а собственно зачем такие мучения? Подобное имеет смысл организовывать, если компы расположены поблизости. Частная приватная сеть, или канал до сервера порядка >=1Mbps. Ну и задержки. А то ни сколько процессорное время, сколько время приёма/передачи данных станет играть главную роль. На современных компах OOo собирается 1-2 часа. В таком состоянии можно и систему пересобрать менее чем за сутки с числом пакетов около 1 тысячи. Смысл в общем-то не ясен. Единственно если только знакомство с сервисом). Для слабых компов - есть бинарники на удалённых серверах и готовые конфигурации других дистрибутивов). Согласитесь - прагматичный подход.
поддержу
Да я и сам уже это понял, только не стал писать. В момент, когда писалось сообщение уровень заний был ниже, чем сейчас.
___
Интересно, конечно, изобретать велосипед, но время - тоже фактор.
Люблю генту и юзаю её в т.ч.
Люблю генту и юзаю её в т.ч. на нетбуке, проц которого крайне медленный. Да и потом чем плохо собирать ОО вместо 2-х часов за 15 минут?
solved?
Тему закрываем?
Внесу последнюю ложку дегтя:
Только что собрал Кеды (kde-base/kde-meta)на 2х машинах с помощью сабжа в 8 потоков,
3 локальных, 5 сетевых. Сжатие не включал из соображений производительности.
Статистика 27-02-2010:
Получено : 11,365 Гб
Отправлено : 612,28 Мб
Всего : 11,977 Гб
Максимальная нагрузка на канал (100 мбит) составила - 3 мб/сек
Делайте выводы...
ЗЫ: про секьюрити - distcc поддерживает ssh
Gentoo - Symphony of Creations
DolphinSoft
Eto tolko transport, a ja imel vvidu cuzye host'y...
Ок, понял.
Просто не мог предположить сразу, что если исходники доступны, то способ взлома
можно построить исходя из организации вызовов распределенной компиляции.
Но distcc разве не поддерживает аутентификацию?
Gentoo - Symphony of Creations
Eto opjat ze transport...
Eto opjat ze transport...
Хм...
и правда, чего это я.....
Gentoo - Symphony of Creations