Bytedance Cloud Native Cost Optimization Practice Projet Open Source Katalyst | Lancement du défi de programmation communautaire !

Introduction à Katalyst

Dépôt GitHub :https://github.com/kubewharf/katalyst-core

Katalyst est le système open source de pratique d'optimisation des coûts de ByteDance. Il s'engage à résoudre le problème de l'utilisation déraisonnable des ressources dans les scénarios cloud natifs et à fournir des solutions de gestion des ressources et d'optimisation des coûts.

Katalyst a été officiellement open source en mars de cette année. Depuis la sortie de la version 0.1.0, il a complété la production de plusieurs fonctionnalités de base via l'itération de la version 0.2.0. Le 8 août, Katalyst a publié la version v0.3.0 . Les fonctions de base incluent des capacités améliorées de l'API KCNR, une évolutivité améliorée du framework, des capacités de colocalisation améliorées, etc. Pour plus de détails, consultez Katalyst GitHub .

Contexte de l'activité

Katalyst, en tant que projet open source dans lequel l'équipe cloud native de ByteDance continue d'investir, valorise la valeur à long terme de l'open source ainsi que les commentaires et la participation de la communauté open source. participez à de véritables projets open source dès les premiers stades et découvrez le fonctionnement de la communauté open source, améliorez vos capacités personnelles. Lors du camp d'été de programmation GLCC auquel j'ai participé auparavant , les sujets pertinents publiés par Katalyst ont incité de nombreux étudiants à s'inscrire pour participer. Au cours du projet, les instructeurs et les étudiants du projet ont activement communiqué sur les plans réalisables et ont aidé les étudiants à participer au développement du projet.

En raison des restrictions thématiques des activités précédentes, un seul étudiant a finalement participé au projet. Afin d'encourager davantage d'étudiants intéressés par le cloud natif à participer à la communauté, et également d'espérer que la communauté aura plus de voix externes et de forces nouvelles, nous prévoyons de réutiliser ce modèle de développement de collaboration avec des étudiants dans la version projet. processus d'itération. Fournir aux étudiants des parcours et des conseils pour participer à la communauté open source, tout en aidant la communauté à recueillir davantage de commentaires et de besoins. Sur cette base, nous lancerons l'événement de la communauté open source Katalyst [ Programming Challenge ] dans la communauté en septembre. Sur la base de la planification des capacités pertinentes dans la future nouvelle version de la communauté, les tâches de problème seront publiées et les étudiants seront invités. participer à la conception et au développement de certains numéros du projet, et à la réalisation de Offrir certaines récompenses aux étudiants qui terminent la tâche.

Introduction au sujet

Sujet 1 : Prise en charge de la priorité MOO en tant qu'amélioration de la QoS Prise en charge de la priorité MOO en tant qu'amélioration de la QoS

Problème GitHub : https://github.com/kubewharf/katalyst-core/issues/216

Veuillez ajouter les fonctionnalités suivantes à Katalyst :

  • Les utilisateurs peuvent spécifier la priorité du MOO comme amélioration de la qualité de service.

  • Implémentez la priorité MOO avec oom_score_adj.

  • Les utilisateurs peuvent spécifier la priorité du MOO comme amélioration de la QoS

  • oom_score_adjImplémentez la priorité du MOO en utilisant

Description du sujet:

Actuellement, Kubernetes configurera différentes oom_score_adjvaleurs pour différentes classes de QoS. Cependant, l'ordre du MOO dépend également d'autres facteurs dimensionnels tels que l'utilisation de la mémoire du conteneur.

Dans le scénario de colocation, il est important de garantir strictement que les services Web sont terminés plus tard que les tâches par lots en raison du MOO lorsque les ressources mémoire du cluster deviennent rares.

oom_score_adjActuellement, Kubernetes configure différentes valeurs pour différentes classes de QoS . Cependant, l'ordre du MOO dépend également d'autres dimensions, telles que l'utilisation de la mémoire du conteneur.

Dans un scénario de colocalisation, lorsque les ressources de mémoire du cluster deviennent rares, il faut s'assurer strictement que le travail de traitement par lots se termine en raison du MOO plus tôt que le service Web.

Sujet 2 : Prise en charge des rapports de granularité NUMA pour les ressources récupérées Prise en charge des rapports de granularité NUMA des ressources récupérées

Problème GitHub : https://github.com/kubewharf/katalyst-core/issues/217

Veuillez ajouter les fonctionnalités suivantes à Katalyst :

Améliorez le mécanisme de reporting des ressources pour prendre en charge le reporting des ressources récupérées avec la granularité des nœuds NUMA.

Mécanisme de reporting des ressources amélioré pour prendre en charge le reporting granulaire des nœuds NUMA sur les ressources recyclées.

Description du sujet:

Actuellement, le reporting des ressources récupérées est effectué au niveau de granularité des nœuds. Cependant, dans les environnements dotés d'architectures NUMA, cette approche peut conduire à des résultats de planification sous-optimaux et à des expulsions potentielles de pods en raison d'interférences au niveau NUMA.

Actuellement, le reporting des ressources recyclées se fait au niveau de la granularité des nœuds. Cependant, dans les environnements dotés d'architectures NUMA, cette approche peut conduire à des résultats de planification sous-optimaux et à des expulsions potentielles de pods en raison d'interférences au niveau NUMA.

Sujet 3 : Prise en charge de l'affinité et de l'anti-affinité inter-podes au niveau NUMA Prise en charge de l'affinité et de l'anti-affinité inter-podes au niveau NUMA

Problème GitHub : https://github.com/kubewharf/katalyst-core/issues/220

Veuillez ajouter les fonctionnalités suivantes à Katalyst :

Prise en charge de l'affinité et de l'anti-affinité inter-pods au niveau NUMA dans Kubernetes.

Prend en charge l'affinité et l'anti-affinité inter-pods au niveau NUMA dans Kubernetes.

Description du sujet:

Actuellement, Kubernetes prend en charge l'affinité et l'anti-affinité inter-pods au niveau des nœuds. Il existe cependant un besoin croissant d’étendre ce soutien au niveau de la NUMA.

Par exemple, dans une tâche de formation Tensorflow, les pods gourmands en bande passante mémoire, comme les Workers, peuvent avoir un impact sur les performances d'autres pods sur le même nœud NUMA, tels que les serveurs de paramètres. L'attribution de ces pods à différents nœuds NUMA peut atténuer ces interférences.

Actuellement, Kubernetes prend en charge l'affinité et l'anti-affinité inter-pods au niveau des nœuds. Il existe cependant un besoin croissant d’étendre ce soutien au niveau de la NUMA.

Par exemple, dans la formation Tensorflow, une consommation élevée de bande passante mémoire des travailleurs affectera le serveur de paramètres sur le même nœud NUMA. L'attribution de ces pods à différents nœuds NUMA peut atténuer ces interférences.

récolte attendue

  1. Expérimentez de vrais projets open source, familiarisez-vous avec les procédures de fonctionnement des communautés open source et accumulez une expérience pratique en développement
  2. Participez aux réunions communautaires, communiquez avec des passionnés de l'open source et découvrez la dynamique communautaire
  3. Mentor de projet, tutorat individuel, questions et réponses en face à face
  4. Les excellents contributeurs qui terminent le projet recevront également une prime d'incitation communautaire de 5 000 yuans (équivalent à la carte Jingdong)

Conditions de participation

  1. Étudiants de plus de 18 ans
  2. Aimer la culture open source et accepter le modèle de collaboration open source

*Si des étudiants non universitaires sont intéressés par le sujet, vous êtes invités à participer à la communauté pour le construire et le développer~

Participer au processus

  1. Choisissez 1 problème parmi les problèmes GitHub suivants

    1.   https://github.com/kubewharf/katalyst-core/issues/216
    2. https://github.com/kubewharf/katalyst-core/issues/217
    3. https://github.com/kubewharf/katalyst-core/issues/220
  2. Envoyer CV + proposition de sujet aux contacts concernés

    1.   Personne à contacter : M. Tang
    2.   Courriel : [email protected]
  3. Après la réussite, le mentor du projet vous contactera pour vous communiquer les tâches de développement spécifiques et commencer le développement.

  4. Après avoir terminé la tâche, vous devez rédiger un article sur votre expérience et vos sentiments en matière de participation à des projets open source, et le publier sur une communauté tierce (InfoQ/CSDN/Zhihu/Open Source China, etc.) ou sur un blog du campus.

Temps d'activité

  • Période d'inscription : du 1er septembre au 14 septembre
  • Avis de sélection : 15 septembre
  • Période de développement : du 16 septembre au 30 octobre
  • Heure de publication de l'article : avant le 10 novembre
  • Sujet exceptionnel et annonce des étudiants : 10 novembre - 15 novembre

Si vous avez des questions, veuillez contacter Bytedance Cloud Native Assistant :

image.image

Veuillez indiquer [nom+entreprise/école+titre]

Un camarade de poulet "open source" deepin-IDE et a finalement réalisé l'amorçage ! Bon gars, Tencent a vraiment transformé Switch en une « machine d'apprentissage pensante » Examen des échecs de Tencent Cloud le 8 avril et explication de la situation Reconstruction du démarrage du bureau à distance RustDesk Client Web La base de données de terminal open source de WeChat basée sur SQLite WCDB a inauguré une mise à niveau majeure Liste d'avril TIOBE : PHP est tombé à un plus bas historique, Fabrice Bellard, le père de FFmpeg, a sorti l'outil de compression audio TSAC , Google a sorti un gros modèle de code, CodeGemma , est-ce que ça va vous tuer ? C'est tellement bon qu'il est open source - outil d'édition d'images et d'affiches open source
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/u/6210722/blog/10106821
conseillé
Classement