Componentes

VISC y las instrucciones virtuales

La empresa Soft Machines lanzó el concepto de núcleos y threads virtuales para incrementar la cantidad de instrucciones ejecutadas por ciclo de reloj (IPC) en los chips, asegurando que puede superar tanto a la arquitectura ARM como a la x86 en términos de performance por watt. El concepto se llama VISC (Virtual Instruction Set Computing) y podría revolucionar el rendimiento de los chips si demuestra en la práctica lo que promete en la teoría.

Hace más de un año que Soft Machines presentó su novedosa arquitectura de instrucciones virtuales (VISC), y recientemente anunció que la misma se encuentra disponible para licenciamiento. En una era en la que las mejoras en IPC son cada vez más difíciles de lograr, VISC propone una solución para aumentar el número de instrucciones por ciclo de reloj que pueden procesarse en un único thread y en una determinada unidad de tiempo. Dicha solución consiste básicamente en descomponer la carga de trabajo de un único thread para repartirla entre múltiples núcleos.

LA BÚSQUEDA DE MAYOR PERFORMANCE

Desde los años en que el Pentium 4 chocó contra la pared de los 4 GHz se han intentado diversas opciones para mejorar la performance de los procesadores: mayor suministro energético, mayores frecuencias, paralelismo a nivel de instrucciones, mejoras en predicción de bifurcaciones y aumento en la cantidad de núcleos acompañado de un mayor nivel de paralelismo a nivel de thread.

Los métodos ensayados consiguieron diferentes niveles de éxito en el intento por mejorar la performance. Para algunas tareas, como el procesamiento gráfico, que son inherentemente paralelas, resulta relativamente sencillo aprovechar las ventajas del uso de cientos o miles de núcleos. Sin embargo, la naturaleza de la mayor parte del software es de único thread, por lo que no hay una forma universal de repartir cualquier carga de trabajo entre múltiples núcleos.

La principal forma de incrementar la frecuencia de ejecución de instrucciones por unidad de tiempo (IPC) es expandir la arquitectura de la CPU para permitir que más comandos se procesen a la vez. Pasar de una arquitectura paralela de 3 instrucciones fuera de orden a una de 5 instrucciones fuera de orden debería, en teoría, permitir una mejora del 66 por ciento en rendimiento, pero se requiere que el código sea lo suficientemente denso para extraer esas operaciones y la arquitectura en sí sea capaz de asegurar que todas las operaciones estén disponibles en cada ciclo de reloj.

El problema con migrar a una arquitectura de mayor amplitud suele ser la complejidad de diseño y de administración de la energía. Cuanto mayor es la amplitud de la arquitectura, se requieren más recursos del procesador, como buffers, ventanas de reordenamiento y memorias caché. Los núcleos Skylake de Intel (6 instrucciones de ancho) o Denver de Nvidia (7 instrucciones de ancho) son capaces de aprovechar su potencial y obtener el máximo rendimiento cuando el código que ejecutan está escrito especialmente para sus arquitecturas “anchas”, pero se vuelven ineficientes con código que sólo requiere una capacidad de procesamiento de 2 ó 3 instrucciones a lo ancho.

Como resultado, los diseños modernos incluyen múltiples núcleos para adaptarse a escenarios de múltiples threads y múltiples programas. Esto funciona bien con núcleos de alta performance, pero gran parte del hardware en funcionamiento actualmente se compone de núcleos con bajo rendimiento en ejecución de threads individuales. Esta situación es la que intenta cambiar Soft Machines con su arquitectura VISC.
itsitio-distribucion-arquitectura-visc-con-cuatro-nucleos-fisicos

VISC AL RESCATE

En términos simples, VISC es un diseño RISC (Reduced Instruction Set Computing, Cómputo de Conjunto de Instrucciones Reducido) que usa un conjunto de instrucciones propio sobre una capa de traducción que admite que un único thread de ejecución sea repartido y despachado hacia múltiples núcleos físicos.

Una arquitectura VISC con cuatro núcleos, por ejemplo, expone también cuatro núcleos virtuales que reciben cada uno un thread de ejecución. Lo que diferencia a VISC de otros diseños multi-núcleo es que cuando un núcleo virtual recibe un thread de ejecución puede utilizar los recursos de cualquier núcleo físico. Si cada núcleo físico posee un diseño de 4 instrucciones fuera de orden, un thread que corre en un núcleo virtual podría utilizar los recursos de los cuatro núcleos físicos a la vez, convirtiéndolos en una especie de único núcleo gigante con capacidad para 16 instrucciones a lo ancho.

Las arquitecturas comunes de conjunto de instrucciones (ISA, instruction set architectures), como x86 y ARM, dependen de que el código a ejecutar se descomponga en instrucciones atómicas que la microarquitectura subyacente es capaz de manejar. VISC tiene su propia ISA que los núcleos VISC y los núcleos virtuales pueden utilizar. Cuando se emplea código VISC nativo, el front-end global descompone las instrucciones en pequeños threads virtuales de hardware que son despachados hacia distintos núcleos virtuales. Estos núcleos pueden a su vez enviarlos para su ejecución a los recursos disponibles en cualquiera de los núcleos físicos.

Lo que verdaderamente distingue a VISC de otras arquitecturas es que cuando múltiples núcleos virtuales funcionan en paralelo, el diseño permite una asignación dinámica de recursos con un nivel de latencia cercano a 1 ciclo de reloj.

En síntesis, lograr que un thread obtenga recursos de múltiples núcleos para mejorar su performance parece ser la tan buscada solución al problema de lograr que los diseños multi-núcleo sean útiles en escenarios de bajo nivel de threads.

itsitio_disribucion_hoja-de-ruta-de-soft-machines

EL FUTURO SEGÚN SOFT MACHINES

La empresa Soft Machines rompió el silencio en la conferencia Linley de 2014. Su objetivo principal era incrementar la performance por watt de los procesadores usando mejores diseños de IPC. En ese entonces, la empresa ya tenía más de seis años de vida y contaba con inversiones de Samsung, GlobalFoundries, AMD y otros. En Linley 2014, Soft Machines no sólo explicó lo que estaba haciendo, sino que también mostró prototipos funcionales de sus diseños. La primera generación de prueba de concepto fue fabricada bajo un proceso de 28nm en TSMC, corriendo a 500 MHz.

En la conferencia Linley del año siguiente, la empresa dio a conocer su hoja de ruta, anunciando que su primer producto, denominado Shasta, ofrecería niveles de performance y eficiencia sin precedentes. La empresa también develó su plataforma VISC SoC llamada Mojave, la cual puede personalizarse para toda clase de aplicaciones, desde dispositivos móviles inteligentes hasta servidores. La empresa prometió que tanto Shasta como Mojave saldrían al mercado durante este año.

“El procesador VISC Shasta está diseñado para entregar una performance de clase de servidor dentro de umbrales de energía propios de los chips para móviles”, dijo el cofundador y CTO de Soft Machines, Mohammad Abdallah. “Shasta puede configurarse para núcleos virtuales duales o cuádruples de 64 bits, brindando una mejora importante en performance por watt, en plataformas que van desde smartphones y tablets hasta laptops y servidores”.

“Entregar los primeros procesadores y SoCs VISC representa un gran logro para nuestra arquitectura de microprocesadores”, señaló el cofundador y CEO de la empresa, Mahesh Lingareddy. “Hemos recibido numerosas propuestas y estamos trabajando con los clientes para definir a los diseños VISC Shasta para múltiples ISAs, configuraciones de núcleos virtuales y características SoC”.

Según afirma Soft Machines, Shasta cumple la promesa de la arquitectura VISC, con un índice de IPC entre 2 y 3 veces superior al de las CPUs líderes de la actualidad, y supera en hasta 4 veces su performance por watt. Shasta es una CPU de 64 bits, y debido a la capa de traducción VISC, puede correr aplicaciones creadas para diversas ISAs. La compañía asegura que alcanza una frecuencia de 2 GHz, principalmente gracias al proceso FinFET de 16nm utilizado para fabricar el chip. Éste tiene un bus de interconexión genérico de 256 bits que puede adaptarse a las especificaciones de interconexión del cliente. Shasta también puede configurarse en esquemas de multiprocesamiento usando la tecnología de coherencia propietaria de Soft Machines.

El SoC Mojave (basado en la CPU Shasta) puede escalar entre diferentes escenarios de consumo energético, desde dispositivos IoT (Internet of Things) hasta servidores. En principio, Mojave ofrece dos procesadores Shasta de doble núcleo, si bien está planeado para ser altamente personalizable por los socios que trabajen para extender la plataforma.

Algunos potenciales bloques de lógica en Mojave incluyen de uno a cuatro canales de memoria DDR4 corriendo a frecuencias desde 2.400 hasta 3.200 MT/seg., de uno a ocho MB de caché de sistema, GPU con capacidad para manejar hasta tres pantallas 4K y entrada para cámaras duales de 20 MP. Soft Machines aseguró estar trabajando con Imagination Technologies para integrar en Mojave su tecnología de procesamiento gráfico.

La hoja de ruta de VISC prevé para 2017 el anuncio de Shasta+, una arquitectura que incluirá entre uno y cuatro núcleos virtuales y apuntará a fabricarse bajo una tecnología de 10nm. Shasta+ saldrá en compañía del SoC Tabernas, que en forma análoga a Mojave, incorporará núcleos Shasta+ en un diseño SMP. Para 2018 se espera la CPU Tahoe, que incluirá entre uno y ocho núcleos virtuales.

Soft Machines no producirá sus propias CPUs VISC. En cambio, la compañía confía en licenciar su propiedad intelectual a socios que fabriquen los chips, tal como hacen empresas como ARM e Imagination. También trabajará con socios para ajustar los chips VISCs a la medida de aplicaciones particulares. Hasta ahora no se han dado a conocer nombres de socios que se sumen a la movida VISC.

La tecnología de Soft Machines es fascinante, y será interesante comprobar si cumple sus promesas cuando el hardware esté disponible comercialmente. SI VISC realmente funciona tal como lo afirman sus creadores, el mercado de CPUs seguramente se agitará bastante.

Autor

  • Florencia Gómez Forti

    Periodista y Social Media Manager especializada en tecnología y espectáculos. Comenzó su camino en el mercado IT de la mano de ITSitio y hoy es Editora de Contenidos para toda la región. Realiza coberturas especiales internacionales y nacionales para marcas como HP Inc. e IBM.

    Ver todas las entradas

[mdx-adserve-bstreet region="MED"]

Publicaciones relacionadas

Botón volver arriba