Como siempre nada más comenzar, hacemos una recapitulación de la clase anterior.
A continuación vemos un artículo sobre el futuro de los multicores en el que se comentan varias cuestiones como que la famosa Sony PlayStation 3 tiene una CPU con 9 cores pero no funciona con procesamiento simétrico.
Todos los ordenadores que se fabrican hoy en día son de arquitectura Turing.
La ley de Moore, aquella que decía que cada 18 meses se iba a duplicar la velocidad de las CPUs, está hoy en día estancada en los 3.8 GHz; Pero, ha surgido una nueva ley de Moore sobre los núcleos o cores y es que cada 18 meses se van a duplicar el número de cores de las CPUs. Cierto es esto pues hace como que 2 años y medio salieron al mercado los Intel Core Duo que tenían 2 núcleos, a este le siguieron los Core 2 Duo y los Core 2 Quad con 4 núcleos. Actualmente hay varios prototipos con 80 y 160 núcleos pero tendremos que esperar bastante hasta verlos en las tiendas.
Vemos lo último en tarjetas gráficas que viene de parte de Nvidia, la serie Quadro que llegan a tener 128 núcleos.
Hecho esto, comentamos los resultados de la primera práctica y corregimos varios ejercicios de autoevaluación. Al medir prestaciones de un sistema nunca hay que medir el precio, salvo por ejemplo como en casos de una impresora al medir el precio por página imprimida.
Seguimos con el temario:
1.5 Medición de la carga de un sistema
La carga del comando de linux top es el número de procesos que están esperando para ejecutarse.
Uno de los procesos que más tiempo de procesador consume en linux es el network manager que accede de forma gráfica a las redes.
Los Filesystem en linux son ficheros que contienen datos (estructuras de datos) del kernel en disco. Los maps son ficheros de los mapas de memoria.
Para poder medir un sistema utilizamos los profilers que son trozos de código que se insertan dentro de un programa para monitorizar un sistema midiendo diferentes partes de un programa. Identifican partes de un programa que consumen mucho tiempo de ejecución.
Lo más eficiente para programar es utilizar código máquina pero hoy en día es imposible.
Una técnica para hacer más eficiente los procesadores segmentados es la técnica del desenrollado de bucles (loop unrolling). El objetivo es obtener un conjunto de instrucciones no relacionadas que pueden ser usadas para eliminar los bloqueos producidos por las dependencias de datos. Estos bloqueos pueden ser eliminados si entre las dos instrucciones que lo producen se inserta un número de instrucciones igual al número de ciclos de bloqueo. El desenrollado de bucles consiste replicar el cuerpo del bucle un número determinado de veces. De esta manera, se disponen de más instrucciones para la eliminación de los bloqueos de datos. Es necesario reajustar el incremento/decremento del puntero, pues en cada iteración se procesan tantos elementos como veces se haya replicado el bucle. Se eliminan, por tanto, operaciones de incremento/decremento y saltos. Una vez desenrollado el bucle, hay que renombrar los registros utilizados en diferentes iteraciones para poder reordenar convenientemente el código (planificación de instrucciones). Para poder planificar convenientemente la ejecución de instrucciones es necesario que el bucle no contenga dependencias entre instrucciones de distintas iteraciones (dependencias loop-carried).
Analizamos un programa con un profile y vemos que el 24% del tiempo lo usa para comprobar los argumentos y el 14% para clonar vectores. Ahora podemos mejorar estas partes que son las que más tiempo consumen haciendo nuestro programa mucho más eficiente.
Existen profilers para todos los lenguajes.
1.5.2. Métricas de la carga de trabajo más comunes
Throughput - equivalente al ancho de banda.
Ancho de banda - número de bits que es capaz de procesar un canal.
Baudios - cambios de estado en la línea por unidad de tiempo. No es equivalente a los bits. En un cambio de estado de la línea se pueden procesar 1 o más bits.
Buffer TLB - dirección física donde está almacenada la memoria virtual.
1.5.3. A qué se dedica el tiempo.
No se deben hacer mediciones al pedir un página web porque depende de mucho factores como el servidor, la conexión, la distancia al servidor, etc.
Intentamos ver el vídeo del día que trata sobre como utilizar un profiler con Visual C++.
Vemos la tercera práctica y echamos un vistazo al tema 2.
Entrega de la práctica 2: 31 de Marzo de 2008
Entrega de la práctica 3: 6 de Abril de 2008
para eliminar los bloqueos producidos por las dependencias de datos. Estos bloqueos pueden ser eliminados si entre las
dos instrucciones que lo producen se inserta un número de instrucciones igual al número de ciclos de bloqueo.
El desenrollado de bucles consiste replicar el cuerpo del bucle un número determinado de veces. De esta manera, se
disponen de más instrucciones para la eliminación de los bloqueos de datos. Es necesario reajustar el
incremento/decremento del puntero, pues en cada iteración se procesan tantos elementos como veces se haya replicado
el bucle. Se eliminan, por tanto, operaciones de incremento/decremento y saltos.
Una vez desenrollado el bucle, hay que renombrar los registros utilizados en diferentes iteraciones para poder reordenar
convenientemente el código (planificación de instrucciones).
para eliminar los bloqueos producidos por las dependencias de datos. Estos bloqueos pueden ser eliminados si entre las
dos instrucciones que lo producen se inserta un número de instrucciones igual al número de ciclos de bloqueo.
El desenrollado de bucles consiste replicar el cuerpo del bucle un número determinado de veces. De esta manera, se
disponen de más instrucciones para la eliminación de los bloqueos de datos. Es necesario reajustar el
incremento/decremento del puntero, pues en cada iteración se procesan tantos elementos como veces se haya replicado
el bucle. Se eliminan, por tanto, operaciones de incremento/decremento y saltos.
Una vez desenrollado el bucle, hay que renombrar los registros utilizados en diferentes iteraciones para poder reordenar
convenientemente el código (planificación de instrucciones).
para eliminar los bloqueos producidos por las dependencias de datos. Estos bloqueos pueden ser eliminados si entre las
dos instrucciones que lo producen se inserta un número de instrucciones igual al número de ciclos de bloqueo.
El desenrollado de bucles consiste replicar el cuerpo del bucle un número determinado de veces. De esta manera, se
disponen de más instrucciones para la eliminación de los bloqueos de datos. Es necesario reajustar el
incremento/decremento del puntero, pues en cada iteración se procesan tantos elementos como veces se haya replicado
el bucle. Se eliminan, por tanto, operaciones de incremento/decremento y saltos.
Una vez desenrollado el bucle, hay que renombrar los registros utilizados en diferentes iteraciones para poder reordenar
convenientemente el código (planificación de instrucciones).
para eliminar los bloqueos producidos por las dependencias de datos. Estos bloqueos pueden ser eliminados si entre las
dos instrucciones que lo producen se inserta un número de instrucciones igual al número de ciclos de bloqueo.
El desenrollado de bucles consiste replicar el cuerpo del bucle un número determinado de veces. De esta manera, se
disponen de más instrucciones para la eliminación de los bloqueos de datos. Es necesario reajustar el
incremento/decremento del puntero, pues en cada iteración se procesan tantos elementos como veces se haya replicado
el bucle. Se eliminan, por tanto, operaciones de incremento/decremento y saltos.
Una vez desenrollado el bucle, hay que renombrar los registros utilizados en diferentes iteraciones para poder reordenar
convenientemente el código (planificación de instrucciones).
para eliminar los bloqueos producidos por las dependencias de datos. Estos bloqueos pueden ser eliminados si entre las
dos instrucciones que lo producen se inserta un número de instrucciones igual al número de ciclos de bloqueo.
El desenrollado de bucles consiste replicar el cuerpo del bucle un número determinado de veces. De esta manera, se
disponen de más instrucciones para la eliminación de los bloqueos de datos. Es necesario reajustar el
incremento/decremento del puntero, pues en cada iteración se procesan tantos elementos como veces se haya replicado
el bucle. Se eliminan, por tanto, operaciones de incremento/decremento y saltos.
Una vez desenrollado el bucle, hay que renombrar los registros utilizados en diferentes iteraciones para poder reordenar
convenientemente el código (planificación de instrucciones).
lunes, 12 de mayo de 2008
Ejercicios Autoevaluación 1.1
1. Mencionar sistemas operativos que no estén entre los anteriores, y el nicho de mercado que suelen cubrir:
Empezando por sistemas operativos de PCs tenemos:
Ms-DOS - lleva muchos años sin venderse aunque aún persiste en los viejos 286 o 386 que tenemos en el trastero.
Windows 9x - el único mercado que tiene aún es la ETSIIT (desgraciadamente).
Windows Vista - posee todo el mercado de ordenadores personales (aunque eso sí; deben de tener 4GB de RAM para que vaya suelto y sin swapping).
Sistemas operativos para dispositivos móviles:
Palm OS - hoy en día mantenido casi en solitario por Palm, pero que hasta hace poco ha tenido importantes fabricantes como Sony.
Research In Motion (RIM) - con sus Blackberry, más propiamente Smartphones que PDAs, pero que han copado una parte importante del mercado corporativo a la vez que incorporaban prestaciones de PDA.
Symbian OS presente en las gamas altas de teléfonos móviles de Nokia y Sony Ericsson;
Linux liderado por las Sharp Zaurus.
Mac OSX de Apple.
Otros sistemas operativos:
Jaspar - (Japan Automotive Software Platform Architecture) sistema operativo diseñado para automóviles.
NetWare de Novell - para servidores.
Windows Server - de Microsoft para redes cliente/servidor.
Lan Server - de IBM, un sistema operativo de red que se ejecuta sobre OS/2.
Vines de Banyan - Virtual Networking System (sistema de red virtual) es un sistema operativo de red basado en una versión modificada de UNIX.
Empezando por sistemas operativos de PCs tenemos:
Ms-DOS - lleva muchos años sin venderse aunque aún persiste en los viejos 286 o 386 que tenemos en el trastero.
Windows 9x - el único mercado que tiene aún es la ETSIIT (desgraciadamente).
Windows Vista - posee todo el mercado de ordenadores personales (aunque eso sí; deben de tener 4GB de RAM para que vaya suelto y sin swapping).
Sistemas operativos para dispositivos móviles:
Palm OS - hoy en día mantenido casi en solitario por Palm, pero que hasta hace poco ha tenido importantes fabricantes como Sony.
Research In Motion (RIM) - con sus Blackberry, más propiamente Smartphones que PDAs, pero que han copado una parte importante del mercado corporativo a la vez que incorporaban prestaciones de PDA.
Symbian OS presente en las gamas altas de teléfonos móviles de Nokia y Sony Ericsson;
Linux liderado por las Sharp Zaurus.
Mac OSX de Apple.
Otros sistemas operativos:
Jaspar - (Japan Automotive Software Platform Architecture) sistema operativo diseñado para automóviles.
NetWare de Novell - para servidores.
Windows Server - de Microsoft para redes cliente/servidor.
Lan Server - de IBM, un sistema operativo de red que se ejecuta sobre OS/2.
Vines de Banyan - Virtual Networking System (sistema de red virtual) es un sistema operativo de red basado en una versión modificada de UNIX.
Recursos para DYEC
Primer recurso: Asignatura impartida en la Universidad de Oviedo. Está bien el temario aunque el tema 4 es distinto al nuestro pues es sobre la evaluación de sistemas informáticos para Internet, pero aún así puede ser muy útil. La información no está completamente actualizada pero aún así está muy bien.
Segundo recurso: Como sitio de referencia para las últimas noticias sobre Hardware está muy bien y muy actualizado. La infomación de este sitio no es sólo de los últimos productos a la venta sino que también hay información sobre empresas dedicadas a la fabricación y diseño de hardware y las últimas noticias de este "mundo". Puede servir para los temas 3 y 4.
Tercer recurso: Foro sobre hardware en el que se puede encontrar todo tipo de hebras como overclocking, procesadores, benchmarks, redes, placas base. Temas 3 y 4.
Cuarto recurso: Para comparativas de hardware nada mejor que PC-ACTUAL y su laboratorio (bueno, personalmente me gustan más las comparativas de 'Personal Computer & Internet' pero no tiene revista online). La información está más o menos actualizada y las comparativas creo que son muy buenas.
Quinto recurso: Aunque no es una página para expertos tiene una gran cantidad de tutoriales, manuales y foros que la hacen muy útil para aquellos que casi nos iniciamos en el mundo del hardware y la configuración de equipos. La información está muy actualizada y hay tutoriales muy nuevos, así como noticias.
Sexto recurso: Creo que ésta es una de las mejores páginas sobre el último hardware del mercado que yo he visto ya que incorpora últimas noticias sobre el mundo del hardware, foros y comparativas. La información está muy actualizada y siempre analizan ls últimos modelos del mercado.
Septimo recurso: Una estupenda y completa guía de overclocking. El número de manuales y el grado de éstos, desde un mero aficionado a la informática a todo un experto en overclocking hacen que ésta página sea indispensable para iniciarse en este mundo.
Hay muchos más recursos interesantes pero sólo voy a poner unos pocos porque la lista podría ser interminable:
http://www.ual.es/Universidad/Depar/LengComp/programas/ITIG/CESI.htm
http://www.techpowerup.com/
www.tomshardware.com
http://www.computerpoweruser.com/
http://www.hardforum.com/
http://www.shilmar.com/
http://traficantesdehardware.com/
Segundo recurso: Como sitio de referencia para las últimas noticias sobre Hardware está muy bien y muy actualizado. La infomación de este sitio no es sólo de los últimos productos a la venta sino que también hay información sobre empresas dedicadas a la fabricación y diseño de hardware y las últimas noticias de este "mundo". Puede servir para los temas 3 y 4.
Tercer recurso: Foro sobre hardware en el que se puede encontrar todo tipo de hebras como overclocking, procesadores, benchmarks, redes, placas base. Temas 3 y 4.
Cuarto recurso: Para comparativas de hardware nada mejor que PC-ACTUAL y su laboratorio (bueno, personalmente me gustan más las comparativas de 'Personal Computer & Internet' pero no tiene revista online). La información está más o menos actualizada y las comparativas creo que son muy buenas.
Quinto recurso: Aunque no es una página para expertos tiene una gran cantidad de tutoriales, manuales y foros que la hacen muy útil para aquellos que casi nos iniciamos en el mundo del hardware y la configuración de equipos. La información está muy actualizada y hay tutoriales muy nuevos, así como noticias.
Sexto recurso: Creo que ésta es una de las mejores páginas sobre el último hardware del mercado que yo he visto ya que incorpora últimas noticias sobre el mundo del hardware, foros y comparativas. La información está muy actualizada y siempre analizan ls últimos modelos del mercado.
Septimo recurso: Una estupenda y completa guía de overclocking. El número de manuales y el grado de éstos, desde un mero aficionado a la informática a todo un experto en overclocking hacen que ésta página sea indispensable para iniciarse en este mundo.
Hay muchos más recursos interesantes pero sólo voy a poner unos pocos porque la lista podría ser interminable:
http://www.ual.es/Universidad/Depar/LengComp/programas/ITIG/CESI.htm
http://www.techpowerup.com/
www.tomshardware.com
http://www.computerpoweruser.com/
http://www.hardforum.com/
http://www.shilmar.com/
http://traficantesdehardware.com/
DYEC - 4 de Marzo de 2008
Para comenzar la clase hacemos una recapitulación de la clase anterior recordando las 10 fases para la evaluación de un sistema informático.
A continuación corregimos algunos ejercicios de autoevaluación hechos por los alumnos en sus blogs. Corrigiendo uno de ellos surge una cuestión, si es necesario o se aprecia diferencia al jugar a un juego que muestre 40 frames por segundo o jugar a uno que solo muestre 26, ya que 26 es el número máximo de imagenes por segundo que puede apreciar el ojo humano y por lo tanto, un juego que muestre 40 frames/s serán desperdiciados más de los 26 que acepta el ojo humano.Al corregir otro ejercicio nos encontramos con "Fast path", que es un servicio que te dan las compañias del ADSL que hace que disminuya la latencia. En verdad lo que hace esto es desactivar el Interleaving que lo que hace es una comprobación de errores que aumenta el retardo. La latencia, que es la suma de retardos temporales dentro de la red, es un parametro importante al comparar proveedores de ADSL. El ancho de banda y la latencia son parámetros de velocidad pero el ADSL se mide por ancho de banda.
Diferencia entre módem antiguo y un módem adsl: un módem adsl puede enviar varias transmisiones de datos a la vez, hasta que se llene el canal, mientras que un módem normal solo puede enviar una transmisión desperdiciando toda la capacidad del canal.
Comprobamos con unas pruebas de ping desde el servidor de la UGR y desde otro servidor externo que la latencia de la UGR es altísima.
Ahora seguimos con el temario:
1.3 Selección de las métricas de prestaciones:
1 - Tasa de responsividad: tiempo de respuesta.
2 - Tasa de productividad: número de respuestas procesadas por segundo
3 - Tasa de utilizacion: recursos utilizados por unidad de tiempo.
La fiabilidad solo tiene una métrica que es el MTBF (tiempo medio entre fallos)La disponibilidad, que se mide en procentajes es el tiempo que un recurso está disponible. Esto se mide con número de 9, siendo el maximo 99.999%. Nosotros normalmente mediremos el número de peticiones que se han realizado correctamente.Medir tarjetas gráficas: por frames (intentando que no haya redundancia en las medidas). Hay que elegir medidas que definan el sistema que has medido. Por ejemplo en un hosting habrá que medir latencia, ancho de banda,...
Medir tarjetas graficas con un fin genérico: mostar fuentes, cambiar contexto, abrir ventanas, scrolling de ventanas, dibujar objetos en 3d y girarlos, precision en el color aunque no sabriamos el color con precision porque interviene el monitor que recibe (en un monitor digital) directamente el RGB de los pixels, ...Después de esto, Vkthor no introduce en el mundo de los motores gráficos de juegos.
Metricas de prestaciones: hay metricas que cuanto más alto mejor (como velocidad y ancho de banda) otras q cuanto más bajo mejor (como latencia) y otras como nominal es mejor, que tiene una variable que a determinados valores está bien o mal ( por ejemplo una CPU a 0º o a 100º estaria mal, y bien seria entre 50º-70º)Vemos la carga de un servidor por ejemplo blogalia y obtenemos 0.99 1.11 1.17 que son unas medidas de tipo nominal es mejor.
Hoy en dia ya no aumenta la velocidad de los procesadores, hemos llegado a un estancamiento con los 3 GHz, ahora lo que aumenta es la capacidad del procesador de utilizar los mismos GHz pero consumiendo mucho menos.Metricas que utilizaremos en un compilador para medir varios: tamaño del ejecutable (nominal o menor es mejor), tiempo de compilación (menor es mejor), velocidad del ejecutable (menor es mejor)1.4 Tecnicas de evaluacion de un sistema informatico:Un procesador es un programa informático que se hace con un lenguaje de programación, lo ejecutas, miras los fallos, miras el pipeline, en definitiva, corregir los errores y hacerlo más eficiente; pero para ejecutar ese programa hay que hacerlo en un super ordenador porque hay que ejecutar para un procesador de 3GHz 3000 millones de instrucciones en un segundo. Para simular redes se utiliza el programa simics.1.5 Medicion de la carga de un sistema:
Se puede ver que están haciendo los sistemas a bajo nivel para poder compararlos.Los monitores sirven para medir la carga del sistema. Son programas independientes o son pedazos de codigo adjunto a un programa que se llaman profiler. Los monitores a veces tienen un cliente y un servidor.
Monitor en linux: ps que dice qué procesos se están ejecutando en ese momento. ps es un cliente y el kernel es el servidor.Tambien vmstat dice cuantos programas se están ejecutando, memoria, etc. Y por supuesto el monitor de windows.Y para terminar vemos el video del dia: monitorizando Windows XP.
A continuación corregimos algunos ejercicios de autoevaluación hechos por los alumnos en sus blogs. Corrigiendo uno de ellos surge una cuestión, si es necesario o se aprecia diferencia al jugar a un juego que muestre 40 frames por segundo o jugar a uno que solo muestre 26, ya que 26 es el número máximo de imagenes por segundo que puede apreciar el ojo humano y por lo tanto, un juego que muestre 40 frames/s serán desperdiciados más de los 26 que acepta el ojo humano.Al corregir otro ejercicio nos encontramos con "Fast path", que es un servicio que te dan las compañias del ADSL que hace que disminuya la latencia. En verdad lo que hace esto es desactivar el Interleaving que lo que hace es una comprobación de errores que aumenta el retardo. La latencia, que es la suma de retardos temporales dentro de la red, es un parametro importante al comparar proveedores de ADSL. El ancho de banda y la latencia son parámetros de velocidad pero el ADSL se mide por ancho de banda.
Diferencia entre módem antiguo y un módem adsl: un módem adsl puede enviar varias transmisiones de datos a la vez, hasta que se llene el canal, mientras que un módem normal solo puede enviar una transmisión desperdiciando toda la capacidad del canal.
Comprobamos con unas pruebas de ping desde el servidor de la UGR y desde otro servidor externo que la latencia de la UGR es altísima.
Ahora seguimos con el temario:
1.3 Selección de las métricas de prestaciones:
1 - Tasa de responsividad: tiempo de respuesta.
2 - Tasa de productividad: número de respuestas procesadas por segundo
3 - Tasa de utilizacion: recursos utilizados por unidad de tiempo.
La fiabilidad solo tiene una métrica que es el MTBF (tiempo medio entre fallos)La disponibilidad, que se mide en procentajes es el tiempo que un recurso está disponible. Esto se mide con número de 9, siendo el maximo 99.999%. Nosotros normalmente mediremos el número de peticiones que se han realizado correctamente.Medir tarjetas gráficas: por frames (intentando que no haya redundancia en las medidas). Hay que elegir medidas que definan el sistema que has medido. Por ejemplo en un hosting habrá que medir latencia, ancho de banda,...
Medir tarjetas graficas con un fin genérico: mostar fuentes, cambiar contexto, abrir ventanas, scrolling de ventanas, dibujar objetos en 3d y girarlos, precision en el color aunque no sabriamos el color con precision porque interviene el monitor que recibe (en un monitor digital) directamente el RGB de los pixels, ...Después de esto, Vkthor no introduce en el mundo de los motores gráficos de juegos.
Metricas de prestaciones: hay metricas que cuanto más alto mejor (como velocidad y ancho de banda) otras q cuanto más bajo mejor (como latencia) y otras como nominal es mejor, que tiene una variable que a determinados valores está bien o mal ( por ejemplo una CPU a 0º o a 100º estaria mal, y bien seria entre 50º-70º)Vemos la carga de un servidor por ejemplo blogalia y obtenemos 0.99 1.11 1.17 que son unas medidas de tipo nominal es mejor.
Hoy en dia ya no aumenta la velocidad de los procesadores, hemos llegado a un estancamiento con los 3 GHz, ahora lo que aumenta es la capacidad del procesador de utilizar los mismos GHz pero consumiendo mucho menos.Metricas que utilizaremos en un compilador para medir varios: tamaño del ejecutable (nominal o menor es mejor), tiempo de compilación (menor es mejor), velocidad del ejecutable (menor es mejor)1.4 Tecnicas de evaluacion de un sistema informatico:Un procesador es un programa informático que se hace con un lenguaje de programación, lo ejecutas, miras los fallos, miras el pipeline, en definitiva, corregir los errores y hacerlo más eficiente; pero para ejecutar ese programa hay que hacerlo en un super ordenador porque hay que ejecutar para un procesador de 3GHz 3000 millones de instrucciones en un segundo. Para simular redes se utiliza el programa simics.1.5 Medicion de la carga de un sistema:
Se puede ver que están haciendo los sistemas a bajo nivel para poder compararlos.Los monitores sirven para medir la carga del sistema. Son programas independientes o son pedazos de codigo adjunto a un programa que se llaman profiler. Los monitores a veces tienen un cliente y un servidor.
Monitor en linux: ps que dice qué procesos se están ejecutando en ese momento. ps es un cliente y el kernel es el servidor.Tambien vmstat dice cuantos programas se están ejecutando, memoria, etc. Y por supuesto el monitor de windows.Y para terminar vemos el video del dia: monitorizando Windows XP.
DYEC - 26 de Febrero de 2008
Al comenzar la clase vimos una pequeña introducción al wiki y después una serie de ejercicios de autoevaluación de éste año y anteriores.
A continuación pasamos a ver una de las partes más importantes de la asignatura:
Fases en la evaluacion de un sistema informatico
1. Especificar los objetivos y definir el sistema: Al comparar un sistema siempre hay que hacerlo teniendo un objetivo concreto.
Ejemplos:
· Comparar dos proveedores de Internet: utilizando el mismo PC, el mismo router y las mismas condiciones compararlos definiendo previamente el objetivo de la comparación que puede ser velocidad, subida, bajada, etc.
· Comparar dos tarjetas gráficas: hay que utilizar el mismo SO y los objetivos de la comparación pueden ser la velocidad de renderizado de figuras 3D, etc.
· Comparar dos procesadores: procesadores que tengan el mismo socket para pinchar uno y pinchar otro. Y ejecutar un programa con cada uno una vez definidos los objetivos de la comparativa.
Para hacer la comparación hay que indicar el sistema muy concretamente.2. Hacer una lista de los servicios que ofrece el sistema y sus posibles resultados: Los servicios que ofrece una tarjeta gráfica, por ejemplo, son: renderizar figuras en 3D, texturas, mostar caracteres en pantalla, sacar y meter datos en la memoria grafica,...
Curiosidad:¿Cómo se representa una fuente? Con una matriz de pixeles. Si el tamaño de la fuente es muy grande se utilizan splines, cada fuente es una función. La representación de las fuentes en postcripts estaba restringida. La tarjeta gráfica controla la representación de las fuentes.3. Seleccionar las métricas: Un servidor web por ejemplo, tiene su propio intérprete de órdenes, multihebra y multiproceso, sirve páginas web dinámicas y estáticas, accede a BD etc. por lo que cualquiera de estos servicios que ofrece pueden utilizarse para la comparativa.
Tomando como ejemplo la comparación de impresoras, las páginas por minuto, la exactitud en la representación de los colores, el consumo de tinta, la precisión (cartas de ajuste en los televisores), etc. son criterios para comparar las prestaciones.
Al comparar dos compiladores los criterios son: tiempo en generar, tamaño del programa generado, tiempo en ejecutar, etc.
Curiosidad:
Las tarjetas gráficas tienen unos cuadros denominados pantone el cual es un sistema de control de color que contiene una lista clasificada con los diversos tipos y tonalidades de colores.
4. Listar los parámetros que pueden afectar a las prestaciones: las características del sistema y la carga de trabajo a la que está sometido. Por ejemplo, queremos medir dos ordenadores con una BD, la instalamos y la memoria se rompe y le metes el doble de memoria por lo que ya varían las características del sistema. Otro ejemplo es como el modo en el que un servidor web sirve 400 páginas recién arrancado y como las sirve después de estar un determinado tiempo en funcionamiento. Esto es debido a muchos factores y uno de ellos puede ser la temperatura del procesador que influye en la velocidad del mismo. También el uso de dos drivers distintos del mismo dispositivo influye en las prestaciones.
5. Factores a estudiar: de los parámetros anteriores, algunos se variarán durante el estudio, los diferentes valores que tomarán durante el estudio se denominan niveles
6. Seleccionar las técnicas de evaluación: que pueden ser las siguientes:
· Simulación: no trabajas con el modelo real sino con un modelo parecido pero matemático (Bochs: simula un ordenador dentro de otro).
· Medición. Es el modelo que nosotros usaremos.
· Modelización.
7. Seleccionar la carga de trabajo: la carga de trabajo es una síntesis de lo que suele hacer el ordenador normalmente. Por ejemplo al comparar dos tarjetas graficas que las vamos a utilizar para juegos pues instalaremos para la comparación diferentes demos de juegos para ver como funcionan sobre las tarjetas.8. Diseñar los experimentos: Decir cómo y cuando vamos a hacer las mediciones y con qué ordenador estamos trabajando. Al comparar por ejemplo una impresora tendremos que indicar el estado de los cartuchos, si está recién arrancada, etc.9. Analizar e interpretar los datos: no poner todos los datos sino los datos finales una vez ya interpretados.
Nota: Un Profiler sirve para identificar que parte de un programa está causando más gasto de recursos y tiempo. 10. Presentar los resultados: utilizar gráficos en vez de tablas para que los datos sean más rápidamente comprendidos.
NOTA: Al hacer el trabajo final hay que incluir estos 10 pasos.
Después vimos más ejercicios de autoevaluación y vimos algunos fallos como el siguiente:
“Ejercicio de autoevaluación:1. Especificar los objetivos y definir el sistema: En el caso de tener dos o más impresoras, obtener los tiempos de impresión a color, blanco y negro, tiempo a la hora de imprimir, para escoger la que mejor se adapte a lo que necesitamos. “
--> El ejercicio estaría mal porque no sabemos el objetivo de la comparación.
Y para concluir la clase vimos un video de un Windows 95 funcionando sobre una PSP.
A continuación pasamos a ver una de las partes más importantes de la asignatura:
Fases en la evaluacion de un sistema informatico
1. Especificar los objetivos y definir el sistema: Al comparar un sistema siempre hay que hacerlo teniendo un objetivo concreto.
Ejemplos:
· Comparar dos proveedores de Internet: utilizando el mismo PC, el mismo router y las mismas condiciones compararlos definiendo previamente el objetivo de la comparación que puede ser velocidad, subida, bajada, etc.
· Comparar dos tarjetas gráficas: hay que utilizar el mismo SO y los objetivos de la comparación pueden ser la velocidad de renderizado de figuras 3D, etc.
· Comparar dos procesadores: procesadores que tengan el mismo socket para pinchar uno y pinchar otro. Y ejecutar un programa con cada uno una vez definidos los objetivos de la comparativa.
Para hacer la comparación hay que indicar el sistema muy concretamente.2. Hacer una lista de los servicios que ofrece el sistema y sus posibles resultados: Los servicios que ofrece una tarjeta gráfica, por ejemplo, son: renderizar figuras en 3D, texturas, mostar caracteres en pantalla, sacar y meter datos en la memoria grafica,...
Curiosidad:¿Cómo se representa una fuente? Con una matriz de pixeles. Si el tamaño de la fuente es muy grande se utilizan splines, cada fuente es una función. La representación de las fuentes en postcripts estaba restringida. La tarjeta gráfica controla la representación de las fuentes.3. Seleccionar las métricas: Un servidor web por ejemplo, tiene su propio intérprete de órdenes, multihebra y multiproceso, sirve páginas web dinámicas y estáticas, accede a BD etc. por lo que cualquiera de estos servicios que ofrece pueden utilizarse para la comparativa.
Tomando como ejemplo la comparación de impresoras, las páginas por minuto, la exactitud en la representación de los colores, el consumo de tinta, la precisión (cartas de ajuste en los televisores), etc. son criterios para comparar las prestaciones.
Al comparar dos compiladores los criterios son: tiempo en generar, tamaño del programa generado, tiempo en ejecutar, etc.
Curiosidad:
Las tarjetas gráficas tienen unos cuadros denominados pantone el cual es un sistema de control de color que contiene una lista clasificada con los diversos tipos y tonalidades de colores.
4. Listar los parámetros que pueden afectar a las prestaciones: las características del sistema y la carga de trabajo a la que está sometido. Por ejemplo, queremos medir dos ordenadores con una BD, la instalamos y la memoria se rompe y le metes el doble de memoria por lo que ya varían las características del sistema. Otro ejemplo es como el modo en el que un servidor web sirve 400 páginas recién arrancado y como las sirve después de estar un determinado tiempo en funcionamiento. Esto es debido a muchos factores y uno de ellos puede ser la temperatura del procesador que influye en la velocidad del mismo. También el uso de dos drivers distintos del mismo dispositivo influye en las prestaciones.
5. Factores a estudiar: de los parámetros anteriores, algunos se variarán durante el estudio, los diferentes valores que tomarán durante el estudio se denominan niveles
6. Seleccionar las técnicas de evaluación: que pueden ser las siguientes:
· Simulación: no trabajas con el modelo real sino con un modelo parecido pero matemático (Bochs: simula un ordenador dentro de otro).
· Medición. Es el modelo que nosotros usaremos.
· Modelización.
7. Seleccionar la carga de trabajo: la carga de trabajo es una síntesis de lo que suele hacer el ordenador normalmente. Por ejemplo al comparar dos tarjetas graficas que las vamos a utilizar para juegos pues instalaremos para la comparación diferentes demos de juegos para ver como funcionan sobre las tarjetas.8. Diseñar los experimentos: Decir cómo y cuando vamos a hacer las mediciones y con qué ordenador estamos trabajando. Al comparar por ejemplo una impresora tendremos que indicar el estado de los cartuchos, si está recién arrancada, etc.9. Analizar e interpretar los datos: no poner todos los datos sino los datos finales una vez ya interpretados.
Nota: Un Profiler sirve para identificar que parte de un programa está causando más gasto de recursos y tiempo. 10. Presentar los resultados: utilizar gráficos en vez de tablas para que los datos sean más rápidamente comprendidos.
NOTA: Al hacer el trabajo final hay que incluir estos 10 pasos.
Después vimos más ejercicios de autoevaluación y vimos algunos fallos como el siguiente:
“Ejercicio de autoevaluación:1. Especificar los objetivos y definir el sistema: En el caso de tener dos o más impresoras, obtener los tiempos de impresión a color, blanco y negro, tiempo a la hora de imprimir, para escoger la que mejor se adapte a lo que necesitamos. “
--> El ejercicio estaría mal porque no sabemos el objetivo de la comparación.
Y para concluir la clase vimos un video de un Windows 95 funcionando sobre una PSP.
Nuevo blog pero ahora en .com
Visto lo visto con las copias piratas de blospot.es, vuelvo a extrenar blog para la clase de DYEC en la ETSIIT pero ahora en blogspot.com. Voy a publicar aquí las entradas anteriores pero las originales seguirán estando en el antiguo blog: http://miguel-angel-medina.blogspot.es
martes, 29 de abril de 2008
DYEC - 15 de Abril de 2008
Para empezar, como siempre, repasamos la clase anterior viendo en este caso el resumen de Antares.
A continuacion comentamos un ejemplo de manipulación en la representación de gráficas.
Ejercicios de autoevaluacion:Comentamos el ejercicio de autoevaluacion 3.1 realizado por Topakamaru
Continuamos con el temario:
3.2 Gestión de carga y prestaciones en el sistema operativo
Un administrador ha de mantener un sistema y ha de plantear la gestion del sistema de la siguiente forma:
- Planificación y definición de la carga del sistema: es conveniente acordar de antemano (con la autoridad competente) qué se consideran unas prestaciones aceptables. Una vez llevada a cabo esta planificación, hay que comprobar si, con el sistema tal como está, se puede llevar a cabo ese acuerdo; y si en el futuro previsible, con los usuarios y la carga pico prevista, se va a poder cumplir.
- Configurar las herramientas de monitorización del sistema: se deberán poner en funcionamiento las herramientas que monitorizan en cada momento los subsistemas principales. Estos monitores nos indicarán como se usa el sistema en cada momento y a lo largo del tiempo, y nos permitirán prever los fallos y arreglarlos fácilmente (o no) cuando se produzcan.
- Tratar de resolver problemas mediante políticas de gestión del sistema, tales como limitación de uso interactivo, limitación de uso de disco mediante cuotas,
- Ampliar el sistema, si todo falla.
3.3 Políticas de gestión del sistema
Tanto los usuarios como el administrador pueden mejorar el funcionamiento del sistema. Algunas de estas medidas pueden ser:
- Usar comandos internos del shell en vez de los comandos externos de UNIX, ya que el shell ya se encuentra ejecutándose en memoria.
- Evitar los caminos largos, que hacen que el ordenador tenga que leer muchos directorios cada vez que se ejecuta un comando, asi como evitar los directorios con muchos ficheros.- Usar las versiones más eficientes de cada tipo de programa.
- Eliminar daemons inútiles y malos para el alma de la máquina.
- Limitar tiempos de ejecución interactivos.
- Modificar los parámetros del sistema operativo conociendo bien la estructura del mismo.
A continuación, pasamos a ver la 5ª práctica:
Consiste en mejorar las prestaciones de un sistema. Esta práctica va a ser una prueba para la practica final. Primero definimos un objetivo, por ejemplo, que al compilar tarde menos. Tomaremos las mediciones antes del cambio y posteriores al cambio. Para realizar la práctica vamos a seguir explícitamente la metodología de la asignatura.
Fecha de entrega: Miercoles dia 7 de Mayo.
Y como siempre el video del día, overclocking extremo.
A continuacion comentamos un ejemplo de manipulación en la representación de gráficas.
Ejercicios de autoevaluacion:Comentamos el ejercicio de autoevaluacion 3.1 realizado por Topakamaru
Continuamos con el temario:
3.2 Gestión de carga y prestaciones en el sistema operativo
Un administrador ha de mantener un sistema y ha de plantear la gestion del sistema de la siguiente forma:
- Planificación y definición de la carga del sistema: es conveniente acordar de antemano (con la autoridad competente) qué se consideran unas prestaciones aceptables. Una vez llevada a cabo esta planificación, hay que comprobar si, con el sistema tal como está, se puede llevar a cabo ese acuerdo; y si en el futuro previsible, con los usuarios y la carga pico prevista, se va a poder cumplir.
- Configurar las herramientas de monitorización del sistema: se deberán poner en funcionamiento las herramientas que monitorizan en cada momento los subsistemas principales. Estos monitores nos indicarán como se usa el sistema en cada momento y a lo largo del tiempo, y nos permitirán prever los fallos y arreglarlos fácilmente (o no) cuando se produzcan.
- Tratar de resolver problemas mediante políticas de gestión del sistema, tales como limitación de uso interactivo, limitación de uso de disco mediante cuotas,
- Ampliar el sistema, si todo falla.
3.3 Políticas de gestión del sistema
Tanto los usuarios como el administrador pueden mejorar el funcionamiento del sistema. Algunas de estas medidas pueden ser:
- Usar comandos internos del shell en vez de los comandos externos de UNIX, ya que el shell ya se encuentra ejecutándose en memoria.
- Evitar los caminos largos, que hacen que el ordenador tenga que leer muchos directorios cada vez que se ejecuta un comando, asi como evitar los directorios con muchos ficheros.- Usar las versiones más eficientes de cada tipo de programa.
- Eliminar daemons inútiles y malos para el alma de la máquina.
- Limitar tiempos de ejecución interactivos.
- Modificar los parámetros del sistema operativo conociendo bien la estructura del mismo.
A continuación, pasamos a ver la 5ª práctica:
Consiste en mejorar las prestaciones de un sistema. Esta práctica va a ser una prueba para la practica final. Primero definimos un objetivo, por ejemplo, que al compilar tarde menos. Tomaremos las mediciones antes del cambio y posteriores al cambio. Para realizar la práctica vamos a seguir explícitamente la metodología de la asignatura.
Fecha de entrega: Miercoles dia 7 de Mayo.
Y como siempre el video del día, overclocking extremo.
Suscribirse a:
Entradas (Atom)