diff options
| author | Juan Marín Noguera <juan.marinn@um.es> | 2020-12-11 20:38:00 +0100 |
|---|---|---|
| committer | Juan Marín Noguera <juan.marinn@um.es> | 2020-12-11 21:46:53 +0100 |
| commit | 27ca1851b15775e60a089427c6a5799e73545aab (patch) | |
| tree | 76f5353d720771ffd968d3cd863214b15c6a8138 /aoc | |
| parent | 5ae2b317485127cd2f83264d04955515fa73d346 (diff) | |
AOC tema 1
Diffstat (limited to 'aoc')
| -rw-r--r-- | aoc/n1.lyx | 341 |
1 files changed, 233 insertions, 108 deletions
@@ -179,7 +179,26 @@ densidad de integración Estos transistores se usan para aumentar los recursos del chip mediante paralelismo y cachés, por lo que los programas limitados por CPU aumentaban su velocidad de forma cuadrática sin cambios. - No obstante, actualmente esto plantea varios problemas. + Por ejemplo, la empresa de procesadores Intel evoluciona sus diseños en + dos pasos: una fase +\emph on +\lang english +tick +\emph default +\lang spanish + en la que disminuye el tamaño de los componentes, optimiza el diseño de + los núcleos y aprovecha el aumento en densidad de transistores para conseguir + mejor rendimiento y eficiencia energética, y una fase +\emph on +\lang english +tock +\emph default +\lang spanish + en la que diseña una nueva arquitectura y amplia la ISA. +\end_layout + +\begin_layout Standard +No obstante, actualmente esto plantea varios problemas. \end_layout \begin_layout Section @@ -417,6 +436,114 @@ disponibilidad \end_layout \begin_layout Section +Medidas de rendimiento +\end_layout + +\begin_layout Standard +Podemos medir el rendimiento de un procesador por el tiempo de ejecución + de algún programa o su productividad o +\emph on +\lang english +throughput +\emph default +\lang spanish + (operaciones de algún tipo por unidad de tiempo). + Se puede usar el tiempo de ejecución real, que incluye la sobrecarga de + todo el sistema, o el tiempo de CPU usado para el cálculo. + La +\begin_inset Quotes cld +\end_inset + + +\series bold +aceleración +\series default + +\begin_inset Quotes crd +\end_inset + + de un procesador o un programa respecto a otro (funcionalmente equivalente) + es el tiempo de ejecución del segundo entre el del primero. + El +\series bold +ancho de banda +\series default + es el trabajo total realizado en un tiempo determinado, y la +\series bold +latencia +\series default + o +\series bold +tiempo de respuesta +\series default + es el tiempo entre el inicio y el final de una operación. +\end_layout + +\begin_layout Standard +Los +\series bold +\emph on +\lang english +benchmarks +\series default +\emph default +\lang spanish + son programas usados para comparar el rendimiento. + Hay de varios tipos: +\emph on +\lang english +kernels +\emph default +\lang spanish + (como multiplicación de matrices), programas de juguete (como ordenación + de elementos), +\emph on +\lang english +benchmarks +\emph default +\lang spanish + sintéticos (como Dhrystone) o suites de +\emph on +\lang english +benchmarks +\emph default +\lang spanish + como SPEC06fp o TPC-C. +\end_layout + +\begin_layout Standard +La +\series bold +intensidad aritmética +\series default + es el número de operaciones en coma flotante por byte u operando leído + de memoria para un cierto algoritmo. + El +\series bold +modelo de rendimiento +\emph on +\lang english +Roofline +\series default +\emph default +\lang spanish + consiste en medir el rendimiento de coma flotante en +\series bold +FLOPS +\series default + (operaciones de punto flotante por segundo) en función de la intensidad + aritmética, midiendo así tanto el ancho de banda de memoria como el rendimiento + de punto flotante. +\end_layout + +\begin_layout Standard +Algunos aspectos relevantes son la frecuencia de reloj, el número de transistore +s, el tamaño de la caché de cada nivel, la cantidad de memoria direccionable, + el ancho de banda del bus de memoria, el número de núcleos por chip, el + tamaño de la litografía y el tamaño de los operandos. +\end_layout + +\begin_layout Section Paralelismo \end_layout @@ -565,113 +692,7 @@ Los clústeres y centros de datos usan memoria distribuida entre los ordenadores y vectorización SIMD. \end_layout -\begin_layout Section -Medidas de rendimiento -\end_layout - -\begin_layout Standard -Podemos medir el rendimiento de un procesador por el tiempo de ejecución - de algún programa o su productividad o -\emph on -\lang english -throughput -\emph default -\lang spanish - (operaciones de algún tipo por unidad de tiempo). - Se puede usar el tiempo de ejecución real, que incluye la sobrecarga de - todo el sistema, o el tiempo de CPU usado para el cálculo. - La -\begin_inset Quotes cld -\end_inset - - -\series bold -aceleración -\series default - -\begin_inset Quotes crd -\end_inset - - de un procesador o un programa respecto a otro (funcionalmente equivalente) - es el tiempo de ejecución del segundo entre el del primero. - El -\series bold -ancho de banda -\series default - es el trabajo total realizado en un tiempo determinado, y la -\series bold -latencia -\series default - o -\series bold -tiempo de respuesta -\series default - es el tiempo entre el inicio y el final de una operación. -\end_layout - -\begin_layout Standard -Los -\series bold -\emph on -\lang english -benchmarks -\series default -\emph default -\lang spanish - son programas usados para comparar el rendimiento. - Hay de varios tipos: -\emph on -\lang english -kernels -\emph default -\lang spanish - (como multiplicación de matrices), programas de juguete (como ordenación - de elementos), -\emph on -\lang english -benchmarks -\emph default -\lang spanish - sintéticos (como Dhrystone) o suites de -\emph on -\lang english -benchmarks -\emph default -\lang spanish - como SPEC06fp o TPC-C. -\end_layout - -\begin_layout Standard -La -\series bold -intensidad aritmética -\series default - es el número de operaciones en coma flotante por byte u operando leído - de memoria para un cierto algoritmo. - El -\series bold -modelo de rendimiento -\emph on -Roofline -\series default -\emph default - consiste en medir el rendimiento de coma flotante en -\series bold -FLOPS -\series default - (operaciones de punto flotante por segundo) en función de la intensidad - aritmética, midiendo así tanto el ancho de banda de memoria como el rendimiento - de punto flotante. -\end_layout - -\begin_layout Standard -Algunos aspectos relevantes son la frecuencia de reloj, el número de transistore -s, el tamaño de la caché de cada nivel, la cantidad de memoria direccionable, - el ancho de banda del bus de memoria, el número de núcleos por chip, el - tamaño de la litografía y el tamaño de los operandos. -\end_layout - -\begin_layout Section +\begin_layout Subsection Límites del paralelismo \end_layout @@ -756,5 +777,109 @@ e aumentar la cantidad total de cálculos a cambio de disminuir la parte secuencial. \end_layout +\begin_layout Subsection +Software paralelo +\end_layout + +\begin_layout Standard +Podemos usar +\series bold +paralelismo de datos +\series default +, en que se ejecuta una misma tarea en varios datos a la vez, y +\series bold +paralelismo de tareas +\series default +, en que se ejecutan distintas tareas a la vez. + No obstante, hay que tener en cuenta que comenzar un hilo o proceso, comunicar + datos compartidos, sincronizar o hacer computación redundante tiene un + coste en el rango de milisegundos. +\end_layout + +\begin_layout Standard +Debemos balancear la carga para evitar que haya núcleos rápidos esperando + a otros lentos y debemos gestionar los recursos compartidos de forma segura, + considerando estas cuestiones a la hora de decidir la granularidad de las + tareas y modelar el rendimiento. +\end_layout + +\begin_layout Section +Tipos de ordenadores +\end_layout + +\begin_layout Standard +Distinguimos: +\end_layout + +\begin_layout Enumerate + +\series bold +Ordenadores empotrados +\series default +, usados para controlar dispositivos, pequeños y baratos. +\end_layout + +\begin_layout Enumerate + +\series bold +Móviles +\series default +, +\emph on +\lang english +tablets +\emph default +\lang spanish +, etc. + Con más potencia pero enfocados en la eficiencia energética y una baja + latencia. +\end_layout + +\begin_layout Enumerate + +\series bold +Ordenadores de escritorio +\series default +: Enfocados en la relación rendimiento/precio. +\end_layout + +\begin_layout Enumerate + +\series bold +Servidores +\series default +: Enfocados en la disponibilidad, la escalabilidad y el rendimiento. +\end_layout + +\begin_layout Enumerate + +\series bold +\emph on +\lang english +Clusters +\series default +\emph default +\lang spanish +: Enfocados en disponibilidad y rendimiento/precio. +\end_layout + +\begin_layout Enumerate + +\series bold +Supercomputadores +\series default +: Con gran velocidad en punto flotante, red de interconexión y consumo de + energía. + Se usan para ciencia, ingeniería, negocios y defensa. +\end_layout + +\begin_layout Standard +Se considera que el primer supercomputador es el CDC 6600, aunque el término + se acuñó para el Cray-1, un ordenador con arquitectura de carga y almacenamient +o sin caché de datos ni memoria virtual y con control cableado, pero con + registros e instrucciones vectoriales, unidades funcionales muy segmentadas + y varios bancos de memoria. +\end_layout + \end_body \end_document |
