Так как в голосовании победил вариант про алгоритмы в LTE модемах начну цикл рассказов о работе LTE модема.
Для удобства я буду называть модем UE(User equipment). Да и так принято стандартом.
Начнем с рассмотрения ключевых шагов подключения к сети:
1.Инициализация модема (UE Power-On). Перед тем как модем начинает искать сеть он загружает PLMN список зон. PLMN - идентификатор зоны обслуживания мобильной сети, который представляет собой уникальный код, состоящий из MCC (Mobile Country Code) и MNC (Mobile Network Code).
Один абонент принадлежит только одной домашней PLMN — HPLMN (Home PLMN). Если абонент находится в роуминге (не внутрисетевом), то это уже будет гостевая PLMN — VPLMN (Visited PLMN).
Также сим-карта может содержать и запрещенные к работе PLMN (Forbidden PLMN list).
Далее считывается содержимое SIM карты. Из нее модем получает IMSI(Ваш индивидуальный номер абонента), ключи безопасности и параметры сети, также из SIM карты читается свойства режима радиодоступа(RAT). Он зовется - EF-RAT элемент — preferred RAT list). Алгоритм его работы прост:
1.UE получает список доступных RAT от SIM/прошивки/настроек.
2.Сканирует каждую RAT в порядке приоритета.
3.Проверяет доступность PLMN на каждом RAT.
4."Camps on" (становится на прослушку) самой приоритетной доступной RAT.
И да нюансов как будет выбираться RAT достаточно.
Модем выбирает режим радиодоступа при включении, основываясь на:
Настройках SIM (EF-RAT)
Аппаратной поддержке RAT
Последнем успешном подключении
Настройках предпочтений (заводские, пользовательские)
Приоритетах из 3GPP TS 23.122
Далее модем инициирует Cell Selection( 3GPP TS 36.304). Для него есть два режима:
1. Initial Cell Selection
Используется при первом включении или в новой сети.
UE сканирует весь диапазон LTE (DL EARFCN). На самом деле не весь, а лишь только поддерживаемые диапазоны. И знает он их из прошивки. Иногда они хранятся на сим-карте(Предпочтительные band’ы).
Ищет PSS/SSS → находит PCI. Про это мы поговорим в следующей статье подробнее.
Считывает MIB и SIB1/SIB2.(MIB — Master Information Block (общие параметры системы, SIB1 — содержит PLMN ID, таймеры, SIB2 — параметры доступа (PRACH, T300 и др.).
Вычисляет значение критерия уровень сигнала.
Если ячейка подходит (suitable) — UE "camps on" на ней.(«Camps on» — это когда UE остаётся «на прослушке» соты, не устанавливая соединение, но будучи готовым инициировать его.),
2.Используется если UE уже был подключён к этой сети ранее.
UE использует сохранённые данные о:
EARFCN
PCI
тайминге
Быстро восстанавливает подключение к предыдущей соте
Как UE решает, подходит ли сотa?
Ключевой критерий — "suitable cell", определённый в 36.304:
TS 36.304, п. 4.3:
“A cell is suitable if it is a cell on which the UE may camp, meeting criteria including: acceptable signal level, permitted PLMN, and not barred.”
И далее вычисляется по формуле где RSRP( реальный уровень сигнала). Q(минимальный сигнал, указанный в SIB1) и P(корректировка по мощности UE).
Srxlev=RSRP−Q rxlevmin−P compensation >0
Интересный момент что такое P.
Он же UE power compensation). используется при расчёте критериев cell selection и reselection в LTE, и регламентирован в:
3GPP TS 36.304, раздел 4.3 – Cell selection criteria.
учитывает ситуацию, когда UE не может передавать на максимальной мощности, допустимой в ячейке. Это важно, чтобы:
Не переоценить пригодность соты (ведь модем может «слышать» Базовую станцию, но сам не сможет до него "докричаться")
Корректно оценить расстояние/ослабление сигнала.
Без P, UE мог бы выбрать соту с хорошим приёмом, но не смог бы передать RACH*, если его передатчик слабее требований сети.
Это особенно критично для:
Маленьких IoT-устройств
UE с ограниченной мощностью (e.g., NB-IoT, Cat-M)
Пограничных сот
*RACH (Random Access Channel) — это канал доступа, по которому UE (модем, телефон) впервые "обращается" к базовой станции (eNodeB) в радиоинтерфейсе. Он используется:
При первом подключении к сети (после Cell Selection)
При восстановлении связи после потери сигнала
При handover’ах
При переходе из Idle в Connected (RRC_IDLE → RRC_CONNECTED).
Для удобства я буду называть модем UE(User equipment). Да и так принято стандартом.
Начнем с рассмотрения ключевых шагов подключения к сети:
1.Инициализация модема (UE Power-On). Перед тем как модем начинает искать сеть он загружает PLMN список зон. PLMN - идентификатор зоны обслуживания мобильной сети, который представляет собой уникальный код, состоящий из MCC (Mobile Country Code) и MNC (Mobile Network Code).
Один абонент принадлежит только одной домашней PLMN — HPLMN (Home PLMN). Если абонент находится в роуминге (не внутрисетевом), то это уже будет гостевая PLMN — VPLMN (Visited PLMN).
Также сим-карта может содержать и запрещенные к работе PLMN (Forbidden PLMN list).
Далее считывается содержимое SIM карты. Из нее модем получает IMSI(Ваш индивидуальный номер абонента), ключи безопасности и параметры сети, также из SIM карты читается свойства режима радиодоступа(RAT). Он зовется - EF-RAT элемент — preferred RAT list). Алгоритм его работы прост:
1.UE получает список доступных RAT от SIM/прошивки/настроек.
2.Сканирует каждую RAT в порядке приоритета.
3.Проверяет доступность PLMN на каждом RAT.
4."Camps on" (становится на прослушку) самой приоритетной доступной RAT.
И да нюансов как будет выбираться RAT достаточно.
Модем выбирает режим радиодоступа при включении, основываясь на:
Настройках SIM (EF-RAT)
Аппаратной поддержке RAT
Последнем успешном подключении
Настройках предпочтений (заводские, пользовательские)
Приоритетах из 3GPP TS 23.122
Далее модем инициирует Cell Selection( 3GPP TS 36.304). Для него есть два режима:
1. Initial Cell Selection
Используется при первом включении или в новой сети.
UE сканирует весь диапазон LTE (DL EARFCN). На самом деле не весь, а лишь только поддерживаемые диапазоны. И знает он их из прошивки. Иногда они хранятся на сим-карте(Предпочтительные band’ы).
Ищет PSS/SSS → находит PCI. Про это мы поговорим в следующей статье подробнее.
Считывает MIB и SIB1/SIB2.(MIB — Master Information Block (общие параметры системы, SIB1 — содержит PLMN ID, таймеры, SIB2 — параметры доступа (PRACH, T300 и др.).
Вычисляет значение критерия уровень сигнала.
Если ячейка подходит (suitable) — UE "camps on" на ней.(«Camps on» — это когда UE остаётся «на прослушке» соты, не устанавливая соединение, но будучи готовым инициировать его.),
2.Используется если UE уже был подключён к этой сети ранее.
UE использует сохранённые данные о:
EARFCN
PCI
тайминге
Быстро восстанавливает подключение к предыдущей соте
Как UE решает, подходит ли сотa?
Ключевой критерий — "suitable cell", определённый в 36.304:
TS 36.304, п. 4.3:
“A cell is suitable if it is a cell on which the UE may camp, meeting criteria including: acceptable signal level, permitted PLMN, and not barred.”
И далее вычисляется по формуле где RSRP( реальный уровень сигнала). Q(минимальный сигнал, указанный в SIB1) и P(корректировка по мощности UE).
Srxlev=RSRP−Q rxlevmin−P compensation >0
Интересный момент что такое P.
Он же UE power compensation). используется при расчёте критериев cell selection и reselection в LTE, и регламентирован в:
3GPP TS 36.304, раздел 4.3 – Cell selection criteria.
учитывает ситуацию, когда UE не может передавать на максимальной мощности, допустимой в ячейке. Это важно, чтобы:
Не переоценить пригодность соты (ведь модем может «слышать» Базовую станцию, но сам не сможет до него "докричаться")
Корректно оценить расстояние/ослабление сигнала.
Без P, UE мог бы выбрать соту с хорошим приёмом, но не смог бы передать RACH*, если его передатчик слабее требований сети.
Это особенно критично для:
Маленьких IoT-устройств
UE с ограниченной мощностью (e.g., NB-IoT, Cat-M)
Пограничных сот
*RACH (Random Access Channel) — это канал доступа, по которому UE (модем, телефон) впервые "обращается" к базовой станции (eNodeB) в радиоинтерфейсе. Он используется:
При первом подключении к сети (после Cell Selection)
При восстановлении связи после потери сигнала
При handover’ах
При переходе из Idle в Connected (RRC_IDLE → RRC_CONNECTED).
❤5🔥5🐳1
Так как посты растут в размере. Мой друг и читатель Алексей посоветовал мне публиковать их в Telegraf. Первый пост здесь и он в продолжении темы про SIM карты - https://telegra.ph/SIM-karta-06-20
#sim_card #lte #gsm
#sim_card #lte #gsm
Telegraph
SIM карта
Продолжаем тему с алгоритмами и работой LTE модема. В посте выше мы уже говорили что на самых начальных этапах модем читает данные из SIM карты. Что такое SIM карта? Subscriber Identification Module — модуль идентификации абонента. SIM карта это лишь разновидность…
🔥11
Семён сохраняет полезное_)
Так как посты растут в размере. Мой друг и читатель Алексей посоветовал мне публиковать их в Telegraf. Первый пост здесь и он в продолжении темы про SIM карты - https://telegra.ph/SIM-karta-06-20 #sim_card #lte #gsm
Пришел вопрос, а есть разница между SIM и USIM.
SIM (Subscriber Identity Module) и USIM (Universal Subscriber Identity Module) - это карты идентификации абонента, но USIM является более продвинутой версией SIM, предназначенной для сетей 3G и выше (UMTS, LTE). Основные отличия заключаются в объеме памяти и поддерживаемых технологиях.
SIM-карта:
Используется в сетях GSM (2G).
Обладает меньшим объемом памяти по сравнению с USIM.
Обычно хранит ограниченное количество контактов (до 255).
Может содержать только номер телефона и имя для каждого контакта.
USIM-карта:
Предназначена для сетей UMTS (3G) и LTE (4G).
Имеет больший объем памяти, позволяющий хранить больше информации, включая дополнительные номера, email и другие данные для одного контакта.
Поддерживает более продвинутые функции безопасности и шифрования.
Может использоваться в сетях GSM, но не наоборот.
Вкратце: USIM - это эволюция SIM-карты, разработанная для работы в современных сетях мобильной связи с улучшенными возможностями и безопасностью.
SIM (Subscriber Identity Module) и USIM (Universal Subscriber Identity Module) - это карты идентификации абонента, но USIM является более продвинутой версией SIM, предназначенной для сетей 3G и выше (UMTS, LTE). Основные отличия заключаются в объеме памяти и поддерживаемых технологиях.
SIM-карта:
Используется в сетях GSM (2G).
Обладает меньшим объемом памяти по сравнению с USIM.
Обычно хранит ограниченное количество контактов (до 255).
Может содержать только номер телефона и имя для каждого контакта.
USIM-карта:
Предназначена для сетей UMTS (3G) и LTE (4G).
Имеет больший объем памяти, позволяющий хранить больше информации, включая дополнительные номера, email и другие данные для одного контакта.
Поддерживает более продвинутые функции безопасности и шифрования.
Может использоваться в сетях GSM, но не наоборот.
Вкратце: USIM - это эволюция SIM-карты, разработанная для работы в современных сетях мобильной связи с улучшенными возможностями и безопасностью.
🔥11
Forwarded from linkmeup
Настало время увлекательных историй.
Когда-то давно в далёком немецком Майнфлингене сумрачный тевтонский гений воткнул посреди поля длинноволновый передатчик с позывным DCF77. Вроде бы ничего такого, если бы в 1973 году эта сволочь не начала пикать каждую секунду на всю Европу. И пикает она не просто так, а на скорости 1 бит в секунду, обеспечивая синхронизацию всех часов в радиусе плюс-минус 2000 километров.
Желающие послушать могут настроиться на 77.5 кГц и, скорее всего, 50 кВт изначального сигнала до вас вполне себе доберутся.
https://ru.wikipedia.org/wiki/DCF77
А если на лице твоём сейчас изумление и непонимание, кому это надо в эпоху повсеместного интернета с NTP, то привет тебе передают множество автопроизводителей, наручные часы Casio, метеостанции, настенные часы, в которых стоит микроконтроллер за три копейки, городские уличные часы, и так далее, и тому подобное.
65 лет эта штука пикает в эфир, а когда 14 апреля 2014 из-за грозы она замолчала на час, множество часов в Европе потеряло сигнал точного времени и всем резко стало грустно. Настолько, что решили поставить дублирующий.
Возникает вопрос – а чего такого критичного в этом сигнале? Ответ достаточно смешной. Ведь если у тебя есть бесплатный синхросигнал, ты можешь вообще не запариваться на точность хода часов. Через это многие городские часы получили примерно такую логику работы: через пень-колоду тикаем от нуля до 58,5 секунды, замираем на месте и дальше идём, только получив нужный сигнал. Звучит как костыль, но на практике это решает важнейшую проблему синхронизации тысячи устройств между собой, чтобы они показывали одинаковое время. И речь не столько про часы, сколько про возможность привязывать к ним техпроцессы.
https://en.wikipedia.org/wiki/Swiss_railway_clock
Для желающих вникнуть в формат сигнала есть его описание с диаграммой:
https://www.ptb.de/cms/en/ptb/fachabteilungen/abt4/fb-44/ag-442/dissemination-of-legal-time/dcf77/dcf77-time-code.html
А вообще, таких систем по миру много. BPC, JJY40, JJY60, MSF, WWVB.
https://en.m.wikipedia.org/wiki/BPC_(time_signal)
Когда-то давно в далёком немецком Майнфлингене сумрачный тевтонский гений воткнул посреди поля длинноволновый передатчик с позывным DCF77. Вроде бы ничего такого, если бы в 1973 году эта сволочь не начала пикать каждую секунду на всю Европу. И пикает она не просто так, а на скорости 1 бит в секунду, обеспечивая синхронизацию всех часов в радиусе плюс-минус 2000 километров.
Желающие послушать могут настроиться на 77.5 кГц и, скорее всего, 50 кВт изначального сигнала до вас вполне себе доберутся.
https://ru.wikipedia.org/wiki/DCF77
А если на лице твоём сейчас изумление и непонимание, кому это надо в эпоху повсеместного интернета с NTP, то привет тебе передают множество автопроизводителей, наручные часы Casio, метеостанции, настенные часы, в которых стоит микроконтроллер за три копейки, городские уличные часы, и так далее, и тому подобное.
65 лет эта штука пикает в эфир, а когда 14 апреля 2014 из-за грозы она замолчала на час, множество часов в Европе потеряло сигнал точного времени и всем резко стало грустно. Настолько, что решили поставить дублирующий.
Возникает вопрос – а чего такого критичного в этом сигнале? Ответ достаточно смешной. Ведь если у тебя есть бесплатный синхросигнал, ты можешь вообще не запариваться на точность хода часов. Через это многие городские часы получили примерно такую логику работы: через пень-колоду тикаем от нуля до 58,5 секунды, замираем на месте и дальше идём, только получив нужный сигнал. Звучит как костыль, но на практике это решает важнейшую проблему синхронизации тысячи устройств между собой, чтобы они показывали одинаковое время. И речь не столько про часы, сколько про возможность привязывать к ним техпроцессы.
https://en.wikipedia.org/wiki/Swiss_railway_clock
Для желающих вникнуть в формат сигнала есть его описание с диаграммой:
https://www.ptb.de/cms/en/ptb/fachabteilungen/abt4/fb-44/ag-442/dissemination-of-legal-time/dcf77/dcf77-time-code.html
А вообще, таких систем по миру много. BPC, JJY40, JJY60, MSF, WWVB.
https://en.m.wikipedia.org/wiki/BPC_(time_signal)
👍13🔥1
Прошла неделя с последней публикации, а значит время нового поста. Увы из-за работы чаще не успеваю писать. Материал получился крайне сжатым, ибо тема крайне обширная и интересная. Если будет отклик, думаю рассказать о ней подробнее. А в следующей части я напишу о SIB и RACH и RRC.
https://telegra.ph/Sinhronizaciya-v-setyah-LTE-Ochen-kratko-07-03
#lte #pss_sss
https://telegra.ph/Sinhronizaciya-v-setyah-LTE-Ochen-kratko-07-03
#lte #pss_sss
Telegraph
Синхронизация в сетях LTE. Очень кратко!
ta.ru/lte/ug/lte_ug_synchronizationsignals_fddpssmapping.png Продолжаем тему с алгоритмами и работой LTE модема. В этот раз попробую кратко рассказать о том как происходит синхронизация в сети. Для этого рассмотрим три документа3GPP TS 36.211 — Physical channels…
🔥9❤3👍1
Всем привет! Мой новый материал про служебную стадию подключения к LTE.
А в следующей части я напишу о NAS и MME и EPS bearer.
https://telegra.ph/O-SIB-i-RACH-i-RRC-07-08
А в следующей части я напишу о NAS и MME и EPS bearer.
https://telegra.ph/O-SIB-i-RACH-i-RRC-07-08
Telegraph
О SIB и RACH и RRC
cdn.fs.teachablecdn.com/ZXBzElSp2jDS7fKhRHTw Итак, мы прошли стадию синхронизации и теперь переходим к стадии получения служебной информации. Первой стадией является - Прием System Information (MIB). Master Information Block (MIB) MIB (Master Information…
🔥9✍5👍3
Forwarded from linkmeup
Когда-то недавно на канале была новость про явление миру первой спецификации Ultra Ethernet, который буквально завтра всех спасет. Ну или должен всех спасти. Но целиком, конечно же, никто в редакции читать не стал, так что давайте обратим внимание на выжимку от более ответственных людей.
TL;DR Игрушка для больших ребят, которые спят и видят как бы езернет заборол инфинибэнд. Так что ты со своей сеточкой на десять камплюхтеров спи спокойно. Но лучше изучить целиком ибо матчасти достаточно много и расписано интересно.
https://medium.com/@tom_84912/a-mostly-unbiased-review-of-the-ultra-ethernet-specification-10d816227839
TL;DR Игрушка для больших ребят, которые спят и видят как бы езернет заборол инфинибэнд. Так что ты со своей сеточкой на десять камплюхтеров спи спокойно. Но лучше изучить целиком ибо матчасти достаточно много и расписано интересно.
https://medium.com/@tom_84912/a-mostly-unbiased-review-of-the-ultra-ethernet-specification-10d816227839
Medium
A (mostly) Unbiased Review of the Ultra Ethernet Specification
We review the Ultra Ethernet Specification version 1.0.
👍8❤3
Всем привет! Конец недели, а значит новая заметка и заключительная из цикла работы LTE. Далее буду рассказывать о компонентах в сети и ядре оператора.
https://telegra.ph/O-NAS-i-MME-i-EPS-bearer-07-20
https://telegra.ph/O-NAS-i-MME-i-EPS-bearer-07-20
Telegraph
О NAS и MME и EPS bearer
Сегодня мы поговорим о конечных стадиях при подкючении UE к сети сотовой связи. А именно о NAS, MME и EPS Bearer. Начнем с первой. 1. RRC‑соединение (Access Stratum) UE сначала инициирует RRC Connection через eNodeB (Random Access → RRC Connection Setup и…
❤10🔥2👍1
Всем привет! Пока админ в отпуске, но посты новые выходят. Общая заметка о том из чего состоит ядро сети.
https://telegra.ph/O-klyuchevyh-komponentah-dlya-seti-LTE-07-20
https://telegra.ph/O-klyuchevyh-komponentah-dlya-seti-LTE-07-20
Telegraph
О ключевых компонентах для сети LTE
UE — устройство пользователя eNodeB (Evolved Node B) — базовая станция LTE, устанавливается рядом с вышкой и соединяется с ней. ММЕ (Mobility Management Entity) — узел управления мобильностью. Предназначен для обработки сигнализации, преимущественно связанной…
❤10👍3
Всем привет! Пишут что РКН прикрыл speedtest. Сайт был на любителя, но он легендарен и многие операторы любят его использовать для рекламы.
Вот альтернативы вам:
http://2ip.ru
https://www.nperf.com/ru/
https://fast.com/
https://yandex.ru/internet
http://openspeedtest.com
P.S
Всеволод Балашов ещё добавляет - https://qms.ru/
Вот альтернативы вам:
http://2ip.ru
https://www.nperf.com/ru/
https://fast.com/
https://yandex.ru/internet
http://openspeedtest.com
P.S
Всеволод Балашов ещё добавляет - https://qms.ru/
nPerf.com
Проверьте скорость вашего интернета с помощью nPerf
Измерьте скорость загрузки, выгрузки и задержки вашего интернет-соединения за считанные секунды. Получите подробную статистику производительности и сравните свои результаты по всему миру.
👍8❤5
Forwarded from linkmeup
Очередное прекрасное найденное в сети. Сегодня передаём привет владельцам нетгиров, потому что зацените лайфхак уровня /b:
- К урлу админки дописываем /debug.htm
- Получаем более лучшую, скрытую админку с возможностью делать портам SPAN/pcap, менять настройка вифи и так далее.
https://github.com/scramblr/NETGEAR_ROUTER_HIDDEN_PAGES/blob/main/README.md
- К урлу админки дописываем /debug.htm
- Получаем более лучшую, скрытую админку с возможностью делать портам SPAN/pcap, менять настройка вифи и так далее.
https://github.com/scramblr/NETGEAR_ROUTER_HIDDEN_PAGES/blob/main/README.md
GitHub
NETGEAR_ROUTER_HIDDEN_PAGES/README.md at main · scramblr/NETGEAR_ROUTER_HIDDEN_PAGES
This is a list of currently known hidden pages within NETGEAR routers, switches, and other networking equipment. Why hidden? Ask Netgear. - scramblr/NETGEAR_ROUTER_HIDDEN_PAGES
🔥5
Forwarded from likeabus channel (Sergey Bocharnikov)
NVIDIA на прошедшем Netdev 0x19 выступила с докладом, где исследовала проблему синхронизации времени внутри ДЦ.
Суть в том, что NTP их не устраивает по причине своей медлительности. Задержки в миллисекунды внутри распределенных инфраструктур, различных баз данных или, например, в недавно построенной Сфере в Лас Вегасе, по их словам непозволительная роскошь.
Пошли изучать, нашли 3 варианта:
1. PTP
Ну тут и говорить особо нечего, всем известный и широко используемый протокол внутри провайдеров для синхронизации времени. Умеет то, что не умеет NTP. Точность до наносекунд.
Всё бы хорошо, но часто бывает когда у эндпоинта несколько карточек, либо к одной карточке подвязано несколько эндпоинтов (докер, кубер и т.д.), то соответственно возникает большое количество клиентов PTP и приходится поддерживать stateful для каждого, а это проблема.
Поэтому был предложен следующий вариант 👇
2. Клиент-серверный IEEE 1588, он же CSPTP.
Собственно практически тот же самый PTP, только проще.
Реализаций немного и есть вот такие:
SPTP - вариант, который предложили инженеры FB, являющиеся соавторами данной презентации;
FlashPTP - автор работает в Meinberg, немецкая компания специализирующаяся на разработке и производстве оборудования для синхронизации времени;
NTP-over-PTP - драфт от инженеров Red Hat, который поддерживается теперь и в chrony - https://chrony-project.org/doc/4.6.1/chrony.conf.html#ptpport.
Исходя из доклада, данный метод имеет одну существенную проблему - это нагрузка при масштабировании. Да, она ниже чем у PTP, за счет отказа от stateful, но всё также требует общения с CPU при каждом взаимодействии. Поэтому инженеры пошли дальше и решили поискать какой-то альтернативный вариант, и тут уже нашлось вообще иное решение 👇
3. Hermóðr - новый подход.
Опирается на оценку времени через корреляцию с CPU таймером.
Документации к сожалению нет, только опираться на презентацию и доклад.
Сама суть данного метода, как я понял, заключается в том, что добавляется демон, который получает время из двух источников, один из которых PCIe device, а второй CPU clock. После этого он проводит некоторое вычисление и результат складывает в shared memory. Дальше отдельная библиотека, libhermod, идёт в эту область памяти и забирает последние данные, плюс тоже идёт в CPU clock, и на основе полученной информации экстраполирует точное время. Таким образом, вы обращаетесь к PCIe только один раз, а дальше время обновляется уже без этого взаимодействия, т.е. не требуется постоянного обращения в /dev/ptpX, что сильно ускоряет результат работы и позволяет добиться снижения задержек в 80-100 раз по сравнению с CSPTP.
В общем, пока что выглядит всё так, что этот метод действительно может стать основным для подобных задач.
Ссылки вот тут:
Презентация
Видео
Суть в том, что NTP их не устраивает по причине своей медлительности. Задержки в миллисекунды внутри распределенных инфраструктур, различных баз данных или, например, в недавно построенной Сфере в Лас Вегасе, по их словам непозволительная роскошь.
Пошли изучать, нашли 3 варианта:
1. PTP
Ну тут и говорить особо нечего, всем известный и широко используемый протокол внутри провайдеров для синхронизации времени. Умеет то, что не умеет NTP. Точность до наносекунд.
Всё бы хорошо, но часто бывает когда у эндпоинта несколько карточек, либо к одной карточке подвязано несколько эндпоинтов (докер, кубер и т.д.), то соответственно возникает большое количество клиентов PTP и приходится поддерживать stateful для каждого, а это проблема.
Поэтому был предложен следующий вариант 👇
2. Клиент-серверный IEEE 1588, он же CSPTP.
Собственно практически тот же самый PTP, только проще.
Стандарт вот, но там как обычно у ieee с доступом какие-то приколы, в общем если найдёте, кидайте в комментарии - https://standards.ieee.org/ieee/1588.1/11644/.
Реализаций немного и есть вот такие:
SPTP - вариант, который предложили инженеры FB, являющиеся соавторами данной презентации;
FlashPTP - автор работает в Meinberg, немецкая компания специализирующаяся на разработке и производстве оборудования для синхронизации времени;
NTP-over-PTP - драфт от инженеров Red Hat, который поддерживается теперь и в chrony - https://chrony-project.org/doc/4.6.1/chrony.conf.html#ptpport.
В целом, все три варианта в той или иной степени по всей видимости очень даже рабочие и если я правильно понял, то первый - SPTP - сейчас и является основным внутри ДЦ FB.
Исходя из доклада, данный метод имеет одну существенную проблему - это нагрузка при масштабировании. Да, она ниже чем у PTP, за счет отказа от stateful, но всё также требует общения с CPU при каждом взаимодействии. Поэтому инженеры пошли дальше и решили поискать какой-то альтернативный вариант, и тут уже нашлось вообще иное решение 👇
3. Hermóðr - новый подход.
Опирается на оценку времени через корреляцию с CPU таймером.
Немного оффтопа 🙂
Если что, слово Hermóðr, или Хермод, оказывается является именем скандинавского бога скорости, аналог греческого Hermes, или Гермес, прикольно то, что у них и имена очень даже совпадают. К слову об уникальности каждого пантеона 🙂
Документации к сожалению нет, только опираться на презентацию и доклад.
Сама суть данного метода, как я понял, заключается в том, что добавляется демон, который получает время из двух источников, один из которых PCIe device, а второй CPU clock. После этого он проводит некоторое вычисление и результат складывает в shared memory. Дальше отдельная библиотека, libhermod, идёт в эту область памяти и забирает последние данные, плюс тоже идёт в CPU clock, и на основе полученной информации экстраполирует точное время. Таким образом, вы обращаетесь к PCIe только один раз, а дальше время обновляется уже без этого взаимодействия, т.е. не требуется постоянного обращения в /dev/ptpX, что сильно ускоряет результат работы и позволяет добиться снижения задержек в 80-100 раз по сравнению с CSPTP.
В общем, пока что выглядит всё так, что этот метод действительно может стать основным для подобных задач.
Ссылки вот тут:
Презентация
Видео
❤8🔥1🤔1
Всем привет. Наконец я вышел из отпуска. И вот новый пост об интерфейсах в LTE. https://telegra.ph/O-interfejsah-v-LTE-08-08
Telegraph
О интерфейсах в LTE
Сегодня мы поговорим о интерфейсах в LTE.В сетях LTE используется масса интерфейсов для взаимодействия компонентов и сервисов и основные из них мы сегодня рассмотрим:У eNodeB имеются два основных интерфейса. • S1-MME – интерфейс обмена сигнальной информацией…
❤9🔥3👏3
Forwarded from С первой ревизии
Нашел сайт с проектами, по которым доступна вся необходимая документация (схемы, платы, файлы cad). Большинство проектов - вычислители/конвертеры на FPGA, RF карты и измерители. В основном встречаются платы в AD, иногда в Cadence и KiCad. Больше всего понравились проекты от CERN, как по оформлению так и по техническим решениям.
🔥9👍1
Всем привет. Новая тема, а это значит у меня новая заметка. В этот раз начинаю цикл заметок про синхронизацию в пакетных сетях https://telegra.ph/Sinhronizaciya-v-paketnyh-setyah-CHast-1-08-14
Telegraph
Синхронизация в пакетных сетях. Часть 1
Начинаю цикл заметок о синхронизации в пакетных сетях(с уклоном в LTE). В первой заметке мы разберем ключевые основы и моменты.Начнем с "Обнаружения сигнала" приёмником и на его примере рассмотрим синхронизацию и ключевую задачу какую она решает. Первичное…
❤7🔥4👍1
Всем привет! Вышла вторая заметка о синхронизации и на этот раз про ключевой компонент - опорные часы. https://telegra.ph/Sinhronizaciya-v-paketnyh-setyah-CHast-2-08-18
Telegraph
Синхронизация в пакетных сетях. Часть 2
Продолжаю цикл заметок про синхронизацию. В этот раз расскажу о опорных часах и осцилляторах и влиянии внешних факторов на них. Начнем с иерархии синхронизации Каждая единица оборудования имеет встроенные локальные часы, которые принимают, очищают и направляют…
❤10👍2🔥2
Forwarded from Love. Death. Transformers.
помните nanotron? Теперь у нас есть tinytpu.com
Проект по построению мини TPU(это такие специальные тензорные процессоры от гугла) где челы зареверсиженерили и вопсроизвели архитектуру и софт.
Внутри куча нюансов про низкоуровневый софт в которых я ничего не понимаю, но считаю что стоит ознакомится.
https://github.com/tiny-tpu-v2/tiny-tpu
Проект по построению мини TPU(это такие специальные тензорные процессоры от гугла) где челы зареверсиженерили и вопсроизвели архитектуру и софт.
Внутри куча нюансов про низкоуровневый софт в которых я ничего не понимаю, но считаю что стоит ознакомится.
https://github.com/tiny-tpu-v2/tiny-tpu
GitHub
GitHub - tiny-tpu-v2/tiny-tpu: A minimal tensor processing unit (TPU), inspired by Google's TPU V2 and V1
A minimal tensor processing unit (TPU), inspired by Google's TPU V2 and V1 - tiny-tpu-v2/tiny-tpu
❤4👍3🔥3
Всем привет! Вышла третья заметка о синхронизации на этот раз о том каких классов бывают часы
https://telegra.ph/Sinhronizaciya-v-paketnyh-setyah-CHast-3-08-24
https://telegra.ph/Sinhronizaciya-v-paketnyh-setyah-CHast-3-08-24
Telegraph
Синхронизация в пакетных сетях. Часть 3
Классы часов в пакетных сетях В пакетных сетях выделяют несколько классов часов: 1.PRTC — Primary Reference Time Clock (G.8272): тактовый источник высшего порядка, обеспечивающий точность времени и частоты. 2.ePRTC — Enhanced PRTC (G.8272.1): более устойчивый…
1🔥10❤4👍4
Всем привет! Вышла четвертая заметка из цикла о синхронизации. В этот раз были рассмотрены различия двух типов синхронизации(пакетной и физической).
https://telegra.ph/Sinhronizaciya-v-paketnyh-setyah-CHast4-08-27
https://telegra.ph/Sinhronizaciya-v-paketnyh-setyah-CHast4-08-27
Telegraph
Синхронизация в пакетных сетях. Часть 4
Сегодня мы разберем отличия пакетной синхронизации от синхронизации на физическом уровне. Общие принципы двух типов синхронизации Существует два основных подхода к синхронизации: - Пакетная синхронизация (передача меток времени в данных пакетах) - Синхронизация…
❤11👍2🔥2
Всем привет! Вышла пятая заметка из цикла о синхронизации. В этот раз рассмотрел вопрос о шумах синхронизации в пакетных сетях
https://telegra.ph/Sinhronizaciya-v-paketnyh-setyah-CHast-5-08-30
https://telegra.ph/Sinhronizaciya-v-paketnyh-setyah-CHast-5-08-30
Telegraph
Синхронизация в пакетных сетях. Часть 5
Сегодня мы разберем тему шумов в пакетной синхронизации и немного поговорим о физической синхронизации. Шумы – это случайные флуктуации временных параметров, которые негативно влияют на точность синхронизации. Источники шума •Вариация задержки пакетов (PDV):…
❤7👍4🔥2