Bytedance Cloud 기본 비용 최적화 실습 오픈 소스 프로젝트 Katalyst 커뮤니티 프로그래밍 챌린지 시작 |

카탈리스트 소개

GitHub 레포: https://github.com/kubewharf/katalyst-core

Katalyst는 ByteDance의 오픈 소스 비용 최적화 실행 시스템으로, 클라우드 네이티브 시나리오에서 불합리한 리소스 활용 문제를 해결하고 리소스 관리 및 비용 최적화를 위한 솔루션을 제공하기 위해 노력하고 있습니다.

Katalyst는 올해 3월 정식 오픈소스화되었으며, 버전 0.1.0 출시 이후 버전 0.2.0 반복을 통해 여러 핵심 기능의 출력을 완료했습니다. 8월 8일 Katalyst 버전 v0.3.0이 출시되었습니다 . 핵심 기능에는 향상된 KCNR API 기능, 향상된 프레임워크 확장성, 향상된 공동 배치 기능 등이 포함됩니다. 자세한 내용은 Katalyst GitHub를 참조하세요 .

활동 배경

Katalyst는 ByteDance의 클라우드 네이티브 팀이 지속적으로 투자하고 있는 오픈 소스 프로젝트로서 오픈 소스의 장기적인 가치와 오픈 소스 커뮤니티의 피드백 및 참여를 중요하게 생각합니다. 초기 단계에서 실제 오픈소스 프로젝트에 참여하고 오픈소스 커뮤니티가 어떻게 운영되는지 경험하고 개인 능력을 향상시키세요. 제가 예전에 참여했던 GLCC 프로그래밍 여름 캠프 에서는 Katalyst가 발표한 관련 주제로 인해 많은 대학생들이 등록을 하게 되었습니다. 프로젝트 기간 동안 강사와 프로젝트 학생은 실현 가능한 계획에 대해 적극적으로 소통하고 학생들이 프로젝트 개발에 참여할 수 있도록 도왔습니다.

이전 활동의 주제 제한으로 인해 최종적으로 한 명의 학생만 프로젝트에 참여했습니다. 클라우드 네이티브에 관심이 있는 더 많은 대학생들이 커뮤니티에 참여하도록 장려하고, 커뮤니티가 더 많은 외부 목소리와 신선한 힘을 가질 수 있기를 희망하기 위해 우리는 프로젝트 버전에서 대학생과의 협업 개발 모델을 재사용할 계획입니다. 반복 프로세스를 통해 대학생들에게 오픈 소스 커뮤니티에 참여할 수 있는 경로와 지침을 제공하는 동시에 커뮤니티가 더 많은 피드백과 요구 사항을 수집하도록 돕습니다. 이를 바탕으로 9월 커뮤니티 내 카탈리스트 오픈소스 커뮤니티 [ 프로그래밍 챌린지 ] 이벤트를 론칭할 예정이다. 향후 새 버전의 커뮤니티에서 관련 역량 기획을 바탕으로 이슈 과제를 공개하고, 대학생을 초청할 예정이다. 프로젝트 일부 이슈의 설계 및 개발에 참여하고, 과제를 완료한 학생들에게 특정 보상을 제공합니다.

주제 소개

주제 1: QoS 향상 으로 OOM 우선순위 지원 QoS 향상으로 OOM 우선순위 지원

GitHub 문제: https://github.com/kubewharf/katalyst-core/issues/216

Katalyst에 다음 기능을 추가하세요:

  • 사용자는 QoS 향상으로 OOM 우선순위를 지정할 수 있습니다.

  • OOM 우선순위를 구현합니다 oom_score_adj.

  • 사용자는 QoS 향상으로 OOM 우선순위를 지정할 수 있습니다.

  • 다음을 사용하여 oom_score_adjOOM 우선순위 구현

주제 설명:

oom_score_adj현재 Kubernetes는 다양한 QoS 클래스에 대해 서로 다른 값을 구성합니다 . 그러나 OOM의 순서는 컨테이너의 메모리 사용량과 같은 다른 차원 요소에 따라 달라집니다.

코로케이션 시나리오에서는 클러스터의 메모리 리소스가 부족해지면 OOM으로 인해 웹 서비스가 일괄 작업보다 늦게 종료되도록 엄격하게 보장하는 것이 중요합니다.

현재 Kubernetes는 다양한 QoS 클래스에 대해 서로 다른 oom_score_adj값을 구성합니다. 그러나 OOM의 순서는 컨테이너의 메모리 사용량과 같은 다른 차원에 따라서도 달라집니다.

코로케이션 시나리오에서 클러스터 메모리 자원이 부족해지면 웹 서비스보다 먼저 OOM으로 인해 일괄 처리 작업이 종료되는지 엄격하게 보장해야 합니다.

주제 2: 회수된 리소스에 대한 NUMA 세분성 보고 지원 회수된 리소스에 대한 NUMA 세분성 보고 지원

GitHub 문제: https://github.com/kubewharf/katalyst-core/issues/217

Katalyst에 다음 기능을 추가하세요:

NUMA 노드의 세분성에서 회수된 리소스에 대한 보고를 지원하도록 리소스 보고 메커니즘을 강화합니다.

재활용된 리소스에 대한 NUMA 노드 세부 보고를 지원하는 향상된 리소스 보고 메커니즘입니다.

주제 설명:

현재 회수된 리소스에 대한 보고는 노드 세분성 수준에서 수행됩니다. 그러나 NUMA 아키텍처가 있는 환경에서 이 접근 방식은 최적이 아닌 일정 결과로 이어질 수 있으며 NUMA 수준 간섭으로 인해 Pod 제거가 발생할 수 있습니다.

현재 재활용 자원 보고는 노드 세분성 수준에서 수행됩니다. 그러나 NUMA 아키텍처가 있는 환경에서 이 접근 방식은 최적이 아닌 예약 결과와 NUMA 수준 간섭으로 인해 Pod 제거가 발생할 수 있습니다.

주제 3: NUMA 수준에서 포드 간 선호도 및 반친화성 지원 NUMA 수준에서 포드 간 선호도 및 반친화성 지원

GitHub 문제: https://github.com/kubewharf/katalyst-core/issues/220

Katalyst에 다음 기능을 추가하세요:

Kubernetes의 NUMA 수준에서 포드 간 선호도 및 반선호도를 지원합니다.

Kubernetes에서 NUMA 수준 포드 간 선호도 및 반선호도를 지원합니다.

주제 설명:

현재 Kubernetes는 노드 수준에서 포드 간 선호도와 반선호도를 지원합니다. 그러나 이 지원을 NUMA 수준으로 확장해야 할 필요성이 커지고 있습니다.

예를 들어, 텐서플로우 훈련 작업에서 작업자와 같이 높은 메모리 대역폭을 소비하는 포드는 동일한 NUMA 노드에 있는 매개변수 서버와 같은 다른 포드의 성능에 영향을 미칠 수 있습니다. 이러한 포드를 다른 NUMA 노드에 할당하면 이러한 간섭을 완화할 수 있습니다.

현재 Kubernetes는 노드 수준에서 포드 간 선호도와 반선호도를 지원합니다. 그러나 이 지원을 NUMA 수준으로 확장해야 할 필요성이 점점 커지고 있습니다.

예를 들어, 텐서플로우 훈련에서 작업자의 높은 메모리 대역폭 소비는 동일한 NUMA 노드의 매개변수 서버에 영향을 미칩니다. 이러한 포드를 다른 NUMA 노드에 할당하면 이러한 간섭을 완화할 수 있습니다.

예상 수확량

  1. 실제 오픈소스 프로젝트를 경험하고, 오픈소스 커뮤니티의 운영 절차를 숙지하며, 실무적인 개발 경험을 축적합니다.
  2. 커뮤니티 회의에 참여하고, 오픈 소스 열성팬과 소통하고, 커뮤니티 역학에 대해 알아보세요.
  3. 프로젝트 멘토 일대일 튜터링, 대면Q&A
  4. 프로젝트를 완료한 우수한 기여자는 커뮤니티 인센티브 보너스로 5,000위안(Jingdong 카드와 동일)을 받게 됩니다.

참여 요건

  1. 18세 이상의 대학생
  2. 오픈소스 문화를 사랑하고 오픈소스 협업 모델을 수용합니다.

*대학생이 아닌 학생도 해당 주제에 관심이 있다면 커뮤니티에 참여하여 구축하고 개발해 보세요~

과정에 참여하세요

  1. 다음 GitHub 문제 중 1개 문제를 선택하세요.

    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. 관련 연락처에 이력서 + 주제 제안 보내기

    1.   담당자: Mr. Tang
    2.   이메일: [email protected]
  3. 합격 후, 프로젝트 멘토가 귀하에게 연락하여 특정 개발 작업을 전달하고 개발을 시작할 것입니다.

  4. 과제를 완료한 후, 오픈소스 프로젝트에 참여하면서 느낀 점과 경험을 글로 작성하여 제3자 커뮤니티(InfoQ/CSDN/Zhihu/Open Source China 등)나 캠퍼스 블로그에 게시해야 합니다.

활동시간

  • 등록 기간: 9월 1일 - 9월 14일
  • 선정공고 : 9월 15일
  • 개발 기간: 9월 16일 - 10월 30일
  • 기사 게재 시기: 11월 10일 이전
  • 우수 주제 및 학생 발표: 11월 10일 - 11월 15일

질문이 있는 경우 Bytedance Cloud Native Assistant에 문의하세요.

그림.이미지

[이름+회사/학교+직함]을 기재해주세요.

동료 치킨 "오픈 소스" deepin-IDE 및 마침내 부트스트랩을 달성했습니다! 좋은 친구, Tencent는 Switch를 "생각하는 학습 기계"로 전환했습니다. Tencent Cloud의 4월 8일 실패 검토 및 상황 설명 RustDesk 원격 데스크톱 시작 재구성 웹 클라이언트 WeChat의 SQLite 기반 오픈 소스 터미널 데이터베이스 WCDB의 주요 업그레이드 TIOBE 4월 목록: PHP 사상 최저치로 떨어졌고 FFmpeg의 아버지인 Fabrice Bellard는 오디오 압축 도구인 TSAC를 출시했으며 Google은 대규모 코드 모델인 CodeGemma를 출시했습니다 . 오픈소스라서 너무 좋아요 - 오픈소스 사진 및 포스터 편집기 도구
{{o.이름}}
{{이름}}

추천

출처my.oschina.net/u/6210722/blog/10106821