Contenidos [62 diapositivas] Málaga, del 15 al 24 de Julio, 2015

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Contenidos [62 diapositivas] Málaga, del 15 al 24 de Julio, 2015"

Transcripción

1 Nuevas prestaciones hardware en Kepler IX Curso de verano de la UMA Programación de GPUs con CUDA Contenidos [62 diapositivas] Málaga, del 15 al 24 de Julio, Presentación de la arquitectura [6 diapositivas] La memoria [6] Los cores SMX [9] Funcionamiento del SMX: Front-end y back-end [20] Mejoras funcionales [20] 1. Paralelismo dinámico [7] 2. Hyper-Q [6] 3. El tamaño del warp [7] Manuel Ujaldón Profesor Universidad de Málaga Conjoint Senior Univ. de Newcastle (Australia) CUDA Nvidia 2 Kepler, Johannes ( ) Autor de las leyes del movimiento planetario. 1. Presentación de la arquitectura Primera ley: Las órbitas de los planetas son planas. El sol está en el plano de la órbita. La trayectoria del planeta respecto del sol es una elipse en la que el sol ocupa uno de los fotos. Segunda ley: El radio vector que une al sol y el planeta barre áreas iguales en tiempos iguales. Un planeta se mueve más rápidamente en su perihelio que en su afelio, y mientras más excéntrica sea su órbita, mayor será la diferencia de velocidad entre sus extremos. Tercera ley: Los cuadrados de los períodos de revolución en torno al sol son proporcionales a los cubos de los semiejes mayores de las órbitas. La velocidad media con que un planeta recorre su órbita disminuye a medida que el planeta está más lejos del sol. La influencia que el sol ejerce sobre los planetas disminuye con la distancia. 4

2 Nuestra Kepler también tiene 3 leyes Y tres innovaciones principales SMX: Un multiprocesador con más recursos y menos consumo. Paralelismo dinámico: La GPU es más autónoma, puede lanzar kernels CUDA. Consumo Rendimiento Programabilidad Hyper-Q: Múltiples kernels pueden compartir los SMX. 5 GPU Kepler con memoria de vídeo GDDR5 6 Resumen de sus rasgos más sobresalientes Fabricación: 7100 Mt. integrados a 28 nm. por TSMC. Arquitectura: Entre 7 y 15 multiprocesadores SMX, dotados de 192 cores cada uno. Modelos más populares: K20 (con 13 SMXs), K20X (14), K40 (15). Aritmética: Más de 1 TeraFLOP en punto flotante de doble precisión (formato IEEE-754 de 64 bits). Los valores concretos dependen de la frecuencia de cada modelo. Con sólo 10 racks de servidores, podemos alcanzar 1 PetaFLOP. Principales innovaciones en el diseño de los cores: Paralelismo dinámico. Planificación de hilos (Hyper-Q). 7 8

3 Resumen de las mejoras en Kepler GK110 frente a Fermi GF100 Recurso Factor de mejora Ritmo de cálculo con opers. punto flotante 2-3x Máximo número de bloques por SMX 2x Máximo número de hilos por SMX 1.3x Ancho de banda del banco de registros 2x Capacidad del banco de registros 2x Ancho de banda de la memoria compartida 2x Capacidad de la memoria compartida 1x Ancho de banda de la caché L2 2x Capacidad de la caché L2 2x 2. La memoria 9 Diferencias en la jerarquía de memoria: Fermi vs. Kepler La memoria en las Teslas: Fermi vs. Kepler Tarjeta gráfica Tesla M2075 M2090 K20 K20X K40 Registros de 32 bits / multiprocesador Tamaño caché L1 + mem. compartida 64 KB. 64 KB. 64 KB. 64 KB. 64 KB. 64 bits 64 bits Anchura de los 32 bancos de m.c. 32 bits 32 bits 64 bits Frecuencia de SRAM (la de la GPU) 575 MHz 650 MHz 706 MHz 732 MHz 745, 810, 875 Ancho de banda L1 y mem. compartida 73.6 GB/s GB/s GB/s GB/s GB/s. Tamaño de la caché L2 Ancho de banda L2 (bytes por ciclo) 768 KB. 768 KB MB. 1.5 MB MB L2 en ops. atómicas (dir. compartida) 1/9 por clk 1/9 por clk 1 por clk 1 por clk 1 per clk L2 en ops. atómicas (dirs. separadas) 24 por clk 24 por clk 64 por clk 64 por clk 64 per clk Anchura del bus de memoria DRAM 384 bits 384 bits 320 bits 384 bits 384 bits Frecuencia de la memoria (MHz) 2x x x x x 3000 Ancho de banda DRAM (no ECC) Tamaño DRAM (todas GDDR5) Bus externo de conexión con la CPU 144 GB/s. 177 GB/s. 208 GB/s. 250 GB/s. 288 GB/s. 6 GB. 6 GB. 5 GB. 6 GB. 12 GB. PCI-e 2.0 PCI-e 2.0 PCI-e 3.0 PCI-e 3.0 PCI-e

4 Motivación para usar la nueva caché de datos Cómo utilizar la nueva caché de datos 48 Kbytes extra para expandir el tamaño de la caché L1. Posee el mayor ancho de banda en caso de fallo a caché. Usa la caché de texturas, pero de forma transparente al programador, y elimina el tiempo de configuración de ésta. Permite que una dirección global pueda buscarse y ubicarse en esta caché, utilizando para ello un camino separado del que accede a caché L1 y memoria compartida. Es flexible, no requiere que los accesos estén alineados. Gestionada automáticamente por el compilador. 13 Declarar los punteros con el prefijo "const restrict ". El compilador automáticamente mapeará la carga de esos valores en la caché para usar el nuevo camino de datos a través de la memoria de texturas. global void saxpy(float x, float y, const float * restrict input, float * output) { size_t offset = threadidx.x + (blockidx.x * blockdim.x); } // El compilador utilizará la nueva caché para "input" output[offset] = (input[offset] * x) + y; 14 Comparativa con la memoria de constantes La jerarquía de memoria en cifras A comparar Memoria de constantes Caché de datos de sólo lectura Disponibilidad Tamaño Implementación hardware Acceso Mejor rasgo Peor rasgo Mejor escenario de uso Desde CUDA Compute Capability 1.0 A partir de CCC 3.5 (aunque desde CCC 1.0 se podía usar la memoria de texturas manualmente) 64 Kbytes 48 Kbytes Una partición de la memoria global (DRAM) A través de una caché de 8 Kbytes que posee cada multiprocesador Latencia muy baja Menor ancho de banda Acceso con el mismo coeficiente (sin usar threadidx) a un pequeño conjunto de datos de sólo lectura Caché de texturas que expande la L1 (SRAM) Mediante un camino aparte en el cauce de segmentación gráfico Gran ancho de banda Mayor latencia Cuando el kernel es memory-bound, aún después de haber saturado el ancho de banda con memoria compartida 15 Generación de GPU Modelo hardware CUDA Compute Capability (CCC) Tope de registros de 32 bits / hilo Regs. de 32 bits / Multiprocesador Mem. compartida / Multiprocesador Caché L1 / Multiprocesador Caché L2 / GPU Todos los modelos de Fermi y Kepler incorporan: Corrección de errores ECC en DRAM. Fermi Kepler GF100 GF104 GK104 GK110 Limitación Anchura de 64 bits en el bus de direcciones. Impacto SW. Working set 32 K 32 K 64 K 64 K HW. Working set 16-48KB 16-48KB KB KB HW. Tile size 48-16KB 48-16KB KB KB Anchura de 64 bits en el bus de datos por cada controlador (todos presentan 6 controladores para 384 bits, salvo GF104 que tiene 4). HW. 768 KB. 768 KB. 768 KB KB. HW. Velocidad de acceso Velocidad de acceso 16

5 Kepler en perspectiva: Recursos hardware y rendimiento pico Tarjeta Tesla (modelo comercial) M2075 Modelo GeForce similar en cores GTX 470 GTX 580 Generación de GPU (y CCC) Fermi GF100 (2.0) Multiprocesadores x (cores/multipr.) Número total de cores 14 x x Tipo de multiprocesador Distancia de integración de los trans. SM 40 nm. K20 K20X - GTX Titan K40 Kepler GK110 (3.5) 13 x x K80 GTX Titan GTX Black Titan Z x x SMX con paralelismo dinámico y HyperQ 28 nm. 28 nm. 575 MHz 650 MHz 706 MHz 732 MHz Frecuencia de los cores (para GPGPU) 1150 MHz 1300 MHz 706 MHz 732 MHz Frecuencia de la GPU (para gráficos) 3. Los cores SMX M nm. 28 nm. 28 nm Número de cores (simple precisión) GFLOPS (pico en simple precisión) Número de cores (doble precisión) GFLOPS (pico en doble precisión) Rendimiento pico en GPU vs. CPU FLOPS pico en doble precisión GeForce GTX Titan Z: El techo de rendimiento en GPUs domésticas Ancho de banda 5760 cores (el doble que la K40). 12 Gbytes de memoria de vídeo. Más de 8 TeraFLOPS de rendimiento pico. Precio inicial (Marzo de 2014): $3000. Precio un año después de su lanzamiento: $1500. GPU 6x mejor en double : GPU: 3000 GFLOPS CPU: 500 GFLOPS GPU 6x ancho de banda: 7 GHz x 48 bytes = 336 GB/s. 2 GHz x 32 bytes = 64 GB/s

6 GPU Boost Permite acelerar hasta un 17% el reloj de la GPU si el consumo de una aplicación es bajo. Se retornará al reloj base si se sobrepasan los 235 W. Se puede configurar un modo persistente de vigencia permanente de un reloj, u otro para ejecuciones puntuales. Consumo sin apurar Maximiza los relojes gráficos sin salirse de los márgenes de consumo nominales Rendimiento Board Power (Watts) Cada aplicación tiene un comportamiento distinto en relación al consumo Aquí vemos el consumo medio (vatios) en la Tesla K20X de aplicaciones muy populares en el ámbito HPC: Reloj base Reloj a máxima frecuencia 745 MHz 810 MHz 875 MHz 0 AMBER ANSYS Black ScholesChroma GROMACS GTC LAMMPS LSMS NAMD Nbody QMCPACK RTM SPECFEM3D Aquellas aplicaciones que menos consumen pueden beneficiarse de una frecuencia mayor En el caso de la K40, se definen tres saltos de frecuencia con incrementos del 8.7%. GPU Boost frente a otras implementaciones Resulta mejor un régimen estacionario para la frecuencia desde el punto de vista del estrés térmico y la fiabilidad. Reloj acelerado #2 Reloj acelerado #1 875 MHz 810 MHz Reloj de la GPU Otros fabricantes Boost Clock # 2 Boost Clock # 1 Base Clock # 1 Tesla K40 Reloj base 745 MHz Conmutación automática de reloj Relojes deterministas 235W Consumo máximo. Referencia (peor caso). 235W Consumo moderado. Ej: AMBER 235W Consumo bajo. Ej: ANSYS Fluent A 875 MHz, la K40 mejora el rendimiento hasta en un 40% respecto a la K20X. Y no sólo mejoran los GFLOPS, también lo hace el ancho de banda efectivo con memoria. 23 Valor por defecto Opciones predefinidas Interfaz con el usuario Duración del reloj acelerado Otros fabricantes Reloj acelerado Bloquear a la frecuencia base Panel de control Aprox. 50% del tiempo de ejec. Tesla K40 Reloj base 3 niveles: Base, Boost1 o Boost2 Comandos en el shell: nv-smi 100% del tiempo de ejecución 24

7 Lista de comandos GPU Boost Comando Ejemplo: Consultando el reloj en uso nvidia-smi -q -d CLOCK id=0000:86:00.0 Efecto nvidia-smi -q -d SUPPORTED_CLOCKS Muestra los relojes que soporta nuestra GPU nvidia-smi -ac <MEM clock, Graphics clock> Activa uno de los relojes soportados nvidia-smi -pm 1 Habilita el modo persistente (el reloj sigue vigente tras el apagado) nvidia-smi -pm 0 Modo no persistente: El reloj vuelve a su configuración base tras apagar la máquina nvidia-smi -q -d CLOCK nvidia-smi -rac nvidia-smi -acp 0 Consulta el reloj en uso Inicializa los relojes en su configuración base Permite cambiar los relojes a los usuarios que no son root Kepler GK110: Disposición física de las UFs para la Tesla K40 dotada de 15 SMXs 4. Funcionamiento del SMX: Front-end y back-end 28

8 El multiprocesador SMX Planificación y emisión de instrucciones en warps Front-end Del multiprocesador SM de Fermi GF100 al multiprocesador SMX de Kepler GK110 Front-end Ejecución de instrucciones. 512 unidades funcionales: para aritmética entera para aritmética s.p para aritmética d.p para carga/almacen para SFUs (log,sqrt,...) Back-end Back-end Acceso a memoria Interfaz Comparación entre la emisión y ejecución de instrucciones (front-end vs. back-end) Fermi (GF100) Kepler (GK110) Búsqueda y emisión (front-end) Puede emitir 2 warps, 1 instr. cada uno. Total: Máx. 2 warps por ciclo. Warps activos: 48 en cada SM, seleccionados de entre 8 bloques máx. En GTX580: 16*48= 768 warps activos. Puede emitir 4 warps, 2 instrs. cada uno. Total: Máx. 8 warps por ciclo. Warps activos: 64 en cada SMX, seleccionados de entre 16 bloques máx. En K40: 15 * 64 = 960 warps activos. Ejecución en SM-SMX (back-end) 32 cores (1 warp) para "int" y "float". 16 cores para "double" (1/2 warp). 16 unids. de carga/almacen. (1/2 warp). 4 unids. de funcs. especiales (1/8 warp). Total: Hasta 5 warps concurrentes. 192 cores (6 warps) para "int" y "float". 64 cores para "double" (2 warps). 32 unids. de carga/almacen. (1 warp). 32 unids. de funcs. especiales (1 warp). Total: Hasta 16 warps concurrentes. Gigathread, o cómo el programa es devorado por el procesador Cada malla (grid) contiene un número de bloques, que son asignados a los SMXs (hasta 16 en Kepler, 8 en Fermi). Los bloques se dividen en warps o grupos de 32 hilos. Los warps se ejecutan para cada instrucción de los hilos (hasta 64 warps activos en Kepler, 48 en Fermi). Ejemplo: En Kepler, cada SMX puede emitir 8 warp-instrucciones por ciclo, pero debido a limitaciones por recursos y dependencias: 7 es el pico sostenible. 4-5 es una buena cantidad para códigos limitados por instrucción. <4 en códigos limitados por memoria o latencia

9 Mejoras en concurrencia y paralelismo Expresando todo el paralelismo Generación de GPU Modelo hardware CUDA Compute Capability (CCC) Número de hilos / warp (tamaño del warp) Máximo número de warps / Multiprocesador Máximo número de bloques / Multiprocesador Máximo número de hilos / Bloque Máximo número de hilos / Multiprocesador Fermi Kepler GF100 GF104 GK104 GK Mejoras cruciales para ocultar latencias Máx. concurrencia en cada SMX 33 Tetris (baldosa = warp_instr.): - Emite 4 warp_instrs. - Ejecuta hasta 10 warps = 320 hilos. - Warp_instrs. son simétricos y se ejecutan todos en 1 ciclo. Correspondencia de colores: para instrucciones int. para instrs. float. double. Emite 4 warp_instrs. load/store. log/sqrt.... El jugador planifica los warps! Se pueden rotar las fichas si no hay dependencias entre sus 4 warps Ejecuta hasta 10 warp_instrs. instr. warp G80: Tarda 4 ciclos en ejecutar cada warp_instrs. G80: 16 U.F. Ejemplo: Kernel con bloques de 384 hilos (12 warps). Fermi: - Emite 2. - Ejecuta hasta 5. SM en Fermi: 100 U.F. paralelas. Bloque 0: Bloque 1: sub fmadd fdiv64 load sqrt Kepler: - Emite 4 warps x 2 instrs. - Ejecuta hasta 16 warp_instrs. (512 unidades funcionales). 6x32 = 192 ALUs 192 FPU SP 64 FPU DP SMX en Kepler: 512 U.F. paralelas SFU 32 LD/ST 34 int Una breve incursión en el concurso Una breve incursión en el concurso (2) 1: De tareas (TLP) int float double Procesamiento de matrices dispersas 2: De instrs. (ILP) Procesamiento de matrices dispersas 3: De datos (SIMD) Estrategia base: 4: Vectorial (warp = 32) Nuestro código recorre toda la matriz, realizando operaciones con cada elemento de forma independiente. Lanzaremos un kernel CUDA por cada columna de la matriz. Cada kernel tendrá el menor número posible de bloques. Cada bloque tendrá el mayor número posible de warps SFU 32 LD/ST 64 FPU DP 6x32 = 192 ALUs 192 FPU SP SMX en Kepler: 512 U.F. paralelas. int float double values[numelements]; for all elements assigned to each thread: for numops. to be done on each element values[i] *= values[i]; Cambiar el operador a más sencillo (suma) o más complejo (división) también afectará según la latencia de cada operación. 36

10 Las instrucciones para el concurso están en nuestra web: Paralelismo dependiente del volumen de datos El programa paralelo más elemental: Los bucles son paralelizables. Conocemos a priori la carga de trabajo. for (i=0; i<n; i++) for (j=0; j<m; j++) convolution (i, j); N M El programa imposible más elemental: Desconocemos la carga de trabajo. El reto es su distribución (partición de datos). N max(elementsonrow[i]) 37 for (i=0; i<n; i++) for (j=0; j<elementsonrow[i]; j++) convolution (i, j); Una solución mala: Supercómputo. Una solución peor: Serialización. 38 Cómo se representa una matriz dispersa en formato comprimido por columnas (CCS) Ejemplo para una matriz 5x5: Índices de fila colptr value según se recorren verticalmente rowidx for (i=0; i<n; i++) for (j=colptr[i]; j<colptr[i+1]; j++) value[j] += value[j]; número de elementos en cada columna (acumulados) posición horizontal de cada valor Para esta estructura de datos, así recorremos la matriz: 39 Un desafío para los programadores CUDA: Realizado en 8 países hasta la fecha Qué hace el programa? Iterar en paralelo sobre cada elemento de una matriz dispersa comprimida por columnas. La matriz dispersa puede tener N=100 o N=200 columnas, cada una con un número distinto de elementos no nulos. Se computan bucle i numops sobre cada elemento. for (i=0; i<n; i++) for (j=colptr[i]; j<colptr[i+1]; j++) for (k=0;k<numops;k++) value[j] += value[j]; Todos los bucles son forall. La carga computacional se desconoce en tiempo de compilación. El desafío está en la partición de datos: max(elementsoncol[i]) Desplegar streams, kernels, bloques e hilos sabiamente. bucle j N 40

11 Matrices dispersas de entrada (tomadas de la colección Matrix Market) Cómo trabaja el front-end de la GPU: (1) Planificación de warps Área científica Filas de la matriz Columnas de la matriz Elementos no nulos Carga de trabajo Economía Base Demografía x Base Oceanografía x Base Física cuántica x Base Álgebra lineal Base Procesamiento de imágenes x Base Astrofísica x Base Bioquímica x Base 41 SM (Fermi) SMX (Kepler) 42 La conexión entre front-end y back-end: (2) Emisión de warps En los 5 ciclos ilustrados, hemos podido ejecutar hasta aquí. En Fermi hay déficit en las SFUs (azul), mientras que en Kepler lo hay en las unidades de carga/almacenamiento (verde). Kepler equilibra la doble precisión (rojo) y tiene gran superávit en computación int y float, señal de que los códigos reales tienen mayor presencia de instrs. naranjas, y sobre todo, amarillas. Cómo trabaja el back-end de la GPU: (3) Ejecución de warps Suponemos que en el momento en que comenzamos a monitorizar la ejecución quedaban pendientes de ejecutar: Un par de warps de punto flotante en simple precisión (naranjas). Otro par de warps en doble precisión (rojos). Parece conveniente que el front-end vaya un poco adelantado respecto al back-end (prebúsquedas) con objeto de maximizar el throughput. SM (Fermi) SMX (Kepler) 43 SM (Fermi) SMX (Kepler) 44

12 Puntualizaciones al modelo tetris En Fermi, las baldosas rojas no pueden combinarse con otras. En Kepler, no se pueden tomar 8 warp_instrs. en horizontal, deben ser de altura 2 como mínimo. Las instrucciones tienen distinta latencia, así que las que consuman más de un ciclo (como los operandos en doble precisión) deben expandirse verticalmente en proporción. Si el warp tiene divergencias, tarda más de un ciclo: Es la carencia del vectorial. Se podría representar como el anterior. Los códigos tienen más fichas amarillas ( int domina). Algunas fichas vienen cojas porque el planificador de warps no puede encontrar un lote de 4x2 sin dependencias. Las fichas pueden ensamblar baldosas no contiguas. Latencia de los warps Aunque todas las baldosas tardaran un ciclo en ejecutarse, la duración de los warps no sería ésa. El tiempo que un warp gasta en la máquina es la suma de tres: Tiempo en planificación. Tiempo en emisión. Tiempo en ejecución. La planificación y ejecución son bastante regulares, pero la emisión no: Depende de la montaña de baldosas que haya en el cubilete (estaciones de reserva). De ahí la varianza que experimenta su duración El comportamiento de los warps nos enseña que la GPU no es un procesador regular Factores impredecibles en tiempo de ejecución dificultan un reparto equilibrado de la carga computacional entre los multiprocesadores. Aquí vemos un ejemplo de la varianza existente entre los 8 últimos warps ejecutados en cada SM: 5. Mejoras funcionales 47

13 Principales mejoras hardware Computación a gran escala (grandes tamaños de problema) Generación de GPU Fermi Modelo hardware Kepler GF100 GF104 GK104 Compute Capability (CCC) Máxima dimensión X de la malla 2^16-1 2^ ^32-1 GK110 Limitación Impacto Software Tamaño del problema Limitación Impacto 3.5 2^32-1 Novedades funcionales: Generación de GPU Fermi Modelo hardware 5.1. Paralelismo dinámico Kepler GF100 GF104 GK104 GK110 Compute Capability (CCC) Paralelismo dinámico No No No Sí Hardware Estructura del problema Hyper-Q No No No Sí Hardware Planificación de hilos 50 Así se hacían las cosas en la era pre-kepler: La GPU era un mero esclavo del host o CPU Qué es el paralelismo dinámico? La habilidad para lanzar nuevos procesos (mallas de bloques de hilos) desde la GPU de forma: Gran ancho de banda en las comunicaciones: Externas: Superior a 10 GB/s (PCI-express 3). Internas: Superior a 100 GB/s (memoria de vídeo GDDR5 y anchura de bus en torno a 384 bits, que es como un séxtuple canal en CPU). Dinámica: Basándonos en datos obtenidos en tiempo de ejecución. Simultánea: Desde múltiples hilos a la vez. Independiente: Cada hilo puede lanzar una malla diferente. Función Lib Lib Función Función Init GPU Alloc CPU GPU Fermi: Sólo la CPU puede generar trabajo en GPU. CPU GPU CPU Kepler: La GPU puede generar trabajo por sí sola. Operación 1 51 Operación 2 Operación 3 52

14 Y así se pueden hacer con Kepler: Las GPUs lanzan sus propios kernels Antes la GPU era un co-procesador Con Kepler, la GPU is más autónoma: Entra en escena el paralelismo dinámico CPU GPU CPU GPU Ejemplo 1: Generación dinámica de la carga Asigna los recursos dinámicamente según se vaya requiriendo precisión en tiempo real, lo que facilita la computación de aplicaciones irregulares en GPU. Amplía el ámbito de aplicación donde puede ser útil. Malla gruesa Malla fina Malla dinámica Ahora los programas van más rápido y se expresan de una forma más natural. 53 Rendimiento elevado, precisión baja Rendimiento bajo, precisión elevada Sacrifica rendimiento sólo donde se requiere precisión 54 Ejemplo 2: Desplegando paralelismo según el nivel de detalle A vigilar cuando se use el paralelismo dinámico CUDA hasta 2012: La CPU lanza kernels de forma regular. Todos los píxeles se procesan igual. La potencia computacional se asocia a las regiones según su interés CUDA sobre Kepler: La GPU lanza un número diferente de kernels/bloques para cada región computacional. Es un mecanismo mucho más potente de lo que aparenta su simplicidad en el código. Sin embargo... Lo que escribimos dentro de un kernel CUDA se fotocopia para todos los hilos. Por lo tanto, la llamada a un kernel provocará millones de lanzamientos si no va precedida de algún IF que la delimite (por ejemplo, sólo el hilo 0 lanza). Si un bloque CUDA lanza kernels hijos, pueden éstos utilizar la memoria compartida del padre? No. Sería fácil de implementar en hardware, pero muy complejo para el programador garantizar que no se producen riesgos por dependencias (condiciones de carrera)

15 Hyper-Q En Fermi, diversos procesos de CPU ya podían enviar sus mallas de bloques de hilos sobre una misma GPU, pero su ejecución concurrente se encontraba severamente limitada por hardware. En Kepler, pueden ejecutarse simultáneamente hasta 32 kernels procedentes de: Varios procesos de MPI, hilos de CPU o streams de CUDA. Esto incrementa el porcentaje de ocupación temporal de la GPU. FERMI KEPLER 1 sola tarea MPI activa 32 tareas MPI simultáneas 5.2. Hyper-Q 58 global kernel_a(pars) {body} // Same for B...Z cudastream_t stream_1, stream_2, stream_3;... cudastreamcreatewithflags(&stream_1,...); cudastreamcreatewithflags(&stream_2,...); cudastreamcreatewithflags(&stream_3,...);... kernel_a <<< dimgrida, dimblocka, 0, stream_1 >>> (pars); kernel_b <<< dimgridb, dimblockb, 0, stream_1 >>> (pars); kernel_c <<< dimgridc, dimblockc, 0, stream_1 >>> (pars);... kernel_p <<< dimgridp, dimblockp, 0, stream_2 >>> (pars); kernel_q <<< dimgridq, dimblockq, 0, stream_2 >>> (pars); kernel_r <<< dimgridr, dimblockr, 0, stream_2 >>> (pars);... kernel_x <<< dimgridx, dimblockx, 0, stream_3 >>> (pars); kernel_y <<< dimgridy, dimblocky, 0, stream_3 >>> (pars); kernel_z <<< dimgridz, dimblockz, 0, stream_3 >>> (pars); El gestor de kernels/mallas: Fermi vs. Kepler Kepler GK110 Fermi stream_1 kernel_a Colas de streams kernel_b (colas ordenadas de mallas) Stream 1 kernel_c stream_2 Stream 2 R Z Stream 3 B Q Y A P X Kernel C Kernel R Kernel Z Kernel B Kernel Q Kernel Y Kernel A Kernel P Kernel X kernel_p Cola de streams C Hardware paralelo de streams Gestor de kernels/mallas Una sola cola hardware multiplexa los streams kernel_q kernel_r Distribuidor de carga para los bloques lanzados desde las mallas 16 mallas activas stream_3 kernel_x kernel_y SM kernel_z 59 SM SM SM Mallas pendientes y suspendidas Miles de mallas pendientes Carga de trabajo generada por CUDA stream 3 stream 2 stream 1 Un ejemplo: 3 streams, cada uno compuesto de 3 kernels Permite suspender mallas Distribuidor de carga Se encarga de las mallas activas 32 mallas activas SMX SMX SMX SMX 60

16 Relación entre las colas software y hardware Fermi: Relación entre las colas software y hardware Fermi: A -- B -- C...pero los streams se multiplexan en una cola única El hardware de la GPU puede A--B--C P--Q--R X--Y--Z albergar hasta 16 mallas en Oportunidad para solapar: ejecución... Sólo en las fronteras entre streams...pero los streams se multiplexan en una cola única El hardware de la GPU puede A--B--C P--Q--R X--Y--Z albergar hasta 16 mallas en Oportunidad para solapar: ejecución... Sólo en las fronteras entre streams Stream 1 P -- Q -- R Stream 2 X -- Y -- Z Stream 3 El número de mallas en ejecución crece hasta % utilización de la GPU C C D E X--Y--Z X -- Y -- Z Concurrencia plena entre streams Stream 3 Stream 2 F Tiempo Con Hyper-Q: Multiproceso simultáneo E F 100 % utilización de la GPU D D D C A F C C 50 B E F B F E 0 Procesos en CPU......mapeados sobre GPU 5.3. El tamaño del warp B A D 0 E A Tiempo ganado 63 A -- B -- C P -- Q -- R 50 B X -- Y -- Z P--Q--R 100 A Stream 2 Stream 1 Sin Hyper-Q: Multiproceso por división temporal 0 P -- Q -- R Desaparecen las dependencias entre streams A--B--C B Stream 1 Stream 3 Kepler: A A -- B -- C 62

17 La forma en que cada multiprocesador engulle las instrucciones SIMD Un hipotético front-end para la GPU con tamaño de warp ampliado a 64 Instr. 1 UC Warp scheduler Instr. 2 Bloque Dispatch Unit Warp scheduler Dispatch Unit Dispatch Unit Dispatch Unit Instr. 3 Fermi Kepler 65 La forma en que se engullen las instrucciones SIMD utilizando un warp de tamaño El back-end de la GPU: Transformando el SMX para un tamaño de warp de 64 Instr. 1 Unidad funcional CU Instr. 2 El coste de la unidad de control ahora es justo la mitad. La penalidad por dependencias de datos es potencialmente más baja, y su circuitería más sencilla. La penalidad por dependencias de control es mayor. # tam. de warp 32 tam. de warp 64 int/fp fp load/store /2 SFU /2 El déficit está en las unidades de carga y almacenamiento y las SFUs, y de éste ya fueron capaces de recuperarse tras la generación Fermi. Kepler 67 68

18 Otros hechos que promueven el cambio a warps de tamaño 64 Memoria compartida: La concurrencia se consigue a través de los bancos, que ya subieron de 16 (pre-fermi) a 32. Memoria de vídeo: Se requiere mayor ancho de banda, pero ése no es el problema de la saga DDR, sino la latencia. Bifurcaciones: Las técnicas que minimizan la penalización en saltos condicionales están más preparadas para este reto. Escalabilidad en el número de cores: Simplicidad en la unidad de control permitiría subir el número de cores. Nvidia está anticipando este cambio con continuos avisos. Otras marcas se mueven también en esta dirección: Graphics Core Next (GCN) de AMD es un SIMD de 4 x 16 cores. Para beneficiarse del cambio tecnológico a warps de 64 hilos Hacer los bloques grandes: Menos de 64 hilos por bloque está vetado. 256 sería el mínimo. 384 cobra protagonismo. Prestar una mayor atención a las divergencias. Favorece más a las aplicaciones regulares. De ahí que la sofisticación del planificador de mallas se haya pensado para acelerar las aplicaciones irregulares Cómo sería Kepler si tuviera un warp de 64 Síntesis final Kepler32: - Emite 4 warps x 2 instrs. - Ejecuta hasta 16 warp_instrs. (512 unidades funcionales). 6x32 = 192 ALUs 192 FPU SP 64 FPU DP SMX en Kepler: 512 U.F. paralelas. 32 SFU 32 LD/ST Kepler64: - Emitiría 4 warps. - Ejecutaría hasta 8. Si contamos con que Nvidia suele completar a warps enteros las Unidades Funcionales en la siguiente generación, verde y azul aumentarían, y el parecido de Kepler64 con el Tetris del video-juego sería asombroso. 71 Kepler simboliza la generación de GPUs de Nvidia para , más adecuada para miles de cores. Despliega todas las formas de paralelismo a gran escala: De tareas, de instrucciones, de datos y vectorial. Hace énfasis en la eficiencia energética y en ampliar la programabilidad del modelo CUDA. La GPU es más autónoma, pero a la vez admite mayor interacción con la CPU. También se mejora la jerarquía de memoria y las conexiones entre las memorias de las GPUs. La conexión SMX-DRAM será determinante en el futuro. 72

Kepler. 1. Presentación de la arquitectura. Índice de contenidos [25 diapositivas] Kepler, Johannes (1571-1630)

Kepler. 1. Presentación de la arquitectura. Índice de contenidos [25 diapositivas] Kepler, Johannes (1571-1630) Índice de contenidos [25 diapositivas] Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga 1. Presentación de la arquitectura [3] 2. Los cores y su organización [7]

Más detalles

Kepler. 1. Presentación de la arquitectura. Contenidos de la charla. Kepler, Johannes (1571-1630)

Kepler. 1. Presentación de la arquitectura. Contenidos de la charla. Kepler, Johannes (1571-1630) Contenidos de la charla Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga 1. Presentación de la arquitectura [7 diapositivas] 2. La memoria y el transporte de datos

Más detalles

Ejemplos de optimización para Kepler. 1. Balanceo dinámico de la carga. Contenidos de la charla [18 diapositivas]

Ejemplos de optimización para Kepler. 1. Balanceo dinámico de la carga. Contenidos de la charla [18 diapositivas] Ejemplos de optimización para Kepler Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga Contenidos de la charla [18 diapositivas] 1. Balanceo dinámico de la carga.

Más detalles

Descubriendo Kepler. 1. Presentación de la arquitectura. Agradecimientos. Indice de contenidos [46 diapositivas]

Descubriendo Kepler. 1. Presentación de la arquitectura. Agradecimientos. Indice de contenidos [46 diapositivas] Agradecimientos Descubriendo Kepler Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga A los ingenieros de Nvidia, por compartir ideas, material, diagramas, presentaciones,...

Más detalles

Kepler. Contenidos de la charla. Kepler, Johannes ( ) 1. Presentación de la arquitectura

Kepler. Contenidos de la charla. Kepler, Johannes ( ) 1. Presentación de la arquitectura Kepler RIO 2014 Río Cuarto, 20 de Febrero, 2014 Manuel Ujaldón Martínez Dpto. Arquitectura de Computadores. Univ. Málaga. NVIDIA CUDA Fellow. Contenidos de la charla 1. Presentación de la arquitectura

Más detalles

Inside Kepler. I. Presentación de la arquitectura. Índice de contenidos [25 diapositivas] Kepler, Johannes ( )

Inside Kepler. I. Presentación de la arquitectura. Índice de contenidos [25 diapositivas] Kepler, Johannes ( ) Índice de contenidos [25 diapositivas] Inside Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga 1. Presentación de la arquitectura [3 diapositivas] 2. Los cores

Más detalles

Explotando el rendimiento de la GPU FLOPS pico en doble precisión

Explotando el rendimiento de la GPU FLOPS pico en doble precisión Rendimiento pico en GPU vs. CPU Explotando el rendimiento de la GPU FLOPS pico en doble precisión Curso de CUDA Málaga, 13 de Julio de 2017 GPU 6x mejor en double : Manuel Ujaldón GPU: 3000 GFLOPS CPU:

Más detalles

Arquitectura de aceleradores. Carlos Bederián IFEG CONICET GPGPU Computing Group FaMAF UNC bc@famaf.unc.edu.ar

Arquitectura de aceleradores. Carlos Bederián IFEG CONICET GPGPU Computing Group FaMAF UNC bc@famaf.unc.edu.ar Arquitectura de aceleradores Carlos Bederián IFEG CONICET GPGPU Computing Group FaMAF UNC bc@famaf.unc.edu.ar Contenidos Cómo llegamos hasta acá Qué hay ahora Qué hace Cómo lo uso Hacia dónde parece que

Más detalles

Programando con memoria unificada. Contenidos [15 diapositivas] Aportaciones de la memoria unificada. I. Descripción

Programando con memoria unificada. Contenidos [15 diapositivas] Aportaciones de la memoria unificada. I. Descripción Programando con memoria unificada IX Curso de Verano de la UMA Programación de GPUs con CUDA Contenidos [15 diapositivas] Málaga, del 15 al 24 de Julio, 2015 1. Descripción [5] 2. Ejemplos [8] 3. Observaciones

Más detalles

Modelo de aplicaciones CUDA

Modelo de aplicaciones CUDA Modelo de aplicaciones CUDA Utilización de GPGPUs: las placas gráficas se utilizan en el contexto de una CPU: host (CPU) + uno o varios device o GPUs Procesadores masivamente paralelos equipados con muchas

Más detalles

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos. RAIDS MODO LINEAL Es un tipo de raid que muestra lógicamente un disco pero se compone de 2 o más discos. Solamente llena el disco 0 y cuando este está lleno sigue con el disco 1 y así sucesivamente. Este

Más detalles

Evaluación del rendimiento de procesadores Intel Nehalem. Modelos x7550, x5670 y x5570

Evaluación del rendimiento de procesadores Intel Nehalem. Modelos x7550, x5670 y x5570 Evaluación del rendimiento de procesadores Intel Nehalem. Modelos x7550, x5670 y x5570 Juan Carlos Fernández Rodríguez. Área de HPC. Centro Informático Científico de Andalucía (CICA) Junta de Andalucía

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013 FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS CNCA Abril 2013 6. COMPUTACIÓN DE ALTO RENDIMIENTO Ricardo Román DEFINICIÓN High Performance Computing - Computación de Alto Rendimiento Técnicas, investigación

Más detalles

Arquitecturas GPU v. 2013

Arquitecturas GPU v. 2013 v. 2013 Stream Processing Similar al concepto de SIMD. Data stream procesado por kernel functions (pipelined) (no control) (local memory, no cache OJO). Data-centric model: adecuado para DSP o GPU (image,

Más detalles

TEMA 4. Unidades Funcionales del Computador

TEMA 4. Unidades Funcionales del Computador TEMA 4 Unidades Funcionales del Computador Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca Introducción El elemento físico, electrónico o hardware de un sistema

Más detalles

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:

Más detalles

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES. 1.- a) Explica qué es un bit de información. Qué es el lenguaje binario? Bit es la abreviatura de Binary digit. (Dígito binario). Un bit es un dígito del lenguaje binario que es el lenguaje universal usado

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas: SISTEMAS DISTRIBUIDOS DE REDES 1. SISTEMAS DISTRIBUIDOS Introducción y generalidades La computación desde sus inicios ha sufrido muchos cambios, desde los grandes equipos que permitían realizar tareas

Más detalles

CURSO: APACHE SPARK CAPÍTULO 2: INTRODUCCIÓN A APACHE SPARK. www.formacionhadoop.com

CURSO: APACHE SPARK CAPÍTULO 2: INTRODUCCIÓN A APACHE SPARK. www.formacionhadoop.com CURSO: APACHE SPARK CAPÍTULO 2: INTRODUCCIÓN A APACHE SPARK www.formacionhadoop.com Índice 1 Qué es Big Data? 2 Problemas con los sistemas tradicionales 3 Qué es Spark? 3.1 Procesamiento de datos distribuido

Más detalles

Intel Tera-Scale Computing Alumno: Roberto Rodriguez Alcala

Intel Tera-Scale Computing Alumno: Roberto Rodriguez Alcala Intel Tera-Scale Computing Alumno: Roberto Rodriguez Alcala 1. Introducción Los procesadores con dos núcleos existen actualmente, y los procesadores de cuatro están insertándose en el mercado lentamente,

Más detalles

EXPEDIENTE: 2/2015 ADQUISICIÓN E INSTALACIÓN DE INFRAESTRUCTURA CIENTÍFICA Y TECNOLÓGICA PARA CÉNITS PLIEGO DE PRESCRIPCIONES TÉCNICAS

EXPEDIENTE: 2/2015 ADQUISICIÓN E INSTALACIÓN DE INFRAESTRUCTURA CIENTÍFICA Y TECNOLÓGICA PARA CÉNITS PLIEGO DE PRESCRIPCIONES TÉCNICAS EXPEDIENTE: 2/2015 ADQUISICIÓN E INSTALACIÓN DE INFRAESTRUCTURA CIENTÍFICA Y TECNOLÓGICA PARA CÉNITS PLIEGO DE PRESCRIPCIONES TÉCNICAS PLIEGO DE PRESCRIPCIONES TÉCNICAS. EXPTE 2/2015 Adquisición e instalación

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los sistemas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejecución de instrucciones e interrupciones

Más detalles

Figura 1.4. Elementos que integran a la Tecnología de Información.

Figura 1.4. Elementos que integran a la Tecnología de Información. 1.5. Organización, estructura y arquitectura de computadoras La Gráfica siguiente muestra la descomposición de la tecnología de información en los elementos que la conforman: Figura 1.4. Elementos que

Más detalles

Ejercicio de estadística para 3º de la ESO

Ejercicio de estadística para 3º de la ESO Ejercicio de estadística para 3º de la ESO Unibelia La estadística es una disciplina técnica que se apoya en las matemáticas y que tiene como objetivo la interpretación de la realidad de una población

Más detalles

Tema: Historia de los Microprocesadores

Tema: Historia de los Microprocesadores Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad I: Introducción a los Microprocesadores y Microcontroladores. Tema: Historia de los Microprocesadores 1 Contenidos La década de los

Más detalles

GPU IMPLEMENTATIONS OF SCHEDULING HEURISTICS FOR HETEROGENEOUS COMPUTING ENVIRONMENTS

GPU IMPLEMENTATIONS OF SCHEDULING HEURISTICS FOR HETEROGENEOUS COMPUTING ENVIRONMENTS GPU IMPLEMENTATIONS OF SCHEDULING HEURISTICS FOR HETEROGENEOUS COMPUTING ENVIRONMENTS MAURO CANABÉ SERGIO NESMACHNOW Centro de Cálculo, Facultad de Ingeniería Universidad de la República, Uruguay GPU IMPLEMENTATIONS

Más detalles

nforce Serie 600i Características y beneficios de MCP NVIDIA nforce 680i SLI

nforce Serie 600i Características y beneficios de MCP NVIDIA nforce 680i SLI Características y beneficios de MCP NVIDIA nforce 680i SLI Ingeniería para aficionados Los procesadores de comunicaciones y medios (MCP) NVIDIA nforce SLI 680i ofrecen las herramientas y rendimiento que

Más detalles

Seminario Electrónico de Soluciones Tecnológicas sobre Content Networking

Seminario Electrónico de Soluciones Tecnológicas sobre Content Networking Seminario Electrónico de Soluciones Tecnológicas sobre Content Networking 1 de 13 Seminario Electrónico de Soluciones Tecnológicas sobre Content Networking 3 Bienvenida. 4 Objetivos. 5 Soluciones comerciales

Más detalles

picojava TM Características

picojava TM Características picojava TM Introducción El principal objetivo de Sun al introducir Java era poder intercambiar programas ejecutables Java entre computadoras de Internet y ejecutarlos sin modificación. Para poder transportar

Más detalles

15. Arquitectura de los multiprocesadores. 16. Multiprocesadores de memoria compartida. 17. Multicomputadores.

15. Arquitectura de los multiprocesadores. 16. Multiprocesadores de memoria compartida. 17. Multicomputadores. UNIDAD TEMÁTICA 5: MULTIPROCESADORES. 15. Arquitectura de los multiprocesadores. 16. Multiprocesadores de memoria compartida. 17. Multicomputadores. 15-1 TEMA 15: ARQUITECTURA DE LOS MULTIPROCESADORES.

Más detalles

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción

Más detalles

Arquitectura Von Neumann

Arquitectura Von Neumann Arquitectura Von Neumann Arquitectura Von Neumann Establecida en 1945 por Von Neumann Modelo básico de arquitectura utilizado en la mayoría de los computadores Su idea es la de conectar permanentemente

Más detalles

Organización de Computadoras. Turno Recursantes Clase 8

Organización de Computadoras. Turno Recursantes Clase 8 Organización de Computadoras Turno Recursantes Clase 8 Temas de Clase Subsistema de Memoria Organización de Memoria Principal Notas de clase 8 2 Memoria Velocidad del procesador: se duplica cada 18 meses

Más detalles

Procesador Intel Core 2 Extreme de 4 núcleos Traducción de Textos Curso 2007/2008

Procesador Intel Core 2 Extreme de 4 núcleos Traducción de Textos Curso 2007/2008 Procesador Intel Core 2 Traducción de Textos Curso 2007/2008 Versión Cambio 0.9RC Revisión del texto 0.8 Traducido el octavo párrafo 0.7 Traducido el séptimo párrafo Autor: Rubén Paje del Pino i010328

Más detalles

Familia de procesadores Intel x86

Familia de procesadores Intel x86 Familia de procesadores Intel x86 Mario Medina C. mariomedina@udec.cl Intel 8086 y 8088 8086: 1978, 29K transistores 8 Registros de 16 bits Bus de datos de 16 bits Bus de dirección de 20 bits Multiplexado

Más detalles

Estructura de Computadores I Arquitectura de los MMOFPS

Estructura de Computadores I Arquitectura de los MMOFPS UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA Estructura de Computadores I Arquitectura de los MMOFPS Integrantes: Luis Castro Valentina Yévenes RESUMEN Los MMOG (Massively Multiplayer Online Game), son juegos

Más detalles

Sistemas Operativos. Curso 2014 Planificación

Sistemas Operativos. Curso 2014 Planificación Sistemas Operativos Curso 2014 Planificación Agenda Introducción. Despachador. Clases de procesos. Esquemas de planificación. Criterios de planificación. Algoritmos de planificación. FCFS. SJF. Prioridad.

Más detalles

Sistemas Operativos. Curso 2015 Planificación

Sistemas Operativos. Curso 2015 Planificación Sistemas Operativos Curso 2015 Planificación Agenda Introducción. Despachador. Clases de procesos. Esquemas de planificación. Criterios de planificación. Algoritmos de planificación. FCFS. SJF. Prioridad.

Más detalles

INFORMÁTICA. Matemáticas aplicadas a la Informática

INFORMÁTICA. Matemáticas aplicadas a la Informática ACCESO A CICLO SUPERIOR INFORMÁTICA Matemáticas aplicadas a la Informática http://trasteandoencontre.km6.net/ 1 Acceso a grado Superior. Informática 1. Unidades de medida en informática Como sabemos, el

Más detalles

Análisis de aplicación: Virtual Machine Manager

Análisis de aplicación: Virtual Machine Manager Análisis de aplicación: Virtual Machine Manager Este documento ha sido elaborado por el Centro de Apoyo Tecnológico a Emprendedores bilib, www.bilib.es Copyright 2011, Junta de Comunidades de Castilla

Más detalles

INTRODUCCIÓN. Que es un sistema operativo? - Es un programa. - Funciona como intermediario entre el usuario y los programas y el hardware

INTRODUCCIÓN. Que es un sistema operativo? - Es un programa. - Funciona como intermediario entre el usuario y los programas y el hardware INTRODUCCIÓN Que es un sistema operativo? - Es un programa. - Funciona como intermediario entre el usuario y los programas y el hardware INTRODUCCIÓN METAS: Brindar un entorno para que los usuarios puedan

Más detalles

Formas de Pago y Efectos en Facturas de Venta WhitePaper Febrero de 2007

Formas de Pago y Efectos en Facturas de Venta WhitePaper Febrero de 2007 Formas de Pago y Efectos en Facturas de Venta WhitePaper Febrero de 2007 Contenidos 1. Propósito 3 2. Cuentas Bancarias 4 2.1. Dar de alta un banco 4 3. Formas de pago 6 3.1. Cómo crear formas de pago

Más detalles

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor

Más detalles

PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS

PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS Tema 5 Memorias Hoja: 2 / 14 Base teórica La memoria es el lugar en el que se almacenan las instrucciones y los datos para que se puedan

Más detalles

Global File System (GFS)...

Global File System (GFS)... Global File System (GFS)... Diferente a los sistemas de ficheros en red que hemos visto, ya que permite que todos los nodos tengan acceso concurrente a los bloques de almacenamiento compartido (a través

Más detalles

Día 5-6-2012 17:00h Lugar: Obra Social Ibercaja, Sala De actos, Rambla Ferran 38, 3º, Lleida

Día 5-6-2012 17:00h Lugar: Obra Social Ibercaja, Sala De actos, Rambla Ferran 38, 3º, Lleida Resumen de la conferencia Día 5-6-2012 17:00h Lugar: Obra Social Ibercaja, Sala De actos, Rambla Ferran 38, 3º, Lleida Ponente: Luis Muñiz Socio Director de Sisconges & Estrategia y experto en Sistemas

Más detalles

Conclusiones. Particionado Consciente de los Datos

Conclusiones. Particionado Consciente de los Datos Capítulo 6 Conclusiones Una de las principales conclusiones que se extraen de esta tesis es que para que un algoritmo de ordenación sea el más rápido para cualquier conjunto de datos a ordenar, debe ser

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

WINDOWS 2008 7: COPIAS DE SEGURIDAD

WINDOWS 2008 7: COPIAS DE SEGURIDAD 1.- INTRODUCCION: WINDOWS 2008 7: COPIAS DE SEGURIDAD Las copias de seguridad son un elemento fundamental para que el trabajo que realizamos se pueda proteger de aquellos problemas o desastres que pueden

Más detalles

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia. DISCOS RAID Raid: redundant array of independent disks, quiere decir conjunto redundante de discos independientes. Es un sistema de almacenamiento de datos que utiliza varias unidades físicas para guardar

Más detalles

Fundación Universitaria San. Direccionamiento IP

Fundación Universitaria San. Direccionamiento IP Fundación Universitaria San S Mateo - Interconectividad II Direccionamiento IP Qué son las direcciones IP? Una dirección IP es un número que identifica de manera lógica y jerárquica a una interfaz de un

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Estado actual de los procesadores

Estado actual de los procesadores Estado actual de los procesadores José Domingo Muñoz Rafael Luengo Fundamentos de Hardware Noviembre 2012 Procesadores actuales de Intel Procesadores actuales de Intel Procesadores actuales de Intel Procesadores

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

Procesos. Bibliografía. Threads y procesos. Definiciones

Procesos. Bibliografía. Threads y procesos. Definiciones Procesos Prof. Mariela Curiel Bibliografía A. Tanembaum & M. Van Steen. Sistemas Distribuidos. Principios y Paradigmas. 2da. Edición. Smith & Nair. The Architecture of Virtual Machines. IEEE Computer.

Más detalles

Guía del usuario de la Matriz virtual de Avigilon Control Center

Guía del usuario de la Matriz virtual de Avigilon Control Center Guía del usuario de la Matriz virtual de Avigilon Control Center Versión 5.0.2 PDF-ACCVM-A-Rev2_ES Copyright 2013 Avigilon. Todos los derechos reservados. La información incluida en este documento está

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR

Más detalles

Hilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010

Hilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010 Hilos, comunicación y competencia entre procesos Dr. Alonso Ramírez Manzanares 2-Sep-2010 Implementación de procesos Se mantiene una tabla de procesos con una entrada por cada proceso: Con lo cual tenemos

Más detalles

Segmentación de Imágenes en Procesadores Many-Core

Segmentación de Imágenes en Procesadores Many-Core Universidad de Santiago de Compostela Segmentación de Imágenes en Procesadores Many-Core Lilien Beatriz Company Garay Fernández lilien.gf@gmail.com Indice 1. Introducción Single-chip Cloud Computer (SCC)

Más detalles

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas Módulos: Módulo 1 Hardware & Arquitectura de sistemas - 20 Horas Este módulo permite conocer y configurar los elementos básicos del hardware del sistema, como también otros componentes adicionales como

Más detalles

Hostaliawhitepapers. Las ventajas de los Servidores dedicados. www.hostalia.com. Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199

Hostaliawhitepapers. Las ventajas de los Servidores dedicados. www.hostalia.com. Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 Las ventajas de los Servidores dedicados Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com A la hora de poner en marcha una aplicación web debemos contratar un servicio

Más detalles

UNIVERSIDAD TECNOLOGICA ECOTEC DIEGO BARRAGAN MATERIA: Sistemas Operativos 1 ENSAYO: Servidores BLADE

UNIVERSIDAD TECNOLOGICA ECOTEC DIEGO BARRAGAN MATERIA: Sistemas Operativos 1 ENSAYO: Servidores BLADE UNIVERSIDAD TECNOLOGICA ECOTEC DIEGO BARRAGAN MATERIA: Sistemas Operativos 1 ENSAYO: Servidores BLADE AÑO: 2010 Qué es un servidor Blade? Blade Server es una arquitectura que ha conseguido integrar en

Más detalles

Tema 3. Medidas de tendencia central. 3.1. Introducción. Contenido

Tema 3. Medidas de tendencia central. 3.1. Introducción. Contenido Tema 3 Medidas de tendencia central Contenido 31 Introducción 1 32 Media aritmética 2 33 Media ponderada 3 34 Media geométrica 4 35 Mediana 5 351 Cálculo de la mediana para datos agrupados 5 36 Moda 6

Más detalles

Novedades en Q-flow 3.02

Novedades en Q-flow 3.02 Novedades en Q-flow 3.02 Introducción Uno de los objetivos principales de Q-flow 3.02 es adecuarse a las necesidades de grandes organizaciones. Por eso Q-flow 3.02 tiene una versión Enterprise que incluye

Más detalles

Introducción. Por último se presentarán las conclusiones y recomendaciones pertinentes.

Introducción. Por último se presentarán las conclusiones y recomendaciones pertinentes. Introducción En el presente documento se explicarán las consideraciones realizadas para implementar la convolución bidimensional en la arquitectura CUDA. En general se discutirá la metodología seguida

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU Computación de Propósito General en Unidades de Procesamiento Gráfico () E. Dufrechou, P. Ezzatti, M. Pedemontey J.P. Silva Clases 4 Programación Contenido Modelo de programación Introducción Programación

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

Más detalles

Introducción a las redes de computadores

Introducción a las redes de computadores Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes

Más detalles

Resolución de problemas en paralelo

Resolución de problemas en paralelo Resolución de problemas en paralelo Algoritmos Paralelos Tema 1. Introducción a la computación paralela (segunda parte) Vicente Cerverón Universitat de València Resolución de problemas en paralelo Descomposición

Más detalles

COMPUTADORES MULTINUCLEO. Stallings W. Computer Organization and Architecture 8ed

COMPUTADORES MULTINUCLEO. Stallings W. Computer Organization and Architecture 8ed COMPUTADORES MULTINUCLEO Stallings W. Computer Organization and Architecture 8ed Computador multinucleo Un computador multinúcleocombina dos o mas procesadores (llamados núcleos) en una única pieza de

Más detalles

EVALUACIÓN COMPARADA DEL RENDIMIENTO DEL PROCESADOR INTEL 5570 (NEHALEM)

EVALUACIÓN COMPARADA DEL RENDIMIENTO DEL PROCESADOR INTEL 5570 (NEHALEM) EVALUACIÓN COMPARADA DEL RENDIMIENTO DEL PROCESADOR INTEL 5570 (NEHALEM) Carlos Bernal, Ana Silva, Marceliano Marrón, Juan Antonio Ortega, Claudio J. Arjona Área de HPC Centro Informático Científico de

Más detalles

GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS

GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS 1.- PLANTILLA DE PUBLICACIONES En este maestro crearemos la publicación base sobre la cual el programa generará

Más detalles

Guía de selección de hardware Windows MultiPoint Server 2010

Guía de selección de hardware Windows MultiPoint Server 2010 Guía de selección de hardware Windows MultiPoint Server 2010 Versión de documento 1.0 Publicado en marzo del 2010 Información sobre los derechos de reproducción Este documento se proporciona como está.

Más detalles

Redes de Altas Prestaciones

Redes de Altas Prestaciones Redes de Altas Prestaciones TEMA 3 Tecnologías Soporte tolerante a fallos -Curso 2010 Redes de Altas Prestaciones - Indice Conceptos Topología en Alta Disponibilidad Tecnologías disponibles Tecnología

Más detalles

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA E. SÁEZ, M. ORTIZ, F. QUILES, C. MORENO, L. GÓMEZ Área de Arquitectura y Tecnología de Computadores. Departamento de Arquitectura

Más detalles

3. FUNCIONAMIENTO DE LA FUNCIONES TXD Y RXD 4. EJEMPLO DE ENVÍO DE SMS DESDE EL PLC 5. EJEMPLO DE RECEPCIÓN DE SMS EN EL PLC

3. FUNCIONAMIENTO DE LA FUNCIONES TXD Y RXD 4. EJEMPLO DE ENVÍO DE SMS DESDE EL PLC 5. EJEMPLO DE RECEPCIÓN DE SMS EN EL PLC MÓDEM-GSM INDICE 1. INTRODUCCIÓN Centro Integrado Politécnico ETI Departamento de Electricidad 2. CONFIGURACIÓN PUERTO SERIE CPU 3. FUNCIONAMIENTO DE LA FUNCIONES TXD Y RXD 4. EJEMPLO DE ENVÍO DE SMS DESDE

Más detalles

Asignación de Procesadores

Asignación de Procesadores INTEGRANTES: Asignación de Procesadores Un sistema distribuido consta de varios procesadores. Estos se pueden organizar como colección de estaciones de trabajo personales, una pila pública de procesadores

Más detalles

Capitulo V Administración de memoria

Capitulo V Administración de memoria Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal

Más detalles

Unidad 1. La información

Unidad 1. La información Unidad 1. La información En esta unidad aprenderás: Los conceptos básicos de la informática. Cómo se representa la información dentro del ordenador. Las unidades de información. 1.1 Conceptos básicos Informática.

Más detalles

Facturación Automática de Ventas WhitePaper Noviembre de 2006

Facturación Automática de Ventas WhitePaper Noviembre de 2006 Facturación Automática de Ventas WhitePaper Noviembre de 2006 Contenidos 1. Propósito 3 2. Particularidades del asistente 3 2.1. Accesos en PrefGest 3 2.2. Requisitos de los documentos a albaranar / facturar

Más detalles

TEMA 2: CAPACIDAD: Diseño del Servicio TI Anexo II: Amazon EC2

TEMA 2: CAPACIDAD: Diseño del Servicio TI Anexo II: Amazon EC2 CIMSI Configuración, Implementación y Mantenimiento de Sistemas Informáticos TEMA 2: CAPACIDAD: Diseño del Servicio TI Anexo II: Amazon EC2 Daniel Cascado Caballero Rosa Yáñez Gómez Mª José Morón Fernández

Más detalles

Examen de Arquitectura de Computadores

Examen de Arquitectura de Computadores Examen de Arquitectura de Computadores Examen del primer parcial Ingeniería de Telecomunicación 21 de febrero de 2003 El examen consta de dos partes: Normas PARTE PRIMERA (40 % de la calificación final)

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

Tarjeta Principal. Disco Duro. Memoria RAM. Procesador. Fuente de Poder. Tarjetas de Expansión. Jair Acosta Núñez

Tarjeta Principal. Disco Duro. Memoria RAM. Procesador. Fuente de Poder. Tarjetas de Expansión. Jair Acosta Núñez Tarjeta Principal Disco Duro Memoria RAM Procesador Fuente de Poder Tarjetas de Expansión Jair Acosta Núñez También se le puede llamar Board, Mainboard, MotherBoard y Tarjeta Madre. Es una tarjeta interna

Más detalles

UNIDAD 1. LOS NÚMEROS ENTEROS.

UNIDAD 1. LOS NÚMEROS ENTEROS. UNIDAD 1. LOS NÚMEROS ENTEROS. Al final deberás haber aprendido... Interpretar y expresar números enteros. Representar números enteros en la recta numérica. Comparar y ordenar números enteros. Realizar

Más detalles

Version 3. Capítulo 9. Fundamentos de hardware avanzado para servidores

Version 3. Capítulo 9. Fundamentos de hardware avanzado para servidores Capítulo 9 Fundamentos de hardware avanzado para servidores Servidores para redes Un servidor es un computador en una red que es compartido por múltiples usuarios. El término servidor se refiere al hardware

Más detalles

Plataformas de soporte computacional: arquitecturas avanzadas,

Plataformas de soporte computacional: arquitecturas avanzadas, Plataformas de soporte computacional: arquitecturas avanzadas, sesión 2 Diego. Llanos, Belén Palop Departamento de Informática Universidad de Valladolid {diego,b.palop}@infor.uva.es Índice 1. Segmentación

Más detalles

Computación matricial dispersa con GPUs y su aplicación en Tomografía Electrónica

Computación matricial dispersa con GPUs y su aplicación en Tomografía Electrónica con GPUs y su aplicación en Tomografía Electrónica F. Vázquez, J. A. Martínez, E. M. Garzón, J. J. Fernández Portada Universidad de Almería Contenidos Computación matricial dispersa Introducción a SpMV

Más detalles

BUSES. Una comunicación compartida Un conjunto de cables para comunicar múltiples subsistemas. Memoria

BUSES. Una comunicación compartida Un conjunto de cables para comunicar múltiples subsistemas. Memoria BUSES UPCO ICAI Departamento de Electrónica y Automática 1 Qué es un bus? Una comunicación compartida Un conjunto de cables para comunicar múltiples subsistemas Procesador Control Datapath Memoria Entrada

Más detalles

RAID. Redundant Array of Independent Disks. Rafael Jurado Moreno (rafa.eqtt@gmail.com) Fuente: Wikipedia

RAID. Redundant Array of Independent Disks. Rafael Jurado Moreno (rafa.eqtt@gmail.com) Fuente: Wikipedia RAID Redundant Array of Independent Disks Rafael Jurado Moreno (rafa.eqtt@gmail.com) Fuente: Wikipedia I.E.S. María Moliner. Segovia 2010 1.Introducción. En informática, el acrónimo RAID (del inglés Redundant

Más detalles

Nuevas tendencias: Virtualización de computadores / servidores

Nuevas tendencias: Virtualización de computadores / servidores Nuevas tendencias: Virtualización de computadores / servidores Expositor: Ing. José Wu Chong Laboratorio de Internetworking FIA DATA Agenda Qué es un servidor? Qué servicios hay en la red? Qué es Virtualización?

Más detalles

Autenticación Centralizada

Autenticación Centralizada Autenticación Centralizada Ing. Carlos Rojas Castro Herramientas de Gestión de Redes Introducción En el mundo actual, pero en especial las organizaciones actuales, los usuarios deben dar pruebas de quiénes

Más detalles

Descripción del sistema

Descripción del sistema Advanced Edition Descripción del sistema Ender Descripción para la implantación y adaptación del sistema de información Turno, Gestión educativa 1 ÍNDICE 1. INTRODUCCIÓN...3 2. DESCRIPCIÓN CONCEPTUAL DEL

Más detalles

Técnicas empleadas. además de los discos las controladoras.

Técnicas empleadas. además de los discos las controladoras. RAID Introducción En los últimos años, la mejora en la tecnología de semiconductores ha significado un gran incremento en la velocidad de los procesadores y las memorias principales que, a su vez, exigen

Más detalles

Tema 4. Subsistema de Memoria

Tema 4. Subsistema de Memoria Tema 4. Subsistema de emoria 4.1. ntroducción 4.2. emoria cache. emoria principal 4.4. emoria virtual onceptos generales Organizaciones para mejorar el rendimiento lgunas tecnologías D Fundamentos de omputadores

Más detalles

Capítulo V. Implementación

Capítulo V. Implementación Capítulo V Implementación En este capítulo se especifican los recursos utilizados en la implementación de la interfaz, así como se describe su arquitectura funcional y las características principales.

Más detalles

1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez

1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez 1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez 1.2.1 CPU 1 Arquitecturas. 2 Tipos. 3 Características. 4 Funcionamiento(ALU, unidad de control, Registros y buses internos)

Más detalles