Yet another senior pomidor (by @gmelikov)
Увидел в чате уважаемого человека пост про OpenZL, и не смог пройти мимо, т.к. понеслось - уже в ZFS начали его просить :) Да, это ещё один компрессор, но с нюансом. Yann Collet там тоже отметился, так что давайте и сравним новинку с его произведениями искусства:…
Уважаемый человек побудил меня потратить всё время в сапсане на чтение paper'а об openZL, и я прямо насладился!
Идея - огонь:
- SDDL (язык для описания структуры данных) для парсинга на первом этапе, потом transform (промежуточный кодек), потом графы и итоговые кодеки в них.
- Кодеком может являться любая функция которая что-то сделает с данными (тот же zstd). Элемент графа - тоже кодек, но умеющий построить связь с другими кодеками передающий данные как есть.
- Работаем не с байтами, а со структурированными данными. При чём in-out стримов много! Полезный бонус - данные перед сжатием теперь можно не сериализовывать, а как есть отдать на соответствующий кодек для сжатия.
- Упор на практичность, универсальный декодер (главное чтоб имел нужные кодеки). И это гипер важно - основная проблема сделать новый алгоритм компрессии - в распространении его декомпрессора. OpenZL позволит делать максимально эффективные кодеки, используя один и тот же декодер!
Для меня возможность эффективнее сжать в данном случае выглядит скорее как бонус, а не основная фишка openzl. По сути это новый фреймворк для сжатия, киллер-фича - универсальный декодер без словарей.
Для простоты разберём пример:
А как вы упарываетесь в пути?
Идея - огонь:
- SDDL (язык для описания структуры данных) для парсинга на первом этапе, потом transform (промежуточный кодек), потом графы и итоговые кодеки в них.
- Кодеком может являться любая функция которая что-то сделает с данными (тот же zstd). Элемент графа - тоже кодек, но умеющий построить связь с другими кодеками передающий данные как есть.
- Работаем не с байтами, а со структурированными данными. При чём in-out стримов много! Полезный бонус - данные перед сжатием теперь можно не сериализовывать, а как есть отдать на соответствующий кодек для сжатия.
- Упор на практичность, универсальный декодер (главное чтоб имел нужные кодеки). И это гипер важно - основная проблема сделать новый алгоритм компрессии - в распространении его декомпрессора. OpenZL позволит делать максимально эффективные кодеки, используя один и тот же декодер!
Для меня возможность эффективнее сжать в данном случае выглядит скорее как бонус, а не основная фишка openzl. По сути это новый фреймворк для сжатия, киллер-фича - универсальный декодер без словарей.
Для простоты разберём пример:
csv "ФИО,рост,вес"
- парсим и выделяем каждый столбец отдельно
- теперь, например, столбец "рост" можно преобразовать из ascii/utf в int, может даже - отсортировать, если отсортировали - писать дельту а не значение, и всё это подать в специализированный кодек field_lz
- поле "ФИО" проще воспринимать как текст, тут можно использовать базовый zstd (для примера)
- итог - граф операций над данными, для декомпрессии его надо просто проиграть в обратную сторону (т.е. в итоговом артефакте есть информация о порядке декомпрессии известными декомпрессору кодеками)
👾2⚡1👨💻1👀1
Кстати, тут python 3.14 релизнулся, все носятся с перформансом и тредами. Это конечно классно, но в среднем для вас разница будет на уровне погрешности.
Лично я очень ждал (и наконец - дождался):
- zstd из коробки. Король компрессоров in da house
- uuidv7 из коробки. Теперь индексы по uuid будут последовательны и эффективны, особенно это оценит mysql и подобные с gap lock на primary key
Лично я очень ждал (и наконец - дождался):
- zstd из коробки. Король компрессоров in da house
- uuidv7 из коробки. Теперь индексы по uuid будут последовательны и эффективны, особенно это оценит mysql и подобные с gap lock на primary key
🤓4👻3🗿2👨💻1🤪1
Коллеги проводят исследование с целью понять, что реально происходит внутри ИТ-команд и какие закономерности можно в этом увидеть.
Уже нащупаны интересные корреляции:
– между скоростью пайплайнов и качеством code review,
– между алертингом и стабильностью релизов,
– между ролями в команде и удовлетворённостью релизным процессом.
Но нужно больше данных, чтобы отделить закономерности от шума.
Пройти анкету можно за 10 минут. Её же можно использовать как мини-чек-лист для самооценки зрелости инженерной культуры.
Принять участие: https://forms.gle/NszR7VDuXL9sBbVAA
Результаты обязательно расскажу, коллеги поделятся.
Чем быстрее CI/CD - чем больше рисков "тестирования на проде"?
Уже нащупаны интересные корреляции:
– между скоростью пайплайнов и качеством code review,
– между алертингом и стабильностью релизов,
– между ролями в команде и удовлетворённостью релизным процессом.
Но нужно больше данных, чтобы отделить закономерности от шума.
Пройти анкету можно за 10 минут. Её же можно использовать как мини-чек-лист для самооценки зрелости инженерной культуры.
Принять участие: https://forms.gle/NszR7VDuXL9sBbVAA
Результаты обязательно расскажу, коллеги поделятся.
✍2🤔1👌1🤝1
Minio "is a source only distribution now, if you want to build containers you need to build them yourselves".
Как выстрелить себе в ногу и не подать виду? Очередная история как опенсорсный проект превращается в проприетарный. А начинали они с вырезания функционала из опенсорса...
#unsource
Как выстрелить себе в ногу и не подать виду? Очередная история как опенсорсный проект превращается в проприетарный. А начинали они с вырезания функционала из опенсорса...
#unsource
GitHub
Docker release? · Issue #21647 · minio/minio
Hello, I did not find a new image for the security release Security/CVE RELEASE.2025-10-15T17-29-55Z, on quay.io nor DockerHub. Is it expected? If it isn’t, can you please push a new release for th...
😁3😢2👍1💩1💔1👀1🫡1
В этот раз делать отдельный обзор на аварию даже как-то неудобно, DNS всё же :)
Вообще как корректно DNSу ответить именно в случае проблем - это больно, т.к. краткий ответ - ответить кровь из носу, но надо, иначе у всех кеш о записи протухнет и умрёт. Вот и получается, что для самых критичных вещей будь добр имей статичные записи с хорошим таким TTL.
А будущее всё также за cloud-agnostic (да-да, on-prem это тоже облако нынче) и #NoOps .
Вообще как корректно DNSу ответить именно в случае проблем - это больно, т.к. краткий ответ - ответить кровь из носу, но надо, иначе у всех кеш о записи протухнет и умрёт. Вот и получается, что для самых критичных вещей будь добр имей статичные записи с хорошим таким TTL.
А будущее всё также за cloud-agnostic (да-да, on-prem это тоже облако нынче) и #NoOps .
👨💻2👀2👍1👌1
Forwarded from Человек и машина
#машины_aws
Пожалуй, лучший инцидент, что я когда либо видел.
Если вкратце:
1. Управление DNS записями для DynamoDB отвалилось, в итоге:
2. Эндпоинты DynamoDB (в том числе для внутреннего пользования) отвалились, в итоге:
3. Storage backend, которым выступала DynamoDB, одного из компонентов control plane EC2 отвалился, в итоге:
4. Отвалился NLB, который не мог следить за событиями EC2.
Очень радует, что AWS решил минимальными усилиями решить конкретную проблему, а не сделать отдельный внутренний Kinesis как тогда с инцидентом CloudWatch и Cognito.
Да и не пользуйтесь us-east-1, сколько еще повторять. Новые фичи раньше всех того не стоят.
Пожалуй, лучший инцидент, что я когда либо видел.
Если вкратце:
1. Управление DNS записями для DynamoDB отвалилось, в итоге:
2. Эндпоинты DynamoDB (в том числе для внутреннего пользования) отвалились, в итоге:
3. Storage backend, которым выступала DynamoDB, одного из компонентов control plane EC2 отвалился, в итоге:
4. Отвалился NLB, который не мог следить за событиями EC2.
Очень радует, что AWS решил минимальными усилиями решить конкретную проблему, а не сделать отдельный внутренний Kinesis как тогда с инцидентом CloudWatch и Cognito.
Да и не пользуйтесь us-east-1, сколько еще повторять. Новые фичи раньше всех того не стоят.
🌚2🤝2💊1
В сети можно найти интересные посты про "переволновавшиеся" LLMки, как они могут проигнорировать инструкции об безысходности и всё же дропнуть вам базу на проде.
По случаю вспомнил замечательный рассказ Станислава Лема - Ананке. 1971 год, короткий рассказ, Марс, научная фантастика, как нынче модно это называть - про машинное обучение.
Первый раз я прочитал это произведение лет 5 назад, и подумал, что этот sci-fi уже про "несвершившееся будущее" и сильно так устарел (хотя даже тогда он меня покорил той самой богиней Ананке). Но в этом году, да ещё с такими историями про LLM, оказывается что мы всё таки дожили до этого будущего, про которое когда-то подумал Лем :) Вот такие они - грёзы по несбывшемуся будущему.
#books
А ещё мне очень понравилась суть богини Ананке из древнегреческой мифологии - "неизбежность, судьба, нужда, необходимость". Всё как в жизни - если какой-то сценарий вероятен, то на масштабах он неизбежен. Например - ваш сервер когда-то гарантированно откажет самым неожиданным образом.
По случаю вспомнил замечательный рассказ Станислава Лема - Ананке. 1971 год, короткий рассказ, Марс, научная фантастика, как нынче модно это называть - про машинное обучение.
Первый раз я прочитал это произведение лет 5 назад, и подумал, что этот sci-fi уже про "несвершившееся будущее" и сильно так устарел (хотя даже тогда он меня покорил той самой богиней Ананке). Но в этом году, да ещё с такими историями про LLM, оказывается что мы всё таки дожили до этого будущего, про которое когда-то подумал Лем :) Вот такие они - грёзы по несбывшемуся будущему.
#books
❤2🎃2🤔1😱1🍌1💅1
Forwarded from samdark blog ☕️ (Alexander Makarov) (Alexander Makarov)
Инженерная зрелость. Исследование практик и триггеров
Итак, исследование завершилось. Вот что вышло.
https://habr.com/ru/articles/963202/
Итак, исследование завершилось. Вот что вышло.
https://habr.com/ru/articles/963202/
🤔2👌2🌚2👍1👀1
Forwarded from Логово асоциальной твари (Aleksey Uchakin)
Cloudflare оперативно выкатил весьма детальный постмортем, за что им большое спасибо.
Про Rust уже все поржали, но я бы хотел обратить внимание на другое.
На первый взгляд, ситуация выглядит странно - просто выкатили обновление на всю сеть целиком. Ни тебе тестов, ни blue/green и cherry picking, ни даже внятной системы отката изменений. И эти люди борются звание дома высокой культуры быта! (с)
С другой стороны - глобальная инфраструктура из сотен (если не тысяч) узлов, где изменения нужно применять очень быстро, потому что это вопрос безопасноти клиентов, да и самого CF. Добавьте сюда чудовищную сложность - слои легаси, сотни разных сервисов, взаимосвязи между которыми до конца не знает вообще никто, а зависимость может прорастать через два-три слоя абстракций в обе стороны.
Станет ли у Cloudflare меньше клиентов? Сомневаюсь. Более того, на ПФ в понедельник я слышал мнение, что мелкий бизнес а России даже уходит с отечественных CDN на CF (потому что до конца оранжевого гиганта блокировать пока не собираются, а "бесплатный" CDN и DDoS-защита никуда не исчезли). Про зарубеж я вообще молчу.
Так и живём
#thereisnoclouds @snakeslair
Про Rust уже все поржали, но я бы хотел обратить внимание на другое.
На первый взгляд, ситуация выглядит странно - просто выкатили обновление на всю сеть целиком. Ни тебе тестов, ни blue/green и cherry picking, ни даже внятной системы отката изменений. И эти люди борются звание дома высокой культуры быта! (с)
С другой стороны - глобальная инфраструктура из сотен (если не тысяч) узлов, где изменения нужно применять очень быстро, потому что это вопрос безопасноти клиентов, да и самого CF. Добавьте сюда чудовищную сложность - слои легаси, сотни разных сервисов, взаимосвязи между которыми до конца не знает вообще никто, а зависимость может прорастать через два-три слоя абстракций в обе стороны.
Станет ли у Cloudflare меньше клиентов? Сомневаюсь. Более того, на ПФ в понедельник я слышал мнение, что мелкий бизнес а России даже уходит с отечественных CDN на CF (потому что до конца оранжевого гиганта блокировать пока не собираются, а "бесплатный" CDN и DDoS-защита никуда не исчезли). Про зарубеж я вообще молчу.
Так и живём
#thereisnoclouds @snakeslair
🤔5🍾2😁1👀1
Логово асоциальной твари
Cloudflare оперативно выкатил весьма детальный постмортем, за что им большое спасибо. Про Rust уже все поржали, но я бы хотел обратить внимание на другое. На первый взгляд, ситуация выглядит странно - просто выкатили обновление на всю сеть целиком. Ни тебе…
К вопросу о скорости починки cf, коммент от их CEO (link):
Все мы люди.
Because we initially thought it was an attack. And then when we figured it out we didn’t have a way to insert a good file into the queue. And then we needed to reboot processes on (a lot) of machines worldwide to get them to flush their bad files.
Все мы люди.
👌5✍2🤷♂1👀1
Forwarded from System Design & Highload (Alexey Rybak)
Про CPU steal-time
К своему чудовищному стыду я ещё недавно совершенно не знал, что гипервизоры с хостов прокидывают в виртуалку специальную метрику steal-time, и она забирается в промстэк вместе с system/user/idle и прочими стандартным node_exporter-ом.
CPU Steal-time буквально “украденное время”. Проц выдали не тебе, а соседу. Про эту метрику мне сказал коллега по ПК Хайлоада, Георгий Меликов, за что ему большое спасибо. Я проверил, что протягивается, и забыл.
Не прошло и 2х недель, вчера участник тренинга по перфомансу показывает жутко зашумленные графики стрельб, очень отдаленно напоминающие правильные, и говорит: я уже всё перепробовал, WTF. Замечаю большой steal time (почти равен сумме user+system) и пишу в саппорт, так и так, похоже, шумный сосед / перегруженный хост.
И да, саппорт подтверждает, виртуалку переносят, 100К RPS наливаются. Клауды такие клауды 🙂
👍 зато девопс пайплайн тераформ, а не вот это ваше всё
🔥 ну, за онпрем!
К своему чудовищному стыду я ещё недавно совершенно не знал, что гипервизоры с хостов прокидывают в виртуалку специальную метрику steal-time, и она забирается в промстэк вместе с system/user/idle и прочими стандартным node_exporter-ом.
CPU Steal-time буквально “украденное время”. Проц выдали не тебе, а соседу. Про эту метрику мне сказал коллега по ПК Хайлоада, Георгий Меликов, за что ему большое спасибо. Я проверил, что протягивается, и забыл.
Не прошло и 2х недель, вчера участник тренинга по перфомансу показывает жутко зашумленные графики стрельб, очень отдаленно напоминающие правильные, и говорит: я уже всё перепробовал, WTF. Замечаю большой steal time (почти равен сумме user+system) и пишу в саппорт, так и так, похоже, шумный сосед / перегруженный хост.
И да, саппорт подтверждает, виртуалку переносят, 100К RPS наливаются. Клауды такие клауды 🙂
👍 зато девопс пайплайн тераформ, а не вот это ваше всё
🔥 ну, за онпрем!
🔥7⚡3🤩1🤡1
System Design & Highload (Alexey Rybak)
Про CPU steal-time К своему чудовищному стыду я ещё недавно совершенно не знал, что гипервизоры с хостов прокидывают в виртуалку специальную метрику steal-time, и она забирается в промстэк вместе с system/user/idle и прочими стандартным node_exporter-ом.…
Когда-то про это коллеги хорошую статью написали https://habr.com/ru/companies/vk/articles/449316/
Хабр
Steal: кто крадёт у виртуалок процессорное время
Привет! Хочу рассказать простым языком о механике возникновения steal внутри виртуальных машин и о некоторых неочевидных артефактах, которые нам удалось выяснить при его исследовании, в которое мне...
🔥4🤝2🌚1
3 декабря в Мск будет OS DevConf 25 - "Конференция про разработку системного ПО, ядра Linux и open source".
Почему приглашаю:
- мы с коллегой впервые анонсим наш новый SDS - RawStor. Расскажем почему решили писать ещё один сторадж, и ответим, почему в нём "client всегда прав". (всё в опенсорсе)
- будет ещё несколько докладов про стораджи: SPDK, Lustre (очень жду этого доклада, к примеру, контрибьюторы приедут!)
- ну и много других докладов рядом с Linux
Увидимся!
Почему приглашаю:
- мы с коллегой впервые анонсим наш новый SDS - RawStor. Расскажем почему решили писать ещё один сторадж, и ответим, почему в нём "client всегда прав". (всё в опенсорсе)
- будет ещё несколько докладов про стораджи: SPDK, Lustre (очень жду этого доклада, к примеру, контрибьюторы приедут!)
- ну и много других докладов рядом с Linux
Увидимся!
🔥8👍2🤩2🤝2
И продолжаем приглашения на новогодние тусовки :) Приходите - увидимся!
InfraDev Community приглашает на Cloud Fail ((Over)): специальный новогодний выпуск InfraDev Meetup.
Без фейлов не обходится ни один крутой продукт, ну а истории успеха — «за ширмой» оказываются историями поисков и ошибок с удачным концом.
Поговорим про то, какие проблемы возникают под капотом инфраструктурных продуктов, как они решаются и какие уроки из этого получаются.
Спикеры:
☁️Василий Степанов, руководитель направления инфраструктурных сервисов, VK Cloud, VK Tech.
☁️Константин Крамлих, руководитель поднаправления сетевых продуктов, Yandex.Cloud.
☁️Секретный доклад: подробности добавим позднее.
Подробнее о докладах читайте на странице мероприятия.
Когда: 18 декабря, с 18:00 до 23:59
Где: Москва, Ленинградский пр., 70, офис VK Tech, БЦ «Алкон» (количество мест ограничено).
Приходите на встречу или участвуйте онлайн.
Зарегистрироваться.
👍5🔥1👌1
Yet another senior pomidor (by @gmelikov)
Minio "is a source only distribution now, if you want to build containers you need to build them yourselves". Как выстрелить себе в ногу и не подать виду? Очередная история как опенсорсный проект превращается в проприетарный. А начинали они с вырезания функционала…
А тем временем - минио закрылись. Кто форкнет первым?
🎉1🕊1🌚1🏆1
Please open Telegram to view this post
VIEW IN TELEGRAM
💯5🌚2🙊2
Yet another senior pomidor (by @gmelikov)
3 декабря в Мск будет OS DevConf 25 - "Конференция про разработку системного ПО, ядра Linux и open source". Почему приглашаю: - мы с коллегой впервые анонсим наш новый SDS - RawStor. Расскажем почему решили писать ещё один сторадж, и ответим, почему в нём…
Кстати, уже доступны записи докладов, ютуб/рутуб/вк.
Но это же канальчик и про стораджи, так что приведу доклады про сторадж:
- мой с коллегой, про наш сторадж RawStor ютуб/рутуб/слайды (@gmelikov @vasi2y)
- про SPDK в MWS ютуб/рутуб (@swaoter)
- обзорный про Lustre FS от контрибьюторов с 20-летним стажем ютуб/рутуб
Но это же канальчик и про стораджи, так что приведу доклады про сторадж:
- мой с коллегой, про наш сторадж RawStor ютуб/рутуб/слайды (@gmelikov @vasi2y)
- про SPDK в MWS ютуб/рутуб (@swaoter)
- обзорный про Lustre FS от контрибьюторов с 20-летним стажем ютуб/рутуб
🔥5👍2👨💻2👌1
Почитал замечательную статью про багу в ядре от коллег из PostgresPro, где сошлись воедино XFS и безопасность, спойлерить сильно не буду, замечательный детектив.
А вспомнить на этом фоне хочется важные для этой пьесы параметры ядра init_on_free + init_on_alloc.
Если кратко - ради безопасности решили на каждой аллокации и на каждом освобождении страницы памяти её занулять, по дефолту это начали включать примероно в 2020м году, или в районе ядра 5.3. На бумаге всё хорошо, прибираем за нерадивыми разработчиками утёкшую информацию из памяти. А вот по перформансу даже оригинальное описание патча немного расходится:
, при этом немного ниже:
Самая интересная часть - а зачем это вообще надо:
И вот так, лёгким мановением руки, патч для тех,
Для ZFS, к примеру, в самом начале это аукнулось деградацией перформанса до 40%! Самое неприятное, что фактические проблемы с перфом хорошо видны только при полноценной загрузке канала до ОЗУ, и многие начинают этим пренебрегать.
В общем - ещё несколько параметров в копилку настроек, которые меня соблазняют их отключить.
💩 - такая безопасность == "дышать вредно"
🦄 - безопасность важнее, торопиться некуда
🤡 - ох уж эти кликбейтные эмодзи-голосования
А вспомнить на этом фоне хочется важные для этой пьесы параметры ядра init_on_free + init_on_alloc.
Если кратко - ради безопасности решили на каждой аллокации и на каждом освобождении страницы памяти её занулять, по дефолту это начали включать примероно в 2020м году, или в районе ядра 5.3. На бумаге всё хорошо, прибираем за нерадивыми разработчиками утёкшую информацию из памяти. А вот по перформансу даже оригинальное описание патча немного расходится:
The slowdown for init_on_free=0, init_on_alloc=0 compared to the baseline
is within the standard error.
, при этом немного ниже:
Although init_on_free is rather costly, there are paranoid use-cases where
in-memory data lifetime is desired to be minimized.
Самая интересная часть - а зачем это вообще надо:
There are various arguments for/against the realism of the associated threat models, but
given that we'll need the infrastructure for MTE anyway, and there are
people who want wipe-on-free behavior no matter what the performance cost,
it seems reasonable to include it in this series.
И вот так, лёгким мановением руки, патч для тех,
who want wipe-on-free behavior no matter what the performance cost, заезжает в мастер и включается в подавляющем количестве дистрибутивов по дефолту.Для ZFS, к примеру, в самом начале это аукнулось деградацией перформанса до 40%! Самое неприятное, что фактические проблемы с перфом хорошо видны только при полноценной загрузке канала до ОЗУ, и многие начинают этим пренебрегать.
В общем - ещё несколько параметров в копилку настроек, которые меня соблазняют их отключить.
💩 - такая безопасность == "дышать вредно"
🤡 - ох уж эти кликбейтные эмодзи-голосования
Please open Telegram to view this post
VIEW IN TELEGRAM
💩21🤡9😁3🦄3
В прошлом посте с подавляющим лидерством победило мнение, что безопасность в виде init_on_alloc + init_on_free в ядре не нужна.
А теперь вопрос: сколько из этих 20 людей пошли и отключили её?:)
У меня уже было выключено много где, хакеры, фас!
А теперь вопрос: сколько из этих 20 людей пошли и отключили её?:)
😎4🐳2❤1😁1🍌1