Careers

Evaluating Scala/Modern JVM performance for Video Streaming

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 

To maximize performance, video-serving software has traditionally been implemented in a mix of C and C++. Yet, advances in the JVM and the increasing performance of processors have allowed the JVM (Java Virtual Machine) to be used in high-performance applications (e.g., Cassandra, Spark, Kafka, Akka, VertX).

In Broadpeak’s current portfolio, some servers target performance in the range of 10 Gbps streaming capacity, while other target 40-100 Gbps. While the latter are likely to remain the realm of native languages, the first may benefit from using JVM-based languages. Indeed, the JVM brings a number of benefits such as higher security, higher development productivity, easier evolution, as well as a large ecosystem of production-quality libraries licensed under Apache2 license and convenient build tools.

The goal of the internship is to implement a JVM-based video-server. During the internship, the intern will implement, benchmark, and optimize video-serving software to support some key use-cases of Broadpeak’s products.

The expected outcome of the internship are the implementation, with benchmark of this on servers. The goal is to provide an update on what performance could be achieve with JVM-based implementation, as well as some hints on the implementation complexity of video-serving use cases in that language and recommendations regarding libraries that could be used for a product

#FR#

Afin de maximiser les performances, les logiciels servant de la video ont traditionnelement été écrits en C et C++. Cependant, les évolutions de la JVM (Java Virtual Machine) et la performance croissante des processeurs ont permis à la JVM d’être utilisée dans des applications haute-performance (Cassandra, Spark, Kafka, Akka, VertX).

Parmis les produits de Broadpeak, certains serveurs ciblent des performances autour de 10 Gbps de capacité de streaming, alors que d’autres ciblent 40-100 Gbps. Ces derniers resteront vraisemblablement uniquement a la portée d’implémentations en langages natifs, mais les premiers pourraient eux, par contre, bénificer et l’écosystème et des langages basés sur la JVM. En effet, la JVM apporte un certain nombre de bénéfice tel qu’une sécurité plus elevée, une productivité de developpement améliorée, ainsi qu’un large écosystème de bibliothèques de haute qualité ainsi que des outils de developement pratiques.

Le but du stage est d’implémenter un serveur vidéo basé sur la JVM. Au cours du stage, le stagiaire implémentera, évaluera puis optimisera un logiciel de serveur vidéo pour supporter d’importants cas d’usages au sein de produits Broadpeak.

La sortie attendue du stage sont cette implémentation ainsi qu’une évaluation sur des serveurs, ayant pour objectif de mettre à jour les informations sur la performance pouvant être atteinte par des implémentations basées sur la JVM, ainsi que quelques indications quand à la complexité d’implémentation de cas d’usages lié à la livraison de vidéo dans le langage cible ainsi que des recommendations sur les bibliothèques pouvant être utilisées pour un produit.

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++, Java, Javascript
  • Networking (IP, Web)
  • Adaptive Streaming, Video Formats would be plus / Adaptive Streaming et Formats Video seraient un atout

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?