myScience
Zurich
Il y a 13 heures
Mémoire de Master
- 25 février 2026
- 100%
- Zurich
Résumé de l'emploi
Rejoignez IBM Zurich Research Laboratory pour un stage de Master. Vous travaillerez dans un environnement de recherche dynamique et inclusif.
Tâches
- Développez de nouveaux opérateurs cuDF pour Velox sur GPU.
- Analysez les performances des requêtes SQL avec des benchmarks.
- Intégrez et testez les opérateurs dans Velox pour améliorer l'efficacité.
Compétences
- Compétences solides en C++ et Python, expérience en bases de données.
- Connaissance des systèmes de traitement de données et GPU.
- Capacité à apprendre et à travailler de manière autonome.
Est-ce utile ?
À propos de cette offre
Mémoire de Master
Lieu de travail Zurich - Région de Zurich - SuisseCatégoriePostePublié24 février 2026Mémoire de Master
Velox est un moteur d'exécution open-source haute performance pour les charges de travail de traitement de données à grande échelle, y compris l'exécution de requêtes SQL. Il fournit un modèle d'exécution modulaire basé sur des opérateurs dans lequel les plans de requêtes relationnelles sont exprimés comme des compositions d'opérateurs implémentant des opérations primitives. Récemment, des frameworks de traitement de données accélérés par GPU tels que NVIDIA cuDF ont démontré des avantages de performance significatifs ; cependant, il subsiste des écarts entre les abstractions exposées par cuDF et les exigences des opérateurs des moteurs SQL modernes.
L'objectif de ce projet est de découvrir, concevoir et implémenter systématiquement de nouveaux opérateurs cuDF qui correspondent mieux aux motifs computationnels apparaissant dans l'exécution des requêtes Velox. L'étudiant utilisera une analyse basée sur les charges de travail et des outils automatisés de découverte d'opérateurs tels que OpenEvolve (ou des techniques similaires) pour étudier les plans de requêtes SQL et les traces d'exécution, identifier des motifs de calcul récurrents et proposer de nouveaux opérateurs natifs GPU. Un thème central du projet est l'exploration des niveaux d'abstraction des opérateurs, en investiguant des questions telles que : Qu'est-ce qui constitue un opérateur significatif à exécuter sur un ou plusieurs GPU ? Quelle granularité ces opérateurs doivent-ils avoir ? Comment la granularité des opérateurs affecte-t-elle la performance, la généralité et la maintenabilité ?
Les nouveaux opérateurs cuDF développés seront intégrés dans Velox via des implémentations d'opérateurs supportées par GPU, accompagnées de tests unitaires et d'intégration complets. Leur efficacité sera évaluée à l'aide du benchmark industriel standard TPC-H.
Le poste est prévu pour se dérouler chez IBM Research à Zurich pour une durée d'un semestre. La date de début la plus proche est août 2026. Notez que ce poste est non rémunéré.
Exigences
Expérience/compétences préférées
Étapes prévues du projet
Nous encourageons activement et soutenons les étudiants à publier dans des conférences de premier plan, par exemple NeurIPS, VLDB. Nous attendons également que les résultats de ce projet aboutissent à une contribution open-source.
Diversité & environnement de travail
IBM s'engage à promouvoir la diversité et l'inclusion au sein du lieu de travail. Vous rejoindrez un environnement de recherche ouvert et multiculturel qui valorise les perspectives différentes et soutient des modalités de travail flexibles. Notre objectif est d'aider tous les genres et origines à s'épanouir professionnellement tout en maintenant un équilibre sain entre vie professionnelle et vie privée.
Comment postuler
Si ce poste vous intéresse, veuillez soumettre votre candidature via le bouton ci-dessous.
Découverte et conception de nouveaux opérateurs cuDF pour supporter une exécution Velox efficace sur GPU
Réf. 2026_008Velox est un moteur d'exécution open-source haute performance pour les charges de travail de traitement de données à grande échelle, y compris l'exécution de requêtes SQL. Il fournit un modèle d'exécution modulaire basé sur des opérateurs dans lequel les plans de requêtes relationnelles sont exprimés comme des compositions d'opérateurs implémentant des opérations primitives. Récemment, des frameworks de traitement de données accélérés par GPU tels que NVIDIA cuDF ont démontré des avantages de performance significatifs ; cependant, il subsiste des écarts entre les abstractions exposées par cuDF et les exigences des opérateurs des moteurs SQL modernes.
L'objectif de ce projet est de découvrir, concevoir et implémenter systématiquement de nouveaux opérateurs cuDF qui correspondent mieux aux motifs computationnels apparaissant dans l'exécution des requêtes Velox. L'étudiant utilisera une analyse basée sur les charges de travail et des outils automatisés de découverte d'opérateurs tels que OpenEvolve (ou des techniques similaires) pour étudier les plans de requêtes SQL et les traces d'exécution, identifier des motifs de calcul récurrents et proposer de nouveaux opérateurs natifs GPU. Un thème central du projet est l'exploration des niveaux d'abstraction des opérateurs, en investiguant des questions telles que : Qu'est-ce qui constitue un opérateur significatif à exécuter sur un ou plusieurs GPU ? Quelle granularité ces opérateurs doivent-ils avoir ? Comment la granularité des opérateurs affecte-t-elle la performance, la généralité et la maintenabilité ?
Les nouveaux opérateurs cuDF développés seront intégrés dans Velox via des implémentations d'opérateurs supportées par GPU, accompagnées de tests unitaires et d'intégration complets. Leur efficacité sera évaluée à l'aide du benchmark industriel standard TPC-H.
Le poste est prévu pour se dérouler chez IBM Research à Zurich pour une durée d'un semestre. La date de début la plus proche est août 2026. Notez que ce poste est non rémunéré.
Exigences
- Maîtrise avancée de C++ et Python ;
- Expérience en benchmarking et profilage de performance ;
- Connaissances de base en bases de données et SQL ;
- Capacités d'apprentissage et de travail en autonomie.
Expérience/compétences préférées
- Expérience avec les moteurs SQL, les systèmes de traitement de données ou la programmation GPU (CUDA, cuDF, RAPIDS, etc.) ;
- Familiarité avec l'exécution de requêtes, l'algèbre relationnelle, les formats de données en colonnes et la gestion de la mémoire ;
- Familiarité avec l'optimisation de requêtes, les techniques de compilation ou les systèmes basés sur IR ;
- Expérience de recherche préalable ou publications dans les domaines des systèmes, bases de données ou calcul haute performance.
Étapes prévues du projet
- Étudier l'architecture de Velox et son modèle d'exécution d'opérateurs.
- Revoir les primitives cuDF et leurs usages actuels dans l'exécution SQL.
- Analyser les charges de travail SQL et les traces d'exécution (TPC-H) pour identifier les inefficacités et abstractions manquantes, par exemple les retours à l'exécution CPU, les séquences d'opérations courantes.
- Découvrir des motifs de calcul récurrents et des opérateurs candidats.
- Explorer systématiquement les niveaux d'abstraction des opérateurs, définir et évaluer des frontières alternatives d'opérateurs.
- Concevoir et implémenter de nouveaux opérateurs cuDF et les intégrer dans Velox.
- Développer des tests unitaires et d'intégration pour assurer la correction et la robustesse.
- Évaluer la performance à l'aide du benchmark TPC-H, en analysant le débit, l'efficacité des kernels et le comportement mémoire.
- (objectif ambitieux) Dériver des principes généraux de conception d'opérateurs et préparer les résultats pour publication.
Nous encourageons activement et soutenons les étudiants à publier dans des conférences de premier plan, par exemple NeurIPS, VLDB. Nous attendons également que les résultats de ce projet aboutissent à une contribution open-source.
Diversité & environnement de travail
IBM s'engage à promouvoir la diversité et l'inclusion au sein du lieu de travail. Vous rejoindrez un environnement de recherche ouvert et multiculturel qui valorise les perspectives différentes et soutient des modalités de travail flexibles. Notre objectif est d'aider tous les genres et origines à s'épanouir professionnellement tout en maintenant un équilibre sain entre vie professionnelle et vie privée.
Comment postuler
Si ce poste vous intéresse, veuillez soumettre votre candidature via le bouton ci-dessous.
Dans votre candidature, veuillez mentionner myScience.ch et référencer JobID69291.