Más allá de la ley de Moore

Los rumores sobre la muerte de la ley de Moore fueron tan lejos como recuerdo. Discusiones de que nos estamos acercando al tamaño de un átomo y que pronto la idea no será rentable, escuché hace 30, 20 y 10 años. Aquí hay solo ingenieros que una y otra vez los refutaron. Fue el genio de la ingeniería lo que convirtió la ley de Moore en una de las "profecías autocumplidas".

No voy a hablar sobre si la tecnología ha alcanzado su límite o no. A pesar de la educación radiofísica, la entiendo muy condicionalmente. Aquellos que deseen profundizar pueden aconsejarle que consulte una revisión reciente . Me suscribiré al punto de vista de otro pensador muy respetado, Bob Colwell .

imagen

Mientras tanto, los fabricantes de chips continúan construyendo (bueno, o al menos anuncian) nuevas fábricas que trabajan en nuevas tecnologías. Entonces esto sigue siendo beneficioso. Para mí, "el paciente está más vivo que muerto". La expansión de Murovskaya se detendrá cuando un servidor con dos procesadores fabricados con la nueva tecnología se vuelva más costoso que un servidor con 4 fabricados con la anterior. Y esto está lejos del caso. He trabajado con 4 cabezas e incluso con 8 cabezas. Pero se ensamblan a pedido y se colocan como un pequeño avión.

Mi tarea hoy es hablar sobre cómo la tecnología afecta la arquitectura y la programación. Sobre lo que nos espera "al otro lado de la ley de Moore". Para muchas tendencias son obvias ahora. Entonces.

El área (volumen) del cristal vale su peso en oro. Los transistores dejan de "encogerse" y el tamaño del chip es limitado . En consecuencia, el número de elementos tiene un límite. Las nuevas fantasías son cada vez más difíciles de meter en un cristal. Por el contrario, aumenta el precio de la compacidad. Los diseñadores están mucho más preocupados por la optimización que por la innovación. En consecuencia, veremos cada vez menos innovación en el chip de CPU o GPGPU. Quizás incluso el software tendrá que reescribirse menos, aunque no creo en lo último.

Discreción. Dado que el tamaño, la funcionalidad y el consumo de energía del chip son limitados, peguemos tantos chips como sea posible. Bueno y diferente (crecimiento explosivo de aceleradores predicho por Colwell). O lo mismo (multiprocesamiento simétrico). O generalmente con lógica reprogramable (FPGA). Cada uno de estos escenarios tiene sus propios méritos. El primero proporciona el máximo rendimiento por vatio para una tarea específica. El segundo es la facilidad de programación. El tercero es la flexibilidad. Qué escenario se está implementando: el tiempo lo decidirá. Como me gusta decir, la vida lo mostrará todo y juzgará a todos. Y no es mucho esperar.

Complicación de NUMA: los cristales individuales se extinguen, dando paso a los chiplets. Por lo tanto, los fabricantes aumentan el rendimiento del producto. Por cierto, yalda (rendimiento) es el porcentaje de chips adecuados, este es el peor secreto de cualquier fabricante de chips. Especialmente en las primeras etapas del proceso. Pero tal "pegado" de un chip de piezas conlleva dificultades adicionales para los programadores. El tiempo de comunicación entre los núcleos dentro del chiplet y el exterior es diferente. Y este es solo un ejemplo de una estructura NUMA (acceso no uniforme a la memoria) cada vez más compleja. La otra es la topología de las conexiones dentro del chip. (A más - Memoria de ancho de banda alto. A más - discreción. A - más ...) Y todo esto deberá tenerse en cuenta.

El creciente papel de uncore:Como estamos hablando de comunicaciones intraprocesador, mencionaré otra tendencia interesante. Si observa de cerca la actividad de fusiones y adquisiciones de los líderes del mercado, es fácil comprender que todos los gigantes están haciendo lo mismo. Intel invierte en la tecnología Silicon Photonics y compra Barefoot Networks . NVidia es responsable de la compra de Mellanox . Y no Infinibanda por un solo motivo. Todos entienden que el campo de la batalla futura son las conexiones intra e interprocesador. Y quién se convertirá en el "rey de la colina" no estará determinado por conjuntos de instrucciones o algún tipo de lógica compleja, sino por autobuses e interruptores.

"Originalidad" (más precisamente, no repetibilidad):A veces tengo que trabajar con grandes conjuntos de chips. Esto sucede cuando se crea y se lanza un nuevo clúster para la informática de alto rendimiento. Y recientemente, noté una cosa interesante. Si los chips anteriores con el mismo etiquetado eran casi indistinguibles, ahora cada uno de ellos tiene su propio "carácter" y "estado de ánimo". El procesador tiene un mecanismo de administración de energía incorporado. Depende de cuántos núcleos se estén ejecutando actualmente, qué bloques están involucrados, la temperatura, etc., etc. Y parece que la forma en que el procesador consume y disipa energía también depende de las condiciones de producción de un lote en particular, de su posición en el estante y de la masa de otros factores no controlados. Como resultado, observé una desviación de frecuencia (y rendimiento) de ~ 15%. Por supuesto, esto conduce a todo tipo de desequilibrios (MPI, OpenMP).Y cómo lidiar con ellos aún no está muy claro. A menos que, hacer distribución de trabajo dinámico.

Y la última es la frecuencia: definitivamente no habrá ningún crecimiento. Por muchas razones, incluido el consumo de energía, el tamaño, etc. Me aventuraría a sugerir que la frecuencia en general debería reducirse. De la manera más sencilla para el rendimiento de un solo hilo (es decir, mejorar la arquitectura). Aquí, por supuesto, Linpack, amado por todos los vendedores, sufrirá. Pero el sistema se volverá más equilibrado y se facilitará el trabajo de los desarrolladores de hierro. Bueno, en aplicaciones reales, cuantos menos ciclos trilla el procesador, esperando datos de dispositivos lentos (memoria, red, disco), mejor.

Así es como me parece el mundo de la informática en la era posterior al páramo.
Como lo ves

All Articles