ENTENDIENDO A MOORE. ENTENDIENDO A XBOX ONE.

Las entradas de este 'foro' apareceran en Portada

¿Has entendido algo de lo que pone aquí?

No, no entendí nada.
0
No hay votos
Cojo algunas cosas.
2
15%
Hay cosas que si y otras que no.
3
23%
Hay muchas cosas que se entienden perfectamente.
7
54%
Lo entiendo todo, yo soy Boyd Multerer. Gran trabajo Mike.
1
8%
 
Votos totales : 13

ENTENDIENDO A MOORE. ENTENDIENDO A XBOX ONE.

Notapor FLASHBACKMAN » 30 Jun 2014, 11:48

Imagen
El poder del auténtico NEXTGEN GPU

La ley de Moore expresa que aproximadamente cada dos años se duplica el número de transistores en un circuito integrado. Se trata de una ley empírica, formulada por el cofundador de Intel, Gordon E. Moore, el 19 de abril de 1965, cuyo cumplimiento se ha podido constatar hasta hoy. En 1965, Gordon Moore afirmó que la tecnología tenía futuro, que el número de transistores por unidad de superficie en circuitos integrados se duplicaba cada año y que la tendencia continuaría durante las siguientes dos décadas.

Lo que Moore no esperaba es que existieran ciertos límites dentro de la física convencional, dentro del sistema de elaboración. Llega un momento en el que el material de fabricación que usas tiene ciertas limitaciones y se deben crear soluciones paralelas para evitar el estancamiento. Con el sistema actual, subir frecuencias, añadir más transistores, miniaturizar más y más el sistema de fabricación, han sido respuestas al uso de haber estado llegando a puntos límite dentro de las estructuras, donde los efectos de la electro migración y degradado cuántico entran en escena. Si bien la creencia común es creer que el producto electrónico no tiene desgaste físico al no tener parte mecánica, esto no es cierto a niveles atómicos.


Imagen
Ejemplo básico de electro migración



Con lo cual, teniendo un material con una resistencia mesurable y limitada que trabaja a frecuencias altas que a su vez crean su desgaste y/o rotura, se produce un incremento en la resistencia eléctrica del conductor metálico y aumentan las vibraciones atómicas de los núcleos metálicos que conjugado a altas intensidades y ha mayor flujo electrónico, mayor transferencia de los electrones a los átomos metálicos de cobre o aluminio, crea inevitablemente, cuestiones dentro del paradigma de computación que la industria ha empezado a resolver con la paralelización.

Imagen

Microsoft, compañía Americana y amante de lo “grande, ande o no ande” siempre nos ha resuelto sus sistemas de entretenimiento Xbox como máquinas poderosas, optimizadas y sencillas de programar. Que Microsoft haya gastado 10 veces más en desarrollar un SoC con estructura NoC de super computación y paralelización de tareas a través de hardware nativo no es más que la respuesta inteligente hacia Moore.

Ante la situación global económica mundial, seguir adelante con arquitecturas planas y dotar a los sistemas de más potencia bruta era completamente inviable para una máquina de videojuegos de salón. Temas de consumo de energía, la electro migración provocada por el exceso de temperaturas en los conductores y el encarecimiento del producto presagiaban la necesidad de actuar ante la norma.

Podría decirse que antes de atacar a través de hardware las barreras lógicas de la ley de Moore existieron soluciones a través de software que máquinas como PS3 y PS4 han adaptado de forma inteligente a través de la optimización de microcódigo en arquitecturas modernas actuales. Pero a pesar de las posibilidades reales que da el microcódigo sensible y branqueable, sin tener una arquitectura pensada para ello de forma nativa, hacen nacer nuevos problemas inherentes. Cuando tú le hablas a tu consola a bajo nivel a través de optimización de microcódigo y/o API LowLevel y repartes las tareas de manera inteligente obtienes un aumento de la eficiencia del sistema pero también requieres que “quien comunica como se debe repartir las tareas… 1-sea rápido y preciso comunicando 2-sea capaz de hacer muchas cosas a la vez y 3-cuando transporte esas microinstrucciones tenga buenas carreteras en ambas direcciones.


Imagen

Probablemente la mayoría de vosotros estéis al corriente sobre lo que sucedió en la generación pasada de consolas respecto al tema de las resoluciones en general de los juegos o la densidad de las texturas. Estaba claro que PS3 tenía un lastre con el CELL, y no es más que el hecho fehaciente que sólo disponía de 256KB de memoria local para cada uno de los SPUs, con lo cual, con un arquitectura plana de paradigma moderno y con los problemas inherentes de la ley de Moore, la única solución posible fue crear una particularidad en el software que rompiera el código representativo en mosaicos y enviarlo paralelamente a cada uno de los SPU.

Ahora quizá entendáis un poco mejor porque XBox One está teniendo alguno de los problemas que tiene en temas de resolución de juegos. La respuesta no es otra que, a pesar de que Xbox One está pensada para paralelizar, optimizar, romper, canalizar y estructurar todos sus datos de forma nativa a través de hardware, ésta, ha estado usando una API y unas middleware que no entendían de forma nativa el concepto de paralelización, léase DX11.

En respuesta a ello y a Moore, Microsoft lleva más de 5 años desarrollando una API en concreto con capacidades nativas “to the metal” a niveles “físicos”. DX12.




La necesidad de la computación del futuro

Si entendemos que lo importante que es además de comunicarse rápido que hay que poder hacerlo de forma paralela, hay que poder hacerlo de también de manera omnidireccional (NoC), que debes tener capacidad para dar órdenes mientras ordenas, que debes tener un sistema que esté trabajando de manera eficiente todo el tiempo etc., entendemos que el hardware moderno basado en DX11 tiene problemas muy graves de optimización. Una GPU moderna se pasa hasta el 80% de su tiempo en ciertas áreas y técnicas gráficas sin hacer “absolutamente nada” con lo cual, tienes una arquitectura que es completamente ineficiente y no es capaz de hacer rendir su potencia base (Teraflops)” como debería.

Si quisiéramos poner un ejemplo universal de los que se imparten en los Masters de super computación y usando técnicas actuales de renderizado, podemos referirnos sin ir más lejos a la instancia que actúa mientras ejecutas shadow map rendering (a groso modo, sombreado y degradado de una representación 3D). Limitada por el hardware base que dota a la máquina de la cifra final de Teraflops, hablamos de los motores primitivos, los ROP’s los ACE’s. SMR utiliza una pequeña cantidad de las unidades lógicas aritméticas (ALU`s) disponibles en el CU (Core Unit) para calcular el vertex shader, también necesitamos una pequeñísima cantidad de ancho de banda, ya que la salida del bufer comprimido solo requiere leer el tamaño de los vértices que no tienen degradado UV. Esto quiere decir que gran parte del CU, que trabaja en aspectos de propósito general (GPGPU) y la parte del pool dedicada al mapeo de texturas como el (Texture Mapping Unit) TMU y la mayoría de las ALU’s al igual que la mayoría del ancho de banda que tiene, esté prácticamente sin hacer nada mientras se ejecuta dentro de unos de los CU el código. Ahora imaginaros que pudiéramos tener un GPU con una lógica de doble precisión que pudiera mandarle tareas a ese CU que está “a la bartola” para que no se durmiera y aumentara la eficiencia y el rendimiento del mismo de manera física a través del hardware.

¡Bingo!, recursos gratis, usas de manera eficiente los Teraflops que tienes de base haciendo que los estados de sleep forzado de un CU no se produzcan.

Imagen



SuperComputer Based SoC&Cluster Scalar Unit Philosofy

XBox One tiene con certeza un diseño basado en "SuperComputación" dice el director de Xbox de Desarrollo Boyd Multerer.

"Las GPUs son realmente bestias complicadas en esta ocasión. En la era de la Xbox 360, para obtener el máximo rendimiento de la GPU si deseabas optimizar el rendimiento, era todo acerca de cómo ordenar las instrucciones que vienen en su sombreado. Todo con el fin de obtener el máximo rendimiento, ajustarlo todo a mano. En esta era, eso es importante - pero no es tan importante como conseguir que todas las estructuras de datos estén en el lugar correcto para que puedan ofrecerte el máximo uso de ancho de banda a través de todos los diferentes buffers. Por lo que es relativamente fácil conseguir porciones de datos que alimenten y maximicen el rendimiento del GPU. Tienes que tener el GPU constantemente alimentado”.


Microsoft en conjunción con AMD crea una máquina nativa para aprovechar los beneficios de su API de nuevo paradigma y auténtica Next Gen, con lo cual pasemos a hablar un poco de su disposición.

A pesar de tener una potencia más que humilde y unos ROPs y unos ACEs discretos nos damos cuenta que se han doblado ciertas áreas de la piscina del CU y se ha potenciado y doblado la comunicación.

XBox One maneja dos procesadores de comando para GFX y otros dos procesadores de comando para GPGPU.


Imagen


Los Render Back Ends, (RBE) y los Raster Operation Pipeline (ROP) ésta vez no son necesarios en la parte de computación general (GPGPU). El next gen GPU tiene desdobladas ciertas áreas del pool de forma física (como las Unidades Logicas Aritméticas), los render pipes, los procesadores de comando y un largo etc. El aumento de las drawcall entre otras cosas... (No todo es drawcall, palabra de moda), junto a la posibilidad de eficiencia en DP y la superioridad de las operaciones por ciclo de la CPU y la GPU crean un sistema sin cuellos de botella y una máquina ultra eficiente con una GPU discreta.

El concepto de PS4 es de el de potenciar la arquitectura actual a través de Teraflops base con lo que sólo tiene un procesador de comando para GFX + los ACE's extra, para intentar gestionar la parte balanceada de GPGPU.

Si Microsoft no necesita más de 16 ACE para gestionar de base los 1.34Tf por que Sony pone en PS4 más de los 22-24 que necesitaría para gestionar los 1.8Tf hasta un total de 32? Pues porque es un acercamiento para dotar a la máquina de una capacidad extra en GPGPU a consecuencia de ciertos cuellos de botella que se han visto en Infamous.

El recurso de propósito general y/o GPGPU en XBox One no se ejecuta con más y más ACE's como se hace en la arquitectura DX11. El concepto cambia. Mientras el proposito general se ejecuta de manera asincrónica en PS4, en XBox One tenemos sincronismo en el hilo de ejecución. Sumado al hecho de que DX12 es compatible con multiples procesadores de comando de manera nativa por hardware de manera eficiente y no por software como hacen las API modernas.




DX12 entrando en escena


No es lo mismo tener un GPU o un CPU que a través de software te desdobla los hilos, que tener 2 hilos físicos que a su vez se desdoblan por hardware añadiendo físicamente las partes necesarias para tal propósito. Hay un montón de espacio/tiempo para las tareas de paralelismo en una CPU y en una GPU, pero la idea de presentar múltiples hilos desde varios subprocesos en paralelo, simplemente no tiene ningún sentido de las arquitecturas de GPU modernas, básicamente porque no están pensadas para ello, no hay API's que pudieran ver el desdoblamiento si lo tuvieran, así que hacer rendir a una máquina que no está preparada para ello en doble precisión no tiene sentido.


Imagen


Para facilitar esta tarea, la GPU Next Gen de XBox One, además de las colas de cómputo asincrónicas, admite dos render pipes concurrentes. Las dos render pipe permiten que el hardware pueda representar el contenido del juego en la prioridad alta, mientras que al mismo tiempo puede representar el contenido del sistema de baja prioridad. El programador de hardware GPU está diseñado para maximizar el rendimiento y rellena automáticamente "agujeros" en las tareas de processing. La alta prioridad puede permitir la prestación del sistema para hacer uso de los programas operativos regionales para el llenado, por ejemplo, mientras que el título está haciendo simultáneamente las operaciones de cómputo sincrónicos en las unidades de cálculo puede estar manejando al mismo tiempo el SO+APP sin problemas. Dicho fácil, las 2 render pipes son para juegos y es trabajo de la gestión de la doble cola de trabajo el gestionar los recursos. DX12 Slogan “2 Cabezas mejor que 1”


Imagen


Ahora que sabemos que la visión de AMD y Microsoft sobre un hardware nativo DX12 y completamente next gen, no va de Teraflops en bruto, sabemos que va de como los utilizas de manera eficiente y ordenada.




Paralelización, optimización o cuando intentas extrapolar la arquitectura de un cluster computacional de super ordenador en una arquitectura discreta. Dicho esto, nos damos cuenta que en el roadmap de AMD para 2014 hay revelaciones interesantes hacia ese sentido y muchas de las cosas que teníamos todos por sentadas están cambiando drásticamente en la manera de entender el concepto de computación.

El concepto de GPGPU es el concepto en el cual un GPU pretende ser un CPU, pero usando solo partes de FPU (Floating Point Unit). Así que atendiendo a Moore, la lógica y a la economía y sabiendo que no puedes poner en el salón de tu casa una máquina con 5 Teraflops, Microsoft ha creado un sistema de 1.3 Teraflops discretos que se multiplican por 4 cuando la API correspondiente (DX12) y las herramientas de trabajo (middlewares) están adaptadas. Además hay ciertas soluciones en forma de ASIC a través de procesadores programables tensilica que facilitan la miniaturización y el bajo consumo de la estructura SoC/NoC acelerando el DataFlow (flujo de datos).

Más eficiencia, menos consumo, más potencia dividiendo todas las áreas. ¿Por qué decirle a tu GPU que calcule en cada CU una cosa cuando cada CU puede hacerlo todo? Ahora el cálculo primitivo, el vertex, el shader el GPGPU, puede ser gestionado en paralelo en cada CU al mismo tiempo, con lo cual, y citando a Boyd Multerer

“poniendo los datos correctos, en el lugar correcto” se obtiene una máquina de increíble eficiencia y poder.


Portando la API de un juego existente en DX11.2 hacia DX12 mejorarás las drawcalls tanto en CPU +50% como en GPGPU +50% algo que ya nos han confirmado muchos desarrolladores en la industria solo con portar un juego de una API hacia otra y a través de "software".

DX12 es más que optimización de software. La arquitectura nativa DX12 va mucho más allá. La gente está confundiendo lo que hace el DX12 en una arquitectura actual con lo que puede hacer en una arquitectura nativa preparada para ello. XBox One es el único dispositivo a la venta con completo soporte hacia DX12 de forma nativa. La única arquitectura capaz de aprovechar de manera nativa el “troceo” de información que se verá en los próximos años en todas las técnicas existentes.

XBox One es una máquina pensada con tecnología existente para emular la necesidad del futuro, a través de enormes plataformas de simulación de hardware, Microsoft crea soluciones ASIC optimizadas y podemos decir con rotundidad que la máquina está pensada para rendir muy por encima de esa cifra lastrante en temas de marketing, 1.3 Teraflops, y a pesar de ser complicado arrojar una estimación real, la teoría de Carmack en la cual extrapola que toda arquitectura cerrada dobla su potencia a través de optimización con Xbox One no es válida, ya que en su defecto el máximo potencial no es doblarlo, es cuadruplicarlo.

Si le sumas la realidad del Cloud Computing y otras cosas que iremos desvelando en próximas entregas, nos encontramos ante una máquina pensada para 10 años sin ningún tipo de duda.

Dicho lo cual, considero que el próximo E3 será el punto de inflexión y el lanzamiento real de una máquina que salió al mercado sin estar preparada una de las partes fundamentales para que desarrolle todo su potencial. El software que la entiende.
[+] SPOILER (click para abrir)
Tal y como alguien me dijo hace unos meses... "Mike, your work is done" You've got it.Imagen

Imagen
Avatar de Usuario
FLASHBACKMAN
Nostradamus Digital
Nostradamus Digital
 
Mensajes: 8829
Registrado: 20 Jun 2014, 20:00
Ubicación: Barcelona
Has thanked: 2151 times
Been thanked: 2871 times

Re: ENTENDIENDO A MOORE. ENTENDIENDO A XBOX ONE.

Notapor JhonBox » 11 Nov 2014, 06:20

Este es el foro que tienen que poner como obligatorio para todo aque nuevo integrante de la comunidad. :D, me a sacado de muchas.

Gracias por la info.
Avatar de Usuario
JhonBox
Usuario de TG
Usuario de TG
 
Mensajes: 22
Registrado: 06 Nov 2014, 19:30
Has thanked: 8 times
Been thanked: 7 times

Re: ENTENDIENDO A MOORE. ENTENDIENDO A XBOX ONE.

Notapor BiG Porras » 11 Nov 2014, 10:15

AQUI ESTAMOS PARA AYUDAR :P
...Siempre BiG!
Imagen
Avatar de Usuario
BiG Porras
Moderador
Moderador
 
Mensajes: 17230
Registrado: 09 Jun 2014, 11:25
Ubicación: Torroles
Has thanked: 4227 times
Been thanked: 1588 times

Re: ENTENDIENDO A MOORE. ENTENDIENDO A XBOX ONE.

Notapor Angelbox » 01 Feb 2015, 17:42

Mejor explicado imposible, es verdad que este tenia que ser lo primero que se lea cuando alguien se registre o quiera saber de que va xbox este y el de parches son fundamentales
Los que parecen malos, al final pueden no serlo tanto.....

TAXON LÁZARO
Angelbox
Usuario de TG
Usuario de TG
 
Mensajes: 563
Registrado: 18 Ene 2015, 22:54
Ubicación: Albacete
Has thanked: 150 times
Been thanked: 48 times

Re: ENTENDIENDO A MOORE. ENTENDIENDO A XBOX ONE.

Notapor Irvik » 29 Dic 2016, 11:52

y han pasado un par de años y todo se va cumpliendo.... y digamos que vamos por la mitad de todo lo que tiene que mostrar. :r2gay:
Irvik
Usuario de TG
Usuario de TG
 
Mensajes: 128
Registrado: 18 Nov 2014, 12:38
Ubicación: Barcelona - Vilafranca
Has thanked: 58 times
Been thanked: 14 times

Re: ENTENDIENDO A MOORE. ENTENDIENDO A XBOX ONE.

Notapor nikolas » 29 Dic 2016, 12:08

Irvik escribió:y han pasado un par de años y todo se va cumpliendo.... y digamos que vamos por la mitad de todo lo que tiene que mostrar. :r2gay:


Por que sera :r2gay: :r2gay:
Truegamers: home of the real players

Imagen
Avatar de Usuario
nikolas
Moderador
Moderador
 
Mensajes: 3865
Registrado: 08 Ago 2014, 10:55
Has thanked: 310 times
Been thanked: 513 times


Volver a FLASHFORWARD
cron