25/06/2018

Bolt : l’optimisation des binaires rendue open source par Facebook

Facebook a annoncé l’ouverture de l’outil d’optimisation et de mise en page binaire BOLT il y a quelques jours. Elle cherche ainsi à aider les ingénieurs à accélérer leurs applications à grande échelle.

Amélioration de la gestion mémoire

Selon Facebook, BOLT peut être utilisé pour optimiser le placement des instructions en mémoire, et est conçu pour réduire le temps d’exécution du processeur de 2 % à 15 %, bien que dans la plupart des cas, il le réduit 8 %.

« Les services très complexes, tels que ceux de Facebook, ont de grandes bases de code source pour offrir un large éventail de fonctionnalités. Même après avoir compilé le code machine de l’un de ces services, il peut aller de 10 à 100 mégaoctets, ce qui est souvent trop important pour tenir dans un cache d’instructions CPU moderne. En conséquence, le matériel passe un temps considérable de traitement — près de 30 % dans de nombreux cas — à envoyer un flux d’instructions de la mémoire au CPU », écrit Maxim Panchenko, ingénieur logiciel chez Facebook.

Indépendant du compilateur et sans code source

Lors de la conception de BOLT, Facebook voulait à satisfaire trois exigences : être compatible avec le code généré par tout compilateur, capable de supporter du code n’ayant pas de code source disponible et supporter du code écrit manuellement en assemblage pour optimiser sa disposition.

BOLT réorganise donc le code à l’intérieur des fonctions en fonction de leur profil d’exécution, explique l’entreprise. Le corps de la fonction est divisé en fonction de la fréquence à laquelle le code est exécuté, puis il effectue une disposition optimale des blocs de code à chaud en fonction du profil du graphique d’appel.

En plus d’améliorer la disposition du code, BOLT effectue des optimisations en utilisant le profil de l’application et en exploitant le code machine, comme le placement avancé de la table de saut, le pliage du code identique, l’optimisation PLT et l’élimination constante de la charge.

Source

Actualités