Google se apunta a RISC-V

Por más que Android ostente la etiqueta de software libre y código abierto, lo cierto es que en la inmensa mayoría de implementaciones finales depende de las decisiones de Google. Y esto seguirá siendo así por la cuasi total dependencia que tienen la mayoría de fabricantes y desarrolladores de todo el ecosistema de Google Services.

Por eso han adquirido gran relevancia las últimas declaraciones de Lars Bergstrom (director de ingeniería de Android) en la última  «Cumbre RISC-V» sobre las intenciones de Google con esta arquitectura:

Queremos que RISC-V sea visto como una plataforma de nivel 1 en Android.

Necesitamos hacer mucho trabajo para pasar de un prototipo a algo que realmente esté funcionando y que muestre los mejores resultados en procesadores de su clase.

Incluyendo hasta una hoja de ruta:

Apoyo al emulador inicial para principios de 2023, con soporte para Android RunTime ( ART ) para cargas de trabajo de Java durante la Q1.

Lo que contrasta con lo afirmado hace poco más de seis meses:

Estamos viendo, pero sería un gran cambio para nosotros.

¿Qué ha ido cambiando en todo – y desde bastante antes- éste tiempo?

Sobre todo la percepción que se tiene de ARM. Desde las broncas de su propietario (Softbank) con Qualcomm hasta las idas y venidas respecto a su compra por parte de Nvidia (vetada por el momento) sin olvidar su papel en la guerra comercial USA vs China. ARM ha pasado de ser una «tranquila» compañía británica propiedad de un banco nipón a ser considerado un socio «inestable».

Obviamente también está pesando y mucho, el gran impulso que está recibiendo por parte de China a través de Alibaba, en su enorme y decidida apuesta por liberarse del hard & soft propietario de Occidente y por ende el temor a llegar tarde a lo que la CEO de RISC-V International (Calista Redmond) declaró en la cumbre:

RISC-V es inevitable

Una vez que Google habilitara el funcionamiento de Android sobre RISC-V, pasaría a depender de fabricantes y desarrolladores el respaldar o no la plataforma. La parte positiva de Android RunTime es que cuando sea compatible con RISC-V, una gran parte del ecosistema de aplicaciones de Android vendrá con él. Las aplicaciones de Android se envían como código Java, y la forma en que se convierte en una aplicación ARM es cuando Android Runtime lo compila en código ARM. En cambio, pronto se compilará en código RISC-V sin trabajo adicional del desarrollador. El código nativo que no está escrito en Java, como los juegos y las bibliotecas de componentes, deberá ser portado, pero comenzar con el código Java significa un gran comienzo.

En cualquier caso, estaríamos hablando de una solución a medio-largo plazo. Con indiscutibles ventajas pero también con indiscutibles problemas.