![]() |
Haga click para publicitar en Alipso.com |
| Buscando Secundarios
| Universidades
| Carreras
| Test
Orientación Vocacional | Medios
| Profesores particulares
| Institutos
| Campus Material Monografias | Exámenes Secundarios | Exámenes Universitarios | Enlaces | Enviar material | Diversión Postales | Humor | Descargas | Juegos Comunidad Foros | Institucional Publicite | En su sitio | Contáctese Cursos en Buenos Aires Cursos de Informática | Cursos de apoyo al CBC | Carreras y Cursos de Diseño, Comunicación, Arte y Fotografía |
|
|
Imprimir apunte |
Recomendar a un amigo |
Recordarme el recurso |
|
Más sobre este recurso: Catalogado en base de datos como: ESTUDIO DEL RENDIMIENTO ARQUITECTURAS AVANZADAS.: Introducción, Factores que influyen en el rendimiento de un Job, hardware, Software, Contenido del Job, Diseño de la aplicación, Conclusiones, Rendimiento del Sistema, Indicadores del Rendimiento de un Computador, Turnaround Time, Tiempo de cada ciclo (t) Agregado: 29 de AGOSTO de 2000 | Palabras: 2599 | Votar! | Sin Votos | Sin comentarios | Agregar Comentario Categoría: Apuntes y Monografías > Computación > Varios > |
|
Estudio
del Rendimiento
Arquitecturas
Avanzadas
Fecha: 20-Dic-99
Autor: Nuria Baeza García
1. Introducción________________________________________________________ 3
2. Factores que influyen en el rendimiento de un Job_________________________ 4
2.1. Hardware________________________________________________________ 4
2.2. Software_________________________________________________________ 4
2.3 Contenido del Job__________________________________________________ 4
2.4 Diseño de la aplicación______________________________________________ 5
2.5 Conclusiones______________________________________________________ 5
3. Rendimiento del Sistema_______________________________________________ 6
4. Indicadores del Rendimiento de un Computador___________________________ 7
4.1 Turnaround Time__________________________________________________ 7
4.2 Tiempo de cada ciclo (t)_____________________________________________ 7
4.3 Frecuencia de reloj (f)_______________________________________________ 7
4.4 Total de Instrucciones (Ic)___________________________________________ 7
4.5 Ciclos por instrucción (CPI)__________________________________________ 7
4.6 Tiempo de ejecución de programa (Tp)_________________________________ 8
4.7 Ciclo de memoria (mc)_______________________________________________ 8
4.8 Componentes del CPI_______________________________________________ 8
4.9 Relación entre factores de rendimiento y
atributos del sistema______________ 8
4.10 Relación MIPS___________________________________________________ 9
4.11 THROUGHPUT del sistema (Ws)____________________________________ 9
4.12 THROUGHPUT de UCP (Wp)_______________________________________ 9
5. Benchmark_________________________________________________________ 10
5.1 Ejemplo_________________________________________________________ 10
Apéndice A. Definición de Unidades de las Fórmulas________________________ 12
Apéndice B. Ejercicios_________________________________________________ 13
Problema 1_________________________________________________________ 13
Problema 2_________________________________________________________ 14
Problema 3_________________________________________________________ 15
El ordenador ha sido el descubrimiento más
importante de la historia, ya que no ha parado de evolucionar desde su
aparición. Las razones de este éxito tan espectacular han sido esencialmente dos:
ü
La
ruptura de la barrera entre el programador y el ensamblador.
ü
La
aparición de los sistemas abiertos (open systems), y en particular aquellos
basados en el sistema operativo UNIX.
La tendencia actual es la siguiente:
ü
Invención
de arquitecturas nuevas cada dos o tres años.
ü
Mejora
de los compiladores.
ü
Mejora
de las comunicaciones.
ü
La
aparición de las máquinas masivamente paralelas.
Por este motivo, el rendimiento de las
máquinas ha experimentado un crecimiento enorme de unos años hasta ahora. En
este trabajo se hace un resumen del estudio del rendimiento de los sistemas
actuales.
El rendimiento de un job depende de los
siguientes factores:
1)
Hardware
2)
Software
3)
Contenido
del Job
4)
Diseño
de la aplicación
El hardware condiciona de manera muy importante en
rendimiento escalar y vectorial- Este rendimiento, en general, va a depender
del número de procesadores escalares y/o vectoriales y de la potencia del
conjunto de instrucciones de la máquina.
El software es también un factor muy importante del
rendimiento de un job. Este rendimiento dependerá básicamente de la capacidad
de los compiladores vectorizantes, compiladores paralelos y de la biblioteca de
subrutinas de que se disponga.
El compilador es el
encargado de cerrar la brecha entre el paralelismo software y hardware. Algunas
tareas de paralelización las realizará el compilador (las más complejas) y
otras las realizará el propio usuario (programando).
El contenido del Job también es un factor importante
que influye en su rendimiento.
ü
La
cantidad de operaciones en coma flotante que se realicen es
importante, ya que estas son muy costosas debido a que emplean mucho más tiempo
de la ALU que las operaciones en coma fija.
ü
El
tanto por ciento de código vectorizable
ü
El
tanto por ciento de código paralelo
Es importante que se ajuste al diseño de la máquina
y que se organicen los datos.
Si tenemos un software que no se adapta bien
al hardware, el rendimiento del sistema y en particular del job será muy pobre.
Para hacer un modelo de rendimiento
tendríamos que tener en cuenta muchos parámetros, pero esto no es rentable. Por
consiguiente nos conformamos con modelos simplificados para la medida del
rendimiento de un sistema.
Para obtener un alto rendimiento del sistema
es necesario que haya una sintonía entre la capacidad de la máquina y el
comportamiento del programa.
La capacidad de la máquina es susceptible de
mejora con las nuevas tecnologías hardware y software, además de la gestión
eficiente de los recursos.
El comportamiento del programa depende
básicamente de los siguiente factores:
ü
Diseño
del algoritmo
ü
Estructuras
de datos
ü
Eficiencia
de los lenguajes
ü
Conocimientos
del programador
ü
Tecnología
de los compiladores
Las estructuras de datos proporcionan un alto
grado de paralelismo y le condicionan. Así mismo, los lenguajes y compiladores
son muy importantes en cuenta a eficiencia de los primeros y la inteligencia de
los segundos para detectar dentro del código aquellas partes que pueden ser
paralelizables. Los conocimientos del programador también son muy importantes
ya que junto con el diseño del algoritmo, los desarrollos pueden adaptarse
mucho mejor al hardware del sistema.
El rendimiento de un sistema varía según el
programa. Esto lo podemos observar con las siguientes características
intrínsecas de la relación entre el sistema y el programa:
ü
Imposibilidad
de alcanzar un rendimiento máximo.
ü
Resultados
de BENCHMARKING ligados a la composición del programa.
Los indicadores del rendimiento de un computador son una serie de parámetros que conforma una modelo simplificado de la medida del rendimiento de un sistema y son utilizados por los arquitectos de sistemas, los programadores y los constructores de compiladores, para la optimización del código y obtención de una ejecución más eficiente. Dentro de este modelo, estos son los indicadores de rendimiento más utilizados:
El tiempo de respuesta. Desde la entrada hasta la salida, por lo que incluye accesos a disco y memoria, compilación, sobrecargas y tiempos de CPU. Es la medida más simple del rendimiento.
En sistemas
multiprogramados no nos vale la medida del rendimiento anterior, ya que la
máquina comparte el tiempo, se produce solapamiento E/S del programa con tiempo
de CPU de otros programas. Necesitamos otra medida como es el TIEMPO CPU
USUARIO.
El tiempo empleado por cada ciclo. Es la constante de reloj del procesador. Medida en nanosegundos.
Es la inversa del tiempo de ciclo. f = 1/t. Medida en Megahertz.
Es
el número de instrucciones objeto a ejecutar en un programa.
Es
el número de ciclos que requiere cada instrucción. Normalmente, CPI = CPI
medio.
Es
el tiempo que tarda un programa en ejecutarse.
Total
de ciclos de reloj en la ejecución de un programa (C)
Es
tiempo que se tarda en completar una referencia a memoria.
mc
= k * t kàlatencia >1
A
partir de las nuevas definiciones de referencias a memoria por ciclo y el total
de ciclos del procesador, las fórmulas del CPI y del Tp se pueden de la
siguiente forma:
Ø Total de ciclos
del procesador (p).
Ø Referencias a
memoria por ciclo (mr).
CPI
= p + mr * k
(ciclos/instrucción)
Tp
= Ic * CPI * t = Ic * (p + mr
* k) * t (nanosegundos)
|
|
Ic |
p |
mr |
k |
t |
|
Arquitectura |
X |
x |
|
|
|
|
Tecnología
compilador |
X |
x |
x |
|
|
|
Implantación
y control CPU |
|
x |
|