sábado, 12 de enero de 2013

Práctica 3


Grado en Ingeniería Informática                              
Arquitectura de Computadores – Prácticas Curso 2012-13   

PRACTICA 3 – SIJEM
1-
¿Cuántos bloques tiene la cache de instrucciones de nivel 1?¿Y la cache de datos? 4 cada uno
La dirección de memoria principal tiene 20 bits (tamaño 1 MB). ¿Cómo se interpretan estos bits en la caché L1?
Anote el número de aciertos en la memoria caché y en la memoria principal, respectivamente, así como el número de ciclos empleados por el programa:

2-
¿Cuántos bloques tiene la caché de nivel 2? 8 bloques
¿Cómo se interpretan los bits de dirección en la caché L2?
Anote el número de aciertos en la memoria caché (aciertos en L1, aciertos en L2 y aciertos totales) y en la memoria principal, respectivamente, así como el número de ciclos empleados por el programa. Compare los resultados con los obtenidos anteriormente.


Si comparamos los primeros resultados con estos, observamos que la cantidad de veces que la información tiene que encontrarse en memoria principal (Mem.Ppal) se reduce en gran medida.

3-
Manteniendo esta última configuración con dos niveles de caché, cambie la organización a “Completamente asociativa” y, posteriormente, a “Asociativa por conjuntos de 2 vías”. Compare los resultados con los obtenidos en los apartados anteriores
Siendo completamente asociativa el numero de aciertos a en memoria principal es aun menor.
Siendo asociativa por conjuntos el número de aciertos en memoria principal es algo mayor que siendo completamente asociativa.
4-
¿Cuántos bloques tiene la caché de nivel 3? 64 bloques
¿Cómo se interpretan los bits de dirección en la caché L3?
Anote el número de aciertos en la memoria caché (aciertos en L1, aciertos en L2, aciertos en L3 y aciertos totales) y en la memoria principal, respectivamente, así como el número de ciclos empleados por el programa. Compare los resultados con los obtenidos anteriormente.

Usando una cache de nivel 3 el numero de veces que la información debe encontrarse en memoria principal es menor que si solo usáramos una cache de nivel 2

Practica 2

Grado en Ingeniería Informática                              
Arquitectura de Computadores – Prácticas Curso 2012-13   

Practica 2: Benchmark
DESCRIPCION:
En esta Práctica trataremos de evaluar el rendimiento de nuestro ordenador utilizando benchmark (es una técnica utilizada para medir el rendimiento de un sistema o componente del mismo)  con el programa PerformanceTest, usando las distintas alternativas de test que nos brinda dicho programa.
Los benchmark no solo se utilizan para medir el rendimiento de una máquina, También puede realizarse un "benchmark de software", es decir comparar el rendimiento de un software contra otro, por ejemplo, comparar distintas consultas a una base de datos para saber cuál es la más rápida o directamente partes de código.
¿Cuáles son las cualidades de benchmark?
Los benchmark tienen las siguientes funcionalidades:
·         Comprobar si las especificaciones de los componentes están dentro del margen propio del mismo
·         Maximizar el rendimiento con un presupuesto dado
·         Minimizar costos manteniendo un nivel maximo de rendimiento
·         Obtener la mejor relación costo/beneficio (con un presupuesto o unas exigencias dadas)
PRÁCTICA:
1.- A partir de la información proporcionada en el menú de ayuda, indique:
                 
El número de series de test (test suites) estándar que emplea el programa y los tests específicos que conforman cada serie. Realice una breve descripción de cada uno de ellos.

Para indicar el número de test vamos a la pestaña test del índice del programa, tenemos la pasibilidad de escoger uno de los test que proporciona el programa o realizar un benchmark completo de todos los test(es aconsejable realizar varios test).






·         Test de CPU:
Integer :  32-bit y 64-bit de suma, resta, multiplicación y división usando variables enteras.
Floating Point: 32-bit y 64-bit de suma, resta, multiplicación y división utilizando variables de punto flotante.
Multimedia Instructions: 128-bit SSE operaciones tales como suma, resta y multiplicación.
Find Prime numbers: Encuentra los números primos
Compression: La prueba de compresión utiliza un algoritmo de codificación adaptativo basado en el código fuente de Ian H. Witten, Radford M. Neal y John G. Cleary en un artículo llamado "codificación aritmética para la compresión de datos". El sistema utiliza un modelo que mantiene la probabilidad de cada símbolo en la siguiente codificada.
Encryption: La prueba utiliza el algoritmo de cifrado Blowfish. Se basa en la aplicación C de Paul Kocher. Los datos son cifrados mediante una clave 16Byte en bloques de 4 KB. La prueba reporta en Kbytes / seg.
Physics : prueba de simulación utilizando el motor Tokamak Physics . Repite el primer segundo de la simulación tantas veces como sea posible dentro de la duración del ensayo.
Random String Sorting: Ordena una matriz de cadenas aleatorias 100.000 cada 25 caracteres de longitud. Repite esta clasificación tantas veces como sea posible dentro de la duración del ensayo.
·         Test de gráficos 2D
Solid Vectors: Dibuja un rectángulo relleno con un degradado, una elipse sólida llena, una línea, y una estrella sólida llena tantas veces como sea posible.
Transparent Vectors: Esta prueba se realiza mal en las versiones de Windows anteriores a Vista. Es probable que el rendimiento 2d Vista ha sido optimizado para hacer frente a la nueva interfaz Aero.
Complex Vectors: Dibuja una selva utilizando un número de imágenes vectoriales complejos de árboles y animales. Esta escena se extraerán tantas veces como sea posible dentro del límite de tiempo y siempre termina en un dibujo completo de la escena.
Fonts and Text: Prueba el rendimiento de la tarjeta gráfica con la representación típica de las fuentes y de texto.
Windows Interface: Pon a prueba el rendimiento de la tarjeta gráfica y la configuración de pantalla de Windows para interactuar con la interfaz gráfica de usuario.
Image Filters: Aplica filtros rotación, brillo y escala de grises a una imagen. Cuenta el número de filtros aplicados por segundo.
Image Rendering: Mide la velocidad a la que puede verse una imagen de mapa de bits prestados a la pantalla en varios tamaños.
·         Test de gráficos 3D
Simple, Medium, and Complex and DX10: Se diferencia en la cantidad de objetos y texturas analizados
·         Test de MEMORIA
Memory - Allocate small block: Esta prueba mide el tiempo necesario para asignar  pequeños bloques de memoria libres puestos a cero.
Memory – Cached: Esta prueba mide el tiempo necesario para leer un pequeño bloque de memoria. El bloque es lo suficientemente pequeño para ser declarado por completo en la memoria caché.
Memory – UnCached: Esta prueba mide el tiempo necesario para leer un bloque grande de memoria. El bloque es demasiado grande para guardarlo en la memoria caché.
Memory – Write: Esta prueba mide el tiempo necesario para escribir información en la memoria.
Memory – Large RAM: Esta prueba mide la capacidad de asignar grandes cantidades de memoria RAM y el tiempo necesario para leer esta memoria RAM. La prueba está diseñada para medir la capacidad del sistema para soportar aplicaciones que utilizan cantidades muy grandes de RAM.
·         Test de DISCO
Disk Sequential Read: Un gran archivo de prueba se crea en el disco . El archivo se lee secuencialmente desde el principio hasta el final.
Disk Sequential Write: Un gran archivo de prueba se crea en el disco . El archivo se lee secuencialmente desde el principio hasta el final..
Disk Random Seek RW: Un gran archivo de prueba se crea en el disco . El archivo se lee al azar, la búsqueda se realiza para mover el puntero desde el archivo a una posición aleatoria en él, un bloque de 16 KB se lee o escribe,  luego otra búsqueda se realiza. La cantidad de datos transferidos en realidad es altamente dependiente en el disco de tiempo de búsqueda.
·         Test de CD/DVD
El conjunto de pruebas de CD / DVD se compone de una única prueba, que lee datos de la unidad de CD.


b) El peso asignado a cada una de las series para determinar la clasificación final.

Para comprobar el peso asignado a cada uno de los componentes, vamos a la pestaña de ayuda del índice principal del programa y seleccionamos:
Interpreting the results -> The PassMark Rating.

Test Suite
Weighting
Disk
21%
CD / DVD
5%
Memory
19%
3D Graphics
12%
2D Graphics
14%
CPU
29%
Total
100%



c) Las unidades usadas para medir:

Para comprobar en qué unidades se realizan nuestros test volvemos al menú ayuda (help) del índice principal y:
Interpreting the results -> Measurement units.

Mbytes / seg megabytes transferidos por segundo: Se utiliza para medir la cantidad de información transferida desde y hacia un disco o memoria.

Add´s / s Millones de sumas por segundo: Se utiliza para medir el número de enteros o flotantes operaciones matemáticas de punto.

Sub´s/ s Millones de restas por segundo: Se utiliza para medir el número de enteros o flotantes operaciones matemáticas de punto.

Mult/ Sec millones de multiplicaciones por segundo: Se utiliza para medir el número de enteros o flotantes operaciones matemáticas de punto.

Div´s/ Sec millones de divisiones por segundo: Se utiliza para medir el número de enteros o flotantes operaciones matemáticas de punto.

Imágenes / seg Miles de vectores dibujados por segundo: Se utiliza para medir la cantidad de objetos vectoriales que se puede dibujar en una ventana por segundo. Esta es una medida de rendimiento de gráficos 2D.

Vectores Complejo / vectores Sec Complejo elaborado por segundo: Se utiliza para medir el número de objetos vectoriales complejas que se puede dibujar en una ventana por segundo. Esta es una medida de rendimiento de gráficos 2D.

Filtros / seg Filtros por segundo: Número de filtros de imagen aplicadas por segundo.

Imágenes / seg Miles de imágenes de mapa de bits por segundo: Se utiliza para medir la cantidad de imágenes de mapa de bits que se puede dibujar en una ventana por segundo. Esta es una medida de rendimiento de gráficos 2D.

Formas / seg Miles de formas por segundo: Sirve para medir el número de formas que se puede dibujar en una ventana por segundo. Esta es una medida de rendimiento de gráficos 2D.

Frames / Sec Número de fotogramas diferentes muestran por segundo: Se utiliza para medir el desempeño de animación con gráficos en 3D. Las altas tasas de producir un marco más suave, la imagen más realista.

Megaflops (o FLOPS): FLOPS es el número de operaciones de punto flotante que puede ser realizado por segundo. Como esta cifra es normalmente de los millones los megaflops se utiliza el término. 1.000.000 FLOPS = 1 megaflops. Esta es una medida estándar de la industria, que se usa para comparar el rendimiento de los sistemas informáticos diversos.

2.- Anote la información más relevante (sistema operativo, CPU, tarjeta gráfica, etc.) del ordenador bajo prueba (se puede obtener seleccionando la pestaña System).
Performance Test tiene un segundo menú donde tenemos los test que realiza dicho programa y una etiqueta system donde viene detallado todos los componentes de la máquina que va a ser estudiada.





3.- Realice un test completo del ordenador usado en la práctica:
Tests  Run All Tests.
Test
This Computer
PassMark Rating
404.9
CPU Mark
842.9
2D Graphics Mark
300.2
3D Graphics Mark
54.7
Memory Mark
322.1
Disk Mark
525.9
CD Mark
199.0

4.- Realice una comparación entre los valores obtenidos y los de dos de las máquinas de referencia incluidas en el programa. Indique las máquinas seleccionadas y sus características más relevantes.




MEJORAS:
El programa utilizado aunque es muy completo tiene el inconveniente de ser de pago y hay programas benchmark muy eficaces totalmente gratuitos, como:
HD Tach(Para Discos Duros)
Unigine Heaven(Para Video)
FurMark(Para Video)
SiSoftware Sandra Lite(General)

Practica 1



Grado en Ingeniería Informática                              
Arquitectura de Computadores – Prácticas Curso 2012-13   

Practica 1:TOP 500
DESCRIPCIÓN:
La TOP 500 es una lista actualizada (junio y noviembre) de las supercomputadoras más potentes que existen en el mundo, se puede seguir en: http://www.top500.org.
El objetivo principal de la lista TOP500 es proporcionar una lista clasificada de sistemas de propósito general que son de uso común para aplicaciones de gama alta.
PRACTICA:

1.- Realice un cuadro con los 5 primeros computadores en la última lista publicada (junio 2011), indicando los siguientes datos:

Para realizar el ejercicio 1 nos dirigimos a la página http://www.top500.org, en el menú que nos aparece tenemos que dirigirnos a List, de ahí extraemos:



·         Posición en el ranking
·         Nombre y ubicación
·         Fabricante
·         Procesador
·         Número de procesadores
·         Sistema operativo
·         Prestaciones máximas (en TFlops)
·         Potencia consumida (en Kw)
·         Área de aplicación



 2.- Indique la posición ocupada por cada uno de los 10 primeros computadores de dicha lista en las correspondientes al año pasado: junio de 2010 y noviembre de 2010.

Se realiza de la misma forma que ejercicio 1. En las especificaciones de cada computadora vienen las posiciones obtenidas en años anteriores.

Computadoras
Junio 2011
Noviembre 2010
Junio 2010
1
-
-
2
1
-
3
2
1
Nebulae
4
3
2
5
4
-
6
-
-
7
-
-
8
5
-
9
6
-
Roadrunner
10
7
3
















3.- Indique la distribución de computadores (junio 2011) por:

Para generar esta lista basta con ir a Statistics -> List statistics


-Países (indique los cinco primeros y España)
Countries
Count
System Share (%)
Rmax (GFlops)
Rpeak (Gflops)
Cores
Posición
United States
255
51
25265850
36064585
3887556
1
China
61
12.2
7136315
14331012
881832
2
Germany
30
6
3242111
4181324
568952
3
United Kingdom
27
5.4
1872107
2806545
260572
4
Japan
26
5.2
11182236
13641291
832838
5
Spain
2
0.4
135860
197696
14160
19


-Continentes
Continents
Count
System Share (%)
Rmax (GFlops)
Rpeak (GFlops)
Cores
Americas
265
53
26175708
37285628
4007424
Europe
126
25.2
12087439
16847182
1724786
Asia
103
20.6
20266472
30494988
2007370
Oceania
6
1.2
400406
552142
40344


-Fabricantes (indique los cinco primeros)
Vendors
Count
System Share (%)
Rmax (GFlops)
Rpeak (GFlops)
Cores
IBM
212
42.4
15294418
22652468
2811620
HP
155
31
8782912
14991069
1389746
Cray Inc.
29
5.8
9080974
11548482
1249222
SGI
19
3.8
2729370
3223354
292816

  
-Familia de procesadores
Processor Generation
Count
System Share (%)
Rmax (GFlops)
Rpeak (GFlops)
Cores
Intel Xeon E5
134
26.8
34842370
49380483
2333949
NEC
1
0.2
122400
131072
1280
Opteron 6100-series
27
5.4
6202438
8840894
951624
Opteron 6200 Series
21
4.2
23214652
34554667
1313202
Opteron Quad Core
11
2.2
1545432
2029366
227104
Opteron Six Core
2
0.4
1033900
1335240
128400
POWER6
6
1.2
603483
796518
42368
POWER7
13
2.6
4984183
6247586
203968
Power BQC
25
5
38551092
47290779
3694592
PowerPC 440
2
0.4
173451
217907
77824
PowerPC 450
5
1
1279971
1531903
450560
PowerXCell 8i
2
0.4
1168500
1537632
136800
SPARC64 IXfx
3
0.6
1294100
1407910
95232
SPARC64 VII
1
0.2
110600
121282
12032
SPARC64 VIIIfx
1
0.2
10510000
11280384
705024
ShenWei
1
0.2
795900
1070160
137200
Xeon 5300-series "Clovertown"
2
0.4
266000
344640
28720
Xeon 5400-series "Harpertown"
17
3.4
3005434
4125682
339049
Xeon 5500-series (Nehalem-EP)
25
5
3932650
5303424
410150
Xeon 5500-series (Nehalem-EX)
3
0.6
1224940
1463569
161408
Xeon 5600-series (Westmere-EP)
197
39.4
27181446
50091608
3416154
Xeon E7 (Westmere-EX)
1
0.2
96445
173206
19160


-Sistema operativo (indique los cinco primeros)
Operating system Family
Count
System Share (%)
Rmax (GFlops)
Rpeak (GFlops)
Cores
Linux
469
93.8
155833528
221440076
14109948
Unix
20
4
4264437
5326824
200096
Mixed
7
1.4
1453422
1749811
528384
Windows
3
0.6
465600
628129
46092


-Segmentos (Académico, gubernamental, industria, investigación, otros)
Segments
Count
System Share (%)
Rmax (GFlops)
Rpeak (GFlops)
Cores
Industry
247
49.4
28475391
52321101
3933385
Research
121
24.2
96156016
127558595
7837116
Academic
97
19.4
29485077
39215636
2507471
Government
18
3.6
3412813
4509189
299860




4.- Localice los supercomputadores instalados en España (junio 2005, junio 2008 y junio 2011).

Para generar esta lista vamos nuevamente a Statistics à sublist Generator


-Junio 2005



- Junio 2008


- Junio 2011



MEJORAS:
Una posible mejora seria actualizar las búsquedas al año corriente (2012), ya que, por ejemplo, en España han cambiado mucho la situación de determinados computadores y así tener una idea más cercana al panorama actual.