Инженер из компании Clyso обобщил опыт создания кластера хранения на базе отказоустойчивой распределённой системы Ceph с пропускной способностью, превышающей тебибайт в секунду. Отмечается, что это первый кластер на базе Ceph, который смог достигнуть подобного показателя, но перед получением представленного результата инженерам потребовалось преодолеть серию не очевидных подводных камней...Подробнее: https://www.opennet.me/opennews/art.shtml?num=60470
Зумерки пошли гуглить про тебибайт
> Зумерки пошли гуглить про тебибайтинженеры пошли читать доки EOS (нда... забавная говорящая лягушка, но что-то данные ей доверять неохота)
>RelWithDebInfo
>-O2Расскажите инвалидам про PGO, кто-нибудь, представляю их шок от по-настоящему эффективного кода.
Есть ещё -fno-semantic-interposition -fno-plt ускоряющие тот же питон на ~50%.
>TCMalloc
А вот тут не удивлён, больше удивлён, что столько желающих бездумно пихнуть эту дрянь в проект.
Ты хоть видел LLVM-0 там RelWithDebInfo ?
>LLVMВообще ужасно плохой и совершенно не универсальный код продуцирует, это да. Нет исключений. Разве что Skia, там шлангоспецифичные костыли нагорожены.
>> Вообще ужасно плохой и совершенно не универсальный код продуцирует, это даКак проводили замеры эмулировали ли вы clangd делая его ссылку в usr/bin как будто он есть никто иной как c++ ?
Сборкой пакетов различными тулчейнами, выполнением сетов тестов (10 штук по кругу), анализом результатов и взятием среднего, а также разбором генерируемого кода в некоторых случаях. Советую меньше читать похороникс с его gcc -O3 (это вообще самый медленный код примерно всегда даёт).
>> Сборкой пакетов различными тулчейнами, выполнением сетов тестов (10 штук по кругу), анализом результатов и взятием среднего, а также разбором генерируемого кода в некоторых случаях. Советую меньше читать похороникс с его gcc -O3 (это вообще самый медленный код примерно всегда даёт).А , зачем говорить о производительности когда я спросил про clangd ? Вы услышали в этом вопросе что то про -O3 ? Залепили минус и радуетесь как ребенок
>>> Сборкой пакетов различными тулчейнами, выполнением сетов тестов (10 штук по кругу), анализом результатов и взятием среднего, а также разбором генерируемого кода в некоторых случаях. Советую меньше читать похороникс с его gcc -O3 (это вообще самый медленный код примерно всегда даёт).
> А , зачем говорить о производительности когда я спросил про clangd ?
> Вы услышали в этом вопросе что то про -O3 ?
> Залепили минус и радуетесь как ребенокИзначальный тейк
>LLVM ужасно плохой и совершенно не универсальный код продуцируети cland тут ни к селу ни к городу, а вот про минусы/плюсы это точно, ну, если кому-то от этого легче живётся, то всегда пожалуйста [картинка со слоном]
Может потому что слишком много статиков в исходном коде , ну так поубирайте их , нет не пробовали ?
> TCMalloc
> дряньа что насчёт jemalloc? если мне не изменяет память, старые версии 2.x оче ускоряли софт (но начиная с 3.x там что-то сломали и оно стало намного медленнее)
новые версии не юзал.
> PR #55238 130 has landed today, removing jemalloc from the Rust standard library
> jemalloc is often more performant than the system’s allocator, but not always,
> and it adds a non-trivial amount to the size of the executable.Уж если его даже из раста выкинули...
> растне показатель
https://stackoverflow.com/questions/35745543/new-option-in-g...
https://stackoverflow.com/questions/65554551/why-gcc-generat...Что то по описанию не похоже что это можно просто включить для всего софта в системе и забыть.
Я так сделал, никаких проблем. В приличных корпоративных дистрах мейнтейнеры пакетов добавляют эти флаги.
Я пересобрал фрю с этими двумя флагами и она просто не грузится.
> Я пересобрал фрю с этими двумя флагами и она просто не грузится.Ну так фря и не линукс. Glibc без включенного -fsemantic-interposition тоже сломали, когда перешли на внешнюю libxcrypt. Раньше работало. И в честь этого решили убрать custom-cflags из юзов. Примерно все остальные пакеты у меня собраны без semip.
Для тебя неучhttps://tracker.ceph.com/issues/40745
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=ceph
# -fno-plt causes linker errors (undefined reference to internal methods)
# similar issue: https://bugs.archlinux.org/task/54845
# https://github.com/intel/media-driver/commit/d95d8f7ab7ac94a...
# as of today (2019-07-12) the upstream maintainers do not consider this a bug in their code
# (IMHO rightfully so) and thus we strip the option hereНадеюсь ты разрабам ceph подкинешь патчей для исправления.
Неуч, это означает только то, что код низкого качества. Понятно, что это не универсальный флаг. В принципе, ошибки линкера -- это наиболее легко выявляемая и диагностируемая проблема, и часто они возникают из-за багов в конкретном линкере.
Про i/o latency ни слова :)
А в оригинале между прочим есть, там по факту почти запредельная latency для "network however was already built, and it's a beast".
да лана, мне гораздо интереснее через сколько секунд этот синхроглюкотрон у них навернулся и похоронил под собой все данные.Полагаю, с супер-пупер оптимизацией этого не пришлось ждать слишком долго.
А вот зависть — плохое чувство. Над собой нужно работать.
К любой новости на opennet 80% коментариев, что все это хрень и глюкало. (подразумевается обычно что типа вот я бы лучше сделал в 1000 раз, если бы кто-то попросил меня слезть с дивана и попробовать хотя бы 1 раз что-то сделать)
Эка, Вы, кучеряво "Сперва добейся" оформили, демагоги одобряют))
Скорее что про Льва Толстого и кого-то простого.
Не, у пох/наха к цефу особенно трепетное отношение. Особенно когда в связи с проксмосом упоминается, там вообще наступает экстаз. Видать что-то очень личное (например, в начале карьеры из-за цефа всё потерял и уволили).
У меня к цефу не менее трепетное отношение.
Я это сильно более 1 раза пытался тестировать, модное, молодёжное...
Но вот проблема - ни одного раза, когда оно мне смогло должную отказоустойчивость обеспечить, не случилось.
Вылет более одной ноды одновременно - это всё, хардкор, ад, содомия, скотоложество и т.п.
Тогда ставить более двух реплик данных?
Да не, там всё жестоко даже с несколькими репликами. А особенно жестоко с EC.
PG просто "залипают" в неконзистентных состояниях с энной вероятностью - и начинай пляски с бубном.
Очень размытая формулировка. Предположу, что из-за недоступности нескольких OSD начался Repair со Scrub. В старых версиях Scrub делался очень долго.
Никакой размытой формулировки.
PG просто залипают в undersized, incomplete и прочих забавных состояниях.
Передёргивание целых OSD иногда даёт результаты, иногда нет.
Можно по-джедайски удалять битые куски PG - но это извращение и вообще опасная операция.
Ну хоть не я один ....
Ну, у меня в окрестностях есть минимум два прецедента с крупным "разлетом-в-лоскутья" и восстановлением с бэкапа чего смогли, причем один из них - вполне себе облачный провайдер, т.е. на васянолапы не спишешь. По ощущениям - проблемная в плане надежности технология, со специфически высокими требованиями к эксплуатантам. Если у тебя нет прям _хороших_ специалистов на фуллтайм - лучше не связываться, как-то так.
8 лет работает и работает, ну случаются факапы, где их нет, но никогда ничего не рушилось
Ну, за 8 лет 3.14ца может при хорошем стечении обстоятельств просто не наступить.
У нас обязателен стресс-тест на хранилку - тестируется отвал нод при разных условиях.
И вот тут с цефом мы наступали в совершенно различные сорта приключений.
> 8 лет работает и работает, ну случаются факапы, где их нет, но
> никогда ничего не рушилось1. Может повезло.
2. Может - нагрузки нет\специфичная + п.1
3. Может - есть хорошие специалисты.
Может... да много что "может". Вот конкретно сейчас и руководитель направления devops и архитектор от подрядчика сошлись на "Очково мне, Славик - давай железную сторажку возьмем, дешевле выйдет". Руководитель от инфры - окнул.
С-с-ыкуны, чо.
> Может... да много что "может". Вот конкретно сейчас и руководитель направления devops
> и архитектор от подрядчика сошлись на "Очково мне, Славик - давай
> железную сторажку возьмем, дешевле выйдет". Руководитель от инфры - окнул.Угу, я их не могу не поддержать в этом самом очковании, да.
> Не, у пох/наха к цефу особенно трепетное отношение. Особенно когда в связи с проксмосом
> упоминается, там вообще наступает экстаз.ну да, оно в этой комбинации просто уникально выступило.
> Видать что-то очень личное
нет, просто та трагедь была очень хорошо задокументирована (и ты бы тоже про нее знал, если бы был инженером а не дол..ом)
И там все было настолько прекрасно, что я как тот доктор - хорошо, великолепно, просто замечательно!
тут один уже сделал
https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/RE...понятия не имею насколько оно соответствует
Ну, тут я вообще уже даже интересоваться не рискую :)
"Печатаю со скоростью 1000 знаков в минуту - ну и фигня получается!"(Ц)
почему кто-то должен знать, что такое этот цэпх?
> только в режиме максимальной производительности и отключить c-state...и приготовить дохреналион долларов для энергокомпании, одобряющей такие рекорды :)
Они как раз в Германии базируются. Можно будет просто переехать в США, и сразу срежется больше половины расходов.
Ты еще просто молод и не знаешь всех тонкостей. Это все полезно для взякийх хецнеров, у которых вагон клиентов локалост-адмнинов. Почитай доки у hp, dell и т.п. на предмет получения high performance и low latency методом тюнинга power profile и параметров cpu в самом bios/uefi. Откроешь для себя новый мир.
> ... Почитай доки у
> hp, dell и т.п. на предмет получения high performance и low
> latency методом тюнинга power profile и параметров cpu в самом bios/uefi.
> Откроешь для себя новый мир.а на практике оказывается, что дофига умный биос (или BMC?) роняет частоту оперативы, если поставить модули одинаковой модели, но из РАЗНЫХ ПАРТИЙ, а в доках лишь скромно указано "Unbalanced memory configurations will result in a performance loss so always populate memory channels identically with identical DIMMs for best performance", но не сказано, что "identically" это ОДНА ПАРТИЯ ОДНОЙ МОДЕЛИ, а не просто одинаковая модель.
вот это я открыл для себя новый мир, докупив в сервер идентичные планки к уже установленным.
Это для топовых ребят:
https://opennet.ru/60108-top500
ИТ отрасль, где учиться надо от старта и до выхода в утиль, если постоянно не учишься, то знания быстро приходят в негодность. А учиться постоянно мало кто вывезет. Половина админов слабо представляют, как железо работает, хотя админят те же кластеры, куча программистов слабо понимаю архитектуру процессоров, а потом удивляются почему код такой-) Модерация слабо поможет, критерии очень размыты. Пример, я имел опыт работы с FreeBSD c 1994 по 1999, значит ли это что я могу давать комментарии по фри? Как по мне знания устарели, да со временем много забывается, другой человек будет считать иначе. Или есть опыт написания драйверов под нестандартное железо для шины PCI, ну и что, то что это все работала под вынь и осьпополам в 96 году, не говорит же, что я программист сейчас-))
> ИТ отрасль, где учиться надо от старта и до выхода в утиль, если постоянно не учишься, то знания быстро приходят в негодность. А учиться постоянно мало кто вывезет.Да, только я не про опыт, а про манеры общения. Во всех подобных околоайтишных раковниках контингент годами общается как гопота из подворотни. А знания тут ни при чём, когда специалист уже сеньор, ему больше софт скилы важны.
брехня, Руководство всегда найдёт как обидеть.
Знания важны всегда. Софтскилз сеньёру нужен дополнительно когда знания нужно понести в массы и добавить к себе условный x10 полезности. Т.е. это уже переход от просто инженера к архитектору или техдиру
> Во всех подобных околоайтишных раковниках контингент годами общается как гопота из подворотни.Гопота рядом не стояла, там принято за кривой базар рожу бить, а здесь все безнаказанка и дешевая душонка позволяет АйТи "гениям" хоть где то показать свою "крутость", - нагадить и убежать не битым
>общается как гопота из подворотниПростите, а где головастым (без иронии) нердам (немного иронии) ещё удастся задоминировать? В подворотне можно и по роже получить, а тут и безопасно, и можно слегка "причаститься" к тем самым дворовым пацанам, хотя бы на словах.
Скорее это ты попался на троллинг с отыгрышем.
> Пример, я имел опыт работы с FreeBSD c 1994 по 1999, значит ли это что я могу давать комментарии по фри?Можешь давать комментарии вообще по чему угодно, кто же запрещает
> Можешь давать комментарии вообще по чему угодно, кто же запрещаетздравый интелект у него запрещает
Отключить cstate в биос? Т.е. догадаться для начала хотя бы через tuned выставить latency-профиль они не догадались, а в биос полезли? Не представляю себе биос для серверных материнок, где бы по умолчанию не был режим, в котором C-state можно управлять софтварно. Но нет, конечно, задуматься о том что выбрать подходящий под нагрузку профиль (или напрямую сменить режим cpupower/sysctl/и тп, tuned никакой магией не занимается, просто удобные пресеты настроек для включения в одну команду) они не догадались, зато решили поковыряться в биосе. Чудесно.
Софтварное управление C-state тоже имеет приличное время реакции.
В критичных к latency системах - да, лучше отключать и ставить max performance, факт.
Понятно что имеет время реакции. Но их можно *отключить* соответствующим режимом энергопотребления, и на это есть готовый профиль tuned. И это работает сразу же, без манипуляций биосом от дефолта - что с точки зрения управления (ansible или что угодно) совсем не то же самое что идти перезагружать тачки и манипулировать биосом после каждого обновления (хотя, большинство серверных вендоров нынче умеют не терять изменения настроек при обновлении фирмвари - еще бы десктопным материнкам об этом только мечтать... Но большинство != все)
> совсем не то же самое что идти перезагружать тачки и манипулировать биосом после каждого обновленияЕсли это сервер, то у него есть IPMI (ну или KVMoIP для особо страждущих). Ходить никуда не надо.
У делла даже есть варианты в заказе, когда по дефолту ставится max performance. И никуда идти не надо.
> Т.е. догадаться для начала хотя бы через tuned выставить latency-профиль они не догадались, а в биос полезли?А зачем догадываться ?
Отключение C-Stated в BIOS для нагруженных серверов, штатная процедура - прописанная в инструкции. У меня орки это делают, сразу после распаковки. И думать о профилях нет никакого смысла.
По феншую, т.е. low latency мануалам, как уже сказали, сначала BIOS а потом уже настройки системы.
Как я понимаю - потому что P-States и C-States все же немного разные вещи.
И tuned больше про первые, чем про вторые. Ну и у народа Epic, не интел.
А также потому что процессоры нонче сильно умные и так и норовят power state promotion сделать на аппаратном уровне.
Мне интересно только - кто юзер. Минэнерго США? ЦЕРН? Или какие-то другие враги народов?
Церн оказался круче и там в конце статьи ссылка на его собственное аналогов не имеющее (не тратьте клик - оно а-ля гластер разворачивается поверх xfs и только xfs - видимо так же хранит все лишние детали в ее EA, но при этом а-ля цеф требует отдельных демонов для меты, для дисков и для управления, и так же использует роксдряньбазу - но обычную, в файликах. То есть небольшой шанс потом вручную собрать когда оно рухнет остается, наверное, но вы этого точно не хотите)У минэнерго скорее всего нет столько ненужных данных в таком количестве, и они свои складывают на обычные полки.
Тут пахнет ностоящей ноукой, где все нахаляву и в любых количествах.
Роксдб - это вообще отдельная тема.
Я с трудом понимаю, как люди вообще в это рискуют что-то более-менее ценное складывать.
изначально видимо архитекторами хефа предполагалось что от нее требуется максимум скорости а ничего ценного в конкретном OSD нет и его можно целиком потерять.
ЦЕРН выступил круче и у них там лежит кэш? метаданных. Короче хз что у них там происходит при потере QDB или мусоре в базе - настолько детально лезть в их записки на манжетах (приличной документации как обычно нет) неохота. Возможно всеобщий амбец.
чо с ним не так?
> чо с ним не так?Гуглите rocksdb corruption.
оно?https://rocksdb.org/blog/2022/07/18/per-key-value-checksum.html
пишуть что всё хорошо
To prevent and detect corruption, RocksDB has several consistency checks
Я уже потратил нечто гораздо большее чем клик на этот гадюшник, но спасибо.А может и не наукой, а корпоративной бигдатой типа алфавита..?
ненене, мы ее не для того собирали чтоб так просто лишиться.Ну и алфавит не станет заказывать у стремной конторы сетап, а наловит в индийских джунглях еще полторы сотни разработчиков и удивит нас еще какой-нибудь новой бжней.
А вроде раньше церн как раз ceph использовали.
Откуда такая одержимость экономией энергией?
А кто говорит про экономию энергии? Министерство энергетики США занимается куда более мрачными делишками ;)
Сколько ошибок в слове терабайт с хвостиком)
это ж текущий статус - а у этих самураев нет цели, только путь.
неужели у них эта пропускная способность настолько точно определена, что в переводе новости нельзя Тб по-человечески назвать терабайтом?
Разница между терабайтом и тибибайтом ~10%. Так что да, пропускная способность определена настолько точно.
интересно> При задействовании кодов коррекции ошибок EC62 пропускная способность составила 547 GiB/s при чтении и 387 GiB/s при записи (скорость записи оказалась выше чем без кодов коррекции)
ничего интересного - они ж с 3x сравнивают. Разумеется запись того же самого объема на шесть дисков (или даже на 4 - понятия не имею как правильно читать ихнее 62, нормальные люди во избежание разночтений пишут 6+2) будет быстрее чем на один, и даже с учетом восьмушек дополнительно.
Естественно.
3 реплики = трёхкратный объём записи (и передачи по сети соответственно) на каждый актуальный записанный блок6+2 RS = 1.33 объёма на каждые 6 актуальных последовательных блоков
Правда при рандомной записи не по границе блока могут быть сюрпризы
> При задействовании кодов коррекции ошибок EC62Что это за тип ECC? Не гуглится, всё что находится это какая-то InfiniBand сетевушка от IBM.
Это какое-то презетное или в узкой среде принятое название профиля, я так понял.
Код Рида-Соломона, k=6, m=2, на каждые 6 блоков добавляются 2 избыточных.
Банальный RAID 6 из 8 юнитов (6+2), короче.
https://en.wikipedia.org/wiki/Erasure_code6+2
https://ceph.io/en/news/blog/2014/erasure-coding-in-ceph-2/вот тут собственно по сабжу
Ceph это скорее не про скорость, а про доступность, облачность и надёжность.
Первые два - да ...
С третьим есть куда стремиться.
Ceph can be very slow when not properly compiled with TCMalloc support.Где в оригинале говорится что нужно отключить tcmalloc?
Нашел, да есть такое.
Хотел тут на редосе ceph запустить. Не суперпроизводительный, а самый обыкновенный. Угадайте - получилось или нет? ))))
чо за reDOS ?
Ты, наверное, не пользовался cehpadm (так как система не входит в список официально поддерживаемых платформ), а ставил из официального репозитория с помошью встроенного пакетного менеджера и поэтому у тебя все получилось.
Ведь ни один нормальный человек не станет компилять из tar.gz.
А накатит патчик из новости про планировщик (https://www.opennet.me/opennews/art.shtml?num=60474) - ещё быстрее полетит)