Введение в Каталист
Репозиторий GitHub: https://github.com/kubewharf/katalyst-core
Katalyst — это система практики оптимизации затрат ByteDance с открытым исходным кодом. Она призвана решить проблему необоснованного использования ресурсов в облачных сценариях и предоставить решения для управления ресурсами и оптимизации затрат.
Katalyst был официально открыт в марте этого года. С момента выпуска версии 0.1.0 он завершил выпуск нескольких основных возможностей через итерацию версии 0.2.0. 8 августа Katalyst выпустил версию v0.3.0 . Основные функции включают расширенные возможности KCNR API, улучшенную масштабируемость платформы, расширенные возможности совместного размещения и т. д. Подробности см. в Katalyst GitHub .
Фон активности
Katalyst, как проект с открытым исходным кодом, в который продолжает инвестировать облачная команда ByteDance, ценит долгосрочную ценность открытого исходного кода, а также отзывы и участие сообщества открытого исходного кода. В то же время он также поощряет студентов колледжей. участвовать в реальных проектах с открытым исходным кодом на ранних стадиях и узнавать, как работает сообщество открытого исходного кода, совершенствовать личные способности. В летнем лагере по программированию GLCC , в котором я участвовал ранее , соответствующие темы, опубликованные Katalyst, привлекли многих студентов колледжей к участию. Во время проекта преподаватели и студенты проекта активно обсуждали возможные планы и помогали студентам участвовать в разработке проекта.
Из-за тематических ограничений предыдущих занятий в проекте в итоге принял участие только один студент. Чтобы побудить больше студентов колледжей, заинтересованных в облачных технологиях, участвовать в сообществе, а также надеяться, что у сообщества будет больше внешних голосов и свежих сил, мы планируем повторно использовать эту модель разработки сотрудничества со студентами колледжей в версии проекта. Итерационный процесс Предоставьте студентам колледжей пути и рекомендации по участию в сообществе открытого исходного кода, одновременно помогая сообществу собирать больше отзывов и потребностей. Исходя из этого, в сентябре мы запустим в сообществе мероприятие Katalyst с открытым исходным кодом [ Programming Challenge ]. На основании соответствующего планирования возможностей в будущей новой версии сообщества будут выпущены задачи по проблемам и будут приглашены студенты. участвовать в проектировании и разработке некоторых вопросов проекта, а также за выполнение Предоставить определенные награды учащимся, выполнившим задание.
Введение в тему
Тема 1: Поддержка приоритета OOM как улучшения QoS Поддержка приоритета OOM как улучшения QoS
Проблема с GitHub: https://github.com/kubewharf/katalyst-core/issues/216.
Добавьте в Katalyst следующие возможности:
-
Пользователи могут указать приоритет OOM в качестве улучшения качества обслуживания.
-
Реализуйте приоритет OOM с помощью
oom_score_adj
. -
Пользователи могут указать приоритет OOM как улучшение QoS.
-
Используйте
oom_score_adj
для реализации приоритета OOM
Описание темы:
В настоящее время Kubernetes настраивает разные oom_score_adj
значения для разных классов QoS. Однако порядок OOM также зависит от других размерных факторов, таких как использование памяти контейнером.
В сценарии колокейшн важно строго гарантировать, что веб-службы завершатся позже, чем пакетные задания, из-за OOM, когда ресурсов памяти кластера становится недостаточно.
oom_score_adj
В настоящее время Kubernetes настраивает разные значения для разных классов QoS . Однако порядок OOM также зависит от других измерений, таких как использование памяти контейнером.
В сценарии совместного размещения, когда ресурсов памяти кластера становится недостаточно, необходимо строго гарантировать, что задание пакетной обработки завершается из-за OOM раньше, чем веб-служба.
Тема 2. Поддержка отчетов с детализацией NUMA для возвращенных ресурсов. Поддержка отчетов с детализацией NUMA для возвращенных ресурсов.
Проблема с GitHub: https://github.com/kubewharf/katalyst-core/issues/217.
Добавьте в Katalyst следующие возможности:
Улучшите механизм отчетов о ресурсах, чтобы поддерживать отчеты об освобожденных ресурсах с точностью до узлов NUMA.
Усовершенствованный механизм отчетов о ресурсах для поддержки детальной отчетности узлов NUMA об переработанных ресурсах.
Описание темы:
В настоящее время отчеты об освобожденных ресурсах выполняются на уровне детализации узла. Однако в средах с архитектурой NUMA этот подход может привести к неоптимальному результату планирования и потенциальному исключению модулей из-за помех на уровне NUMA.
В настоящее время отчетность об переработанных ресурсах осуществляется на уровне детализации узла. Однако в средах с архитектурой NUMA этот подход может привести к неоптимальным результатам планирования и потенциальному вытеснению подов из-за помех на уровне NUMA.
Тема 3: Поддержка сходства и антисходства между модулями на уровне NUMA . Поддержка сходства и антисродства между модулями на уровне NUMA.
Проблема с GitHub: https://github.com/kubewharf/katalyst-core/issues/220.
Добавьте в Katalyst следующие возможности:
Поддержка сходства и антисходства между модулями на уровне NUMA в Kubernetes.
Поддерживает сходство между модулями и антисвязывание на уровне NUMA в Kubernetes.
Описание темы:
В настоящее время Kubernetes поддерживает сходство между подами и антисходство на уровне узла. Однако существует растущая потребность в расширении этой поддержки до уровня NUMA.
Например, в задании по обучению тензорного потока модули, потребляющие большую пропускную способность памяти, такие как рабочие, могут влиять на производительность других модулей на том же узле NUMA, таких как серверы параметров. Распределение этих модулей по разным узлам NUMA может смягчить такие помехи.
В настоящее время Kubernetes поддерживает сходство между подами и антисходство на уровне узла. Однако существует растущая необходимость расширить эту поддержку до уровня NUMA.
Например, при обучении тензорного потока высокое потребление пропускной способности памяти работниками повлияет на сервер параметров на том же узле NUMA. Назначение этих модулей различным узлам NUMA может уменьшить эти помехи.
ожидаемый урожай
- Испытайте реальные проекты с открытым исходным кодом, ознакомьтесь с рабочими процедурами сообществ с открытым исходным кодом и накопите практический опыт разработки.
- Участвуйте во встречах сообщества, общайтесь с энтузиастами открытого исходного кода и узнавайте о динамике сообщества.
- Наставник проекта индивидуальное обучение, личные вопросы и ответы
- Отличные участники, завершившие проект, также получат поощрительный бонус сообщества в размере 5000 юаней (эквивалент карты Jingdong).
Требования к участию
- Студенты колледжа старше 18 лет
- Любите культуру открытого исходного кода и принимайте модель сотрудничества с открытым исходным кодом.
*Если эта тема интересна студентам, не являющимся студентами колледжа, вы можете принять участие в сообществе для ее создания и развития~
Участвуйте в процессе
-
Выберите 1 проблему из следующих проблем GitHub.
-
Отправьте резюме + предложение темы соответствующим контактам.
- Контактное лицо: г-н Тан
- Электронная почта: [email protected]
-
После прохождения с вами свяжется наставник проекта, чтобы сообщить конкретные задачи разработки и начать разработку.
-
После выполнения задания вам необходимо написать статью о своем опыте и ощущениях от участия в проектах с открытым исходным кодом и опубликовать ее в стороннем сообществе (InfoQ/CSDN/Zhihu/Open Source China и т. д.) или в блоге кампуса.
Время активности
- Время регистрации: 1 сентября – 14 сентября.
- Уведомление об отборе: 15 сентября.
- Срок разработки: 16 сентября – 30 октября.
- Срок публикации статьи: до 10 ноября.
- Выдающаяся тема и объявление студентов: 10–15 ноября.
Если у вас есть какие-либо вопросы, свяжитесь с помощником Bytedance Cloud Native Assistant:
Пожалуйста, укажите [имя+компания/школа+название]
Товарищ-цыпленок «открыл исходный код» Deepin-IDE и наконец-то добился начальной загрузки! Хороший парень, Tencent действительно превратила Switch в «мыслящую обучающуюся машину». Обзор сбоев Tencent Cloud от 8 апреля и объяснение ситуации. Реконструкция запуска удаленного рабочего стола RustDesk. Веб-клиент . Терминальная база данных с открытым исходным кодом WeChat на основе SQLite. WCDB положила начало серьезному обновлению. Апрельский список TIOBE: PHP упал до рекордно низкого уровня, Фабрис Беллард, отец FFmpeg, выпустил инструмент сжатия звука TSAC , Google выпустил большую модель кода CodeGemma , она вас убьет? Это так хорошо, что это инструмент с открытым исходным кодом - инструмент для редактирования изображений и плакатов с открытым исходным кодом.