fbpx
ActualitéApps

Oracle lance une proposition d’accélération matérielle Java

Une proposition flottant actuellement dans la communauté Java utiliserait l’accélération matérielle pour améliorer les calculs en bloc dans la plate-forme.

Project Trinity explorerait l’amélioration de l’exécution des calculs d’agrégats en vrac sur Streams en déchargeant les calculs sur les accélérateurs matériels. Les flux en Java permettent aux développeurs d’exprimer des calculs afin que le parallélisme des données puisse être exploité efficacement, et la fonctionnalité Stream en Java Standard Edition 8 est destinée au traitement des données de façon déclarative tout en tirant parti des architectures multicœurs.

« Ces calculs sont les principaux candidats pour tirer parti des instructions améliorées basées sur les données sur les CPU, telles que les instructions SIMD ou le déchargement sur les accélérateurs matériels, tels que le co-processeur SPARC Data Accelerator », a déclaré Karthik Ganesan, du groupe d’ingénierie des performances et des applications d’Oracle, en Sa proposition a été faite vendredi dans un forum de discussion OpenJDK par courrier électronique.

Le projet explorerait comment les bibliothèques comme Streams peuvent être améliorées pour utiliser les fonctionnalités matérielles de traitement des données pour un traitement plus efficace. Le succès serait mesuré en fonction de la vitesse améliorée et de l’efficacité des ressources pour une gamme de calculs sous déchargement, la facilité de l’accélération du matériel et en assurant qu’il n’y ait pas de temps ou d’espace pour les calculs non accélérés.

Trinity explore également des idées comme la construction d’une bibliothèque de Streams optimisée pour décharger les accélérateurs matériels ou un GPU et l’optimisation du compilateur Graal pour transformer automatiquement les pipelines Streams appropriées et utiliser les fonctionnalités matérielles de traitement de données. Le projet Valhalla, qui se concentre sur la JVM avancée et les fonctionnalités de langage comme les types de valeur, pourrait également prendre en compte le mélange pour étendre la gamme d’accélération efficace aux flux de types de valeur.

Les votes sur la Trinité sont attendus avant le 4 mai, mais les premiers commentaires sur la proposition ont été mitigés. Une personne sur la liste de diffusion a suggéré d’utiliser le Projet Sumatra existant, qui vise à permettre aux applications Java de profiter des GPU, pour les objectifs proposés par Trinity. Ganesan a répondu que Sumatra était à propos de la traduction d’un code d’octet pour s’exécuter sur un GPU, alors que Trinity concernait les API pour les opérations analytiques, qui peuvent être déchargées aux accélérateurs. Un autre commentateur a suggéré que Trinity prend également en compte Project Panama, à propos de l’interconnexion de la JVM et du code natif.

Photo : © Oracle

Afficher plus
Bouton retour en haut de la page