[devel] уже давно не о документации

Anton Farygin rider на altlinux.com
Сб Фев 5 20:31:57 UTC 2011


05.02.2011 23:03, Dmitry V. Levin пишет:
> On Sat, Feb 05, 2011 at 10:47:27PM +0300, Anton Farygin wrote:
>> 05.02.2011 10:09, Aleksey Novodvorsky пишет:
>>> 5 февраля 2011 г. 7:34 пользователь Anton Farygin написал:
>>>> 04.02.2011 22:34, Dmitry V. Levin пишет:
>>>>> Т.н. карманы можно было бы реализовать
>>>>> ещё в прошлом году.  Параллельная
>>>>> обработка заданий была реализована в
>>>>> первую очередь как первый шаг на
>>>>> пути к реализации этих карманов.  Потом
>>>>> мы столкнулись с непреодоленными
>>>>> до сих пор организационно-техническими
>>>>> преградами, о необходимости
>>>>> преодоления которых все
>>>>> заинтересованные, надеюсь, помнят
>>>>> постоянно.
>>>>
>>>> Т.е. - если я правильно понял этот тонкий
>>>> намёк - у нас сейчас тонкое место
>>>> - это отсутствие необходимых серверных
>>>> мощностей и каналов связи.
>>>
>>> Да. Это  главная и застарелая проблема,
>>> которая не решается парой серверов.
>>
>> А каким количеством серверов она
>> решается ?
>
> Это зависит от постановки задачи.  Например, от того, сколько карманов в
> единицу времени требуется обрабатывать одновременно (в среднем и
> максимально).

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

   Реализация параллельной обработки показала, что большой
> объем вычислительных мощностей требуется не только для сборки самих
> пакетов на вычислительных узлах, но также и для вычисления нового
> состояния репозитория с последующими проверками целостности.  Сейчас все
> такие вычисления централизованы, и мне очевидно, что система начинает
> заметно проседать уже при параллельном вычислении двух состояний разных
> репозиториев.  Очевидно, что система, рассчитанная на _одновременную_
> обработку нескольких заданий с вычислением репозиториев, должна
> распределять по узлам не только сборку самих пакетов, но и все сложные
> вычисления по репозиториям.  Опыт показал, что качество кэширования
> радикально влияет на производительность системы, производящей вычисления
> над репозиторием.  Это значит, что последовательная обработка двух разных
> репозиториев на одном узле заметно снижает производительность этой
> обработки.


Мне кажется, что в обработке состояний репозитория ещё масса 
возможностей для ускорения, одно из которых - безусловно, кеширование 
различных состояний процесса обработки..

Кстати, не факт что для карманов нужно предоставлять полную копию 
используемого репозитория, зачастую достаточно показать результаты 
сборки task'а в таком виде, который можно отдать apt'у в качестве 
sources.list.

Т.е. - мне кажется что в случае с карманами не надо гарантировать 
стабильность той среды, в которой этот самый карман сформирован, в любом 
случае он предоставляется для пользователей того или иного репозитория, 
и сам карман должен развиваться одновременно с тем репозиторием (в 
идеальном случае - автоматически). Как следствие этого совсем не 
обязательно формировать новый репозиторий для целевой ветки и выполнять 
на нём все тесты.


Подробная информация о списке рассылки Devel