Careers

NVME-based caching in Video-Delivery CDNs

Internship / Stage – Cesson-Sévigné, France

Context / Contexte

Broadpeak is a worldwide leader in content delivery network (CDN) and video streaming technologies. In addition to its head office located in Rennes (Cesson-Sévigné), France, Broadpeak is established in more than 10 countries. The fast-growing global company (+ 45% on average over the last 3 years) focuses on delivering innovative solutions for its customers, adapting to a rapidly-changing industry. Broadpeak is expanding and has numerous open hiring positions, including for junior engineers.

#FR#

Broadpeak est un leader mondial des technologies de CDN et de streaming video. En plus de ses bureaux principaux à Rennes, (Cesson-Sévigné), France, Broadpeak est installé dans plus de 10 pays. La société, en forte croissance,  (+ 45% en moyenne sur les trois dernières années) s’applique à fournir des solutions innovantes pour ses clients, en s’adaptant à une industrie évoluant rapidement. Broadpeak est en expansion et a de nombreux postes à pourvoir, y compris pour des ingénieurs nouvellement diplomés.

Internship / Stage 

In HTTP-based video-delivery CDNs, a critical component are caches which serve clients with content obtained from an origin server. These caches store the content they obtain in RAM or onto disks for serving additional clients without fetching them from the origin. For most use cases, access to disk remains the limiting factor, thus requiring significant amount of costly memory to avoid these accesses and achieve good performance.

The goal of the internship is to (i) benchmark the various approaches to provide storage such as regular disks, and NVME-based SSDs, (ii) implement a caching module that leverages the specific properties of NVMe disks to improve performance and reduce overheads, (iii) if time permits extend the caching module to provide reliability in software as NVME disks are not compliant with hardware RAID.

The outcome of the internship will be a caching module leveraging specific properties of NVME disks, and benchmark tools and results for the various types of disks with the two approaches to caching (i.e.,  regular file-system based or NVME-specific). The intern will develop skills in performance optimization and work on the latest generation of server hardware.

#FR#

Les serveurs de caches fournissant aux clients du contenu obtenu depuis un serveur d’origine sont des éléments clés des réseaux de distributions de contenus en HTTP (CDNs). Ces caches stockent le contenu qu’ils obtiennent en RAM ou sur des disques afin de pouvoir servir des clients supplémentaires sans devoir récuperer, à nouveau,  le contenu depuis le serveur d’origine. Dans la plupart des cas, l’accès aux disques reste le facteur limitant, ce qui requiert d’ajouter de grandes quantités de mémoires aux serveurs afin d’éviter les accès disques et garantir de bonnes performances.

Le but du stage est de (i) évaluer différentes approches pour fournir ce stockage tel que des disques classiques, mais aussi des SSDs basés sur NVME, (ii) implémenter un module de cache qui s’appuie sur les propriétés spécifiques des disques NVME afin d’améliorer la performance, et de réduire les overheads, (iii) si le temps le permet, d’étendre ce module de cache pour fournir des fonctions de fiabilisation en logiciel puisque les disques NVME ne sont pas compatible avec le RAID matériel.

La sortie attendue du stage sera un module de cache exploitant les propriétés spécifiques de disques NVME, des outils de benchmarks, ainsi que des résultats d’évaluation pour les différents types de disques avec les deux approches pour le stockage (c-a-d, basé sur le système de fichier, ou spécifique aux disques NVMEs). Le stagiaire acquierera des compétences en optimisation de performance, et travaillera sur les dernières générations de matériel et de serveurs.

Education and Skills / Compétences

  • Last-year engineering school or M2 in computer science (6 month internship) / Etudiant en dernière année d’école d’ingénieur ou Master 2 en informatique (stage de 6 mois)
  • C/C++
  • Asynchronous and Multi-threaded programming / Programmation multi-threadé et asynchrone
  • Networking (IP, HTTP), Linux system /Réseau (IP, HTTP), Système Linux
  • Peformance Optimization, Benchmarking,Knowledge of server hardware (NUMA, NVME…) would be pluses / Optimisation et évaluation de performance, Connaissance du matériel serveur (NUMA, NVME) seraient des atouts

Salary / Salaire 

Up to 1600€/month depending on background and skills for full-time internship

#FR#

Jusqu’à 1600 euros par mois en stage à temps plein en fonction de l’expérience et des compétences

 

 

POSTULEZ A CETTE OFFRE

First Name*

Last Name*

Email*

Phone

Position

Availability

Upload resume*

Upload cover letter

Anything you would like to add?