Computación Científica en Paralelo
|
|
- Emilia Poblete Duarte
- hace 8 años
- Vistas:
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 Juan Carlos Fernández Rodríguez. Área de HPC. Centro Informático Científico de Andalucía (CICA) Junta de Andalucía
Más detallesINSTITUTO 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 detallesARREGLOS 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 detallesConclusiones. 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 detallesFigura 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 detallesIntroducció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 detallesMatrices. 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 detallesAritmé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 detalles1. 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 detallesMé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 detallesTEMA 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 detallesMatrices 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 detallesMé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 detallesCAPITULO 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 detallesCapí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 detallesResolució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 detallesModulo 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 detallesESTRUCTURA 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 detallesColecció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 detallesPreliminares. 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 detallesPrá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 detallesCá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 detallesSubespacios 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 detallesEcuaciones 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 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 detallesMATERIAL 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 detalles4. 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 detallesORDENADORES 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 detallesDesarrollo 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 detallesSÍ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 detallesFundamentos 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 detallesCapitulo 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 detallesCOMO 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 detallesAná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 detallesFigura 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 detallesIntroduccion 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 detallesHostaliawhitepapers. 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 detallesDiagramas 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 detallesBPMN 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 detallesLecció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 detallesFUNDAMENTOS 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 detallesARQUITECTURA 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 detallesPipelining 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 detallesRELACIONES 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 detallespicojava 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 detallesMedias 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 detallesCLASE # 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 detallesTema 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 detallesPlanificació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 detallesmcd 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 detalles1.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 detallesINDICADORES 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 detallesa < 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 detallesLa 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 detallesEJEMPLO 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 detallesFigura 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 detalles1.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 detallesINTRODUCCION 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 detallesLecció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 detallesValores 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 detallesEjemplos 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 detallesFundamentos 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 detallesTé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 detallesTABLA 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 detallesPROCEDIMIENTO 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 detallesANÁ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 detallesPROGRAMACIÓ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 detallesINTRODUCCION 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 detallesCAPÍ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 detallesIS23 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 detallesTecnologí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 detallesUna (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 detallesFundamentos 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 detallesSISTEMAS 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 detallesMLM 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 detallesTeorí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 detallesGeometrí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 detallesT 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
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 detalles1. 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 detallesLó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 detallesOPTIMIZACIÓ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 detallesUnidad 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 detallesby 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 detallesCAPITULO 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 detallesProgramació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 detallesMó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 detallesguí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 detallesActividades 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 detallesOrganizació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 detallesCentro 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 detallesTema 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 detallesConoce 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 detallesMatrices 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 detallesCapí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 detallesProceso 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 detallesTEMA 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 detalles4 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 detallesCurso 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 detalles35 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