información general | |
---|---|
Diseñado por | Microsistemas solares |
Arquitectura y clasificación | |
Conjunto de instrucciones | SPARC V9 |
Especificaciones físicas | |
Núcleos |
|
Rock (o ROCK ) era un microprocesador SPARC multihilo y multinúcleo que estaba siendo desarrollado por Sun Microsystems . Cancelado en 2010, era un proyecto independiente de la familia de procesadores SPARC T-Series (CoolThreads/Niagara ) .
Rock apuntaba a un mayor rendimiento por subproceso, un mayor rendimiento de punto flotante y una mayor escalabilidad SMP que la familia Niagara. El procesador Rock apuntaba a cargas de trabajo tradicionales de alta gama orientadas a datos, como servidores de bases de datos back-end, así como cargas de trabajo de computación de alto rendimiento con uso intensivo de punto flotante , mientras que la familia Niagara apunta a cargas de trabajo orientadas a la red, como servidores web.
El procesador Rock implementa el conjunto de instrucciones SPARC V9 de 64 bits y la extensión del conjunto de instrucciones multimedia SIMD de VIS 3.0 . [1] Cada procesador Rock tiene 16 núcleos, cada uno de los cuales es capaz de ejecutar dos subprocesos simultáneamente, lo que da como resultado 32 subprocesos por chip. Los servidores construidos con Rock utilizan módulos FB-DIMM para aumentar la confiabilidad, la velocidad y la densidad de los sistemas de memoria. El procesador Rock utiliza un proceso de fabricación de 65 nm para una frecuencia de diseño de 2,3 GHz. [2] El consumo máximo de energía del chip del procesador Rock es de aproximadamente 250 W. [3]
Los 16 núcleos de Rock están organizados en cuatro clústeres de núcleos . Los núcleos de un clúster comparten una caché de instrucciones de 32 KB, dos cachés de datos de 32 KB y dos unidades de punto flotante . Sun diseñó el chip de esta manera porque las cargas de trabajo de los servidores suelen tener una alta reutilización de datos e instrucciones en todos los procesos e hilos, pero una baja cantidad de operaciones de punto flotante en general. Por lo tanto, compartir los recursos de hardware entre los cuatro núcleos de un clúster genera ahorros significativos en área y energía, pero un bajo impacto en el rendimiento. [4]
En 2005, Sun reveló públicamente una función en el procesador Rock llamada explorador de hardware . El explorador de hardware utiliza recursos de ejecución del chip que de otro modo estarían inactivos para realizar la precarga durante fallas de caché. [5]
En marzo de 2006, Marc Tremblay , vicepresidente y arquitecto jefe del Grupo de Sistemas Escalables de Sun, realizó una presentación en el Centro de Investigación Xerox Palo Alto (PARC) sobre paralelismo a nivel de subprocesos , exploración de hardware y especulación a nivel de subprocesos . [6] Se esperaba que estas tecnologías de subprocesos múltiples se incluyeran en el procesador Rock.
En agosto de 2007, Sun confirmó que Rock sería el primer procesador de producción en soportar memoria transaccional . [7] Para proporcionar la funcionalidad, se introdujeron dos nuevas instrucciones ( chkpt
, commit
) con un nuevo registro de estado ( cps
). La instrucción chkpt <fail_pc>
se utiliza para iniciar una transacción y commit
confirmar la transacción. Si se detecta una condición de aborto de transacción, <fail_pc>
se emite un salto a y cps
se puede utilizar para determinar la razón. El soporte se basa en el mejor esfuerzo, ya que además de los conflictos de datos, las transacciones pueden ser abortadas por otras razones. Estas incluyen errores de TLB, interrupciones, ciertas secuencias de llamadas de función de uso común e instrucciones "difíciles" (por ejemplo, división). [8] Sin embargo, muchos bloques de código (posiblemente de grano fino) que requieren sincronización podrían haberse beneficiado del soporte de memoria transaccional del procesador Rock. [9]
En febrero de 2008, Marc Tremblay anunció una característica única llamada "retiro fuera de orden" en el ISSCC . Los beneficios incluyen reemplazar la "ventana de instrucción tradicional con esta cola diferida mucho más pequeña". [10]
En abril de 2008, los ingenieros de Sun presentaron la interfaz de memoria transaccional en Transact 2008, y poco después se anunció que el simulador de la Plataforma de Prueba de Memoria Transaccional Adaptativa estaría disponible para el público en general. [8] [11]
El procesador Rock estaba destinado a ser utilizado en la línea de servidores "Supernova" propuesta por Sun. Los detalles de las especificaciones del servidor se publicaron en el caso de revisión de la arquitectura de OpenSolaris FWARC/2008/761. [12] [13]
La especificación de Inventario de Recursos Físicos (PRI) de ARC 2008/761 indica que las plataformas Supernova soportarían: IEEE 1275 OpenFirmware , virtualización de plataformas a través de Dominios Lógicos (LDOM), controlador de sistema independiente (SC) y Servicios de Dominio de Arquitectura de Gestión de Fallas (FMA). [14] La característica FMA fue originalmente referenciada en FWARC/2006/141, pero esto fue cerrado y extendido en FWARC/2008/455 "para diagnosticar exitosamente errores de estructura PCI que ocurren en dominios raíz". [15]
ARC 2008/761 indicó soporte planificado para ranuras PCI Express (PCIe) conectables en caliente, así como un puente hacia las antiguas PCI eXtended ( PCI-X )). [16]
Los servidores "Bronze" admitirían las ranuras PCIe 0 a 5. Los servidores "Silver" admitirían las placas de E/S 0 a 1 y las ranuras PCIe 0 a 7 para cada placa. Los servidores "Platinum" admitirían las placas de E/S 0 a 3 y las ranuras PCIe 0 a 7 para cada placa. Los servidores "Silver-II" admitirían las ranuras PCIe 00 a 19. Los servidores "Platinum-II" admitirían las placas 0 a 7 y las ranuras 0 a 3 para cada placa. [17]
En febrero de 2005, el director ejecutivo de Sun Microsystems, Scott McNealy , declaró que el " lanzamiento " de Rock se realizaría según lo previsto a finales de ese año. [22] Sin embargo, este lanzamiento finalmente se retrasó hasta enero de 2007. [23]
En abril de 2007, el director ejecutivo de Sun, Jonathan I. Schwartz, publicó en su blog una imagen de un chip Rock empaquetado en BGA , denominado UltraSPARC RK , y reveló que podía direccionar 256 terabytes de memoria virtual en un único sistema que ejecutase Solaris . [24] El mes siguiente, Sun anunció que habían creado un chip Rock que podía arrancar su sistema operativo, Solaris, con éxito. [25] En agosto del mismo año, Sun publicó detalles sobre el uso de memoria transaccional en la arquitectura Rock. [26] Sin embargo, como resultado de un "diseño completamente nuevo y dada su singularidad y complejidad", el lanzamiento de Rock se retrasó hasta 2008 o 2009. [27]
En 2008, Mark Moir presentó "La memoria transaccional de Rock y cómo explotarla" en la jornada de puertas abiertas de Sun Labs 2008, donde habló sobre la memoria transaccional y los subprocesos de exploración y sobre cómo estos mitigaban los problemas informáticos que no se resolvían con el uso innovador de cantidades masivas de subprocesos de procesadores más lentos. [28] Ese mismo mes de septiembre, el proyecto OpenSolaris comenzó a integrar código que respaldaba el programa SuperNova basado en Rock. [29]
En enero de 2009, el director ejecutivo de Sun, Jonathan Schwartz, anunció que Rock seguía en camino de lanzarse en 2009. [30] El 10 de marzo de 2009, Dave Dice, Yossi Lev, Mark Moir y Dan Nussbaum presentaron "Experiencia temprana con una implementación de memoria transaccional de hardware comercial" en la Decimocuarta Conferencia Internacional sobre Soporte Arquitectónico para Lenguajes de Programación y Sistemas Operativos (ASPLOS '09). Publicaron su "experiencia con la función de memoria transaccional de hardware (HTM) de dos revisiones de preproducción de un nuevo procesador multinúcleo comercial" en 2009. [31] [32] [33]
El 20 de abril de 2009, Sun y Oracle Corporation anunciaron que habían firmado un acuerdo definitivo en virtud del cual Oracle adquiriría Sun. Una publicación del 12 de junio en un blog de Sun anunció una presentación técnica sólo bajo NDA sobre ROCK el 14 de julio de 2009, en la Reunión del Grupo de Usuarios de OpenSolaris en Hamburgo . [34]
El 15 de junio de 2009, el New York Times informó que "dos personas informadas sobre los planes de Sun" dijeron que el proyecto Rock se había cancelado. Sun no hizo comentarios. [35] [36] Dos días después, el EE Times informó que "Sun no presentó un documento sobre Rock [a Hot Chips 21], lo que llevó a especular que la compañía podría haber cancelado el chip". [37] El 24 de junio de 2009, una presentación sobre "Subprocesamiento especulativo y paralelización" presentó "Una nueva arquitectura de canalización implementada en el procesador ROCK de Sun" en el 36.º Simposio internacional sobre arquitectura informática . [38]
El 6 de agosto de 2009, el soporte para Rock fue eliminado del Proyecto OpenSolaris. [39] El 13 de agosto de 2009, una presentación sobre "NZTM: Nonblocking Zero-indirección Transactional Memory" escrita por Fuad Tabba, Mark Moir, James Goodman , Andrew Hay y Cong Wang, fue presentada en el 21° Simposio ACM sobre Paralelismo en Algoritmos y Arquitecturas en Calgary, Canadá. El rendimiento del algoritmo NZSTM fue evaluado en el próximo procesador Rock de Sun. [40] [41] El 11 de septiembre de 2009, The Register informó que el procesador Rock había sido dejado fuera de la hoja de ruta del procesador SPARC que se estaba mostrando a los clientes y socios de Sun. [42] El 15 de septiembre de 2009, el artículo tm_db: A Generic Debugging Library for Transactional Programs , escrito por Yossi Lev y Maurice Herlihy, se presentó en la Decimoctava Conferencia Internacional sobre Arquitecturas Paralelas y Técnicas de Compilación (PACT) en Raleigh, Carolina del Norte. [43] [44]
El 26 de octubre de 2009, Dave Dice, Yossi Lev, Mark Moir y Dan Nussbaum ampliaron un artículo publicado anteriormente "Experiencia temprana con una implementación de memoria transaccional de hardware comercial" que se presentó en la Decimocuarta Conferencia Internacional sobre Soporte Arquitectónico para Lenguajes de Programación y Sistemas Operativos (ASPLOS '09). [45]
El 27 de enero de 2010, Oracle anunció que había completado la adquisición de Sun. El 5 de abril de 2010, Dave Dice, Yossi Lev, Virendra Marathe, Mark Moir, Marek Olszewski y Dan Nussbaum publicaron un artículo titulado "Simplifying Concurrent Algorithms by Exploiting Hardware Transactional Memory" (Simplificación de algoritmos concurrentes mediante la explotación de la memoria transaccional de hardware), que se presentará en el 22.º Simposio ACM sobre paralelismo en algoritmos y arquitecturas (SPAA 2010). [46] [47]
El 5 de abril de 2010, Dave Dice y Nir Shavit publicaron un artículo titulado "TLRW: Return of the Read-Write Lock" (TLRW: el regreso del bloqueo de lectura y escritura) que se presentará en la SPAA 2010. [46] [48] El 12 de mayo de 2010, Reuters informó de que el director ejecutivo de Oracle, Larry Ellison, había cerrado el proyecto Rock cuando Oracle adquirió Sun, y lo citó diciendo: "Este procesador tenía dos virtudes increíbles: era increíblemente lento y consumía grandes cantidades de energía. Se calentaba tanto que tuvieron que ponerle unos 30 cm de ventiladores de refrigeración encima para enfriarlo. Era una locura continuar con ese proyecto". [49]