Cómo la Computación de 64 bit Mejorará la Experiencia Móvil

Para todo desarrollador que busque ofrecer una experiencia móvil superior a sus usuarios finales, vale la pena investigar acerca de la computación de 64 bits. Con una potente arquitectura de 64 bits al alcance de la mano, los desarrolladores de smartphones y tabletas electrónicas aprovecharán los beneficios de grandes aumentos de rendimiento, una memoria direccionable de más de 4 GB y mayor seguridad.

Has recorrido un largo camino, muchacha

Desde su aparición en la supercomputadora Cray-1* en 1975, la arquitectura de computación de 64 bits ha sido considerada el pináculo de la capacidad de cálculo. Durante las dos décadas siguientes, esta tecnología comenzó a incorporarse a servidores de la clase de microcomputadoras, y a estaciones de trabajo de escritorio de alta gama a mediados de la década de 1990.

En la actualidad, los procesadores de 64 bits son algo de lo más común y pronto serán estándares en smartphones y tabletas. Con la arquitectura de 64 bits al alcance de la mano, los desarrolladores de smartphones y tabletas electrónicas aprovecharán los beneficios de grandes aumentos de rendimiento, una memoria direccionable de más de 4 GB y conjuntos de datos en memoria más grandes.

Mejor para la seguridad

Además, esta arquitectura protege más los datos de los dispositivos y las redes empresariales contra amenazas para la seguridad. De acuerdo con un informe de Nielsen de julio de 2014, los usuarios de iPhone* y Android* de al menos 18 años de edad dedicaron más de 30 horas al mes a usar aplicaciones móviles durante 2013, un incremento del 65 % con relación a 2012. Los dispositivos móviles también están penetrando en el lugar de trabajo, donde se necesitan cálculos más complejos y mayor seguridad. Symantec identificó en 2012 más de 200 millones de definiciones de virus, una cantidad aproximada a las que identificó en total entre 1991 y 2011. Además, es cada vez más común que los smartphones y las tabletas se usen como billeteras electrónicas o guarden datos de identidad personal; el hardware de los dispositivos móviles también debe ponerse al día para proteger al usuario y brindarle una mejor experiencia.

Intel y Android

Software y Servicios de Intel ha estado ayudando desde 2004 a lograr adelantos en el kernel de Linux y a posibilitar el uso de la computación de 64 bits. Intel interviene en el desarrollo de todos los navegadores de código fuente abierto (incluidos Chromium* y Blink*) y colabora con los compiladores GCC, los compiladores comerciales, los hipervisores, los controladores SLC y “prácticamente todo lo que toca el sistema”, dijo Joe Daly, director de ingeniería del Centro de Tecnología de Código Fuente Abierto (Open Source Technology Center, OTC), que forma parte de Software y Servicios de Intel.

Este grupo creó una línea principal de Android con la finalidad de proporcionar un punto de partida común a partir del cual los grupos de plataformas de hardware de Intel puedan realizar sus actividades de programación para acceder a la capacidad del silicio. Esta línea principal se usa también como referencia para variaciones de Android que requieren una implementación de referencias limpia de Android.

Gran parte de los esfuerzos del grupo se centran en Android L y su runtime de Android (ART) de 64 bits. Si bien Intel ha trabajado con versiones anteriores del sistema operativo y el runtime, la versión de este año hace uso de la funcionalidad y el rendimiento que ofrece el hardware de 64 bits. Aprovecha las instrucciones empaquetadas y la escritura de compiladores de runtime que optimizan el código del hardware de Intel.

Beneficios de la plataforma móvil de 64 bits

Kumar Shiv, ingeniero principal y arquitecto de rendimiento de Intel para los runtimes de Dalvik de 32 bits y ART de 64 bits, dijo que son varios los beneficios que recibe el usuario de las plataformas móviles de 64 bits. “Con 64 bits se podrían mejorar muchas de las cosas que percibe el usuario”, comentó Shiv. Los ejemplos más evidentes serían los ciclos de cifrado y descifrado de las aplicaciones seguras, y los patrones de codificación y decodificación en la reproducción de medios. Cuando se realizan muchas operaciones lógicas en grandes flujos de bits, trabajar en 64 bits es una gran ventaja. “Algunos algoritmos sofisticados solo funcionan en sistemas de 64 bits porque los de 32 bits serían demasiado lentos. Para operaciones matemáticas complejas, es indispensable la tecnología de 64 bits”, explicó Shiv.

En su pila de referencias, Intel brinda una implementación completa de Android, incluidos los procedimientos recomendados para la seguridad y la privacidad. El sistema operativo Linux mismo también contiene prestaciones de seguridad que solo funcionan en el modo de procesador de 64 bits, prestaciones que protegen en el nivel de ataque más bajo. “Y en Android, hay verificación de arranque, administración de credenciales, protección de contenidos y otras ventajas que convierten a los teléfonos y las tabletas Android en una vía de acceso segura a la nube”, contó Daly.

Ahora que el mundo está abriendo sus brazos a la era de los macrodatos (o big data), la seguridad que se puede lograr con la computación de 64 bits pasará a ser necesaria en los dispositivos móviles. “Desde el punto de vista de los dispositivos de la Internet de las cosas, esa es la mayor inquietud”, dijo Shiv. “Estos dispositivos tienen todos nuestros datos personales y está todo en la Internet. Es necesario hacer que esos dispositivos sean lo más seguros posible”.

Más allá de la seguridad

La fotografía digital y los efectos que hagan un uso intensivo de gráficos también se beneficiarán con las plataformas de 64 bits. Según Daly, “Ahora, los smartphones también son cámaras. Editar dos o tres fotos a la vez, trabajar con imágenes de alto rango dinámico (HDR) y extraer escenas requiere de mucha memoria”. Con esta plataforma, se podría mejorar la capacidad fotográfica y de edición en dispositivos móviles.

Incluso las aplicaciones de uso general podrían sacar provecho de las plataformas de 64 bits. Sobre la base de sus observaciones de la migración a 64 bits de las versiones empresariales de Linux y Windows* en la década de 2000, Daly dijo que las aplicaciones podrían tener mejoras de rendimiento del 15 % cuando los proveedores de software independientes hagan el cambio a plataformas de 64 bits. Si trazáramos una línea que marcara el promedio, hay cosas que quedarían por debajo y otras por arriba de esa línea. El cifrado, el procesamiento de imágenes y todo lo que pueda utilizar instrucciones de datos empaquetadas se beneficiaría con los 64 bits. Las aplicaciones muy optimizadas para 32 bits quizá no tendrían nada por ganar. “Puede haber aplicaciones muy optimizadas para 32 bits que quizá podrían funcionar ligeramente peor a corto plazo”, contó Daly.

¿Se vienen cambios en el código?

Un punto positivo clave del surgimiento de dispositivos de 64 bits es que las aplicaciones Java puras se ejecutarán sin cambios en el runtime de Dalvik de 32 bits y en el ART de 64 bits independientemente de que se trate de un dispositivo basado en ARM o la Arquitectura Intel. Pero si la aplicación contiene código nativo o llamadas por medio de la Interfaz Nativa Java (JNI), tendrá que volver a ser compilada. Si los desarrolladores quieren aprovechar la arquitectura de 64 bits, deberán crear múltiples binarios.

Para desarrolladores de código nativo que planeen hacer la transición, el proceso será diferente. “Si un desarrollador sólo quiere que su aplicación funcione en Android L, simplemente debe recompilar y volver a probar la aplicación. Pero si quiere cambiar a 64 bits, esto implica portación y también tendrá que recompilar las partes nativas con el nuevo NDK”, detalló Daly. NDK es el Kit de Desarrollo Nativo de Android R10. En segundo lugar, ahora también disponible, está el SDK de Android, que proporciona bibliotecas API y herramientas para compilar, probar y depurar aplicaciones para Android. También se ofrece empaquetado con el IDE de Eclipse y funciona con el conjunto de herramientas Experiencia Integrada de Desarrollo Nativo de Intel® (Intel® INDE, en versión beta). La tercera parte es Android L (que a veces se lo llama “Android L-dessert” por la convención del nombre de la plataforma). Intel misma ofrece las mejores herramientas de la industria para el desarrollo en 64 bits, incluidos compiladores, optimizadores y un completo Programa de Colaboración de Software.

 

“Cuando el poder es mucho, la responsabilidad es grande”

 

A medida que los desarrolladores se preparan para la inminente ola de los 64 bits, se debe producir una sincronización armoniosa en la cual se equilibren el hardware y el software. “Esperamos que la mayoría de las aplicaciones funcionen bien, pero podría desarrollarse alguna que no tenga buen rendimiento debido a la cantidad física de memoria disponible; es probable que a los dispositivos les lleve un tiempo ponerse al día con los 64 bits en cuanto a la capacidad de memoria se refiere”. Quizá los desarrolladores deban ofrecer versiones de 32 y 64 bits de sus aplicaciones durante un tiempo.

 

El prolongado historial de Intel en hardware de 64 bits combinado con su experiencia en el ámbito de la optimización y la colaboración para la creación de software han preparado el camino hacia el cambio de plataforma en tabletas y smartphones. Sin las anteriores limitaciones de memoria y velocidad, diseñar para dispositivos móviles ahora depende de la imaginación de los desarrolladores y de cómo deciden usar ese poder.

 

Este artículo fue escrito en colaboración con Raj Lahari.

Tags