Llegamos a ustedes gracias a:



Noticias

Java y JVM se enfocan en las GPU y los contenedores

[29/03/2019] El desarrollo del lenguaje de programación Java en el futuro enfatizará el soporte para las plataformas de cómputo modernas, como las GPU y los contenedores, reveló Oracle en una presentación el 21 de marzo. Entre otras cosas, los planes de la compañía requieren asegurar que Java brinde un sólido soporte para las GPU y la aceleración por hardware, lo que será clave para soportar el aprendizaje automático y las cargas de trabajo de inteligencia artificial.

El equipo de desarrollo de Java SE (Standard Edition) de Oracle desea configurar Java de modo que la JVM entienda qué cargas de trabajo deben ejecutarse en la GPU y cuáles deben ejecutarse en la CPU. Las GPU, aunque inicialmente se crearon para el procesamiento de imágenes, se utilizan cada vez más para aplicaciones de procesamiento de números, aprendizaje automático e incluso bases de datos.

Oracle afirmó que la JVM también necesita comprender las restricciones de recursos impuestas por los contenedores. Las optimizaciones orientadas a los contenedores incluirán mejoras en el desempeño, así como arranques en frío y en caliente más rápidos. Otras oportunidades y objetivos citados para el desarrollo de Java incluyen:

  • Hacer que Java sea lo más pequeño posible para reducir su presencia y ejecutar las cargas de trabajo con el menor consumo de recursos y el menor costo.
  • Escalabilidad para big data, hacia montones de tamaño petabyte.
  • Predictibilidad a escala.
  • Densidad de datos, con la presentación de los datos en la JVM lo más concisa posible.

Acceso nativo, con la posibilidad de acceder a las bibliotecas en espacios tales como la inteligencia artificial y el aprendizaje automático.

  • Hacer que sea más fácil y más eficiente obtener datos dentro y fuera de la JVM.
  • Productividad del desarrollador y mejoras continuas del lenguaje.

Oracle llamó la atención sobre una serie de proyectos Java innovadores, como Valhalla, un proyecto de incubadora para funciones de máquina virtual y lenguaje; Panamá, para acceder a APIs no Java; y Loom, para facilitar el manejo de la concurrencia en las aplicaciones.

Oracle también señaló la eliminación gradual de la capacidad de finalización de Java, para realizar una limpieza postmortem en objetos que el recolector de elementos no utilizados encontró inalcanzable. La finalización ha hecho que la recolección de elementos no utilizados sea más costosa, ya que el recolector tiene que realizar un paso adicional. Ahora hay mejores formas de lidiar con la tarea, afirmó Oracle, como el subsistema java.lang.ref.

Oracle acaba de lanzar Java Development Kit 12, que ofrece una versión preliminar de las expresiones de cambio para simplificar la codificación. También se puede encontrar en el JDK 12 una capacidad de colecciones mixtas anulables para el recolector de elementos no utilizados G1. El JDK 13 está programado para septiembre. Las funciones aún están por determinarse, aunque se esperan literales de cadena sin formato y una versión de producción de expresiones de cambio.