Computación Científica en Paralelo

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Computación Científica en Paralelo"

Transcripción

1 Computación Científica en Paralelo Luis Miguel de la Cruz Unidad de Investigación en Cómputo Aplicado DGSCA-UNAM. Posgrado en Ciencia e Ingeniería de la Computación LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 1 / 35

2 Contenido 1 Análisis de desempeño Performance Midiendo el desempeño Efectos del acceso a la memoria Análisis asintótico 2 Paralelismo Definiciones Ejemplo : Números primos 3 Tarea LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 2 / 35

3 1 Análisis de desempeño Performance Midiendo el desempeño Efectos del acceso a la memoria Análisis asintótico 2 Paralelismo Definiciones Ejemplo : Números primos 3 Tarea LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 3 / 35

4 FLOPS FLoating point Operations Per Second, es una medida del desempeño de una computadura, usada especialmente en el área de cómputo científico donde se requieren de muchos cálculos de punto flotante. Similar a instrucciones por segundo (MIPS). La S significa segundo, a veces se considera FLOPS como plural y/o singular. FLOP Algunas veces se usa FLOP como una abreviación de Floating-point OPeration y es una cuenta de las operaciones de punto flotante requeridas por un algoritmo. En este contexto FLOPS es el plural y no una medida de velocidad. Para distinguir usaremos FLOP s como plural de FLOP. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 4 / 35

5 FLOPS FLoating point Operations Per Second, es una medida del desempeño de una computadura, usada especialmente en el área de cómputo científico donde se requieren de muchos cálculos de punto flotante. Similar a instrucciones por segundo (MIPS). La S significa segundo, a veces se considera FLOPS como plural y/o singular. FLOP Algunas veces se usa FLOP como una abreviación de Floating-point OPeration y es una cuenta de las operaciones de punto flotante requeridas por un algoritmo. En este contexto FLOPS es el plural y no una medida de velocidad. Para distinguir usaremos FLOP s como plural de FLOP. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 4 / 35

6 Desempeño o Rendimiento (Performance) El desempeño (de punto flotante) de un código computacional es el número de operaciones de punto flotante que puede ejecutar en una unidad de tiempo. Se usan FLOPS para medir dicho desempeño. Cálculo de π π 4 = Esta serie se puede escribir como: A = N i=1 a i El cálculo de A requiere N 1 sumas y N + 1 referencias a memoria. Si el cálculo toma T N segundos para un ciero código entonces el desempeño es (N 1)/T N FLOPS. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 5 / 35

7 Desempeño o Rendimiento (Performance) El desempeño (de punto flotante) de un código computacional es el número de operaciones de punto flotante que puede ejecutar en una unidad de tiempo. Se usan FLOPS para medir dicho desempeño. Cálculo de π π 4 = Esta serie se puede escribir como: A = N i=1 a i El cálculo de A requiere N 1 sumas y N + 1 referencias a memoria. Si el cálculo toma T N segundos para un ciero código entonces el desempeño es (N 1)/T N FLOPS. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 5 / 35

8 Desempeño o Rendimiento (Performance) El desempeño (de punto flotante) de un código computacional es el número de operaciones de punto flotante que puede ejecutar en una unidad de tiempo. Se usan FLOPS para medir dicho desempeño. Cálculo de π π 4 = Esta serie se puede escribir como: A = N i=1 a i El cálculo de A requiere N 1 sumas y N + 1 referencias a memoria. Si el cálculo toma T N segundos para un ciero código entonces el desempeño es (N 1)/T N FLOPS. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 5 / 35

9 Desempeño o Rendimiento (Performance) El desempeño (de punto flotante) de un código computacional es el número de operaciones de punto flotante que puede ejecutar en una unidad de tiempo. Se usan FLOPS para medir dicho desempeño. Cálculo de π π 4 = Esta serie se puede escribir como: A = N i=1 a i El cálculo de A requiere N 1 sumas y N + 1 referencias a memoria. Si el cálculo toma T N segundos para un ciero código entonces el desempeño es (N 1)/T N FLOPS. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 5 / 35

10 Desempeño o Rendimiento (Performance) El desempeño (de punto flotante) de un código computacional es el número de operaciones de punto flotante que puede ejecutar en una unidad de tiempo. Se usan FLOPS para medir dicho desempeño. Cálculo de π π 4 = Esta serie se puede escribir como: A = N i=1 a i El cálculo de A requiere N 1 sumas y N + 1 referencias a memoria. Si el cálculo toma T N segundos para un ciero código entonces el desempeño es (N 1)/T N FLOPS. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 5 / 35

11 Es importante conocer la precisión con la que se mide el tiempo en una computadora. Tiempo de ejecución Tiempo que transcurre desde que se lanza una tarea hasta que ésta finaliza. Tiempo de CPU Tiempo durante el cual la tarea se ejecuta en un procesador. Tiempo de usuario: El CPU se dedica a la ejecución de las operaciones del programa. Tiempo de sistema: El CPU se dedica a las tareas que el sistema operativo debe realizar para se ejecute el programa. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 6 / 35

12 Es importante conocer la precisión con la que se mide el tiempo en una computadora. Tiempo de ejecución Tiempo que transcurre desde que se lanza una tarea hasta que ésta finaliza. Tiempo de CPU Tiempo durante el cual la tarea se ejecuta en un procesador. Tiempo de usuario: El CPU se dedica a la ejecución de las operaciones del programa. Tiempo de sistema: El CPU se dedica a las tareas que el sistema operativo debe realizar para se ejecute el programa. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 6 / 35

13 Es importante conocer la precisión con la que se mide el tiempo en una computadora. Tiempo de ejecución Tiempo que transcurre desde que se lanza una tarea hasta que ésta finaliza. Tiempo de CPU Tiempo durante el cual la tarea se ejecuta en un procesador. Tiempo de usuario: El CPU se dedica a la ejecución de las operaciones del programa. Tiempo de sistema: El CPU se dedica a las tareas que el sistema operativo debe realizar para se ejecute el programa. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 6 / 35

14 Es importante conocer la precisión con la que se mide el tiempo en una computadora. Tiempo de ejecución Tiempo que transcurre desde que se lanza una tarea hasta que ésta finaliza. Tiempo de CPU Tiempo durante el cual la tarea se ejecuta en un procesador. Tiempo de usuario: El CPU se dedica a la ejecución de las operaciones del programa. Tiempo de sistema: El CPU se dedica a las tareas que el sistema operativo debe realizar para se ejecute el programa. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 6 / 35

15 Es importante conocer la precisión con la que se mide el tiempo en una computadora. Tiempo de ejecución Tiempo que transcurre desde que se lanza una tarea hasta que ésta finaliza. Tiempo de CPU Tiempo durante el cual la tarea se ejecuta en un procesador. Tiempo de usuario: El CPU se dedica a la ejecución de las operaciones del programa. Tiempo de sistema: El CPU se dedica a las tareas que el sistema operativo debe realizar para se ejecute el programa. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 6 / 35

16 Dado que la precisión del reloj de una computadora es finita, las mediciones del tiempo pueden ser confusas. En el ejemplo de la suma es posible obtener T N = 0 para N < N c donde N c depende de la resolución con que se mide el tiempo. Para obtener una medida razonable en cálculos cortos, se recomienda: hacer muchas repeticiones de tal manera que el tiempo sea lo suficientemente grande comparado con el tiempo medible más pequeño y dividir el resultado por el número de repeticiones. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 7 / 35

17 Dado que la precisión del reloj de una computadora es finita, las mediciones del tiempo pueden ser confusas. En el ejemplo de la suma es posible obtener T N = 0 para N < N c donde N c depende de la resolución con que se mide el tiempo. Para obtener una medida razonable en cálculos cortos, se recomienda: hacer muchas repeticiones de tal manera que el tiempo sea lo suficientemente grande comparado con el tiempo medible más pequeño y dividir el resultado por el número de repeticiones. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 7 / 35

18 Dado que la precisión del reloj de una computadora es finita, las mediciones del tiempo pueden ser confusas. En el ejemplo de la suma es posible obtener T N = 0 para N < N c donde N c depende de la resolución con que se mide el tiempo. Para obtener una medida razonable en cálculos cortos, se recomienda: hacer muchas repeticiones de tal manera que el tiempo sea lo suficientemente grande comparado con el tiempo medible más pequeño y dividir el resultado por el número de repeticiones. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 7 / 35

19 Dado que la precisión del reloj de una computadora es finita, las mediciones del tiempo pueden ser confusas. En el ejemplo de la suma es posible obtener T N = 0 para N < N c donde N c depende de la resolución con que se mide el tiempo. Para obtener una medida razonable en cálculos cortos, se recomienda: hacer muchas repeticiones de tal manera que el tiempo sea lo suficientemente grande comparado con el tiempo medible más pequeño y dividir el resultado por el número de repeticiones. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 7 / 35

20 Dado que la precisión del reloj de una computadora es finita, las mediciones del tiempo pueden ser confusas. En el ejemplo de la suma es posible obtener T N = 0 para N < N c donde N c depende de la resolución con que se mide el tiempo. Para obtener una medida razonable en cálculos cortos, se recomienda: hacer muchas repeticiones de tal manera que el tiempo sea lo suficientemente grande comparado con el tiempo medible más pequeño y dividir el resultado por el número de repeticiones. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 7 / 35

21 Se puede definir un principio de incertidumbre en cómputo: uno no puede medir el desempeño con precisión arbitraria de una computadora, dado que usualmente se usa la misma computadora para hacer esta medición. La introducción de código para analizar el tiempo altera el tiempo que se requiere para completar la tarea que se está midiendo. En un programa en paralelo es importante asignar costo en tiempo a secciones del programa, las cuales son importantes en la solución de un problema dado. Es importante separar los costos de cálculo de los de acceso a datos remotos (I/O). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 8 / 35

22 Se puede definir un principio de incertidumbre en cómputo: uno no puede medir el desempeño con precisión arbitraria de una computadora, dado que usualmente se usa la misma computadora para hacer esta medición. La introducción de código para analizar el tiempo altera el tiempo que se requiere para completar la tarea que se está midiendo. En un programa en paralelo es importante asignar costo en tiempo a secciones del programa, las cuales son importantes en la solución de un problema dado. Es importante separar los costos de cálculo de los de acceso a datos remotos (I/O). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 8 / 35

23 Se puede definir un principio de incertidumbre en cómputo: uno no puede medir el desempeño con precisión arbitraria de una computadora, dado que usualmente se usa la misma computadora para hacer esta medición. La introducción de código para analizar el tiempo altera el tiempo que se requiere para completar la tarea que se está midiendo. En un programa en paralelo es importante asignar costo en tiempo a secciones del programa, las cuales son importantes en la solución de un problema dado. Es importante separar los costos de cálculo de los de acceso a datos remotos (I/O). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 8 / 35

24 Se puede definir un principio de incertidumbre en cómputo: uno no puede medir el desempeño con precisión arbitraria de una computadora, dado que usualmente se usa la misma computadora para hacer esta medición. La introducción de código para analizar el tiempo altera el tiempo que se requiere para completar la tarea que se está midiendo. En un programa en paralelo es importante asignar costo en tiempo a secciones del programa, las cuales son importantes en la solución de un problema dado. Es importante separar los costos de cálculo de los de acceso a datos remotos (I/O). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 8 / 35

25 1 Análisis de desempeño Performance Midiendo el desempeño Efectos del acceso a la memoria Análisis asintótico 2 Paralelismo Definiciones Ejemplo : Números primos 3 Tarea LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 9 / 35

26 Performance analysis o profiling Es la investigación del comportamiento de un programa usando información obtenida conforme el programa se ejecuta. Objetivos del análisis de desempeño: Determinar las secciones que se deben optimizar en un programa. Entender las razones por las que dichas secciones no son eficientes en una primera instancia. Entender las razones de por que no se alcanza el rendimiento pico. Maneras de hacer este análisis: El programador agrega instrucciones para calcular tiempos de ciertas partes del código. Agregar banderas de compilación (gcc -pg gprof). Otras (Binary translation, Runtime instrumentation, Runtime injection). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 10 / 35

27 Performance analysis o profiling Es la investigación del comportamiento de un programa usando información obtenida conforme el programa se ejecuta. Objetivos del análisis de desempeño: Determinar las secciones que se deben optimizar en un programa. Entender las razones por las que dichas secciones no son eficientes en una primera instancia. Entender las razones de por que no se alcanza el rendimiento pico. Maneras de hacer este análisis: El programador agrega instrucciones para calcular tiempos de ciertas partes del código. Agregar banderas de compilación (gcc -pg gprof). Otras (Binary translation, Runtime instrumentation, Runtime injection). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 10 / 35

28 Performance analysis o profiling Es la investigación del comportamiento de un programa usando información obtenida conforme el programa se ejecuta. Objetivos del análisis de desempeño: Determinar las secciones que se deben optimizar en un programa. Entender las razones por las que dichas secciones no son eficientes en una primera instancia. Entender las razones de por que no se alcanza el rendimiento pico. Maneras de hacer este análisis: El programador agrega instrucciones para calcular tiempos de ciertas partes del código. Agregar banderas de compilación (gcc -pg gprof). Otras (Binary translation, Runtime instrumentation, Runtime injection). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 10 / 35

29 Performance analysis o profiling Es la investigación del comportamiento de un programa usando información obtenida conforme el programa se ejecuta. Objetivos del análisis de desempeño: Determinar las secciones que se deben optimizar en un programa. Entender las razones por las que dichas secciones no son eficientes en una primera instancia. Entender las razones de por que no se alcanza el rendimiento pico. Maneras de hacer este análisis: El programador agrega instrucciones para calcular tiempos de ciertas partes del código. Agregar banderas de compilación (gcc -pg gprof). Otras (Binary translation, Runtime instrumentation, Runtime injection). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 10 / 35

30 Performance analysis o profiling Es la investigación del comportamiento de un programa usando información obtenida conforme el programa se ejecuta. Objetivos del análisis de desempeño: Determinar las secciones que se deben optimizar en un programa. Entender las razones por las que dichas secciones no son eficientes en una primera instancia. Entender las razones de por que no se alcanza el rendimiento pico. Maneras de hacer este análisis: El programador agrega instrucciones para calcular tiempos de ciertas partes del código. Agregar banderas de compilación (gcc -pg gprof). Otras (Binary translation, Runtime instrumentation, Runtime injection). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 10 / 35

31 Performance analysis o profiling Es la investigación del comportamiento de un programa usando información obtenida conforme el programa se ejecuta. Objetivos del análisis de desempeño: Determinar las secciones que se deben optimizar en un programa. Entender las razones por las que dichas secciones no son eficientes en una primera instancia. Entender las razones de por que no se alcanza el rendimiento pico. Maneras de hacer este análisis: El programador agrega instrucciones para calcular tiempos de ciertas partes del código. Agregar banderas de compilación (gcc -pg gprof). Otras (Binary translation, Runtime instrumentation, Runtime injection). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 10 / 35

32 Performance analysis o profiling Es la investigación del comportamiento de un programa usando información obtenida conforme el programa se ejecuta. Objetivos del análisis de desempeño: Determinar las secciones que se deben optimizar en un programa. Entender las razones por las que dichas secciones no son eficientes en una primera instancia. Entender las razones de por que no se alcanza el rendimiento pico. Maneras de hacer este análisis: El programador agrega instrucciones para calcular tiempos de ciertas partes del código. Agregar banderas de compilación (gcc -pg gprof). Otras (Binary translation, Runtime instrumentation, Runtime injection). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 10 / 35

33 Performance analysis o profiling Es la investigación del comportamiento de un programa usando información obtenida conforme el programa se ejecuta. Objetivos del análisis de desempeño: Determinar las secciones que se deben optimizar en un programa. Entender las razones por las que dichas secciones no son eficientes en una primera instancia. Entender las razones de por que no se alcanza el rendimiento pico. Maneras de hacer este análisis: El programador agrega instrucciones para calcular tiempos de ciertas partes del código. Agregar banderas de compilación (gcc -pg gprof). Otras (Binary translation, Runtime instrumentation, Runtime injection). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 10 / 35

34 Performance analysis o profiling Es la investigación del comportamiento de un programa usando información obtenida conforme el programa se ejecuta. Objetivos del análisis de desempeño: Determinar las secciones que se deben optimizar en un programa. Entender las razones por las que dichas secciones no son eficientes en una primera instancia. Entender las razones de por que no se alcanza el rendimiento pico. Maneras de hacer este análisis: El programador agrega instrucciones para calcular tiempos de ciertas partes del código. Agregar banderas de compilación (gcc -pg gprof). Otras (Binary translation, Runtime instrumentation, Runtime injection). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 10 / 35

35 Benchmark Es un punto de referencia que se usa para medir y comparar una cosa con otra. En cómputo, es la acción de ejecutar un programa, un conjunto de programas u otras operaciones para obtener el desempeño de un cierto hardware. Proveen de métodos para comparar el desempeño de varios tipos de hardware. LINPACK Es una colección de subrutinas en Fortran que analizan y resuelven problemas de mínimos cuadrados y sistemas de ecuaciones lineales. Fue diseñado para usarse en supercomputadoras en los 70s y 80s, por Jack Dongarra, Jim Bunch, Cleve Moler, y Pete Stewart. En la práctica se usa LAPACK. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 11 / 35

36 Benchmark Es un punto de referencia que se usa para medir y comparar una cosa con otra. En cómputo, es la acción de ejecutar un programa, un conjunto de programas u otras operaciones para obtener el desempeño de un cierto hardware. Proveen de métodos para comparar el desempeño de varios tipos de hardware. LINPACK Es una colección de subrutinas en Fortran que analizan y resuelven problemas de mínimos cuadrados y sistemas de ecuaciones lineales. Fue diseñado para usarse en supercomputadoras en los 70s y 80s, por Jack Dongarra, Jim Bunch, Cleve Moler, y Pete Stewart. En la práctica se usa LAPACK. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 11 / 35

37 Benchmark Es un punto de referencia que se usa para medir y comparar una cosa con otra. En cómputo, es la acción de ejecutar un programa, un conjunto de programas u otras operaciones para obtener el desempeño de un cierto hardware. Proveen de métodos para comparar el desempeño de varios tipos de hardware. LINPACK Es una colección de subrutinas en Fortran que analizan y resuelven problemas de mínimos cuadrados y sistemas de ecuaciones lineales. Fue diseñado para usarse en supercomputadoras en los 70s y 80s, por Jack Dongarra, Jim Bunch, Cleve Moler, y Pete Stewart. En la práctica se usa LAPACK. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 11 / 35

38 Benchmark Es un punto de referencia que se usa para medir y comparar una cosa con otra. En cómputo, es la acción de ejecutar un programa, un conjunto de programas u otras operaciones para obtener el desempeño de un cierto hardware. Proveen de métodos para comparar el desempeño de varios tipos de hardware. LINPACK Es una colección de subrutinas en Fortran que analizan y resuelven problemas de mínimos cuadrados y sistemas de ecuaciones lineales. Fue diseñado para usarse en supercomputadoras en los 70s y 80s, por Jack Dongarra, Jim Bunch, Cleve Moler, y Pete Stewart. En la práctica se usa LAPACK. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 11 / 35

39 Benchmark Es un punto de referencia que se usa para medir y comparar una cosa con otra. En cómputo, es la acción de ejecutar un programa, un conjunto de programas u otras operaciones para obtener el desempeño de un cierto hardware. Proveen de métodos para comparar el desempeño de varios tipos de hardware. LINPACK Es una colección de subrutinas en Fortran que analizan y resuelven problemas de mínimos cuadrados y sistemas de ecuaciones lineales. Fue diseñado para usarse en supercomputadoras en los 70s y 80s, por Jack Dongarra, Jim Bunch, Cleve Moler, y Pete Stewart. En la práctica se usa LAPACK. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 11 / 35

40 Benchmark Es un punto de referencia que se usa para medir y comparar una cosa con otra. En cómputo, es la acción de ejecutar un programa, un conjunto de programas u otras operaciones para obtener el desempeño de un cierto hardware. Proveen de métodos para comparar el desempeño de varios tipos de hardware. LINPACK Es una colección de subrutinas en Fortran que analizan y resuelven problemas de mínimos cuadrados y sistemas de ecuaciones lineales. Fue diseñado para usarse en supercomputadoras en los 70s y 80s, por Jack Dongarra, Jim Bunch, Cleve Moler, y Pete Stewart. En la práctica se usa LAPACK. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 11 / 35

41 LINPACK hace uso de BLAS para operaciones básicas entre matrices y vectores. Los benchmarks de LINPACK son una medida del poder de cálculo de punto flotante de una computadora, el resultado se da en FLOPS. En sistemas grandes se usa la version High-Performance LINPACK (HPL). R max Desempeño máximo de punto flotante alcanzado con los benchmarks de LINPACK. R peak Desempeño máximo de punto flotante que teóricamente una computadora puede alcanzar. Cualquier código ejecutado en dicha computadora no puede sobrepasar esta cota. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 12 / 35

42 LINPACK hace uso de BLAS para operaciones básicas entre matrices y vectores. Los benchmarks de LINPACK son una medida del poder de cálculo de punto flotante de una computadora, el resultado se da en FLOPS. En sistemas grandes se usa la version High-Performance LINPACK (HPL). R max Desempeño máximo de punto flotante alcanzado con los benchmarks de LINPACK. R peak Desempeño máximo de punto flotante que teóricamente una computadora puede alcanzar. Cualquier código ejecutado en dicha computadora no puede sobrepasar esta cota. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 12 / 35

43 LINPACK hace uso de BLAS para operaciones básicas entre matrices y vectores. Los benchmarks de LINPACK son una medida del poder de cálculo de punto flotante de una computadora, el resultado se da en FLOPS. En sistemas grandes se usa la version High-Performance LINPACK (HPL). R max Desempeño máximo de punto flotante alcanzado con los benchmarks de LINPACK. R peak Desempeño máximo de punto flotante que teóricamente una computadora puede alcanzar. Cualquier código ejecutado en dicha computadora no puede sobrepasar esta cota. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 12 / 35

44 LINPACK hace uso de BLAS para operaciones básicas entre matrices y vectores. Los benchmarks de LINPACK son una medida del poder de cálculo de punto flotante de una computadora, el resultado se da en FLOPS. En sistemas grandes se usa la version High-Performance LINPACK (HPL). R max Desempeño máximo de punto flotante alcanzado con los benchmarks de LINPACK. R peak Desempeño máximo de punto flotante que teóricamente una computadora puede alcanzar. Cualquier código ejecutado en dicha computadora no puede sobrepasar esta cota. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 12 / 35

45 LINPACK hace uso de BLAS para operaciones básicas entre matrices y vectores. Los benchmarks de LINPACK son una medida del poder de cálculo de punto flotante de una computadora, el resultado se da en FLOPS. En sistemas grandes se usa la version High-Performance LINPACK (HPL). R max Desempeño máximo de punto flotante alcanzado con los benchmarks de LINPACK. R peak Desempeño máximo de punto flotante que teóricamente una computadora puede alcanzar. Cualquier código ejecutado en dicha computadora no puede sobrepasar esta cota. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 12 / 35

46 Standard Performance Evaluation Corporation (SPEC) es un grupo formado para establecer, mantener y promocionaer un conjunto de benchmarks relevantes y estandarizados que se pueden usar para medir el desempeño de arquitecturas de cómputo actuales. SPEC desarrolla benchmarks, revisa y publica resultados obtenidos por sus miembros. CPU Graphics/Workstations MPI/OMP Java Client/Server Mail Servers Network File System Power SIP (Session Initiation Protocol) Virtualization Web Servers LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 13 / 35

47 Standard Performance Evaluation Corporation (SPEC) es un grupo formado para establecer, mantener y promocionaer un conjunto de benchmarks relevantes y estandarizados que se pueden usar para medir el desempeño de arquitecturas de cómputo actuales. SPEC desarrolla benchmarks, revisa y publica resultados obtenidos por sus miembros. CPU Graphics/Workstations MPI/OMP Java Client/Server Mail Servers Network File System Power SIP (Session Initiation Protocol) Virtualization Web Servers LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 13 / 35

48 Standard Performance Evaluation Corporation (SPEC) es un grupo formado para establecer, mantener y promocionaer un conjunto de benchmarks relevantes y estandarizados que se pueden usar para medir el desempeño de arquitecturas de cómputo actuales. SPEC desarrolla benchmarks, revisa y publica resultados obtenidos por sus miembros. CPU Graphics/Workstations MPI/OMP Java Client/Server Mail Servers Network File System Power SIP (Session Initiation Protocol) Virtualization Web Servers LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 13 / 35

49 Standard Performance Evaluation Corporation (SPEC) es un grupo formado para establecer, mantener y promocionaer un conjunto de benchmarks relevantes y estandarizados que se pueden usar para medir el desempeño de arquitecturas de cómputo actuales. SPEC desarrolla benchmarks, revisa y publica resultados obtenidos por sus miembros. CPU Graphics/Workstations MPI/OMP Java Client/Server Mail Servers Network File System Power SIP (Session Initiation Protocol) Virtualization Web Servers LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 13 / 35

50 Standard Performance Evaluation Corporation (SPEC) es un grupo formado para establecer, mantener y promocionaer un conjunto de benchmarks relevantes y estandarizados que se pueden usar para medir el desempeño de arquitecturas de cómputo actuales. SPEC desarrolla benchmarks, revisa y publica resultados obtenidos por sus miembros. CPU Graphics/Workstations MPI/OMP Java Client/Server Mail Servers Network File System Power SIP (Session Initiation Protocol) Virtualization Web Servers LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 13 / 35

51 Standard Performance Evaluation Corporation (SPEC) es un grupo formado para establecer, mantener y promocionaer un conjunto de benchmarks relevantes y estandarizados que se pueden usar para medir el desempeño de arquitecturas de cómputo actuales. SPEC desarrolla benchmarks, revisa y publica resultados obtenidos por sus miembros. CPU Graphics/Workstations MPI/OMP Java Client/Server Mail Servers Network File System Power SIP (Session Initiation Protocol) Virtualization Web Servers LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 13 / 35

52 Standard Performance Evaluation Corporation (SPEC) es un grupo formado para establecer, mantener y promocionaer un conjunto de benchmarks relevantes y estandarizados que se pueden usar para medir el desempeño de arquitecturas de cómputo actuales. SPEC desarrolla benchmarks, revisa y publica resultados obtenidos por sus miembros. CPU Graphics/Workstations MPI/OMP Java Client/Server Mail Servers Network File System Power SIP (Session Initiation Protocol) Virtualization Web Servers LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 13 / 35

53 Standard Performance Evaluation Corporation (SPEC) es un grupo formado para establecer, mantener y promocionaer un conjunto de benchmarks relevantes y estandarizados que se pueden usar para medir el desempeño de arquitecturas de cómputo actuales. SPEC desarrolla benchmarks, revisa y publica resultados obtenidos por sus miembros. CPU Graphics/Workstations MPI/OMP Java Client/Server Mail Servers Network File System Power SIP (Session Initiation Protocol) Virtualization Web Servers LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 13 / 35

54 Standard Performance Evaluation Corporation (SPEC) es un grupo formado para establecer, mantener y promocionaer un conjunto de benchmarks relevantes y estandarizados que se pueden usar para medir el desempeño de arquitecturas de cómputo actuales. SPEC desarrolla benchmarks, revisa y publica resultados obtenidos por sus miembros. CPU Graphics/Workstations MPI/OMP Java Client/Server Mail Servers Network File System Power SIP (Session Initiation Protocol) Virtualization Web Servers LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 13 / 35

55 Standard Performance Evaluation Corporation (SPEC) es un grupo formado para establecer, mantener y promocionaer un conjunto de benchmarks relevantes y estandarizados que se pueden usar para medir el desempeño de arquitecturas de cómputo actuales. SPEC desarrolla benchmarks, revisa y publica resultados obtenidos por sus miembros. CPU Graphics/Workstations MPI/OMP Java Client/Server Mail Servers Network File System Power SIP (Session Initiation Protocol) Virtualization Web Servers LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 13 / 35

56 Standard Performance Evaluation Corporation (SPEC) es un grupo formado para establecer, mantener y promocionaer un conjunto de benchmarks relevantes y estandarizados que se pueden usar para medir el desempeño de arquitecturas de cómputo actuales. SPEC desarrolla benchmarks, revisa y publica resultados obtenidos por sus miembros. CPU Graphics/Workstations MPI/OMP Java Client/Server Mail Servers Network File System Power SIP (Session Initiation Protocol) Virtualization Web Servers LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 13 / 35

57 Standard Performance Evaluation Corporation (SPEC) es un grupo formado para establecer, mantener y promocionaer un conjunto de benchmarks relevantes y estandarizados que se pueden usar para medir el desempeño de arquitecturas de cómputo actuales. SPEC desarrolla benchmarks, revisa y publica resultados obtenidos por sus miembros. CPU Graphics/Workstations MPI/OMP Java Client/Server Mail Servers Network File System Power SIP (Session Initiation Protocol) Virtualization Web Servers LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 13 / 35

58 1 Análisis de desempeño Performance Midiendo el desempeño Efectos del acceso a la memoria Análisis asintótico 2 Paralelismo Definiciones Ejemplo : Números primos 3 Tarea LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 14 / 35

59 ρ WM La razón ρ WM = trabajo(work) / Memoria de un algoritmo es el número de operaciones de punto flotante dividido por el número de localidades de memoria a las que se hace referencia. En ρ WM el denominador cuenta el número de localidades de memoria usadas en el algoritmo, L, y no el número de referencias a memoria, R, realizadas. Loop for(i=0; i<1000; i++) j = i; = R >> L LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 15 / 35

60 ρ WM La razón ρ WM = trabajo(work) / Memoria de un algoritmo es el número de operaciones de punto flotante dividido por el número de localidades de memoria a las que se hace referencia. En ρ WM el denominador cuenta el número de localidades de memoria usadas en el algoritmo, L, y no el número de referencias a memoria, R, realizadas. Loop for(i=0; i<1000; i++) j = i; = R >> L LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 15 / 35

61 ρ WM La razón ρ WM = trabajo(work) / Memoria de un algoritmo es el número de operaciones de punto flotante dividido por el número de localidades de memoria a las que se hace referencia. En ρ WM el denominador cuenta el número de localidades de memoria usadas en el algoritmo, L, y no el número de referencias a memoria, R, realizadas. Loop for(i=0; i<1000; i++) j = i; = R >> L LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 15 / 35

62 ρ WM La razón ρ WM = trabajo(work) / Memoria de un algoritmo es el número de operaciones de punto flotante dividido por el número de localidades de memoria a las que se hace referencia. En ρ WM el denominador cuenta el número de localidades de memoria usadas en el algoritmo, L, y no el número de referencias a memoria, R, realizadas. Loop for(i=0; i<1000; i++) j = i; = R >> L LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 15 / 35

63 Ejercicio 3.1 Encontrar ρ WM para la suma de N términos: A = N i=1 Esta suma requiere (N 1) sumas y (N + 1) localidades de memoria: ρ WM = a i (N 1) 1 para N grande (N + 1) Comúnmente ρ WM crece conforme el tamaño de los datos crece. Nuestro objetivo será encontrar y diseñar algoritmos con ρ WM grande. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 16 / 35

64 Ejercicio 3.1 Encontrar ρ WM para la suma de N términos: A = N i=1 Esta suma requiere (N 1) sumas y (N + 1) localidades de memoria: ρ WM = a i (N 1) 1 para N grande (N + 1) Comúnmente ρ WM crece conforme el tamaño de los datos crece. Nuestro objetivo será encontrar y diseñar algoritmos con ρ WM grande. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 16 / 35

65 Ejercicio 3.1 Encontrar ρ WM para la suma de N términos: A = N i=1 Esta suma requiere (N 1) sumas y (N + 1) localidades de memoria: ρ WM = a i (N 1) 1 para N grande (N + 1) Comúnmente ρ WM crece conforme el tamaño de los datos crece. Nuestro objetivo será encontrar y diseñar algoritmos con ρ WM grande. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 16 / 35

66 Ejercicio 3.1 Encontrar ρ WM para la suma de N términos: A = N i=1 Esta suma requiere (N 1) sumas y (N + 1) localidades de memoria: ρ WM = a i (N 1) 1 para N grande (N + 1) Comúnmente ρ WM crece conforme el tamaño de los datos crece. Nuestro objetivo será encontrar y diseñar algoritmos con ρ WM grande. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 16 / 35

67 Ejercicio 3.1 Encontrar ρ WM para la suma de N términos: A = N i=1 Esta suma requiere (N 1) sumas y (N + 1) localidades de memoria: ρ WM = a i (N 1) 1 para N grande (N + 1) Comúnmente ρ WM crece conforme el tamaño de los datos crece. Nuestro objetivo será encontrar y diseñar algoritmos con ρ WM grande. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 16 / 35

68 El desempeño de una computadora depende de su habilidad para acceder a la memoria. µ (ancho de banda del bus de memoria) La velocidad máxima de acceso a la memoria µ, se conoce como ancho de banda de acceso a la memoria y mide el número de palabras obtenidas por unidad de tiempo. Theorem Supongamos que un algoritmo tiene una cierta ρ WM y es ejecutado en una computadora con una cierta µ. Entonces el desempeño máximo que se puede obtener es µρ WM FLOPS. Este teorema es válido para computadoras tipo von Neumann. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 17 / 35

69 El desempeño de una computadora depende de su habilidad para acceder a la memoria. µ (ancho de banda del bus de memoria) La velocidad máxima de acceso a la memoria µ, se conoce como ancho de banda de acceso a la memoria y mide el número de palabras obtenidas por unidad de tiempo. Theorem Supongamos que un algoritmo tiene una cierta ρ WM y es ejecutado en una computadora con una cierta µ. Entonces el desempeño máximo que se puede obtener es µρ WM FLOPS. Este teorema es válido para computadoras tipo von Neumann. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 17 / 35

70 El desempeño de una computadora depende de su habilidad para acceder a la memoria. µ (ancho de banda del bus de memoria) La velocidad máxima de acceso a la memoria µ, se conoce como ancho de banda de acceso a la memoria y mide el número de palabras obtenidas por unidad de tiempo. Theorem Supongamos que un algoritmo tiene una cierta ρ WM y es ejecutado en una computadora con una cierta µ. Entonces el desempeño máximo que se puede obtener es µρ WM FLOPS. Este teorema es válido para computadoras tipo von Neumann. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 17 / 35

71 El desempeño de una computadora depende de su habilidad para acceder a la memoria. µ (ancho de banda del bus de memoria) La velocidad máxima de acceso a la memoria µ, se conoce como ancho de banda de acceso a la memoria y mide el número de palabras obtenidas por unidad de tiempo. Theorem Supongamos que un algoritmo tiene una cierta ρ WM y es ejecutado en una computadora con una cierta µ. Entonces el desempeño máximo que se puede obtener es µρ WM FLOPS. Este teorema es válido para computadoras tipo von Neumann. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 17 / 35

72 Ejercicio 3.2 Considere el cálculo del producto de una matriz cuadrada A = (a ij ) por un vector V = (v j ): Calcular ρ WM. (AV) i = n a ij v j para i = 1,..., n j=1 Esta operación requiere de: 2n 2 n FLOP s. Localidades de memoria: n 2 + 2n Por lo tanto: ρ WM = 2n2 n n 2 + 2n 2 LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 18 / 35

73 Ejercicio 3.2 Considere el cálculo del producto de una matriz cuadrada A = (a ij ) por un vector V = (v j ): Calcular ρ WM. (AV) i = n a ij v j para i = 1,..., n j=1 Esta operación requiere de: 2n 2 n FLOP s. Localidades de memoria: n 2 + 2n Por lo tanto: ρ WM = 2n2 n n 2 + 2n 2 LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 18 / 35

74 Ejercicio 3.2 Considere el cálculo del producto de una matriz cuadrada A = (a ij ) por un vector V = (v j ): Calcular ρ WM. (AV) i = n a ij v j para i = 1,..., n j=1 Esta operación requiere de: 2n 2 n FLOP s. Localidades de memoria: n 2 + 2n Por lo tanto: ρ WM = 2n2 n n 2 + 2n 2 LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 18 / 35

75 Ejercicio 3.2 Considere el cálculo del producto de una matriz cuadrada A = (a ij ) por un vector V = (v j ): Calcular ρ WM. (AV) i = n a ij v j para i = 1,..., n j=1 Esta operación requiere de: 2n 2 n FLOP s. Localidades de memoria: n 2 + 2n Por lo tanto: ρ WM = 2n2 n n 2 + 2n 2 LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 18 / 35

76 1 Análisis de desempeño Performance Midiendo el desempeño Efectos del acceso a la memoria Análisis asintótico 2 Paralelismo Definiciones Ejemplo : Números primos 3 Tarea LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 19 / 35

77 Cuando se mide el desempeño, se busca el orden de crecimiento de una función, excluyendo constantes y términos de bajo orden. Considerando la función f (n), nos preocupamos por su crecimiento asintótico en el límite cuando n Para estos propósitos se usa la notación O. Notación O Para una función f (n) la cota asintótica superior O(g(n)) implica que existe una constante c 1 que satisface 0 < c 1 < y un entero n 0 0 tal que f (n) c 1 g(n) para toda n n 0. Se dice que f (n) = O(g(n)) LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 20 / 35

78 Cuando se mide el desempeño, se busca el orden de crecimiento de una función, excluyendo constantes y términos de bajo orden. Considerando la función f (n), nos preocupamos por su crecimiento asintótico en el límite cuando n Para estos propósitos se usa la notación O. Notación O Para una función f (n) la cota asintótica superior O(g(n)) implica que existe una constante c 1 que satisface 0 < c 1 < y un entero n 0 0 tal que f (n) c 1 g(n) para toda n n 0. Se dice que f (n) = O(g(n)) LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 20 / 35

79 Cuando se mide el desempeño, se busca el orden de crecimiento de una función, excluyendo constantes y términos de bajo orden. Considerando la función f (n), nos preocupamos por su crecimiento asintótico en el límite cuando n Para estos propósitos se usa la notación O. Notación O Para una función f (n) la cota asintótica superior O(g(n)) implica que existe una constante c 1 que satisface 0 < c 1 < y un entero n 0 0 tal que f (n) c 1 g(n) para toda n n 0. Se dice que f (n) = O(g(n)) LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 20 / 35

80 Cuando se mide el desempeño, se busca el orden de crecimiento de una función, excluyendo constantes y términos de bajo orden. Considerando la función f (n), nos preocupamos por su crecimiento asintótico en el límite cuando n Para estos propósitos se usa la notación O. Notación O Para una función f (n) la cota asintótica superior O(g(n)) implica que existe una constante c 1 que satisface 0 < c 1 < y un entero n 0 0 tal que f (n) c 1 g(n) para toda n n 0. Se dice que f (n) = O(g(n)) LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 20 / 35

81 Ejercicio 3.3 Mostrar que la cota superior de la función an 2 + bn es O(n 2 ), de tal manera que existe una constante c 1 tal que se satisface la desigualdad an 2 + bn c 1 n 2. Cual es el valor mínimo de n para que esto se cumpla?. Ejercicio 3.4 Escribir ρ WM del ejercicio 3.1 en términos la notación O. Ejercicio 3.5 Suponga que se tienen 2 algoritmos para resolver un problema: el algoritmo F cuyo tiempo de ejecución es f (n) = an 2 = O(n 2 ) y el algoritmo G cuyo tiempo es g(n) = bn = O(n). Bajo que condiciones se tiene que f (n) < g(n)?. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 21 / 35

82 Ejercicio 3.3 Mostrar que la cota superior de la función an 2 + bn es O(n 2 ), de tal manera que existe una constante c 1 tal que se satisface la desigualdad an 2 + bn c 1 n 2. Cual es el valor mínimo de n para que esto se cumpla?. Ejercicio 3.4 Escribir ρ WM del ejercicio 3.1 en términos la notación O. Ejercicio 3.5 Suponga que se tienen 2 algoritmos para resolver un problema: el algoritmo F cuyo tiempo de ejecución es f (n) = an 2 = O(n 2 ) y el algoritmo G cuyo tiempo es g(n) = bn = O(n). Bajo que condiciones se tiene que f (n) < g(n)?. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 21 / 35

83 Ejercicio 3.3 Mostrar que la cota superior de la función an 2 + bn es O(n 2 ), de tal manera que existe una constante c 1 tal que se satisface la desigualdad an 2 + bn c 1 n 2. Cual es el valor mínimo de n para que esto se cumpla?. Ejercicio 3.4 Escribir ρ WM del ejercicio 3.1 en términos la notación O. Ejercicio 3.5 Suponga que se tienen 2 algoritmos para resolver un problema: el algoritmo F cuyo tiempo de ejecución es f (n) = an 2 = O(n 2 ) y el algoritmo G cuyo tiempo es g(n) = bn = O(n). Bajo que condiciones se tiene que f (n) < g(n)?. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 21 / 35

84 1 Análisis de desempeño Performance Midiendo el desempeño Efectos del acceso a la memoria Análisis asintótico 2 Paralelismo Definiciones Ejemplo : Números primos 3 Tarea LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 22 / 35

85 Suma de N números : A = N i=1 a i Es un tipo de operación conocida como reducción (reduction): reduce un vector a un escalar. Supóngase que N es un múltiplo entero de P, es decir: N = kp. Entonces se puede dividir la operación de reducción en P sumas parciales: Entonces: A j = jk i=(j 1)k+1 A j = a i para j = 1,..., P. P i=1 Se han creado P tareas independientes. A i LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 23 / 35

86 Suma de N números : A = N i=1 a i Es un tipo de operación conocida como reducción (reduction): reduce un vector a un escalar. Supóngase que N es un múltiplo entero de P, es decir: N = kp. Entonces se puede dividir la operación de reducción en P sumas parciales: Entonces: A j = jk i=(j 1)k+1 A j = a i para j = 1,..., P. P i=1 Se han creado P tareas independientes. A i LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 23 / 35

87 Suma de N números : A = N i=1 a i Es un tipo de operación conocida como reducción (reduction): reduce un vector a un escalar. Supóngase que N es un múltiplo entero de P, es decir: N = kp. Entonces se puede dividir la operación de reducción en P sumas parciales: Entonces: A j = jk i=(j 1)k+1 A j = a i para j = 1,..., P. P i=1 Se han creado P tareas independientes. A i LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 23 / 35

88 Suma de N números : A = N i=1 a i Es un tipo de operación conocida como reducción (reduction): reduce un vector a un escalar. Supóngase que N es un múltiplo entero de P, es decir: N = kp. Entonces se puede dividir la operación de reducción en P sumas parciales: Entonces: A j = jk i=(j 1)k+1 A j = a i para j = 1,..., P. P i=1 Se han creado P tareas independientes. A i LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 23 / 35

89 Suma de N números : A = N i=1 a i Es un tipo de operación conocida como reducción (reduction): reduce un vector a un escalar. Supóngase que N es un múltiplo entero de P, es decir: N = kp. Entonces se puede dividir la operación de reducción en P sumas parciales: Entonces: A j = jk i=(j 1)k+1 A j = a i para j = 1,..., P. P i=1 Se han creado P tareas independientes. A i LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 23 / 35

90 Suma de N números : A = N i=1 a i Es un tipo de operación conocida como reducción (reduction): reduce un vector a un escalar. Supóngase que N es un múltiplo entero de P, es decir: N = kp. Entonces se puede dividir la operación de reducción en P sumas parciales: Entonces: A j = jk i=(j 1)k+1 A j = a i para j = 1,..., P. P i=1 Se han creado P tareas independientes. A i LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 23 / 35

91 Tarea Es una parte del cálculo que puede realizarse independiente de otras partes del mismo cálculo. Una tarea es algo que puede ser cálculado por un procedimiento (subrutina, función, método) separado del proceso principal (main). La razón k = N/P se conoce como granularidad. Granularidad La granularidad de un conjunto de tareas paralelas es la cantidad de trabajo (de la tarea más pequeña) que se puede hacer de forma independiente de otros cálculos. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 24 / 35

92 Tarea Es una parte del cálculo que puede realizarse independiente de otras partes del mismo cálculo. Una tarea es algo que puede ser cálculado por un procedimiento (subrutina, función, método) separado del proceso principal (main). La razón k = N/P se conoce como granularidad. Granularidad La granularidad de un conjunto de tareas paralelas es la cantidad de trabajo (de la tarea más pequeña) que se puede hacer de forma independiente de otros cálculos. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 24 / 35

93 Tarea Es una parte del cálculo que puede realizarse independiente de otras partes del mismo cálculo. Una tarea es algo que puede ser cálculado por un procedimiento (subrutina, función, método) separado del proceso principal (main). La razón k = N/P se conoce como granularidad. Granularidad La granularidad de un conjunto de tareas paralelas es la cantidad de trabajo (de la tarea más pequeña) que se puede hacer de forma independiente de otros cálculos. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 24 / 35

94 La paralelización de un código consiste en descubrir y/o crear cálculos que se pueden realizar de manera independiente con un mínimo de comunicación. Paralelismo trivial (embarrassingly parallel) Tareas que se pueden realizar de manera independiente de cualquier otro cálculo, sin ninguna comunicación entre ellas. La mayoría de los código científicos consisten de ciclos (loop), por lo que es importante el concepto de espacio de iteración. Espacio de iteración (iteration space) Es un subconjunto del producto Cartesiano de los arreglos de enteros que contienen todos los posibles valores de los índices de los ciclos. La dimensión de este producto es el número de ciclos anidados. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 25 / 35

95 La paralelización de un código consiste en descubrir y/o crear cálculos que se pueden realizar de manera independiente con un mínimo de comunicación. Paralelismo trivial (embarrassingly parallel) Tareas que se pueden realizar de manera independiente de cualquier otro cálculo, sin ninguna comunicación entre ellas. La mayoría de los código científicos consisten de ciclos (loop), por lo que es importante el concepto de espacio de iteración. Espacio de iteración (iteration space) Es un subconjunto del producto Cartesiano de los arreglos de enteros que contienen todos los posibles valores de los índices de los ciclos. La dimensión de este producto es el número de ciclos anidados. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 25 / 35

96 La paralelización de un código consiste en descubrir y/o crear cálculos que se pueden realizar de manera independiente con un mínimo de comunicación. Paralelismo trivial (embarrassingly parallel) Tareas que se pueden realizar de manera independiente de cualquier otro cálculo, sin ninguna comunicación entre ellas. La mayoría de los código científicos consisten de ciclos (loop), por lo que es importante el concepto de espacio de iteración. Espacio de iteración (iteration space) Es un subconjunto del producto Cartesiano de los arreglos de enteros que contienen todos los posibles valores de los índices de los ciclos. La dimensión de este producto es el número de ciclos anidados. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 25 / 35

97 La paralelización de un código consiste en descubrir y/o crear cálculos que se pueden realizar de manera independiente con un mínimo de comunicación. Paralelismo trivial (embarrassingly parallel) Tareas que se pueden realizar de manera independiente de cualquier otro cálculo, sin ninguna comunicación entre ellas. La mayoría de los código científicos consisten de ciclos (loop), por lo que es importante el concepto de espacio de iteración. Espacio de iteración (iteration space) Es un subconjunto del producto Cartesiano de los arreglos de enteros que contienen todos los posibles valores de los índices de los ciclos. La dimensión de este producto es el número de ciclos anidados. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 25 / 35

98 Descomposición del espacio de iteración Consiste de una colección de subconjuntos disjuntos del espacio de iteración cuya unión es todo el espacio de iteración. Paralelismo de datos Consiste en descomponer un conjunto grande de datos en subconjuntos y y realizar la misma tarea (o una similar) sobre cada subconjunto. El punto clave es la homogeneidad de las tareas, lo cual permite dividir en formas arbitrarias los datos y aplicar el mismo procedimiento. Cuando se trata de ciclos, en general cada tarea opera sobre una porción del espacio de iteración, (loop parallelism). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 26 / 35

99 Descomposición del espacio de iteración Consiste de una colección de subconjuntos disjuntos del espacio de iteración cuya unión es todo el espacio de iteración. Paralelismo de datos Consiste en descomponer un conjunto grande de datos en subconjuntos y y realizar la misma tarea (o una similar) sobre cada subconjunto. El punto clave es la homogeneidad de las tareas, lo cual permite dividir en formas arbitrarias los datos y aplicar el mismo procedimiento. Cuando se trata de ciclos, en general cada tarea opera sobre una porción del espacio de iteración, (loop parallelism). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 26 / 35

100 Descomposición del espacio de iteración Consiste de una colección de subconjuntos disjuntos del espacio de iteración cuya unión es todo el espacio de iteración. Paralelismo de datos Consiste en descomponer un conjunto grande de datos en subconjuntos y y realizar la misma tarea (o una similar) sobre cada subconjunto. El punto clave es la homogeneidad de las tareas, lo cual permite dividir en formas arbitrarias los datos y aplicar el mismo procedimiento. Cuando se trata de ciclos, en general cada tarea opera sobre una porción del espacio de iteración, (loop parallelism). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 26 / 35

101 Descomposición del espacio de iteración Consiste de una colección de subconjuntos disjuntos del espacio de iteración cuya unión es todo el espacio de iteración. Paralelismo de datos Consiste en descomponer un conjunto grande de datos en subconjuntos y y realizar la misma tarea (o una similar) sobre cada subconjunto. El punto clave es la homogeneidad de las tareas, lo cual permite dividir en formas arbitrarias los datos y aplicar el mismo procedimiento. Cuando se trata de ciclos, en general cada tarea opera sobre una porción del espacio de iteración, (loop parallelism). LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 26 / 35

102 Un requerimiento en la descomposición es que el trabajo esté balanceado entre las tareas, las cuales generalmente se llevan a cabo en procesadores independientes. Si el trabajo no está igualmente distribuido, un procesador puede tardar más que otro. Balance de carga Supongamos que un conjunto de tareas paralelas se ejecutan en un tiempo t i para i = 1,..., P. El tiempo promedio de ejecución es: ave{t i : 1 i P} = 1 P 1 i P El balance de carga β de este conjunto de tareas es: t i. β = ave{t i : 1 i P} max{t i : 1 i P} LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 27 / 35

103 Un requerimiento en la descomposición es que el trabajo esté balanceado entre las tareas, las cuales generalmente se llevan a cabo en procesadores independientes. Si el trabajo no está igualmente distribuido, un procesador puede tardar más que otro. Balance de carga Supongamos que un conjunto de tareas paralelas se ejecutan en un tiempo t i para i = 1,..., P. El tiempo promedio de ejecución es: ave{t i : 1 i P} = 1 P 1 i P El balance de carga β de este conjunto de tareas es: t i. β = ave{t i : 1 i P} max{t i : 1 i P} LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 27 / 35

104 Un requerimiento en la descomposición es que el trabajo esté balanceado entre las tareas, las cuales generalmente se llevan a cabo en procesadores independientes. Si el trabajo no está igualmente distribuido, un procesador puede tardar más que otro. Balance de carga Supongamos que un conjunto de tareas paralelas se ejecutan en un tiempo t i para i = 1,..., P. El tiempo promedio de ejecución es: ave{t i : 1 i P} = 1 P 1 i P El balance de carga β de este conjunto de tareas es: t i. β = ave{t i : 1 i P} max{t i : 1 i P} LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 27 / 35

105 En el caso ideal se tiene β = 1. Cuando β difiere de 1, podemos medir la diferencia entre la tarea mas lenta de el promedio: 1 β = max{t i : 1 i P} ave{t i : 1 i P} max{t i : 1 i P} Si esta diferencia es despreciable, entonces se dice que el conjunto de tareas está balanceado. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 28 / 35

106 En el caso ideal se tiene β = 1. Cuando β difiere de 1, podemos medir la diferencia entre la tarea mas lenta de el promedio: 1 β = max{t i : 1 i P} ave{t i : 1 i P} max{t i : 1 i P} Si esta diferencia es despreciable, entonces se dice que el conjunto de tareas está balanceado. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 28 / 35

107 En el caso ideal se tiene β = 1. Cuando β difiere de 1, podemos medir la diferencia entre la tarea mas lenta de el promedio: 1 β = max{t i : 1 i P} ave{t i : 1 i P} max{t i : 1 i P} Si esta diferencia es despreciable, entonces se dice que el conjunto de tareas está balanceado. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 28 / 35

108 1 Análisis de desempeño Performance Midiendo el desempeño Efectos del acceso a la memoria Análisis asintótico 2 Paralelismo Definiciones Ejemplo : Números primos 3 Tarea LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 29 / 35

109 Para un entero k se define el conjunto S(k) de números primos menores que k (S(16) = {2, 3, 5, 7, 11, 13}) Podemos checar la primalidad de enteros menores que k 2 probando si hay divisores de n en S(k), donde k n k 2. Si n = j i < k 2 entonces ya sea i o j debe ser menor que k. For n = k, k + 1,..., k 2 1 For π S(k) I f ( π d i v i d e a n ) E x i t End I f ( se completa e l c i c l o ) Agregar n a S(k 2 ) End LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 30 / 35

110 Para un entero k se define el conjunto S(k) de números primos menores que k (S(16) = {2, 3, 5, 7, 11, 13}) Podemos checar la primalidad de enteros menores que k 2 probando si hay divisores de n en S(k), donde k n k 2. Si n = j i < k 2 entonces ya sea i o j debe ser menor que k. For n = k, k + 1,..., k 2 1 For π S(k) I f ( π d i v i d e a n ) E x i t End I f ( se completa e l c i c l o ) Agregar n a S(k 2 ) End LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 30 / 35

111 Para un entero k se define el conjunto S(k) de números primos menores que k (S(16) = {2, 3, 5, 7, 11, 13}) Podemos checar la primalidad de enteros menores que k 2 probando si hay divisores de n en S(k), donde k n k 2. Si n = j i < k 2 entonces ya sea i o j debe ser menor que k. For n = k, k + 1,..., k 2 1 For π S(k) I f ( π d i v i d e a n ) E x i t End I f ( se completa e l c i c l o ) Agregar n a S(k 2 ) End LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 30 / 35

112 Para un entero k se define el conjunto S(k) de números primos menores que k (S(16) = {2, 3, 5, 7, 11, 13}) Podemos checar la primalidad de enteros menores que k 2 probando si hay divisores de n en S(k), donde k n k 2. Si n = j i < k 2 entonces ya sea i o j debe ser menor que k. For n = k, k + 1,..., k 2 1 For π S(k) I f ( π d i v i d e a n ) E x i t End I f ( se completa e l c i c l o ) Agregar n a S(k 2 ) End LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 30 / 35

113 Para un entero k se define el conjunto S(k) de números primos menores que k (S(16) = {2, 3, 5, 7, 11, 13}) Podemos checar la primalidad de enteros menores que k 2 probando si hay divisores de n en S(k), donde k n k 2. Si n = j i < k 2 entonces ya sea i o j debe ser menor que k. For n = k, k + 1,..., k 2 1 For π S(k) I f ( π d i v i d e a n ) E x i t End I f ( se completa e l c i c l o ) Agregar n a S(k 2 ) End LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 30 / 35

114 Observe que el espacio de iteración en este caso es un subespacio del producto cartesiano y no se conoce de antemano. Los ciclos en el algoritmo anterior se pueden paralelizar (descomponer) de diferentes maneras: Dividir el ciclo sobre n en P diferentes tareas. Dividir el ciclo sobre π en P diferentes tareas. Strip or Slab decomposition Una descomposición de este tipo corresponde a la subdivisión de solo una de las dimensiones, usualmente en segmentos de igual longitud y que consiste de elementos contiguos en el espacio de iteración. Esto corresponde a subdividir uno de los ciclos anidados. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 31 / 35

115 Observe que el espacio de iteración en este caso es un subespacio del producto cartesiano y no se conoce de antemano. Los ciclos en el algoritmo anterior se pueden paralelizar (descomponer) de diferentes maneras: Dividir el ciclo sobre n en P diferentes tareas. Dividir el ciclo sobre π en P diferentes tareas. Strip or Slab decomposition Una descomposición de este tipo corresponde a la subdivisión de solo una de las dimensiones, usualmente en segmentos de igual longitud y que consiste de elementos contiguos en el espacio de iteración. Esto corresponde a subdividir uno de los ciclos anidados. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 31 / 35

116 Observe que el espacio de iteración en este caso es un subespacio del producto cartesiano y no se conoce de antemano. Los ciclos en el algoritmo anterior se pueden paralelizar (descomponer) de diferentes maneras: Dividir el ciclo sobre n en P diferentes tareas. Dividir el ciclo sobre π en P diferentes tareas. Strip or Slab decomposition Una descomposición de este tipo corresponde a la subdivisión de solo una de las dimensiones, usualmente en segmentos de igual longitud y que consiste de elementos contiguos en el espacio de iteración. Esto corresponde a subdividir uno de los ciclos anidados. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 31 / 35

117 Observe que el espacio de iteración en este caso es un subespacio del producto cartesiano y no se conoce de antemano. Los ciclos en el algoritmo anterior se pueden paralelizar (descomponer) de diferentes maneras: Dividir el ciclo sobre n en P diferentes tareas. Dividir el ciclo sobre π en P diferentes tareas. Strip or Slab decomposition Una descomposición de este tipo corresponde a la subdivisión de solo una de las dimensiones, usualmente en segmentos de igual longitud y que consiste de elementos contiguos en el espacio de iteración. Esto corresponde a subdividir uno de los ciclos anidados. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 31 / 35

118 Observe que el espacio de iteración en este caso es un subespacio del producto cartesiano y no se conoce de antemano. Los ciclos en el algoritmo anterior se pueden paralelizar (descomponer) de diferentes maneras: Dividir el ciclo sobre n en P diferentes tareas. Dividir el ciclo sobre π en P diferentes tareas. Strip or Slab decomposition Una descomposición de este tipo corresponde a la subdivisión de solo una de las dimensiones, usualmente en segmentos de igual longitud y que consiste de elementos contiguos en el espacio de iteración. Esto corresponde a subdividir uno de los ciclos anidados. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 31 / 35

119 Dividir el ciclo sobre n b = (k 2 k)/p For p = 1,..., P For n = k + (p 1)b,..., k + pb For π S(k) I f ( π d i v i d e a n ) E x i t End I f ( se completa e l c i c l o ) Agregar n a S p (k 2 ) End End Combinar : S(k 2 ) = P p=1 S p(k 2 ) La variable p identifica el proceso o procesador. S p (k 2 ) son los primos encontrados por el procesador p. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 32 / 35

120 Dividir el ciclo sobre n b = (k 2 k)/p For p = 1,..., P For n = k + (p 1)b,..., k + pb For π S(k) I f ( π d i v i d e a n ) E x i t End I f ( se completa e l c i c l o ) Agregar n a S p (k 2 ) End End Combinar : S(k 2 ) = P p=1 S p(k 2 ) La variable p identifica el proceso o procesador. S p (k 2 ) son los primos encontrados por el procesador p. LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 32 / 35

121 Dividir el ciclo sobre π En este caso cada procesador usa un conjunto de primos en sus pruebas, pero checa todos los n [k, k 2 1]. Algunos n serán dividos por más primos que en el caso anterior (más trabajo aritmético). Esto no implica que el tiempo total será mayor. Combinar : S(k 2 ) = P p=1 S p(k 2 ) LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 33 / 35

122 Dividir el ciclo sobre π En este caso cada procesador usa un conjunto de primos en sus pruebas, pero checa todos los n [k, k 2 1]. Algunos n serán dividos por más primos que en el caso anterior (más trabajo aritmético). Esto no implica que el tiempo total será mayor. Combinar : S(k 2 ) = P p=1 S p(k 2 ) LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 33 / 35

123 Dividir el ciclo sobre π En este caso cada procesador usa un conjunto de primos en sus pruebas, pero checa todos los n [k, k 2 1]. Algunos n serán dividos por más primos que en el caso anterior (más trabajo aritmético). Esto no implica que el tiempo total será mayor. Combinar : S(k 2 ) = P p=1 S p(k 2 ) LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 33 / 35

124 Dividir el ciclo sobre π En este caso cada procesador usa un conjunto de primos en sus pruebas, pero checa todos los n [k, k 2 1]. Algunos n serán dividos por más primos que en el caso anterior (más trabajo aritmético). Esto no implica que el tiempo total será mayor. Combinar : S(k 2 ) = P p=1 S p(k 2 ) LMCS (UNAM) Comp. Científica en Paralelo IIMAS Semestre 2009 II 33 / 35

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

Métricas de Rendimiento

Métricas de Rendimiento Métricas de Rendimiento DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 6. RENDIMIENTO DE SISTEMAS COMPUTACIONALES (1 SEMANA) 6.1 Definición de rendimiento en términos computacionales 6.2 Medición

Más detalles

Computación Científica en Paralelo

Computación Científica en Paralelo Computación Científica en Paralelo Luis Miguel de la Cruz luiggix@gmail.com www.dci.dgsca.unam.mx/luiggi Unidad de Investigación en Cómputo Aplicado DGSCA-UNAM. Posgrado en Ciencia e Ingeniería de la Computación

Más detalles

Taller de Programación Paralela

Taller de Programación Paralela Taller de Programación Paralela Departamento de Ingeniería Informática Universidad de Santiago de Chile April 25, 2008 computacional secuencial computacional secuencial se refiere al costo computacional

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

ORDENADORES VECTORIALES

ORDENADORES VECTORIALES ORDENADORES VECTORIALES Un ordenador vectorial es una máquina diseñada específicamente para realizar de forma eficiente operaciones en las que se ven involucrados elementos de matrices, denominados vectores.

Más detalles

Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011

Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011 Clusters Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011 Introducción Aplicaciones que requieren: Grandes capacidades de cómputo: Física de partículas, aerodinámica, genómica, etc. Tradicionalmente

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

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles Organización del Computador 1 Máquina de von Neumann Jerarquía de Niveles Inicios de la computación Turing y Church sientan las bases teóricas de la computación Máquina de Turing Máquina teórica compuesta

Más detalles

Desarrollo de Programas Eficientes

Desarrollo de Programas Eficientes Desarrollo de Programas Eficientes Diplomado en Software Libre Ernesto Hernández-Novich Universidad Simón Bolívar Copyright c 2010 Hernández-Novich (USB) Desarrollo de Programas Eficientes

Más detalles

Métodos Iterativos para Resolver Sistemas Lineales

Métodos Iterativos para Resolver Sistemas Lineales Métodos Iterativos para Resolver Sistemas Lineales Departamento de Matemáticas, CCIR/ITESM 17 de julio de 2009 Índice 3.1. Introducción............................................... 1 3.2. Objetivos................................................

Más detalles

Medida del rendimiento

Medida del rendimiento Medida del rendimiento Benchmarks V 1.0 José M. Cámara (checam@ubu.es) Motivación El rendimiento debe ser evaluado para: Valorar el comportamiento del sistema. Comparar varios sistemas. Optimizar la utilización.

Más detalles

Introducción a Computación

Introducción a Computación Curso: Modelización y simulación matemática de sistemas Metodología para su implementación computacional Introducción a Computación Esteban E. Mocskos (emocskos@dc.uba.ar) Facultades de Ciencias Exactas

Más detalles

UTN :: buenos aires. Administración de Recursos

UTN :: buenos aires. Administración de Recursos UTN :: buenos aires Administración de Recursos BENCHMARK Administración de Recursos Ing. Andrés Bursztyn QUÉ ES BENCHMARK? AGENDA PARA QUE SIRVE? ETAPAS DEL PROCESO DESCRIPCIÓN DE LAS ETAPAS TIPOS DE BENCHMARK

Más detalles

ALGORITMICA III Capitulo I ANALISIS DE ALGORITMOS

ALGORITMICA III Capitulo I ANALISIS DE ALGORITMOS Universidad Nacional de San Antonio Abad del Cusco Departamento Académico de Informática ALGORITMICA III Capitulo I ANALISIS DE ALGORITMOS Iván Medrano Valencia ANALISIS DE ALGORITMOS Un algoritmo es un

Más detalles

1. Manejo de memoria estática 2. Manejo de memoria dinámica

1. Manejo de memoria estática 2. Manejo de memoria dinámica 1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo

Más detalles

Asignaturas antecedentes y subsecuentes Arquitectura de Computadoras II

Asignaturas antecedentes y subsecuentes Arquitectura de Computadoras II PROGRAMA DE ESTUDIOS Arquitectura de Computadoras I Área a la que pertenece: Área Sustantiva Profesional Horas teóricas: 3 Horas prácticas: 1 Créditos: 7 Clave: F0155 Asignaturas antecedentes y subsecuentes

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

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

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

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

Teoría Matemática de la Computación Primer Problemario Prof. Miguel A. Pizaña 11 de Octubre de 2006

Teoría Matemática de la Computación Primer Problemario Prof. Miguel A. Pizaña 11 de Octubre de 2006 Teoría Matemática de la Computación Primer Problemario Prof. Miguel A. Pizaña 11 de Octubre de 2006 I Tareas 1. Dudar de todo, al menos una vez en la vida. 2. Revisar sus apuntes todos los días en la tarde

Más detalles

ANEXO II RECOMENDACIONES APLICABLES A LA CONTRATACIÓN DE EQUIPOS INFORMÁTICOS ÍNDICE

ANEXO II RECOMENDACIONES APLICABLES A LA CONTRATACIÓN DE EQUIPOS INFORMÁTICOS ÍNDICE MINISTERIO DE ADMINISTRACIONES PÚBLICAS SECRETARIA GENERAL PARA LA ADMINISTRACIÓN PÚBLICA DIRECCIÓN GENERAL DE MODERNIZACIÓN ADMINISTRATIVA ANEXO II RECOMENDACIONES APLICABLES A LA CONTRATACIÓN DE EQUIPOS

Más detalles

Tecnologías y Arquitecturas

Tecnologías y Arquitecturas Tecnologías y Arquitecturas Parte II Andrés Djordjalian Seminario de Sistemas Embebidos 19 de mayo de 2011 Facultad de Ingeniería de la UBA 06:13 1 de 22 Temas de esta Clase Medición

Más detalles

Analisis de algoritmos

Analisis de algoritmos Analisis de algoritmos Eficiencia Es la capacidad de disponer de un recurso. En el caso de los algoritmos, la eficiencia se logra haciendo el mejor uso posible de los recursos del sistema. Recursos Qué

Más detalles

Inecuaciones y Sistemas de Inecuaciones Lineales con una Incóg

Inecuaciones y Sistemas de Inecuaciones Lineales con una Incóg PreUnAB Inecuaciones y Sistemas de Inecuaciones Lineales con una Incógnita Clase # 11 Agosto 2014 Intervalos Reales Orden en R Dados dos números reales a y b, se dice que a es menor que b, a < b, si b

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

Apéndice A: Características de las Redes Locales

Apéndice A: Características de las Redes Locales Apéndice A: Características de las Redes Locales En este apéndice se muestran las principales características de hardware y software de las redes locales y de las computadoras que las componen y que se

Más detalles

CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos.

CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos. Introducción a la ciencia de la computación y a la programación 1. La computadora CONTENIDOS 2. Entidades primitivas para el desarrollo de algoritmos. 3. Metodología a seguir para la resolución de problemas

Más detalles

Implementación uso y distribución de aplicaciones para física de altas energías en entornos colaborativos. Umberto Cotti y Arnulfo Zepeda. 1.

Implementación uso y distribución de aplicaciones para física de altas energías en entornos colaborativos. Umberto Cotti y Arnulfo Zepeda. 1. Implementación uso y distribución de aplicaciones para física de altas energías en entornos colaborativos. Umberto Cotti y Arnulfo Zepeda 1. Resumen Se presentan los resultados del diseño y la construcción

Más detalles

T E C N O L O G Í A OPTIMIZACIÓN DE MATERIALES MEDIANTE PATRONES DE CORTE EFICIENTE. Aplicación. a la INDUSTRIA

T E C N O L O G Í A OPTIMIZACIÓN DE MATERIALES MEDIANTE PATRONES DE CORTE EFICIENTE. Aplicación. a la INDUSTRIA OPTIMIZACIÓN DE MATERIALES MEDIANTE PATRONES DE CORTE EFICIENTE Aplicación a la INDUSTRIA de la construcción 1 El presente estudio propone el uso de un algoritmo comúnmente utilizado en la rama de investigación

Más detalles

Curso: Métodos de Monte Carlo. Unidad 1, Sesión 2: Conceptos básicos

Curso: Métodos de Monte Carlo. Unidad 1, Sesión 2: Conceptos básicos Curso: Métodos de Monte Carlo. Unidad 1, Sesión 2: Conceptos básicos Departamento de Investigación Operativa Instituto de Computación, Facultad de Ingeniería Universidad de la República, Montevideo, Uruguay

Más detalles

Aritmética finita y análisis de error

Aritmética finita y análisis de error Aritmética finita y análisis de error Escuela de Ingeniería Informática de Oviedo (Dpto. de Matemáticas-UniOvi) Computación Numérica Aritmética finita y análisis de error 1 / 47 Contenidos 1 Sistemas decimal

Más detalles

Organizacion del Computador

Organizacion del Computador Universidad Nacional de Ingeniería Facultad de Ciencias Introducción a la Ciencia de la Computación Organizacion del Computador Prof: J. Solano 2011-I Objetivos Despues de estudiar este cap. el estudiante

Más detalles

Práctica 0. Emulador XENON de la computadora CESIUS

Práctica 0. Emulador XENON de la computadora CESIUS Práctica 0. Emulador XENON de la computadora CESIUS 1. Introducción El objeto de la presente práctica es permitir al alumno ensayar y familiarizarse con los conceptos de programación de computadoras digitales

Más detalles

Los pronósticos pueden ser utilizados para conocer el comportamiento futuros en muchas fenómenos, tales como:

Los pronósticos pueden ser utilizados para conocer el comportamiento futuros en muchas fenómenos, tales como: TEMA 1: PRONÓSTICOS 1.1. Introducción Pronostico es un método mediante el cual se intenta conocer el comportamiento futuro de alguna variable con algún grado de certeza. Existen disponibles tres grupos

Más detalles

Geometría Computacional

Geometría Computacional Geometría Computacional La geometría computacional es una rama de ciencia de la computación que estudia algoritmos para resolver problemas geométricos. Nos concetraremos en la representación y programación

Más detalles

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

Más detalles

Cómputo en paralelo con OpenMP 1

Cómputo en paralelo con OpenMP 1 Cómputo en paralelo con OpenMP 1 Miguel Vargas-Félix miguelvargas@cimat.mx http://www.cimat.mx/~miguelvargas CIMAT, September 2, 2015 1/34 Velocidad de los procesadores de escritorio Recientemente, la

Más detalles

Matrices. Definiciones básicas de matrices. www.math.com.mx. José de Jesús Angel Angel. jjaa@math.com.mx

Matrices. Definiciones básicas de matrices. www.math.com.mx. José de Jesús Angel Angel. jjaa@math.com.mx Matrices Definiciones básicas de matrices wwwmathcommx José de Jesús Angel Angel jjaa@mathcommx MathCon c 2007-2008 Contenido 1 Matrices 2 11 Matrices cuadradas 3 12 Matriz transpuesta 4 13 Matriz identidad

Más detalles

guía para LOS PADRES APOYANDO A SU HIJO EN LA PREPARATORIA (HIGH SCHOOL) MATEMÁTICAS

guía para LOS PADRES APOYANDO A SU HIJO EN LA PREPARATORIA (HIGH SCHOOL) MATEMÁTICAS guía para LOS PADRES APOYANDO A SU HIJO EN LA PREPARATORIA (HIGH SCHOOL) MATEMÁTICAS HS Las escuelas de los Estados Unidos de América están trabajando para brindar una enseñanza de mayor calidad nunca

Más detalles

TEMA 6. EIGENVALORES Y EIGENVECTORES

TEMA 6. EIGENVALORES Y EIGENVECTORES TEMA 6. EIGENVALORES Y EIGENVECTORES M. C. Roberto Rosales Flores INSTITUTO TECNOLÓGICO SUPERIOR DE TLAXCO Ingeniería en Logística M. C. Roberto Rosales Flores (ITST TEMA 6. EIGENVALORES Y EIGENVECTORES

Más detalles

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Introducción a la Programación 11 O. Humberto Cervantes Maceda Introducción a la Programación 11 O Humberto Cervantes Maceda Información del profesor Humberto Cervantes Maceda T 138 www.humbertocervantes.net/cursos Acerca de ustedes Nombre Carrera Qué experiencia

Más detalles

Fundamentos de la Programación

Fundamentos de la Programación Fundamentos de la Programación El Software Las operaciones que debe realizar el hardware son especificadas con una lista de instrucciones, llamadas programas o software. Dos grandes grupos de software

Más detalles

Estructura de Datos. Unidad I Tipos de Datos

Estructura de Datos. Unidad I Tipos de Datos Estructura de Datos Unidad I Tipos de Datos Conceptos Básicos Algoritmo: es una secuencia finita de pasos o instrucciones ordenadas crono-lógicamente que describen un método para resolver un problema específico.

Más detalles

Tema 1. Introducción a los computadores

Tema 1. Introducción a los computadores Soluciones a los problemas impares Tema 1. Introducción a los computadores Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Tema 1: Hoja: 2 / 8 Tema 1: Hoja: 3 / 8 Base

Más detalles

Valores y vectores propios de una matriz. Juan-Miguel Gracia

Valores y vectores propios de una matriz. Juan-Miguel Gracia Juan-Miguel Gracia Índice 1 Valores propios 2 Polinomio característico 3 Independencia lineal 4 Valores propios simples 5 Diagonalización de matrices 2 / 28 B. Valores y vectores propios Definiciones.-

Más detalles

Problemas indecidibles

Problemas indecidibles Capítulo 7 Problemas indecidibles 71 Codificación de máquinas de Turing Toda MT se puede codificar como una secuencia finita de ceros y unos En esta sección presentaremos una codificación válida para todas

Más detalles

CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA

CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA SERGIO NESMACHNOW Centro de Cálculo, Instituto de Computación FACULTAD DE INGENIERÍA, UNIVERSIDAD DE LA REPÚBLICA, URUGUAY CONTENIDO Introducción: arquitecturas

Más detalles

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas Capítulo 4 Vectores y matrices En FORTRAN se puede utilizar un tipo especial de variable que sirve, en particular, para almacenar vectores y matrices. De esta forma, se utiliza un sólo nombre para referirse

Más detalles

TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS

TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS 1 1 BASES DE DATOS DISTRIBUIDAS TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS 3.1 Metodología del procesamiento de consultas distribuidas 3.2 Estrategias de

Más detalles

Distinguir las diferentes estructuras de repetición utilizadas en problemas con ciclos: mientras, haga-mientras, repita-hasta, para.

Distinguir las diferentes estructuras de repetición utilizadas en problemas con ciclos: mientras, haga-mientras, repita-hasta, para. ESTRUCTURAS DE REPETICIÓN OBJETIVOS Aprender a construir grandes y complejos problemas a través de la ejecución repetida de una secuencia de proposiciones llamados ciclos o estructuras repetitivas. Distinguir

Más detalles

Pipelining o Segmentación de Instrucciones

Pipelining o Segmentación de Instrucciones Pipelining o Segmentación de Instrucciones La segmentación de instrucciones es similar al uso de una cadena de montaje en una fábrica de manufacturación. En las cadenas de montaje, el producto pasa a través

Más detalles

SUMADOR BINARIO. Instituto Internacional de Investigación de Tecnología Educativa

SUMADOR BINARIO. Instituto Internacional de Investigación de Tecnología Educativa SUMADOR BINARIO INITE, S.C. no es responsable del contenido, de la veracidad de los datos, opiniones y acontecimientos vertidos en el presente caso práctico. La finalidad del presente es el desarrollo

Más detalles

ESTRUCTURA DE DATOS: ARREGLOS

ESTRUCTURA DE DATOS: ARREGLOS ESTRUCTURA DE DATOS: ARREGLOS 1. Introduccion 2. Arreglos - Concepto - Caracteristicas 3. Arreglos Unidimensionales 4. Arreglos Bidimensionales 5. Ventajas del uso de arreglos 6. Ejemplo 1. Introducción

Más detalles

El conjunto de conocimientos científicos y técnicos que hacen posible la resolución de forma automática de problemas por medio de las computadoras.

El conjunto de conocimientos científicos y técnicos que hacen posible la resolución de forma automática de problemas por medio de las computadoras. 1 Conceptos Generales 1.1 Definición de Informática Una posible definición de informática podría ser: El conjunto de conocimientos científicos y técnicos que hacen posible la resolución de forma automática

Más detalles

GRID COMPUTING MALLA DE ORDENADORES

GRID COMPUTING MALLA DE ORDENADORES GRID COMPUTING MALLA DE ORDENADORES Introducción Concepto Compartir potencia computacional; Aprovechamiento de ciclos de procesamiento; El Grid Computing se enmarca dentro de la tecnología de computación

Más detalles

Generalidades Computacionales

Generalidades Computacionales Capítulo 2 Generalidades Computacionales 2.1. Introducción a los Computadores Definición: Un computador es un dispositivo electrónico que puede transmitir, almacenar, recuperar y procesar información (datos).

Más detalles

Curso: Teoría de la Computación. Unidad 2, Sesión 8: Complejidad computacional (2)

Curso: Teoría de la Computación. Unidad 2, Sesión 8: Complejidad computacional (2) Curso: Teoría de la Computación. Unidad 2, Sesión 8: Complejidad computacional (2) Instituto de Computación, Facultad de Ingeniería Universidad de la República, Montevideo, Uruguay dictado semestre 2-2009

Más detalles

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya LENGUAJES Lenguaje es el empleo de notaciones, señales y vocales (voz, palabras) para expresar ideas, comunicarse, y establecer relaciones entre los seres humanos. Un lenguaje no sólo consta de palabras,

Más detalles

Resolución de Problemas

Resolución de Problemas Resolución de Problemas con algoritmos Colaboratorio de Computación Avanzada (CNCA) 2015 1 / 27 Contenidos 1 Introducción 2 Elementos de algoritmos Elementos Variables Estructuras de Control Condicionales

Más detalles

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008 INTRODUCCIÓN Estructura de Datos Tipos Abstractos de Datos (TAD S) Para poder obtener un programa que resuelva un problema dado, son necesarios varios pasos : La formulación y especificación del problema

Más detalles

Clase 20: Arquitectura Von Neuman

Clase 20: Arquitectura Von Neuman http://computacion.cs.cinvestav.mx/~efranco @efranco_escom efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Arquitectura de una computadora Elementos básicos de una

Más detalles

Dualidad y Análisis de Sensibilidad

Dualidad y Análisis de Sensibilidad Universidad de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Industrial IN34A: Clase Auxiliar Dualidad y Análisis de Sensibilidad Marcel Goic F. 1 1 Esta es una versión bastante

Más detalles

Tema 1: Computadores y Programas

Tema 1: Computadores y Programas Tema 1: Computadores y Programas Ingeniería Informática Ingeniería Técnica en Informática de Sistemas Ingeniería Técnica en Informática de Gestión Departamento de Ciencia de la Computación e I.A. Universidad

Más detalles

Tema 2. Software. Informática (1º Ingeniería Civil) jcarmur@unex.es

Tema 2. Software. Informática (1º Ingeniería Civil) jcarmur@unex.es Tema 2. Software Informática (1º Ingeniería Civil) Curso 2011/2012 Javier Carmona Murillo jcarmur@unex.es Índice Introducción. Programas e instrucciones. Tipos y estructuras de datos. Algoritmos. Proceso

Más detalles

ARREGLOS DEFINICION GENERAL DE ARREGLO

ARREGLOS DEFINICION GENERAL DE ARREGLO ARREGLOS DEFINICION GENERAL DE ARREGLO Conjunto de cantidades o valores homogéneos, que por su naturaleza se comportan de idéntica forma y deben de ser tratados en forma similar. Se les debe de dar un

Más detalles

Lección 1: Análisis Numérico y Ciencias de la Computación

Lección 1: Análisis Numérico y Ciencias de la Computación Lección 1: Análisis Numérico y Ciencias de la Computación ICI3140 Métodos Numéricos Profesor : Dr. Héctor Allende-Cid e-mail : hector.allende@ucv.cl Computación Científica y Análisis Num. Computación Científica

Más detalles

CÁLCULO PARA LA INGENIERÍA 1

CÁLCULO PARA LA INGENIERÍA 1 CÁLCULO PARA LA INGENIERÍA 1 PROBLEMAS RESUELTOS Tema 3 Derivación de funciones de varias variables 3.1 Derivadas y diferenciales de funciones de varias variables! 1. Derivadas parciales de primer orden.!

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

Oferta tecnológica: Know-how en computación de altas prestaciones y paralelismo

Oferta tecnológica: Know-how en computación de altas prestaciones y paralelismo Oferta tecnológica: Know-how en computación de altas prestaciones y paralelismo Oferta tecnológica: Know-how en computación de altas prestaciones y paralelismo RESUMEN El grupo Computación de Altas Prestaciones

Más detalles

Ejemplos de conversión de reales a enteros

Ejemplos de conversión de reales a enteros Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print

Más detalles

Lecturas previas Cuando llegue a su primera sesión de laboratorio debe haber estudiado el contenido de la lectura que aparece a continuación.

Lecturas previas Cuando llegue a su primera sesión de laboratorio debe haber estudiado el contenido de la lectura que aparece a continuación. Laboratorio 1 Medición e incertidumbre La descripción de los fenómenos naturales comienza con la observación; el siguiente paso consiste en asignar a cada cantidad observada un número, es decir en medir

Más detalles

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN.

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN. Tema 11 Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. El sistema operativo es básicamente un programa que controla los recursos del computador, proporciona servicios a

Más detalles

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Planificación de Procesos Módulo 5 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Planificación de Procesos Conceptos Básicos Criterios de Planificación

Más detalles

1. Examen 21/Junio/1994. Para la inversión de una matriz cuadrada A de orden n n, cuya inversa existe, se ha definido la siguiente iteración

1. Examen 21/Junio/1994. Para la inversión de una matriz cuadrada A de orden n n, cuya inversa existe, se ha definido la siguiente iteración CAPÍTULO 5 EJERCICIOS RESUELTOS: MÉTODOS ITERATIVOS PARA ECUACIONES LINEALES Ejercicios resueltos 1 1. Examen 21/Junio/1994. Para la inversión de una matriz cuadrada A de orden n n cuya inversa existe

Más detalles

Matemáticas 2º BTO Aplicadas a las Ciencias Sociales

Matemáticas 2º BTO Aplicadas a las Ciencias Sociales Matemáticas 2º BTO Aplicadas a las Ciencias Sociales CONVOCATORIA EXTRAORDINARIA DE JUNIO 2014 MÍNIMOS: No son contenidos mínimos los señalados como de ampliación. I. PROBABILIDAD Y ESTADÍSTICA UNIDAD

Más detalles

Espacios generados, dependencia lineal y bases

Espacios generados, dependencia lineal y bases Espacios generados dependencia lineal y bases Departamento de Matemáticas CCIR/ITESM 14 de enero de 2011 Índice 14.1. Introducción............................................... 1 14.2. Espacio Generado............................................

Más detalles

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León Programa. Introducción. 2. Elementos de almacenamiento. 3. Elementos de proceso. 4. Elementos de interconexión.

Más detalles

TIPOS DE PROCESAMIENTOS

TIPOS DE PROCESAMIENTOS TIPOS DE PROCESAMIENTOS El desempeño de un computador puede tener diferentes medidas de elección para diferentes usuarios. Para un usuario individual que está ejecutando un único programa, la computadora

Más detalles

Es el conjunto de programas y procedimientos ejecutados en un computador, necesarios para hacer posible la realización de una tarea específica.

Es el conjunto de programas y procedimientos ejecutados en un computador, necesarios para hacer posible la realización de una tarea específica. Introducción a la tecnología informática 1- EL SISTEMA DE CÓMPUTO Un sistema de cómputo es un conjunto de elementos físicos y electrónicos (Hardware), los cuales funcionan ordenadamente bajo el control

Más detalles

construcción de programas Prof. Eliana Guzmán U.

construcción de programas Prof. Eliana Guzmán U. Unidad II. Metodología para la construcción de programas Prof. Eliana Guzmán U. Semestre: A-2015 Introducción Resolver un problema con una computadora conduce a la escritura de un programa y a su ejecución.

Más detalles

CURSO CERO. Departamento de Matemáticas. Profesor: Raúl Martín Martín Sesiones 18 y 19 de Septiembre

CURSO CERO. Departamento de Matemáticas. Profesor: Raúl Martín Martín Sesiones 18 y 19 de Septiembre CURSO CERO Departamento de Matemáticas Profesor: Raúl Martín Martín Sesiones 18 y 19 de Septiembre Capítulo 1 La demostración matemática Demostración por inducción El razonamiento por inducción es una

Más detalles

Desarrollo de un cluster computacional para la compilación de. algoritmos en paralelo en el Observatorio Astronómico.

Desarrollo de un cluster computacional para la compilación de. algoritmos en paralelo en el Observatorio Astronómico. Desarrollo de un cluster computacional para la compilación de algoritmos en paralelo en el Observatorio Astronómico. John Jairo Parra Pérez Resumen Este artículo muestra cómo funciona la supercomputación

Más detalles

Señal de petición de Interrupción

Señal de petición de Interrupción Consideren una tarea que require tomar caracteres desde un teclado y mostrarlos en la pantalla de un monitor. La tasa de transferencia desde un teclado a un computador está limitado por la velocidad del

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

Capítulo 1: Marco teórico

Capítulo 1: Marco teórico Capítulo 1: Marco teórico Área de Soporte Técnico Dentro de Oracle, como en cualquier compañía de software existe el área de Soporte Técnico, cuyo objetivo principal es el de brindar asistencia y proveer

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

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

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

Anexo 4. Herramientas Estadísticas

Anexo 4. Herramientas Estadísticas Anexo 4 Herramientas Estadísticas La estadística descriptiva es utilizada como una herramienta para describir y analizar las características de un conjunto de datos, así como las relaciones que existen

Más detalles

MEDICIÓN DEL TRABAJO: TIEMPO NORMAL, TIEMPO ESTÁNDAR.

MEDICIÓN DEL TRABAJO: TIEMPO NORMAL, TIEMPO ESTÁNDAR. MEDICIÓN DEL TRABAJO: TIEMPO NORMAL, TIEMPO ESTÁNDAR. Sesión 07 ANTECEDENTES: Origen de la Ingeniería de Métodos MEDICIÓN DEL TRABAJO: Definición Es la parte cuantitativa del estudio del trabajo que se

Más detalles

Dr.-Ing. Paola Vega Castillo

Dr.-Ing. Paola Vega Castillo EL-3310 DISEÑO O DE SISTEMAS DIGITALES Dr.-Ing. Paola Vega Castillo Información n General Curso: Diseño de Sistemas Digitales Código: EL-3310 Tipo de curso: Teórico Créditos/Horas por semana: 4/4 Requisito:

Más detalles

Gradiente conjugado. MSc. Miguel Vargas-Félix miguelvargas@cimat.mx http://www.cimat.mx/~miguelvargas 07/09/11 1/23

Gradiente conjugado. MSc. Miguel Vargas-Félix miguelvargas@cimat.mx http://www.cimat.mx/~miguelvargas 07/09/11 1/23 Gradiente conjugado MSc. Miguel Vargas-Félix miguelvargas@cimat.mx http://www.cimat.mx/~miguelvargas 07/09/11 1/23 Contenido Contenido Estructura de una matriz rala a partir de conectividades Compressed

Más detalles

RAID. Los detalles de las características segunda y tercera, cambian según los distintos niveles RAID. RAID 0 no soporta la tercera característica.

RAID. Los detalles de las características segunda y tercera, cambian según los distintos niveles RAID. RAID 0 no soporta la tercera característica. RAID Como se dijo anteriormente, el ritmo de mejora de prestaciones en memoria secundaria ha sido considerablemente menor que en procesadores y en memoria principal. Esta desigualdad ha hecho, quizás,

Más detalles

Linux Week PUCP. Computación de Alto Rendimiento en Linux. rmiguel@senamhi.gob.pe

Linux Week PUCP. Computación de Alto Rendimiento en Linux. rmiguel@senamhi.gob.pe Linux Week PUCP 2006 Computación de Alto Rendimiento en Linux Richard Miguel San Martín rmiguel@senamhi.gob.pe Agenda Computación Científica Computación Paralela High Performance Computing Grid Computing

Más detalles

A partir de este capítulo se introducen términos, probablemente nuevos para el

A partir de este capítulo se introducen términos, probablemente nuevos para el CAPITULO 3. PSP 0 Y PSP 0.1 A partir de este capítulo se introducen términos, probablemente nuevos para el lector que tienen que ver en su totalidad con PSP. También se dan a conocer los formatos, "scripts

Más detalles

:Arquitecturas Paralela basada en clusters.

:Arquitecturas Paralela basada en clusters. Computación de altas prestaciones: Arquitecturas basadas en clusters Sesión n 1 :Arquitecturas Paralela basada en clusters. Jose Luis Bosque 1 Introducción Computación de altas prestaciones: resolver problemas

Más detalles

UNIVERSIDAD DE EXTREMADURA Departamento de Matemáticas. Matemáticas. Manuel Fernández García-Hierro Badajoz, Febrero 2008

UNIVERSIDAD DE EXTREMADURA Departamento de Matemáticas. Matemáticas. Manuel Fernández García-Hierro Badajoz, Febrero 2008 UNIVERSIDAD DE EXTREMADURA Departamento de Matemáticas Matemáticas Manuel Fernández García-Hierro Badajoz, Febrero 2008 Capítulo VI Concepto de error 6.1 Introducción Uno de los temas más importantes en

Más detalles

Cómo vibran las estructuras? problemas dinámicos estructurales

Cómo vibran las estructuras? problemas dinámicos estructurales Cómo vibran las estructuras? Uso de herramientas para resolver problemas dinámicos estructurales MC571 Vibraciones Mecánicas Análisis i Modal Estudio de las características naturales de las estructuras

Más detalles