Computación Científica en Paralelo

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

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES CÁRDENAS ESPINOSA CÉSAR OCTAVIO racsec_05@hotmail.com Boleta: 2009350122 CASTILLO GUTIÉRREZ

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

Conclusiones. Particionado Consciente de los Datos

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

Más detalles

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

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

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

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

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

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

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

Matrices Invertibles y Elementos de Álgebra Matricial

Matrices Invertibles y Elementos de Álgebra Matricial Matrices Invertibles y Elementos de Álgebra Matricial Departamento de Matemáticas, CCIR/ITESM 12 de enero de 2011 Índice 91 Introducción 1 92 Transpuesta 1 93 Propiedades de la transpuesta 2 94 Matrices

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

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de CAPITULO 4 JUSTIFICACION DEL ESTUDIO En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de estudios previos y los alcances que justifican el presente estudio. 4.1. Justificación.

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

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

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

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

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl 1 Colección de Tesis Digitales Universidad de las Américas Puebla Morales Salcedo, Raúl En este último capitulo se hace un recuento de los logros alcanzados durante la elaboración de este proyecto de tesis,

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

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

Cálculo Simbólico también es posible con GeoGebra

Cálculo Simbólico también es posible con GeoGebra www.fisem.org/web/union ISSN: 1815-0640 Número 34. Junio de 2013 páginas 151-167 Coordinado por Agustín Carrillo de Albornoz Cálculo Simbólico también es posible con GeoGebra Antes de exponer las posibilidades

Más detalles

Subespacios vectoriales en R n

Subespacios vectoriales en R n Subespacios vectoriales en R n Víctor Domínguez Octubre 2011 1. Introducción Con estas notas resumimos los conceptos fundamentales del tema 3 que, en pocas palabras, se puede resumir en técnicas de manejo

Más detalles

Ecuaciones de primer grado con dos incógnitas

Ecuaciones de primer grado con dos incógnitas Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad

Más detalles

Álgebra Lineal Ma1010

Álgebra Lineal Ma1010 Álgebra Lineal Ma1010 Mínimos Cuadrados Departamento de Matemáticas ITESM Mínimos Cuadrados Álgebra Lineal - p. 1/34 En esta sección veremos cómo se trabaja un sistema inconsistente. Esta situación es

Más detalles

MATERIAL 2 EXCEL 2007

MATERIAL 2 EXCEL 2007 INTRODUCCIÓN A EXCEL 2007 MATERIAL 2 EXCEL 2007 Excel 2007 es una planilla de cálculo, un programa que permite manejar datos de diferente tipo, realizar cálculos, hacer gráficos y tablas; una herramienta

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

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

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

SÍNTESIS Y PERSPECTIVAS

SÍNTESIS Y PERSPECTIVAS SÍNTESIS Y PERSPECTIVAS Los invitamos a observar, a identificar problemas, pero al mismo tiempo a buscar oportunidades de mejoras en sus empresas. REVISIÓN DE CONCEPTOS. Esta es la última clase del curso.

Más detalles

Fundamentos de los Sistemas Operativos (GII) Examen Final 15 de Junio de 2012 - SEGUNDA PARTE - SOLUCIONES

Fundamentos de los Sistemas Operativos (GII) Examen Final 15 de Junio de 2012 - SEGUNDA PARTE - SOLUCIONES Calificación 1 Fundamentos de los Sistemas Operativos (GII) Examen Final 15 de Junio de 2012 - SEGUNDA PARTE - 2 3 Nombre SOLUCIONES Grupo Dispone de una hora y media para completar el examen 1 (6.5 puntos)

Más detalles

Capitulo V Administración de memoria

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

Más detalles

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

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

Más detalles

Análisis de propuestas de evaluación en las aulas de América Latina

Análisis de propuestas de evaluación en las aulas de América Latina Esta propuesta tiene como objetivo la operatoria con fracciones. Se espera del alumno la aplicación de un algoritmo para resolver las operaciones. Estas actividades comúnmente presentan numerosos ejercicios

Más detalles

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente: Departamento de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Antioquia Arquitectura de Computadores y Laboratorio ISI355 (2011 2) Práctica No. 1 Diseño e implementación de una unidad aritmético

Más detalles

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

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

Más detalles

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

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

Más detalles

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases El UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas. Debido a que el UML es un lenguaje, cuenta con reglas para combinar tales elementos. La finalidad de los

Más detalles

BPMN Business Process Modeling Notation

BPMN Business Process Modeling Notation BPMN (BPMN) es una notación gráfica que describe la lógica de los pasos de un proceso de Negocio. Esta notación ha sido especialmente diseñada para coordinar la secuencia de los procesos y los mensajes

Más detalles

Lección 24: Lenguaje algebraico y sustituciones

Lección 24: Lenguaje algebraico y sustituciones LECCIÓN Lección : Lenguaje algebraico y sustituciones En lecciones anteriores usted ya trabajó con ecuaciones. Las ecuaciones expresan una igualdad entre ciertas relaciones numéricas en las que se desconoce

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

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

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

RELACIONES DE RECURRENCIA

RELACIONES DE RECURRENCIA Unidad 3 RELACIONES DE RECURRENCIA 60 Capítulo 5 RECURSIÓN Objetivo general Conocer en forma introductoria los conceptos propios de la recurrencia en relación con matemática discreta. Objetivos específicos

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

Medias Móviles: Señales para invertir en la Bolsa

Medias Móviles: Señales para invertir en la Bolsa www.gacetafinanciera.com Medias Móviles: Señales para invertir en la Bolsa Juan P López..www.futuros.com Las medias móviles continúan siendo una herramienta básica en lo que se refiere a determinar tendencias

Más detalles

CLASE # 5 TÉCNICAS DE CAJA BLANCA

CLASE # 5 TÉCNICAS DE CAJA BLANCA CLASE # 5 TÉCNICAS DE CAJA BLANCA 750105M - TÉCNICAS DE PRUEBAS DE SOFTWARE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DEL VALLE SEMESTRE 2013A - DOCENTE BEATRIZ FLORIAN GAVIRIA Basado Parcialmente

Más detalles

Tema 3. Espacios vectoriales

Tema 3. Espacios vectoriales Tema 3. Espacios vectoriales Estructura del tema. Definición y propiedades. Ejemplos. Dependencia e independencia lineal. Conceptos de base y dimensión. Coordenadas Subespacios vectoriales. 0.1. Definición

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

mcd y mcm Máximo Común Divisor y Mínimo Común múltiplo www.math.com.mx José de Jesús Angel Angel jjaa@math.com.mx

mcd y mcm Máximo Común Divisor y Mínimo Común múltiplo www.math.com.mx José de Jesús Angel Angel jjaa@math.com.mx mcd y mcm Máximo Común Divisor y Mínimo Común múltiplo www.math.com.mx José de Jesús Angel Angel jjaa@math.com.mx MathCon c 2007-2008 Contenido 1. Divisores de un número entero 2 2. Máximo común divisor

Más detalles

1.1. Introducción y conceptos básicos

1.1. Introducción y conceptos básicos Tema 1 Variables estadísticas Contenido 1.1. Introducción y conceptos básicos.................. 1 1.2. Tipos de variables estadísticas................... 2 1.3. Distribuciones de frecuencias....................

Más detalles

INDICADORES PRESENTADO POR: LUIS DARÍO TÉLLEZ RAMÍREZ

INDICADORES PRESENTADO POR: LUIS DARÍO TÉLLEZ RAMÍREZ PRESENTADO POR: LUIS DARÍO TÉLLEZ RAMÍREZ CONTENIDO GENERALIDADES DE LA MEDICIÓN CLASIFICACIÓN DE FORMULACIÓN O AJUSTE DE GENERALIDADES DE LA MEDICIÓN EN EL SECTOR PÚBLICO La medición consiste en revisar

Más detalles

a < b y se lee "a es menor que b" (desigualdad estricta) a > b y se lee "a es mayor que b" (desigualdad estricta)

a < b y se lee a es menor que b (desigualdad estricta) a > b y se lee a es mayor que b (desigualdad estricta) Desigualdades Dadas dos rectas que se cortan, llamadas ejes (rectangulares si son perpendiculares, y oblicuos en caso contrario), un punto puede situarse conociendo las distancias del mismo a los ejes,

Más detalles

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx Resumen Se dan algunas definiciones básicas relacionadas con la divisibilidad

Más detalles

EJEMPLO DE REPORTE DE LIBERTAD FINANCIERA

EJEMPLO DE REPORTE DE LIBERTAD FINANCIERA EJEMPLO DE REPORTE DE LIBERTAD FINANCIERA 1. Introduccio n El propósito de este reporte es describir de manera detallada un diagnóstico de su habilidad para generar ingresos pasivos, es decir, ingresos

Más detalles

Figura 4.1 Clasificación de los lenguajes de bases de datos

Figura 4.1 Clasificación de los lenguajes de bases de datos 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje

Más detalles

1.4.- D E S I G U A L D A D E S

1.4.- D E S I G U A L D A D E S 1.4.- D E S I G U A L D A D E S OBJETIVO: Que el alumno conozca y maneje las reglas empleadas en la resolución de desigualdades y las use para determinar el conjunto solución de una desigualdad dada y

Más detalles

INTRODUCCION A LA PROGRAMACION DE PLC

INTRODUCCION A LA PROGRAMACION DE PLC INTRODUCCION A LA PROGRAMACION DE PLC Esta guía se utilizará para estudiar la estructura general de programación de um PLC Instrucciones y Programas Una instrucción u orden de trabajo consta de dos partes

Más detalles

Lección 4: Suma y resta de números racionales

Lección 4: Suma y resta de números racionales GUÍA DE MATEMÁTICAS II Lección : Suma y resta de números racionales En esta lección recordaremos cómo sumar y restar números racionales. Como los racionales pueden estar representados como fracción o decimal,

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

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

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

Técnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE

Técnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE Técnicas de prueba El desarrollo de Sistemas de software implica la realización de una serie de actividades predispuestas a incorporar errores (en la etapa de definición de requerimientos, de diseño, de

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

PROCEDIMIENTO ESPECÍFICO. Código G114-01 Edición 0

PROCEDIMIENTO ESPECÍFICO. Código G114-01 Edición 0 Índice 1. TABLA RESUMEN... 2 2. OBJETO... 2 3. ALCANCE... 2 4. RESPONSABILIDADES... 3 5. ENTRADAS... 3 6. SALIDAS... 3 7. PROCESOS RELACIONADOS... 3 8. DIAGRAMA DE FLUJO... 4 9. DESARROLLO... 5 9.1. PROYECTO

Más detalles

ANÁLISIS Y GESTIÓN DEL DESARROLLO DE SOFTWARE TEMA 5: LA PLANIFICACIÓN DEL PRODUCTO

ANÁLISIS Y GESTIÓN DEL DESARROLLO DE SOFTWARE TEMA 5: LA PLANIFICACIÓN DEL PRODUCTO ANÁLISIS Y GESTIÓN DEL DESARROLLO DE SOFTWARE TEMA 5: LA PLANIFICACIÓN DEL PRODUCTO DAVID RODRÍGUEZ HERNÁNDEZ FECHA DE REVISIÓN: 1 Noviembre 2007 ZAMORA (CURSO 2007/2008) david.rgh@gmail.com Nota importante:

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN ORIENTADA A OBJETOS Clase 1. Introducción Profesor: Diego Sánchez Gómez Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases

Más detalles

INTRODUCCION AL CONTROL AUTOMATICO DE PROCESOS

INTRODUCCION AL CONTROL AUTOMATICO DE PROCESOS INTRODUCCION AL CONTROL AUTOMATICO DE PROCESOS El control automático de procesos es parte del progreso industrial desarrollado durante lo que ahora se conoce como la segunda revolución industrial. El uso

Más detalles

CAPÍTULO 2 DEFINICIÓN DEL PROBLEMA

CAPÍTULO 2 DEFINICIÓN DEL PROBLEMA CAPÍTULO 2 DEFINICIÓN DEL PROBLEMA En el capítulo anterior se describió la situación inicial en la que se encontraba la Coordinación de Cómputo Académico (CCA) del Departamento de Ingenierías (DI) de la

Más detalles

IS23 Mantenimiento de Instalaciones Informáticas Práctica 5. Medición del rendimiento

IS23 Mantenimiento de Instalaciones Informáticas Práctica 5. Medición del rendimiento IS23 Mantenimiento de Instalaciones Informáticas Práctica 5. Medición del rendimiento 1 Objetivos Ingeniería Técnica Informática de Sistemas Curso 2003/2004 En la presente sesión se pretende familiarizar

Más detalles

Tecnologías de Información y Comunicación II CLASE 10

Tecnologías de Información y Comunicación II CLASE 10 Tecnologías de Información y Comunicación II CLASE 10 Medidas Una medida es un tipo de dato cuya información es usada por los analistas (usuarios) en sus consultas para medir la perfomance del comportamiento

Más detalles

Una (muy) breve introducción a la teoría de la computación

Una (muy) breve introducción a la teoría de la computación Una (muy) breve introducción a la teoría de la computación Marcelo Arenas M. Arenas Una (muy) breve introducción a la teoría de la computación 1 / 48 Ciencia de la computación Cuál es el objeto de estudio

Más detalles

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 1 de agosto de 2003 1. Introducción Cualquier modelo de una situación es una simplificación de la situación real. Por lo tanto,

Más detalles

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION CHIQUINQUIRA (BOYACA) 2015 1 CONTENIDO Pág. QUE ES UN SISTEMA BINARIO. 3 CORTA HISTORIA DE LOS

Más detalles

MLM 1000 - Matemática Discreta

MLM 1000 - Matemática Discreta MLM 1000 - Matemática Discreta L. Dissett Clase 04 Resolución. Lógica de predicados c Luis Dissett V. P.U.C. Chile, 2003 Aspectos administrativos Sobre el tema vacantes: 26 personas solicitaron ingreso

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

Geometría Tridimensional

Geometría Tridimensional Capítulo 4 Geometría Tridimensional En dos dimensiones trabajamos en el plano mientras que en tres dimensiones trabajaremos en el espacio, también provisto de un sistema de coordenadas. En el espacio,

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

_ Antología de Física I. Unidad II Vectores. Elaboró: Ing. Víctor H. Alcalá-Octaviano

_ Antología de Física I. Unidad II Vectores. Elaboró: Ing. Víctor H. Alcalá-Octaviano 24 Unidad II Vectores 2.1 Magnitudes escalares y vectoriales Unidad II. VECTORES Para muchas magnitudes físicas basta con indicar su valor para que estén perfectamente definidas y estas son las denominadas

Más detalles

1. INVERSA DE UNA MATRIZ REGULAR

1. INVERSA DE UNA MATRIZ REGULAR . INVERSA DE UNA MATRIZ REGULAR Calcular la inversa de una matriz regular es un trabajo bastante tedioso. A través de ejemplos se expondrán diferentes técnicas para calcular la matriz inversa de una matriz

Más detalles

Lógica Proposicional IIC2212. IIC2212 Lógica Proposicional 1 / 56

Lógica Proposicional IIC2212. IIC2212 Lógica Proposicional 1 / 56 Lógica Proposicional IIC2212 IIC2212 Lógica Proposicional 1 / 56 Inicio de la Lógica Originalmente, la Lógica trataba con argumentos en el lenguaje natural. Ejemplo Es el siguiente argumento válido? Todos

Más detalles

OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA. Tema 2 Programación Lineal

OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA. Tema 2 Programación Lineal OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA Tema 2 Programación Lineal ORGANIZACIÓN DEL TEMA Sesiones: Introducción, definición y ejemplos Propiedades y procedimientos de solución Interpretación económica

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad

Más detalles

CAPITULO II CARACTERISTICAS DE LOS INSTRUMENTOS DE MEDICION

CAPITULO II CARACTERISTICAS DE LOS INSTRUMENTOS DE MEDICION CAPITULO II CARACTERISTICAS DE LOS INSTRUMENTOS DE MEDICION Como hemos dicho anteriormente, los instrumentos de medición hacen posible la observación de los fenómenos eléctricos y su cuantificación. Ahora

Más detalles

Programación Lineal. Programación Lineal

Programación Lineal. Programación Lineal Programación Lineal Modelo General Max Z = c 1 + C 2 +... c n, s.a. a 11 + a 12 +... + a 1n b 1 a 21 + a 22 +... + a 2n b 2.. a m1 + a m2 +... + a mn b m 0, 0, x 3 0,..., 0 Programación Lineal Interpretación

Más detalles

Módulo 9 Sistema matemático y operaciones binarias

Módulo 9 Sistema matemático y operaciones binarias Módulo 9 Sistema matemático y operaciones binarias OBJETIVO: Identificar los conjuntos de números naturales, enteros, racionales e irracionales; resolver una operación binaria, representar un número racional

Más detalles

guía para LOS PADRES APOYANDO A SU HIJO EN QUINTO GRADO MATEMÁTICAS

guía para LOS PADRES APOYANDO A SU HIJO EN QUINTO GRADO MATEMÁTICAS TM guía para LOS PADRES APOYANDO A SU HIJO EN QUINTO GRADO MATEMÁTICAS 5 Las escuelas de los Estados Unidos de América están trabajando para brindar una enseñanza de mayor calidad nunca antes vista. La

Más detalles

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos. Apéndice C. Glosario A Actividades de coordinación entre grupos. Son dinámicas y canales de comunicación cuyo objetivo es facilitar el trabajo entre los distintos equipos del proyecto. Actividades integradas

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

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

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

Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades

Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades A veces me preguntan acerca de las diferencias entre muchos tipos de servicios de hospedaje web, y pensé que traería muchos

Más detalles

Matrices equivalentes. El método de Gauss

Matrices equivalentes. El método de Gauss Matrices equivalentes. El método de Gauss Dada una matriz A cualquiera decimos que B es equivalente a A si podemos transformar A en B mediante una combinación de las siguientes operaciones: Multiplicar

Más detalles

Capítulo 5. Cliente-Servidor.

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

Más detalles

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo

Más detalles

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA Programa: Algoritmo (secuencia no ambigua, finita y ordenada de instrucciones para la resolución de un determinado problema) traducido

Más detalles

4 APLICACIONES LINEALES. DIAGONALIZACIÓN

4 APLICACIONES LINEALES. DIAGONALIZACIÓN 4 APLICACIONES LINEALES DIAGONALIZACIÓN DE MATRICES En ocasiones, y con objeto de simplificar ciertos cálculos, es conveniente poder transformar una matriz en otra matriz lo más sencilla posible Esto nos

Más detalles

Curso Excel Básico - Intermedio

Curso Excel Básico - Intermedio Curso Excel Básico - Intermedio Clase 4 Relator: Miguel Rivera Adonis Introducción Base de Datos: Definición de Base de Datos Ordenar datos Formulario Filtros Trabajar con Sub-Totales Validación de Datos

Más detalles

35 Facultad de Ciencias Universidad de Los Andes Mérida-Venezuela. Potencial Eléctrico

35 Facultad de Ciencias Universidad de Los Andes Mérida-Venezuela. Potencial Eléctrico q 1 q 2 Prof. Félix Aguirre 35 Energía Electrostática Potencial Eléctrico La interacción electrostática es representada muy bien a través de la ley de Coulomb, esto es: mediante fuerzas. Existen, sin embargo,

Más detalles