В сети можно найти интересные посты про "переволновавшиеся" 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
Обратил внимание на очень интересный доклад от крупной компании на 4 буквы про их опыт с планировщиками нагрузки.
Для начала забавность - ноги растут от шедулера, который для SteamDeck делали вальвовцы - scx_lavd. Да, шедулер "для игр" приживается в промышленном мире серверов :)
Идеи лежат правильные:
- задержки доступа между ядрами процессора весьма ощутимы, есть смысл реже мигрировать нагрузку между ними, да и чтобы горячие L1-L2 кеши больше помогали
- есть смысл использовать в моменте как можно меньше ядер, чтобы минимизировать потребление и тепловыделение
- уменьшив потребление, мы можем больше питания/тепла задействовать на активные ядра
- и тут (барабанная дробь) - по факту у нас уже давно любой многоядерный процессор с "одинаковыми" ядрами содержит весьма разные по свойствам ядра:
- Всегда есть более экономное ядро, но которое не возьмёт максимальную частоту
- и наоборот - есть максимально прожорливое ядро, которое может взять те самые 5+ГГЦ частоты, но оно одно на весь чип
- и это мы даже не начали говорить про процы с топологиями аля big+little, речь про рядовые "ryzen/epyc" процы с "честными" ядрами
- и даже не продолжили говорить про NUMA топологии (которые нынче даже в рамках одного чиплетного процессора присутствуют!)
Т.е. шедулер будущего должен хорошо знать топологию ядер и их свойства, а также мыслить как задержками от решедулинга нагрузки, так и потреблением железа (хотя с потреблением пока есть куда крутить).
Я решил попробовать scx_lavd на своём ноутбуке с Debian testing и ядром 6.17. Настроен был более позитивно, чем оказалось на самом деле, в итоге эффект от "ничего не изменилось на уровне погрешности" до лагов звука из браузера при каких-то расчётах на все ядра аля слайсера 3d моделей. Важный момент - я тестировал кейс "от сети", когда нет надобности экономить потребление. В поездках потестирую ещё работу от батареи, там ожидаю больший эффект на её длительности жизни. В остальном - пока дефолтный шедулер EEVDF из свежих ядер стал отличной заменой переусложнённому CFS.
К слову - ставится scx_lavd легко, подход подключения шедулера через ebpf работает хорошо. Вообще, мне очень нравится тенденция на лёгкие эксперименты с такими основательными задачами, вспоминается похожая история из мира компрессоров с OpenZL, статью по которому я тоже разбирал.
Желаю всем нам больше простора для экспериментов в новом году!
Для начала забавность - ноги растут от шедулера, который для SteamDeck делали вальвовцы - scx_lavd. Да, шедулер "для игр" приживается в промышленном мире серверов :)
Идеи лежат правильные:
- задержки доступа между ядрами процессора весьма ощутимы, есть смысл реже мигрировать нагрузку между ними, да и чтобы горячие L1-L2 кеши больше помогали
- есть смысл использовать в моменте как можно меньше ядер, чтобы минимизировать потребление и тепловыделение
- уменьшив потребление, мы можем больше питания/тепла задействовать на активные ядра
- и тут (барабанная дробь) - по факту у нас уже давно любой многоядерный процессор с "одинаковыми" ядрами содержит весьма разные по свойствам ядра:
- Всегда есть более экономное ядро, но которое не возьмёт максимальную частоту
- и наоборот - есть максимально прожорливое ядро, которое может взять те самые 5+ГГЦ частоты, но оно одно на весь чип
- и это мы даже не начали говорить про процы с топологиями аля big+little, речь про рядовые "ryzen/epyc" процы с "честными" ядрами
- и даже не продолжили говорить про NUMA топологии (которые нынче даже в рамках одного чиплетного процессора присутствуют!)
Т.е. шедулер будущего должен хорошо знать топологию ядер и их свойства, а также мыслить как задержками от решедулинга нагрузки, так и потреблением железа (хотя с потреблением пока есть куда крутить).
Я решил попробовать scx_lavd на своём ноутбуке с Debian testing и ядром 6.17. Настроен был более позитивно, чем оказалось на самом деле, в итоге эффект от "ничего не изменилось на уровне погрешности" до лагов звука из браузера при каких-то расчётах на все ядра аля слайсера 3d моделей. Важный момент - я тестировал кейс "от сети", когда нет надобности экономить потребление. В поездках потестирую ещё работу от батареи, там ожидаю больший эффект на её длительности жизни. В остальном - пока дефолтный шедулер EEVDF из свежих ядер стал отличной заменой переусложнённому CFS.
К слову - ставится scx_lavd легко, подход подключения шедулера через ebpf работает хорошо. Вообще, мне очень нравится тенденция на лёгкие эксперименты с такими основательными задачами, вспоминается похожая история из мира компрессоров с OpenZL, статью по которому я тоже разбирал.
👍6☃2👾2👀1
Про экспериметны с шедулером поговорили, сегодня очередь page-cache'а, но кратко.
Экспериментальный проект (да-да, через ebpf) по манипуляциям с политиками вытеснения кеша в Linux, статья вот. А узнал про это из русскоязычного доклада с OS Dev Conf.
Сам код проекта не факт что будет жить у кого-то в проде, но лёгкая возможность поэкспериментировать с таким - прям отлично.
Отдельно понравилось, сколько LoC ушло на каждую политику (до 600).
Хорошее чтиво на выходные. Жаль ARC опять только упомянули.
Вообще, Page Cache в ядре весьма монолитен, мечта - его лёгкая замена.Мечта ли?
Экспериментальный проект (да-да, через ebpf) по манипуляциям с политиками вытеснения кеша в Linux, статья вот. А узнал про это из русскоязычного доклада с OS Dev Conf.
Сам код проекта не факт что будет жить у кого-то в проде, но лёгкая возможность поэкспериментировать с таким - прям отлично.
Отдельно понравилось, сколько LoC ушло на каждую политику (до 600).
Хорошее чтиво на выходные. Жаль ARC опять только упомянули.
Вообще, Page Cache в ядре весьма монолитен, мечта - его лёгкая замена.
👍4⚡3👨💻2🔥1