Careers

HTTP servers performance with new protocols

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 

CDNs face a major evolution with the ongoing deployment of HTTP/2 and QUIC (HTTP/3). Their deployment allows improving the quality of the delivery to the user, but could have a negative impact on performance. Indeed, to sustain the highest possible performance (hence the lowest possible cost per Gigabyte streamed), CDNs have relied on heavily optimized HTTP servers and also distributed non-critical content without TLS. Several optimizations have relied on properties of HTTP/1.1 that are absent from the newest protocols.

The goal of this internship is to evaluate the overhead imposed by protocol evolutions on the performance of these HTTP servers, and to identify the bottlenecks in order to propose new optimizations to restore the expected level of performance. The intern will implement these optimizations and measure the resulting performance improvement. The performance measures should be fully automated in order to allow easy identification of performance regressions.

The intern will acquire skills on performance of multithreaded prorgrams and on the latest technologies for improving I/O performance. The intern will also develop his/her rigor in performance evaluation and will be able to put into practice his/her skills for parallel or distributed programming.

#FR#

Les CDNs font face à une évolution majeure avec le déploiement de HTTP/2 et QUIC (HTTP/3). Ces déploiement permettent d’améliorer la qualité de la distribution vers l’utilisateurs, mais pourraient avoir des impacts négatifs sur les performances. En effet, afin d’obtenir la performance la plus élevée possible (et ainsi le cout de distribution par gigaoctet le plus faible), les CDNs s’appuient sur des serveurs HTTP très optimisés, et distribuent parfois le contenu non-critique sans avoir recours au chiffrement (TLS). Plusieurs des optimizations en place s’appuient sur des propriétés spécifiques à HTTP/1.1 et absentes des protocoles plus récents.

Le but du stage est d’évaluer le surcoût imposé par l’évolutions de ces protocols sur la performance des serveurs HTTPs utilisés, et d’identifier les points de contention afin de proposer de nouvelles optimisations pour retrouver le niveau de performance attendue. Le stagiaire implémentera ces optimisations et mesurera la performance de la solution améliorée. Les mesures de performances seront, idéalement, automatisées afin de faciliter l’identification des régressions de performance.

Le stagiaire acquiera des compétences sur la performance des programmes multithreadés, et sur les dernières technologies permettant d’améliorer les performances d’entrée/sortie. Il/Elle developpera aussi sa rigueur dans l’évaluation de performance et pourra mettre à profit ses compétences en programmation paralllèle et distribuée.

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)
  •  Also available for summer-internship (M1) (3 month internship) / Egalement disponible pour un stage de fin d’année (stage de 3 mois )
  • C/C++ and a language to use for scripting (Python, Scala, …)
  • Networking (IP, HTTP), Performance Evaluation, Operating systems
  • Fluent english would be plus / Anglais courant serait un atout

Salary / Salaire 

Up to 1600€/month for M2-level depending on background and skills

#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?