From: Michael Shigorin <mike@altlinux.org> To: devel@lists.altlinux.org Subject: Re: [devel] incoming/girar: проблема производительности. Date: Thu, 27 Aug 2020 12:17:34 +0300 Message-ID: <20200827091734.GE11056@imap.altlinux.org> (raw) In-Reply-To: <20200827022952.GA8129@dad.imath.kiev.ua> On Thu, Aug 27, 2020 at 05:29:53AM +0300, Igor Vlasenko wrote: > Года 3 назад я написал ряд писем в devel@, которые описывали > алгоритмы параллелизации работы сборочницы, которые позволили > бы существенно (на порядки) повысить ее производительность. > Содержимое этих писем доступно на > https://www.altlinux.org/Girar/Parallel . Игорь, спасибо, что наконец рассказал эту историю! Мы уж действительно переживали -- что с тобой, а предположить было не из чего. 2 rider: спасибо и за твой рассказ; про архив думал упомянуть, хорошо, что сперва прочёл и второе письмо. > Дмитрий заинтересовался, но не совсем тем, чем хотелось, > а вопросом, нельзя ли как-то уменьшить число релизов от моих > роботов, что я в итоге сделал для импорта из федоры и магейи, > и начал делать для java. Немножко поправлю: Дима тогда возмутился тем, что на альт начинают фактически оказывать прямое влияние политики выпуска Fedora Project -- например, пересборка всего перед каждым выпуском (осмысленность такого вообще и конкретно у нас -- отдельный интересный вопрос, который когда-то в ключе (не)использования результатов тестовых пересборок поднимал led@; но сейчас только сошлюсь на этот факт). > В итоге серверную часть girar будет намного легче сопровождать, > и можно будет думать о внедрении современных стандартов, > вроде динамической балансировки нагрузки, менеджеров нод и других > атрибутов современного кластера. Собственно, там в любом случае надо менять подход от распихивания задач сборочным узлам к растаскиванию задач сборочными узлами по мере освобождения. > Сейчас у меня, возможно, получится объяснить. Ух! :) > Но я после недели обсуждений с Дмитрием так и не смог пробить > #36531 в апстрим hasher :(. В итоге форкнул свою копию hasher > и свернул свою разработку прототипа локальной сборочницы. :( Free software, каким мы его знаем и любим. > Поскольку Дмитрий, похоже, считал, что медленная сборочница -- > это не баг, а фича, то на заливающих большое число пакетов > будет смотреть, как на спамеров сборочницы. Насколько помню, в сопутствующих обсуждениях в devel@ было два момента: чужие полиси и опасения по поводу смешивания генерата и рукоделия (вопрос качества при этом многогранный и ни разу не однозначный в любую сторону, не хочу сейчас вздымать его). > Надо сказать, Дмитрий и раньше злоупотреблял своим положением > администратора сборочницы, но когда речь шла об одиночных > пакетах, то обычно была какая-то польза или хотя бы повод, > а вреда от остановки task'а особого не было, одиночный пакет > можно потом перезалить хоть через полгода, сделанная работа > не пропадет зря. В случае же с транзакциями все наоборот. Как наверняка знают наиболее продвинутые из нас -- власть развращает, а уж абсолютная и несменяемая -- это как раз либо монархия, либо тирания. Предлагаю такое правило: если Дима решает помочь с задачей, то есть настолько точно знает лучше, как её сделать, что вмешивается без вопросов -- значит, Дима берёт на себя ответственность за её решение или отмену. > Эмоции в корректной форме можно было выразить анекдотом: Ну хотели-то явно как лучше. Стоило всё-таки найти силы если не Диме написать "не лезь, закоммитится -- обсудим", или меня подёргать, чтобы донёс ту же мысль Диме цензурно. > Через неделю улучшенные скрипты были готовы, можно было продолжать. > Но вместо обновления получился цирк, так как Дмитрий > продолжил мне помогать, а я слова не мог сказать, поскольку > боялся поддаться эмоциям и начать выражаться нецензурно. Если что -- пиши, позвоню, изложишь в любом виде. Постараюсь перевести. > Проблема была в том, что и Дмитрий действовал не со зла и не > нарочно, но получилось по пословице "простота хуже воровства". Дима, предлагаю ещё один приём. Представь, что ты -- Путин, а несколько процентов команды -- оппозиция. Не те идиоты, которые вообще не слушают и только орут "Левин, уходи", а люди вроде тебя, в целом настроенные конструктивно, но близко к сердцу принимающие твои ошибки, особенно оформленные как вроде бы помощь. И у тебя есть выбор -- или таких расстрелять/выслать/посадить (но тем лишиться их рук и голов), или налаживать диалог даже с теми, кто не демократии вместо димакратии требует -- а всего-то не мешать, считая по старой привычке, что разбираешься во всём (каждый из нас за эти двадцать лет прошёл свой большой путь, вряд ли найдётся два схожих). > Вернемся к истокам. Сборочница рассчитана на условного майнтайнера > с относительно малым числом но достаточно глубоко сопровождаемых > пакетов, для которого производительность сборочницы не играет особой > роли. Пример такого майнтайнера -- сам Дмитрий. > Для него сборочница комфортна. > > Со мной Дмитрий пытался оптимизировать майнтайнера к сборочнице, > а я хотел наоборот. Что же мне мешает оптимизироваться? Ну есть и оптимизация на производительность, но она сосредоточена скорее в пересборочнице, результаты работы которой отбрасываются (и это сильно другой инвариант). И там цель не "как можно быстрее", а "уложиться с пересборкой всего сизифа в одни сутки" (здесь, возможно, ещё один заранее не очевидный тебе подводный камень насчёт роста репозмитория). > Мешает то, что его оптимизация майнтайнера к сборочнице > сводится к экономии машинного времени сборочницы > за счет растраты времени майнтайнера. Это советский подход, да. > Рассмотрим, к примеру, наше новое полиси по заполнению лицензий. По поводу этого непрозрачного изменения в быте майнтейнера у меня к Диме тоже большие вопросы -- честно говоря, и от Лёши тогда ожидал услышать хотя бы постфактум пояснение необходимости срочно внедрять _блокирующую_ проверку, но так его и не услышал. > Не надо жалеть сборочницу, это робот, который работает за электроэнергию. > "Жалеть" сборочницу и издеваться над людьми --- это и есть извращение. > Сборочницу не надо "жалеть", ее надо переписать для улучшения > производительности. Тогда хорошо будет всем. В общем, Дима, перевожу на русский без мата: у тебя уже МАЗ бастует, причём именно в результате твоих действий (даже не бездействия), зато без накачки из сопредельных проектов. -- ---- WBR, Michael Shigorin / http://altlinux.org ------ http://opennet.ru / http://anna-news.info
next prev parent reply other threads:[~2020-08-27 9:17 UTC|newest] Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-08-27 2:29 Igor Vlasenko 2020-08-27 7:27 ` Anton Farygin 2020-08-27 11:54 ` Andrey Savchenko 2020-08-27 11:59 ` Anton Farygin 2020-08-27 12:09 ` [devel] архивирование репозиториев Dmitry V. Levin 2020-08-27 12:14 ` Anton Farygin 2020-08-27 12:20 ` Dmitry V. Levin 2020-08-27 12:32 ` Anton Farygin 2020-08-27 15:59 ` Dmitry V. Levin 2020-08-27 18:26 ` Anton Farygin 2020-08-27 20:29 ` Dmitry V. Levin 2020-08-28 7:06 ` Alexey V. Vissarionov 2020-08-28 7:09 ` Anton Farygin 2020-08-27 17:31 ` Michael Shigorin 2020-08-27 17:51 ` Andrey Savchenko 2020-08-27 20:33 ` Dmitry V. Levin 2020-08-28 1:28 ` Dmitry V. Levin 2020-08-28 6:29 ` Andrey Savchenko 2020-08-29 2:04 ` Leonid Krivoshein 2020-08-28 0:58 ` Leonid Krivoshein 2020-08-28 1:11 ` Dmitry V. Levin 2020-08-29 2:16 ` Leonid Krivoshein 2020-08-28 5:03 ` Anton Farygin 2020-08-29 2:22 ` Leonid Krivoshein 2020-08-29 4:58 ` Anton Farygin 2020-08-29 14:18 ` Leonid Krivoshein 2020-08-29 16:23 ` Anton Farygin 2020-08-29 19:28 ` [devel] zfs " Vitaly Chikunov 2020-08-29 20:11 ` Anton Farygin 2020-08-29 20:38 ` Vitaly Chikunov 2020-08-29 21:12 ` Anton Farygin 2020-08-30 4:28 ` Alexey V. Vissarionov 2020-08-27 12:05 ` [devel] incoming/girar: проблема производительности Alexey V. Vissarionov 2020-08-28 9:25 ` Igor Vlasenko 2020-08-28 9:28 ` Anton V. Boyarshinov 2020-08-28 9:31 ` Igor Vlasenko 2020-08-28 9:34 ` Anton Farygin 2020-08-28 9:47 ` Igor Vlasenko 2020-08-27 9:17 ` Michael Shigorin [this message] 2020-08-28 0:23 ` [devel] mass rebuilds Dmitry V. Levin 2020-08-28 5:09 ` Anton Farygin 2020-08-28 6:25 ` Andrey Savchenko 2020-08-28 6:58 ` Anton Farygin 2020-08-28 16:46 ` Dmitry V. Levin 2020-08-28 20:23 ` Anton Farygin 2020-08-28 21:47 ` Dmitry V. Levin 2020-08-29 5:08 ` Anton Farygin 2020-08-27 9:57 ` [devel] incoming/girar: проблема производительности Dmitry V. Levin 2020-08-28 18:47 ` Dmitry V. Levin 2020-08-27 11:35 ` [devel] License Tag Policy (Re: incoming/girar: проблема =?utf-8?b?INC/0YDQvtC40LfQstC+0LTQuNGC0LXQu9GM0L3QvtGB0YLQuC4=?=) Sergey Afonin 2020-08-27 23:01 ` [devel] unmaintained packages shall not belong to Sisyphus Dmitry V. Levin 2020-08-28 0:04 ` Dmitry V. Levin 2020-08-28 0:35 ` Dmitry V. Levin 2020-08-28 5:22 ` Anton Farygin 2020-08-28 16:02 ` Dmitry V. Levin 2020-08-28 16:30 ` Michael Shigorin 2020-08-28 16:33 ` Michael Shigorin 2020-08-28 16:43 ` Dmitry V. Levin 2020-08-28 19:52 ` Michael Shigorin 2020-08-28 20:04 ` Dmitry V. Levin 2020-08-28 20:34 ` Michael Shigorin 2020-08-28 20:19 ` Alexey Gladkov 2020-08-28 20:46 ` Michael Shigorin 2020-08-28 23:52 ` Alexey Gladkov 2020-08-31 10:14 ` Konstantin Lepikhov 2020-08-31 18:09 ` [devel] [JT] баланс/динамика: пакеты/майнтейнеры (was: unmaintained packages shall not belong to Sisyphus) Michael Shigorin 2020-08-31 7:53 ` [devel] suggested tags order Aleksei Nikiforov 2020-08-31 11:46 ` Sergey V Turchin 2020-08-31 12:25 ` Paul Wolneykien 2020-08-28 16:40 ` [devel] hasher ALT#36531 Dmitry V. Levin 2020-08-30 0:15 ` Igor Vlasenko 2020-08-28 17:55 ` [devel] automatic License Dmitry V. Levin 2020-08-30 8:14 ` Igor Vlasenko 2020-08-30 10:09 ` Alexey Gladkov 2020-08-30 12:44 ` Igor Vlasenko 2020-08-30 15:21 ` Alexey Gladkov 2020-08-30 15:36 ` Michael Shigorin 2020-08-30 15:44 ` Alexey Gladkov 2020-08-30 15:58 ` Andrey Savchenko 2020-08-30 16:40 ` Alexey Gladkov 2020-08-30 17:27 ` Andrey Savchenko 2020-08-30 18:15 ` Alexey Gladkov 2020-08-30 18:47 ` Michael Shigorin 2020-08-30 17:56 ` Igor Vlasenko 2020-08-28 18:26 ` [devel] will be fatal in Perl 5.30 Dmitry V. Levin 2020-08-28 19:46 ` Michael Shigorin 2020-08-28 19:58 ` Dmitry V. Levin 2020-08-28 20:19 ` Michael Shigorin 2020-08-28 22:11 ` Dmitry V. Levin 2020-08-28 22:13 ` Dmitry V. Levin 2020-08-30 0:58 ` Igor Vlasenko 2020-08-30 0:41 ` Igor Vlasenko
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200827091734.GE11056@imap.altlinux.org \ --to=mike@altlinux.org \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git