Anonymous
а как делают? как понять, какой мощности кластер тебе нужен заранее?
Λ ll И K X
снимают метрики на лоадах
Λ ll И K X
и как то экстраполируют результаты
Igor
во, у нас это называют нагрузочный тест
Anonymous
ну, это разведка боем
Anonymous
это я понимаю, так я тоже могу-умею
Λ ll И K X
но еще обычно перед этим предьяляют какие то требования по перфу
Λ ll И K X
чтобы понимать на что равняться
Anonymous
я пытаюсь понять, есть ли способо грубо прикинуть цифры на бумаге?
Anonymous
такой способ должен быть
Λ ll И K X
кмк это юзлес
Anonymous
Сколько ядер занято во время вычислений?
гистограмма дает время расчета на одном ядре. сам алгоритм предполагается синхронно выполнять, а параллелизация за счет N полных копий данных.
Anonymous
другими словами, одна и та же карта города (графа) сразу на N машинах и каждое ядро использует свою копию и все.
Λ ll И K X
как вы собираетесь это на бумаге считать я не представляю
Anonymous
никаких примитивов синхронизации
Aleksander
И это ядро нагружено во время вычисления на 90-100%?
Anonymous
как вы собираетесь это на бумаге считать я не представляю
я сам не представляю, поэтому и спросил
Aleksander
Хорошо. Значит примерно представляем сколько физических ядер нам надо, так?
Mikhαil
как вы собираетесь это на бумаге считать я не представляю
Я бы ещё задал вопрос «зачем» помимо «как»
Λ ll И K X
Anonymous
Я бы ещё задал вопрос «зачем» помимо «как»
зачем знать, сколько будет стоить твое решение?
Anonymous
чтобы понимать, можешь ли ты его купить?
Mikhαil
зачем знать, сколько будет стоить твое решение?
Зачем знать сколько будет стоит твоё решение в виртуальных баранах которое сойдётся с реальным миром с оооооочень большой погрешностью
Anonymous
я и пытаюсь понять - насколько это можно?
Aleksander
Кластер крутится на своей инфраструктуре, или в облаке?
Anonymous
я ж говорю - у меня пробел в этом
Anonymous
где иначе 1000 взять
Aleksander
Какое облако? Амазон?
Λ ll И K X
Aleksander
Ну на онпрем структуре легко считается, главное переподписку на виртуальные ядра учесть
Anonymous
я хочу память масштаб решения, вот и все. а движет мной интуитивное ощущение, что за этим решение, как его требует бизнес, стоит непосильный размер кластера
Anonymous
и что компания к такому просто не готова
Anonymous
но пока что это моя интуиция
Anonymous
я пытаюсь ее оправдать либо опровергнуть и у меня не получается
Aleksander
А в облаках может и правда быть что угодно. В идеале взять однопоточное решение и погонять в облаке на одной машине.
Aleksander
https://medium.com/infrastructure-adventures/aws-vs-gcp-vs-on-premises-cpu-performance-comparison-1cb3e91f9716 - можно провести подобный бенчмарк у себя и в gcp, сравнить и получит коэффициент
Aleksander
Для примерного расчета: NumCores = AvgTimePerCore * N / K NumGcpVcpu = NumCores / K8SPenalty / GcpPenalty AvgTimePerCore - я бы взял именно среднее время, а не 95%, всётаки считаем что запусков будет много и время усреднится N - количество задач K - время, за которое надо уложиться K8SPenalty - принимаем 1, если лимиты не выставлять, то разницы почти не будет GcpPenalty - если совсем грубо, то взять из статьи, надеясь что много не изменилось. Если чуть поточнее, то погонять sysbench у тебя и на том типе инстансов на котором будешь запускать, понять разницу. Ну и совсем точно - погонять там твой алгоритм. И итоговое число домножить на 1.2 :) Все-таки не получится грузить на 100% всё время, должен быть запас
Anonymous
да, вижу. но это работы доебени-фени, на разных допустимых конфигурациях пробовать алгоритм. я думал, может прямее путь есть. это по сути все та же разведка боем.
Aleksander
ну так всегда, чем точнее хочется результат, тем больше времени тратишь на оценку
Aleksander
в самом GCP много разных инстансов, какой-нибудь Compute Optimized и Cost Optimized могут сильно отличаться
Vasiliy
огонь!
Vasiliy
https://twitter.com/_cartermp/status/1354939745042743299?s=09
Igor
хорошая реклама
Vagif
https://twitter.com/_cartermp/status/1354939745042743299?s=09
Помню, какая битва шла за то, чтобы туда Paket включить. Сейчас вроде спокойней прошло.
Vladislav
Нет
Ayrat
Нет
А чо нет?
Vladislav
А чо нет?
Я отвечаю троллингом на троллинг
Ayrat
Я отвечаю троллингом на троллинг
Понял. Да с Ильёй только так.
Vasiliy
Да, ладно что вы такие токсичные?
Vladislav
Да, ладно что вы такие токсичные?
Это ещё не токсичность
Vladislav
Это так
Ayrat
Помню, какая битва шла за то, чтобы туда Paket включить. Сейчас вроде спокойней прошло.
Вот кстати в мавен централ (аналог нугет.орга в джаве) промоутят не только мавен, но и все остальные сборочные системы. Но да, в нугете надо было скандал устроить из-за пакета -_-
Ayrat
Ayrat
Даже для сбт есть
Ilya
Понял. Да с Ильёй только так.
ты мне ещё про юзинг не пояснил со вчерашнего
Ilya
и нахрена там дак тайпинг для всех структур яснее не стало
Ilya
если ты конечно дочитал до конца
Ilya
Мне стало. Жалко тебя конечно
это же вроде ты страдаешь :)
Ayrat
Ой всё.
Vasily
Илья все же тролль
Vasily
Пора банить
Ilya
пора
Doge
ты мне ещё про юзинг не пояснил со вчерашнего
Ну у них там явный кейс в компиляторе под value-тип, который имплементит IDisposable, это в какой-то степени и есть дак тайпинг: https://github.com/dotnet/roslyn/blob/6c5cef5b5cd8a4baf6c3996566b74f985e99073a/src/Compilers/CSharp/Portable/Lowering/LocalRewriter/LocalRewriter_UsingStatement.cs#L313
Doge
См. коммент
Vasily
Мы к нему со всей душой
Vasily
А он
Doge
да мы вчера выяснили, что никакой упаковки-распаковки не происходит, даже c explicit инмплементацией
Так речь изначально про то, что это отдельный кейс, который явно зашит в компилятор