Lançado o desafio de programação comunitária do projeto de código aberto Bytedance Cloud Native Cost Optimization!

Introdução ao Catalisador

Repositório GitHub: https://github.com/kubewharf/katalyst-core

Katalyst é o sistema de prática de otimização de custos de código aberto da ByteDance. Ele está comprometido em resolver o problema de utilização irracional de recursos em cenários nativos da nuvem e em fornecer soluções para gerenciamento de recursos e otimização de custos.

Katalyst foi oficialmente aberto em março deste ano. Desde o lançamento da versão 0.1.0, ele completou a produção de vários recursos principais por meio da iteração da versão 0.2.0. Em 8 de agosto, o Katalyst lançou a versão v0.3.0 . As funções principais incluem recursos aprimorados da API KCNR, escalabilidade aprimorada da estrutura, recursos aprimorados de co-localização, etc.

Histórico de atividades

Katalyst, como um projeto de código aberto no qual a equipe nativa da nuvem da ByteDance continua investindo, valoriza o valor de longo prazo do código aberto e o feedback e participação da comunidade de código aberto. Ao mesmo tempo, também incentiva os estudantes universitários a. participe de projetos reais de código aberto nos estágios iniciais e experimente como a comunidade de código aberto funciona, melhorando as habilidades pessoais. No acampamento de verão de programação do GLCC do qual participei antes , os tópicos relevantes publicados pelo Katalyst atraíram muitos estudantes universitários a se inscreverem para participar. Durante o projeto, os instrutores e alunos do projeto comunicaram ativamente sobre planos viáveis ​​​​e ajudaram os alunos a participar do desenvolvimento do projeto.

Devido às restrições temáticas das atividades anteriores, apenas um aluno finalmente participou do projeto. A fim de incentivar mais estudantes universitários interessados ​​em nativos da nuvem a participarem da comunidade, e também esperar que a comunidade tenha mais vozes externas e novas forças, planejamos reutilizar este modelo de desenvolvimento de colaboração com estudantes universitários na versão do projeto processo de iteração. Fornecer aos estudantes universitários caminhos e orientação para participar da comunidade de código aberto, ao mesmo tempo que ajuda a comunidade a coletar mais feedback e necessidades. Com base nisso, lançaremos o evento da comunidade de código aberto Katalyst [ Programming Challenge ] na comunidade em setembro. Com base no planejamento de capacidade relevante na futura nova versão da comunidade, tarefas de emissão serão lançadas e estudantes universitários serão convidados. participar da concepção e desenvolvimento de algumas questões do projeto, e pela conclusão de Fornecer certas recompensas aos alunos que concluírem a tarefa.

Introdução ao tópico

Tópico 1: Suporte para prioridade OOM como uma melhoria de QoS Suporte à prioridade OOM como uma melhoria de QoS

Problema do GitHub: https://github.com/kubewharf/katalyst-core/issues/216

Adicione os seguintes recursos ao Katalyst:

  • Os usuários podem especificar a prioridade OOM como um aprimoramento de QoS.

  • Implemente a prioridade OOM com oom_score_adj.

  • Os usuários podem especificar a prioridade OOM como aprimoramento de QoS

  • oom_score_adjImplemente a prioridade OOM usando

Descrição do tópico:

Atualmente, o Kubernetes configurará oom_score_adjvalores diferentes para diferentes classes de QoS. No entanto, a ordem do OOM também depende de outros fatores dimensionais, como o uso de memória do contêiner.

No cenário de colocation, é importante garantir estritamente que os serviços web sejam encerrados mais tarde do que os trabalhos em lote devido ao OOM quando os recursos de memória do cluster se tornam escassos.

oom_score_adjAtualmente, o Kubernetes configura diferentes valores para diferentes classes de QoS . Porém, a ordem do OOM também depende de outras dimensões, como o uso de memória do contêiner.

Em um cenário de colocalização, quando os recursos de memória do cluster se tornam escassos, deve-se garantir estritamente que o trabalho de processamento em lote seja encerrado devido ao OOM antes do serviço web.

Tópico 2: Suporte a relatórios de granularidade NUMA para recursos recuperados Suporte a relatórios de granularidade NUMA de recursos recuperados

Problema do GitHub: https://github.com/kubewharf/katalyst-core/issues/217

Adicione os seguintes recursos ao Katalyst:

Aprimore o mecanismo de relatório de recursos para dar suporte ao relatório de recursos recuperados na granularidade dos nós NUMA.

Mecanismo aprimorado de relatório de recursos para oferecer suporte a relatórios granulares do nó NUMA de recursos reciclados.

Descrição do tópico:

Atualmente, o relatório de recursos recuperados é realizado no nível de granularidade do nó. No entanto, em ambientes com arquiteturas NUMA, essa abordagem pode levar a resultados de agendamento abaixo do ideal e possíveis remoções de pods devido à interferência no nível NUMA.

Atualmente, o reporte de recursos reciclados é feito no nível de granularidade do nó. No entanto, em ambientes com arquiteturas NUMA, essa abordagem pode levar a resultados de agendamento abaixo do ideal e possíveis remoções de pods devido à interferência no nível NUMA.

Tópico 3: Suporte à afinidade e antiafinidade entre pods no nível NUMA Suporte à afinidade e antiafinidade entre pods no nível NUMA

Problema do GitHub: https://github.com/kubewharf/katalyst-core/issues/220

Adicione os seguintes recursos ao Katalyst:

Suporta afinidade e antiafinidade entre pods no nível NUMA no Kubernetes.

Suporta afinidade e antiafinidade entre pods em nível NUMA no Kubernetes.

Descrição do tópico:

Atualmente, o Kubernetes suporta afinidade e antiafinidade entre pods no nível do nó. Contudo, há uma necessidade crescente de alargar este apoio ao nível da NUMA.

Por exemplo, em um trabalho de treinamento de tensorflow, pods que consomem muita largura de banda de memória, como trabalhadores, podem impactar o desempenho de outros pods no mesmo nó NUMA, como servidores de parâmetros. Alocar esses pods para diferentes nós NUMA pode mitigar tais interferências.

Atualmente, o Kubernetes suporta afinidade e antiafinidade entre pods no nível do nó. Contudo, há uma necessidade crescente de alargar este apoio ao nível da NUMA.

Por exemplo, no treinamento de tensorflow, o alto consumo de largura de banda de memória dos trabalhadores afetará o servidor de parâmetros no mesmo nó NUMA. Atribuir esses pods a diferentes nós NUMA pode mitigar essa interferência.

colheita esperada

  1. Experimente projetos reais de código aberto, familiarize-se com os procedimentos operacionais de comunidades de código aberto e acumule experiência prática em desenvolvimento
  2. Participe de reuniões da comunidade, comunique-se com entusiastas do código aberto e aprenda sobre a dinâmica da comunidade
  3. Mentor do projeto, aulas individuais, perguntas e respostas presenciais
  4. Excelentes contribuidores que concluírem o projeto também receberão um bônus de incentivo comunitário de 5.000 yuans (cartão Jingdong equivalente)

Requisitos de participação

  1. Estudantes universitários maiores de 18 anos
  2. Ame a cultura de código aberto e aceite o modelo de colaboração de código aberto

*Se estudantes não universitários estiverem interessados ​​no tema, você está convidado a participar da comunidade para construí-lo e desenvolvê-lo~

Participe do processo

  1. Escolha 1 problema dos seguintes problemas do GitHub

    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. Enviar currículo + proposta de tema para contatos relevantes

    1.   Pessoa de contato: Sr. Tang
    2.   E-mail: [email protected]
  3. Após aprovação, o mentor do projeto entrará em contato com você para comunicar tarefas específicas de desenvolvimento e iniciar o desenvolvimento.

  4. Depois de concluir a tarefa, você precisa escrever um artigo sobre sua experiência e sentimentos ao participar de projetos de código aberto e publicá-lo em uma comunidade terceirizada (InfoQ/CSDN/Zhihu/Open Source China, etc.) ou no blog do campus.

Tempo de atividade

  • Período de inscrição: 1º de setembro a 14 de setembro
  • Notificação da seleção: 15 de setembro
  • Tempo de desenvolvimento: 16 de setembro a 30 de outubro
  • Tempo de publicação do artigo: antes de 10 de novembro
  • Tópico de destaque e anúncio do aluno: 10 a 15 de novembro

Se você tiver alguma dúvida, entre em contato com o Bytedance Cloud Native Assistant:

imagem.imagem

Por favor indique [nome+empresa/escola+cargo]

Companheiro de frango, deepin-IDE de "código aberto" e finalmente conseguiu a inicialização! Bom cara, a Tencent realmente transformou o Switch em uma "máquina de aprendizagem pensante" Revisão de falhas e explicação da situação da Tencent Cloud em 8 de abril Reconstrução de inicialização de desktop remoto RustDesk Cliente Web Banco de dados de terminal de código aberto do WeChat baseado em SQLite WCDB inaugurou uma grande atualização Lista de abril TIOBE: PHP caiu para o nível mais baixo, Fabrice Bellard, o pai do FFmpeg, lançou a ferramenta de compressão de áudio TSAC , o Google lançou um grande modelo de código, CodeGemma , isso vai te matar? É tão bom que é de código aberto - ferramenta de edição de imagens e pôsteres de código aberto
{{o.nome}}
{{m.nome}}

Acho que você gosta

Origin my.oschina.net/u/6210722/blog/10106821
Recomendado
Clasificación