TGViewer
Experimental chill Experimental chill @experimentalchill · 9.22K subscribers
Post #285 14.8K
1. Объявили результаты TON: дали серебро, оказался 6-7 по топу (Mindful Kitten), дали $5000. Я доволен, так как не упоролся, но и позанимался чем-то интересным.

2. Meta рассказала про свою версию GWP/Perforator -- профилирование всех датацентров.

So, the engineer typed an “&” after the auto keyword to indicate we want a reference instead of a copy. It was a one-character commit, which, after it was shipped to production, equated to an estimated 15,000 servers in capacity savings per year!


Немного смешно читать такой маркетинг, потому что давным давно такие штуки мы уже сделали в Google и автоматизировали по самое не хочу. В целом поздравляю, такие вещи позволяют держать CapEx в порядке и возможно помогут избежать хоть каких-то увольнений (a.k.a. могло быть и хуже).

3. https://dl.acm.org/doi/10.1145/3651890.3672262

В Google очень много данных надо копировать между датацентрами -- поисковый индекс, данные для обучения моделей и так далее. Наконец-то выложили ещё одну статью о достаточно большом и популярном внутри сервисе, как копировать данные между многими дц. Объёмы копирования до сих пор в моей голове не сильно укладываются: ~1 Eib (экзабайт) в день. Не помню статьей с таким масштабом. Несколько интересных поинтов про статью:

* Пересылать данные стоит когда линки между датацентрами наиболее свободные, чтобы не создавать огромные пики. В итоге effingo достаётся достаточно дешёвое железо, а квоты даются пользователям отдельно

* Каждый день обновляется матрица стоимости, сколько будет стоить переслать из одного дц в другой, тем самым больше шансов соптимизировать как отправлять данные. Например, Effingo строит минимальное остовное дерево из этих стоимостей и рассылает данные в этом дереве.

* "Fairness" среди одинаковых приоритетов, то есть копируется в среднем по-очередно у одного приоритета, но если углубляться, то там формула, о которой не рассказали

* Чексуммы, копии, Erasure codes, всё на месте. Битые данные возникают, ничего страшного. Но да, считать чексуммы на экзабайты в день тоже не самое дешёвое занятие. "we get 590 corruptions over 129EB for a rate of 4.55 corruptions per EB"

* Проводятся учения, чтобы найти пользователей, которые пользуются системой слишком много без выделенных на то ресурсов. "To stay ahead, Effingo team scheduled unavailability of best effort in three clusters for a period of around one day. As a result, four product teams detected that their production-critical systems unintentionally rely on best-effort; they obtained production quota"

Статья не описывает, почему, например, решили не делать torrent-like систему, но зато описывает, почему полностью централизованная система не сработала бы -- слишком уж большие объёмы.

В целом, в копировании данных мало можно соптимизировать не работая с клиентами -- тебя просят просто скопировать точно в нужных местах. Поэтому Effingo фокусируется на том, что может максимально -- оптимизиция стоимости пересылки этих данных так, чтобы они не мешали всем другим критичным сервисам гугла.
Engineering at Meta Strobelight: A profiling service built on open source technology We’re sharing details about Strobelight, Meta’s profiling orchestrator. Strobelight combines several technologies, many open source, into a single service that helps engineers at Meta improve effic…
  • 🔥 123
  • 👍 47
  • ❤ 18
  • 🎉 5
  • 👏 3
  • 😱 3
  • 🤯 2
More from @experimentalchill
  1. Sep 2, 2025Latency profiler Представьте ситуацию, вы пишете код на Python, вызываете посередине библи…
  2. Jul 10, 2025Trivially relocatable В C++ есть большая группа людей (включая меня), которая любит брать…
  3. May 15, 2025Size based vector https://discourse.llvm.org/t/adding-a-size-based-vector-to-libc-s-unstab…
  4. Apr 23, 2025Сегодня про закон Литтла. Недавно очень много читал про теорию очередей — это математика т…
  5. Feb 5, 2025January update (старею) 1. Мой (первый) стажёр из Яндекса опубликовал Perforator — сборщик…
  6. Jan 12, 2025Compressed pair В стандартной библиотеке C++ множество контейнеров принимают allocator<A>,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →