Open Source Summer 2023 | Bienvenido a registrarse para las tareas de desarrollo de openEuler sig-eBPF

Open Source Summer 2023 | Bienvenido a registrarse para las tareas de desarrollo de openEuler sig-eBPF_Sistema operativo

Summer of Open Source es una serie de actividades de verano iniciadas por el Instituto de Software, la Academia de Ciencias de China y openEuler, cuyo objetivo es alentar a los estudiantes a participar activamente en el desarrollo y mantenimiento de software de código abierto y promover el desarrollo vigoroso de excelentes programas abiertos. comunidades de software fuente. El evento une a las principales comunidades de código abierto para proporcionar proyectos para el desarrollo y mantenimiento de importante software de código abierto y la inscripción abierta a estudiantes universitarios de todo el mundo.

¡La comunidad openEuler tiene actualmente 94 proyectos en línea! Los estudiantes de todas las universidades pueden postularse de acuerdo con la dirección que les interesa o en la que son buenos.

Hoy les traeré la introducción de las tareas sig-eBPF No hace falta decir la importancia de los núcleos programables en los sistemas Linux, sig-eBPF ha lanzado 6 tareas de proyecto en la dirección de los núcleos programables esta vez.

Las tareas del proyecto de sig-eBPF cubren una amplia gama de tareas y son moderadamente difíciles. Bienvenidos a todos a participar en el proyecto sig-eBPF, les proporcionaremos valiosos recursos de aprendizaje y orientación técnica. Su capacidad técnica mejorará rápidamente y se convertirá en un talento técnico altamente competitivo en el campo de los núcleos programables.

Proyecto 1: Optimización del rendimiento de la red veth en red de contenedores basada en ebpf

Descripción del Proyecto:

userfaultfd actualmente implementa el informe de fallas de página al estado del usuario para su procesamiento, pero la estrategia de procesamiento es limitada y todo el proceso tiene varias llamadas al sistema con una sobrecarga de alto rendimiento. Espere que el manejo personalizado de fallos de página se implemente a través de eBPF en lugar de userfaultfd.

Estándar de salida:

1. Un par veth es un dispositivo de red virtual provisto en Linux. Los veth siempre aparecen en pares. Los veth en un par son como los dos extremos de un cable de red. Cuando los datos fluyen desde un punto final, fluirán desde el otro. otro extremo. , veth se puede configurar con ip para realizar la comunicación entre diferentes redes; el modelo de red comúnmente utilizado en la red actual de contenedores de pares veth; al colgar una sección de veth en el pod y el otro extremo en el nodo, la intercomunicación entre se realiza el pod y la red externa 2.
Después de que el tráfico del pod pasa a través del par veth, hay una cierta pérdida de rendimiento (en comparación con la pérdida de rendimiento de la comunicación directa del proceso del host de prueba, que es de alrededor del 40 %). y hay un gran espacio para la optimización, este proyecto espera optimizar el rendimiento de la red de veth basado en la tecnología ebpf;

requisito de habilidades:

1. Tener una cierta comprensión de la red de contenedores y el principio de funcionamiento de la red veth
2. Comprender los principios básicos de ebpf y puede escribir programas simples de ebpf;

Mentor del proyecto:

Página de inicio del proyecto:

Optimización del rendimiento de la red veth en una red de contenedores basada en ebpf · Número #I6Z3S2 · openEuler/open-source-summer - Gitee.com

Proyecto 2: Realizar la función de gobernanza del servicio de fusión de siete capas y limitación de corriente basada en Kmesh

Descripción del Proyecto:

Kmesh es un software de plano de datos de red de servicios. A través del kernel programable, la lógica de orquestación se reduce al sistema operativo para lograr una lógica de orquestación de alto rendimiento y bajo ruido. Actualmente, Kmesh proporciona enrutamiento basado en siete capas, escala de grises y balanceo de carga para clústeres a gran escala, la capacidad del interruptor de circuito y el límite de corriente pueden manejar bien el tráfico repentino, evitar fallas en el servicio y proporcionar una alta confiabilidad para el clúster; este proyecto espera realizar la función de gobernanza del servicio del interruptor de circuito de siete capas y el límite de corriente basado en Kmesh;

Estándar de salida:

1. Admite el acoplamiento con las reglas de gobierno del servicio del interruptor automático de siete capas y el límite de corriente basado en el estándar del protocolo xds
2. Realiza la función de gobierno del servicio del interruptor automático de siete capas y el límite actual basado en ebpf, e incorpóralo en el almacén de códigos Kmesh;

requisito de habilidades:

1. Familiarizarse con el desarrollo del lenguaje go
2. Comprender los principios básicos de ebpf y ser capaz de desarrollar programas simples de ebpf
3. Comprender conceptos básicos como la red de servicios (isito), el protocolo xds y la gobernanza de servicios

Mentor del proyecto:

Página de inicio del proyecto:

Realización de la función de gobernanza del servicio de interrupción de circuito y limitación de corriente de capa 7 basada en Kmesh · Número #I6YTY8 · openEuler/open-source-summer - Gitee.com

Proyecto 3: Realización de equilibrio de carga de servicio de alto rendimiento basado en ebpf

Descripción del Proyecto:

1. El equilibrio de carga del servicio k8s actual se basa en iptables. En el caso de un clúster grande, iptables tiene problemas de rendimiento debido a su mecanismo de enrutamiento lineal. 2. A través de la tecnología programable ebpf, se registra la información de enrutamiento del servicio
en el clúster k8s. en el mapa bpf y monte el programa bpf en el punto de conexión correspondiente de la pila de protocolos del kernel para lograr una lógica de equilibrio de carga de servicio de alto rendimiento

Estándar de salida:

1. Plano de control: implemente según el idioma go, suscriba la información del servicio de clúster k8s y conviértala en un mapa ebpf, proporcione ciertas capacidades DFX (línea de comando, registro) 2. Plano de datos: realice 1 ~ 2 servicios de alto rendimiento basados ​​en
ebpf información del mapa Método de equilibrio de carga
3. Integración de código en openEuler

requisito de habilidades:

1. Tener cierta comprensión de la tecnología nativa de k8s/cloud, familiarizarse con golang
2. Comprender los principios básicos de ebpf y puede escribir programas simples de ebpf

Mentor del proyecto:

Página de inicio del proyecto:

Equilibrio de carga de servicios de alto rendimiento basado en ebpf · Número #I6Z8XA · openEuler/open-source-summer - Gitee.com

Proyecto 4: Sistema de Alta Confiabilidad Basado en Redundancia Dinámica

Descripción del Proyecto:

La confiabilidad es la base de los sistemas en áreas clave y su objetivo es garantizar la ejecución estable y correcta de los sistemas y aplicaciones en condiciones en las que pueden ocurrir errores de hardware. La redundancia multimodo a nivel de proceso es la tecnología principal para garantizar la confiabilidad. Su idea básica es: para un proceso, ejecute varias copias al mismo tiempo y compare regularmente las diferencias entre las copias. Si hay un problema con una copia, usar otras copias Se corrige para asegurar la absoluta alta confiabilidad del sistema. Sin embargo, el rendimiento de ejecución multimodo actual es deficiente y el costo es alto, y la realización de tecnología de redundancia multimodo de bajo costo es el foco de investigación en la industria y la academia.

El objetivo de este proyecto es lograr una redundancia multimodo de proceso eficiente y dinámica, reducir el costo de hardware de la ejecución redundante y optimizar el rendimiento de extremo a extremo del sistema redundante. A través de este proyecto, puede dominar los principios básicos de la computación tolerante a fallas y comprender profundamente el proceso central de implementación y ejecución de los procesos del sistema operativo. Los expertos en orientación de proyectos son académicos nacionales destacados y han publicado muchos artículos en las principales conferencias internacionales, como OSDI y ATC.

Estándar de salida:

1. Envíe el código para realizar la función de redundancia dinámica
2. Realice pruebas y verificaciones funcionales en aplicaciones típicas
3. Simule fallas de hardware mediante inyección de fallas, prueba de estabilidad y corrección del sistema y generación de informes de prueba de rendimiento

requisito de habilidades:

1. Conocimiento básico: familiarizado con el lenguaje C, comprender la programación de Linux, comprender el proceso, la llamada al sistema, libc y otros conceptos básicos del sistema operativo.
2. Familiarizado con computación paralela, computación tolerante a fallas, ebpf y otras capacidades de programación.
3. Capacidad de investigación: capaz de leer y comprender documentos de vanguardia de las principales conferencias y capaz de diseñar sistemas y arquitecturas.

Mentor del proyecto:

Hu Wanming/Wang Xu/Ren Yuxin

Página de inicio del proyecto:

Sistema de alta confiabilidad basado en redundancia dinámica · Edición #I6YJAD · openEuler/open-source-summer - Gitee.com

Proyecto 5: trabajo técnico de compatibilidad de versiones de software eBPF

Descripción del Proyecto:

Resuelva el problema de compatibilidad de la versión de lanzamiento de varios núcleos del software eBPF

Estándar de salida:

1. Construir la infraestructura de gestión de openEuler BTF
2. Cooperar con el proyecto eunomia para proporcionar soluciones de compatibilidad de software openEuler eBPF;

requisito de habilidades:

1. Familiarizado con los principios técnicos de eBPF y el proceso de desarrollo de software de eBPF
2. Familiarizado con el proceso de construcción del kernel de Linux
3. Familiarizado con btfhub-archive, eunomia y otros proyectos de código abierto;

Mentor del proyecto:

Página de inicio del proyecto:

eBPF versión de software compatibilidad trabajo técnico Problema #I6YTBL openEuler/open-source-summer - Gitee.com

Proyecto 6: Darse cuenta de la capacidad QoS de la red de entrada basada en oncn-bwm en el escenario de implementación mixta

Descripción del Proyecto:

En el escenario de implementación mixta, la gestión de QoS de red es necesaria para los servicios fuera de línea. El proyecto oncn-bwm actual en la comunidad openEuler admite la gestión de QoS de red en la dirección saliente de la implementación mixta, que puede lograr la prioridad de ancho de banda para servicios en línea < 100 ms; sin embargo, actualmente no proporciona tráfico entrante Capacidad de administración de QoS de red: una vez que una gran cantidad de paquetes ingresan desde la dirección de entrada sin control de ancho de banda, se ocupará una gran cantidad de CPU del nodo, lo que afectará la programación normal y procesamiento de servicios en el nodo, y necesita ser complementado;

Estándar de salida:

1. La idea de diseño y el esquema para realizar la gestión de QoS de red entrante basada en ebpf
2. Enviar el código de gestión de QoS de red entrante y combinarlo en el almacén del proyecto oncn-bwm;

requisito de habilidades:

1. Familiarizarse con el desarrollo del lenguaje C, comprender los principios básicos de ebpf y ser capaz de desarrollar programas simples de ebpf
2. Comprender tc y otras tecnologías de control de flujo;

Mentor del proyecto:

Implementación de la capacidad QoS de red de entrada basada en oncn-bwm en escenarios de implementación mixtos Problema #I6YW0T openEuler/open-source-summer - Gitee.com

Calendario de eventos y participación

Actualmente en proceso de registro de alumnos, comunicación con tutores y presentación de solicitudes de proyectos.

Open Source Summer 2023 | Bienvenido a registrarse en openEuler sig-eBPF tareas de desarrollo_Internship_02

Supongo que te gusta

Origin blog.csdn.net/openEuler_/article/details/130728893
Recomendado
Clasificación