CRYPTOVALERII Telegram 284
Какие же были варианты решения проблемы некорректной аллокации и тротлинга, описанные здесь?

Задать более продуманную дефолтную квоту для тредпулов
Потенциальный импакт
: небольшой прирост в производительности
Преимущества: По сравнению со всеми другими вариантами - не надо делать почти ничего, также может работать в параллель с другими правками
Недостатки: не решает проблему в целом

Корректировать размер тредпула через общий API
Потенциальный импакт
: может решить большую часть проблем для большей части машин
Преимущества: понятно что и как делать
Недостатки: необходимо чтобы каждый сервис самостоятельно подписался (использовал новый API для создания тредуплов)

Тюнинг периода CFS

У CFS есть периоды которые делятся на отрезки, например период в 100мс делится на отрезки по 5мс. Если в первые 5 мс квота будет израсходована - следующие 95мс будет тротлинг

Потенциальный импакт: небольшое снижение латенси в хвосте справа, за счет снижение продолжительности во времени перед тем как квота обновится
Преимущества: понятно как и просто сделать
Недостатки: увеличиваются затраты на планировщик, что может перебить преимущества и в целом не решает проблему параллельного исчерпания квоты, может даже вылиться в большее количество тротлинга

Тюнинг отрезка CFS
Почти тоже самое что и предыдущее, только с другой стороны

Потенциальный импакт: небольшое снижение латенси в хвосте справа, за счет снижение улучшения использования аллоцированной квоты
Преимущества: понятно как и просто сделать
Недостатки: увеличиваются затраты на планировщик, что может перебить преимущества и в целом не решает проблему параллельного исчерпания квоты, может даже вылиться в большее количество тротлинга

Доработка планировщика CFS
Потенциальный
импакт: улучшение утилизации CPU и минимизация тротлинга по причине низкой эффективности CFS
Преимущества: улучшения прозрачны и очевидны
Недостатки: CFS сложна штука, можно так “улучшить”, что потом придется еще больше страдать

Фиксация и изоляция CPU
Потенциальный
импакт: никакого тротлинга, мапинг 1-1 на физический CPU - все ресурсы в распоряжении сервиса
Преимущества: разработчикам просто жить в такой модели, тротлинг со стороны планировщика отсутствует, повышается эффективность использования кэша, отсутствие пересечений с другими потребителями позволяет точнее оценивать производительность
Недостатки: Усложнение системы, так как теряем один уровень абстракции, гораздо чаще становятся случаи избыточной аллокации ресурсов, радикально отличается от текущей модели

Отключить CFS квоты
Потенциальный
импакт: предотвращает тротлинг и позволяет сервисам использовать все доступные ядра, надеясь на эффективный шаринг
Преимущества: в некотором смысле дает позволяет максимально утилизировать CPU
Недостатки: Отдельный сервис-негодяй может съесть все ресурсы и затормозить другие сервисы на той же коробке, полная противоположность предыдущему пункту, что приводит к недетерминированности по времени

В следующем посте разберем финальное решение ребят
#SystemDesign



tgoop.com/cryptovalerii/284
Create:
Last Update:

Какие же были варианты решения проблемы некорректной аллокации и тротлинга, описанные здесь?

Задать более продуманную дефолтную квоту для тредпулов
Потенциальный импакт
: небольшой прирост в производительности
Преимущества: По сравнению со всеми другими вариантами - не надо делать почти ничего, также может работать в параллель с другими правками
Недостатки: не решает проблему в целом

Корректировать размер тредпула через общий API
Потенциальный импакт
: может решить большую часть проблем для большей части машин
Преимущества: понятно что и как делать
Недостатки: необходимо чтобы каждый сервис самостоятельно подписался (использовал новый API для создания тредуплов)

Тюнинг периода CFS

У CFS есть периоды которые делятся на отрезки, например период в 100мс делится на отрезки по 5мс. Если в первые 5 мс квота будет израсходована - следующие 95мс будет тротлинг

Потенциальный импакт: небольшое снижение латенси в хвосте справа, за счет снижение продолжительности во времени перед тем как квота обновится
Преимущества: понятно как и просто сделать
Недостатки: увеличиваются затраты на планировщик, что может перебить преимущества и в целом не решает проблему параллельного исчерпания квоты, может даже вылиться в большее количество тротлинга

Тюнинг отрезка CFS
Почти тоже самое что и предыдущее, только с другой стороны

Потенциальный импакт: небольшое снижение латенси в хвосте справа, за счет снижение улучшения использования аллоцированной квоты
Преимущества: понятно как и просто сделать
Недостатки: увеличиваются затраты на планировщик, что может перебить преимущества и в целом не решает проблему параллельного исчерпания квоты, может даже вылиться в большее количество тротлинга

Доработка планировщика CFS
Потенциальный
импакт: улучшение утилизации CPU и минимизация тротлинга по причине низкой эффективности CFS
Преимущества: улучшения прозрачны и очевидны
Недостатки: CFS сложна штука, можно так “улучшить”, что потом придется еще больше страдать

Фиксация и изоляция CPU
Потенциальный
импакт: никакого тротлинга, мапинг 1-1 на физический CPU - все ресурсы в распоряжении сервиса
Преимущества: разработчикам просто жить в такой модели, тротлинг со стороны планировщика отсутствует, повышается эффективность использования кэша, отсутствие пересечений с другими потребителями позволяет точнее оценивать производительность
Недостатки: Усложнение системы, так как теряем один уровень абстракции, гораздо чаще становятся случаи избыточной аллокации ресурсов, радикально отличается от текущей модели

Отключить CFS квоты
Потенциальный
импакт: предотвращает тротлинг и позволяет сервисам использовать все доступные ядра, надеясь на эффективный шаринг
Преимущества: в некотором смысле дает позволяет максимально утилизировать CPU
Недостатки: Отдельный сервис-негодяй может съесть все ресурсы и затормозить другие сервисы на той же коробке, полная противоположность предыдущему пункту, что приводит к недетерминированности по времени

В следующем посте разберем финальное решение ребят
#SystemDesign

BY Время Валеры


Share with your friend now:
tgoop.com/cryptovalerii/284

View MORE
Open in Telegram


Telegram News

Date: |

When choosing the right name for your Telegram channel, use the language of your target audience. The name must sum up the essence of your channel in 1-3 words. If you’re planning to expand your Telegram audience, it makes sense to incorporate keywords into your name. During the meeting with TSE Minister Edson Fachin, Perekopsky also mentioned the TSE channel on the platform as one of the firm's key success stories. Launched as part of the company's commitments to tackle the spread of fake news in Brazil, the verified channel has attracted more than 184,000 members in less than a month. With the “Bear Market Screaming Therapy Group,” we’ve now transcended language. With the sharp downturn in the crypto market, yelling has become a coping mechanism for many crypto traders. This screaming therapy became popular after the surge of Goblintown Ethereum NFTs at the end of May or early June. Here, holders made incoherent groaning sounds in late-night Twitter spaces. They also role-played as urine-loving Goblin creatures. How to create a business channel on Telegram? (Tutorial)
from us


Telegram Время Валеры
FROM American