TGViewer
Baba Нюра's Wisdom Baba Нюра's Wisdom @babanyurawisdom · 226 subscribers
Post #848 96
МЕДУЗА, МЕДУЗА, МЕДУЗА, МЫ ДРУЗЬЯ
ЧАСТЬ I

Надеюсь, вы пели! Если нет, то прошу прослушать упомянутую в заголовке композицию.

На прошлой неделе обсудили квазислучайные графы. Мельком упомянули, что это пример «хорошей сети», но без дополнительных пояснений. Сегодня разберём идею Jellyfish.

Сделаем ещё один шаг назад — к fat-tree. Ниже небольшая иллюстрация, как оно может выглядеть.
============== ЯДРО ============
[C1] [C2] <-- Core
| \ / |
| \---------/ |
| \-------/ |
=== ПОД 1 ====== ПОД 2 =========
[A1] [A2] [A3] [A4] <--
Aggregation
| X | | X |
[E1] [E2] [E3] [E4] <--
Edge / ToR
/ \ / \ / \ / \
S1 S2 S3 S4 S5 S6 S7 S8 <-
серверы

Это не совсем дерево, скорее странный лес, где кроны переплетаются друг с другом. Идея очень понятная.

За простоту приходится платить. Если помните, то для fat-tree есть формулы расчёта, каких узлов сколько нужно. Расчёты зависят от одного-единственного параметра — от количества портов на коммутаторе k. Например:

при k = 4 будет 16 серверов
при k = 6 будет 54 сервера
при k = 8 будет 128 серверов
и так далее (формулу серверов можно взять k³ / 4).

Давайте теперь представим: вы маленький стартап. Вам выше крыши хватало 16 серверов первые 5 лет. Вы построили fat-tree сеть. Но вот продукт подрос, клиентов стало больше, а с ними приходит нагрузка. Пора докупать сервера. Мы уверены, что дополнительных 16 серверов хватит ещё на 5 лет. Вот только ставить эти сервера некуда. Придётся перестраивать всё дерево и покупать более дорогие коммутаторы. В итоге ещё и получим сильно большую ёмкость сети, чем надо (следующая ступень — это сразу 54 сервера, а не 32).

Короче, у дерева есть проблемы (это не единственная). Но fat-tree реально долгое время был основной архитектурой для сетей.

В 2012 пришли ребята из Иллинойса со статьёй. Посыл: давайте забудем про дерево! Давайте возьмём коммутаторы и просто соединим их случайным образом! Но есть условие: граф должен быть регулярным. Так родилась концепция Jellyfish.

(Господи, доколе? Ещё какие виды графов есть?)
Что такое регулярный граф?

Регулярный — это такой, где у каждой вершины одинаковое число рёбер. На языке железа всё очень логично: у каждого коммутатора одинаковое количество портов. Скажем, из 32 портов 24 отдаём под серверы, а 8 — на связь с другими коммутаторами. Значит, у каждого узла ровно 8 рёбер «наружу» → степень 8 у всех.

Теперь добавим щепотку случайности: случайно раскидываем эти рёбра. Вот и вся топология.

Случайный регулярный граф ведёт себя квазислучайно. Это почти гарантирует нам равномерно размазанные рёбра, короткие пути, да ещё и разные варианты путей для случайной пары вершин.

Завтра разберём почему это круто и почему Jellyfish не серебряная пуля.

#бабанюра_программирует
  • ❤ 2
  • 👨‍💻 2
More from @babanyurawisdom
  1. Oct 9, 2026МАДАГАСКАР Продолжаем рубрику расширения географии. Рандомизатор выдал Мадагаскар. И это о…
  2. Oct 8, 2026ПОКАЗАТЬ, КАК ДУМАТЬ Услышала недавно интересную мысль. Так понравилась, что хочу с вами п…
  3. Oct 7, 2026ОЧЕРЕДНОЕ НЫТЬЁ ПРО МЕДИЦИНУ В США Сегодня буду ныть. Пожаловалась лично уже достаточному…
  4. Oct 6, 2026МЕДУЗА, МЕДУЗА, МЕДУЗА, МЫ ДРУЗЬЯ ЧАСТЬ II А сегодня пели? Вчера вспоминали fat-tree и раз…
  5. Oct 2, 2026После недели сложных текстов предлагаю похихикать над мемами. Всех с пятницей! Делитесь го…
  6. Oct 1, 2026НЕ ЕКАЕТ Однажды мы обсуждали, что самая большая дыра в безопасности — это человеческий фа…
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 →