miércoles, 26 de marzo de 2008

Apuntes del día 11 de Marzo

Aquí van los apuntes del día 11 de Marzo.

Empezamos hablando de las prácticas (La práctica 1). Han estado bien, hay un gran número de dieces (yo mismo! :D).

Hay enlaces comunes a todas las prácticas, por ejemplo pc-actual, o la asignatura de la UNED, que no están bien, bien porque las páginas no funcionan, o porque no tienen mucho que ver con la asignatura.

http://dyec-ugr.wikispaces.com/2008-3-11

Por cierto, JJ comenta que la página de Noticias3D no es muy adecuada, lo cual me parece discutible. Un par de entradas más abajo encontraréis mi opinión completa.

Luego vemos la página de slashdot, muy interesante aunque ninguno la hemos incluido. Lo hacemos porque hay un artículo interesante sobre multicores, que es de lo que hablamos. Actualmente hay máquinas de dos o 4 cores…

Hablamos de la ley de moore, que ahora ha cambiado para multiplicar los cores en vez de el rendimiento.

Un compañero nos habla de una gráfica con 128 CORES! Eso me descuadra un poco, así que entramos en un pequeño debate. Para aclararlo todo, podéis ir a la misma entrada de mis comentarios del 11 de marzo. Resumidamente, la gráfica lo que tiene son 128 stream processors (que sería la evolución de la antigua arquitectura con pipelines), no 128 cores. Algunas webs lo venden como 128 cores aunque esto no sea cierto, simplemente para captar atención (una estrategia más de marketing).

Luego vemos el ejercicio de autoevaluación de un compañero, de sistemas operativos. Hablamos de lindows, reactos, belenix, haiku…

También de BeOS, que nació como una posible alternativa a mac, pero resultó ser un fracaso.

El ejercicio de autoevaluación de otra compañera habla del citado BeOS, Symbian y Windows Mobile.

Un compañero habla de una página donde se puede ver información sobre los procesos que podamos tener corriendo en el sistema. No recuerda el nombre, pero yo sí ;), es www.processlibrary.com , muy útil a veces (añadidla a vuestra memoria o a los marcadores del zorro de fuego, lo que queráis (que no me entere que usáis el Internet Explorer…) (Antes de que salga el Pro-Opera de turno o cualquier otro operador: Mientras no uséis ni Netscape ni IE, me doy por satisfecho :P).

Se mide siempre la influencia del consumo de recursos en el rendimiento, no directamente el consumo de recursos, porque por ejemplo entre dos servidores web el consumo de recursos puede ser algo muy distinto. Los recursos consumidos, por otra parte, suelen ser del tipo nominal es mejor, porque si consumimos muy poco puede significar que tenemos una máquina que no es adecuada.

Aquí me gustaría hacer un apunte, porque esta afirmación que nos ha hecho JJ en más de una ocasión me parece interesante. No creo que la mayoría de nuestros PCs ni muchos otros ordenadores más complejos estén por encima del 1-5% de uso de CPU la gran mayoría del tiempo, pero lo importante es que cuando los tenemos al 100% se hace el trabajo indicado en el menor tiempo posible. Por ejemplo, si yo edito vídeo, excepto cuando renderizo, voy a hacer poco uso de la CPU, y eso va a ser la mayoría del tiempo, pero cuando sí renderizo, no me da igual que tarde en hacer una escena un minuto que que tarde una hora.

Volviendo a por donde íbamos de la clase, JJ comenta que normalmente cuando medimos prestaciones no medimos precio. A menos que hagamos algo del tipo “Precio por página impresa”.

Continuamos con los monitores. El otro día vimos los monitores en Windows, hoy los vamos a ver en Linux.

Qué es lo que te dice la carga del sistema? Te dice el número de procesos en media que están esperando a ejecutarse por unidad de tiempo. Lo que estamos viendo no es exactamente un monitor pero puede hacer las funciones de uno.

Hablamos de los filesystem, sistemas de archivo virtuales que se mantienen dentro de ficheros.

Vemos distintos monitores en Linux.

Los profilers son un “cacho de chisme que son muy útil”. Un poco más en serio, un profiler es un fragmento de código que te mide el uso de diferentes partes de un programa, a nivel de subrutina, de clase, incluso de línea… Hay muchos tipos de profilers.

Hoy en día es imposible programar cosas serias en código máquina.

Vemos el uso de un profiler y lo que están haciendo los distintos procesos (por ejemplo uno que se tira el 14% del tiempo clonando vectores)

Hablamos de la segunda y tercera prácticas.

La segunda práctica hay que entregarla antes del 31 de marzo.

Hablamos de las métricas de la carga de trabajo más comunes.

Throughput o número de peticiones procesadas en la unidad de tiempo; se puede aplicar tanto a procesadores como a unidades de entrada salida, como, por ejemplo, a tarjetas gráficas (triángulos dibujados en la unidad de tiempo).

Tiempo de respuesta: opuesto del throughput (para un solo elemento), es el tiempo que se tarda en procesar una petición.

Eficiencia es la tasa del throughput máximo al throughput que se consigue de forma efectiva.

Ancho de banda: bits por segundo que es capaz de procesar el sistema. No confundir con baudios.

Porcentaje de utilización de diversos componentes y solapamiento entre los mismos, es decir, la proporción de tiempo que cada uno de los dispositivos está funcionando y la proporción de tiempo durante la cual están funcionando simultáneamente. Cuanto mayor sea el solapamiento, mayor será la eficiencia del sistema, pues ningún dispositivo estará esperando a que otro acabe sus tareas para funcionar.

Overhead: es decir, tiempo usado en tareas que no son directamente del usuario.

Factores relacionados con la multiprogramación: tales como el tiempo usado en cambiar de contexto.

Factores relacionados con la memoria virtual: fallos de página, número de veces que se ha hecho swapping.

Factores relacionados con la memoria caché de CPU: similares a lo dicho con la memoria virtual, y aparte veces que se vacían los buffers TLB, por ejemplo.

Otros subsistemas: red, gráficos (que tienen mucha importancia últimamente).

Vimos (o lo intentamos, porque resulta ser un poco largo) durante clase el vídeo de la semana: un profiler de una aplicación web con Visual C++.

Ha vuelto a ejecutar el monitor de antes y podemos ver que tiempo de usuario + tiempo de sistema no es igual al tiempo de ejecución ya que tenemos más programas ejecutándose en nuestro sistema. El tiempo invertido era más del doble de la suma del tiempo de usuario y el tiempo de sistema

- Tiempo de usuario: Tiempo en código de usuario
- Tiempo de sistema: Tiempo en ejecutar llamadas al sistema, funciones kernel, tiempo dentro de la API...
- Tiempo de E/S: Tiempo que el proceso espera a que se produzca una E/S

Finalizamos hablando de los DNS (Cuando se pide a un explorador que abra una página, se pide al servidor DNS más cercano la dirección de esa página) y de cómo al acceder a una página puede ser que dentro de la misma haya objetos ubicados en otras páginas de las que también tendremos que ver su dirección.

Un saludo a todos.

JJ Quotes - Tercera Entrega -

Ya iba tocando subirlas después de dos semanas no? Ahí van las de la clase del 11:

Hablando de la poca utilidad de algunas de las páginas de las prácticas...
"Vendrá un bonito anuncio para que compremos un secador de pelo usb, o algo"


Un alumno (Antares) está comentando el ejercicio de autoevaluación que vemos en su blog...
Antares: "No lo he puesto porque no quería meter más paja"
JJ (ojos bien abiertos): MÁS QUÉ??

Discutiendo sobre los métodos de ver cuánta tinta gasta una impresora...
"Voy a usar la balanza que tiene mi padre en su cuarto, que es eléctrica y la compró en el mediamarkt"
ó
"Oye frutero, pésame este cartucho de tinta"


Premiando de nuevo a un alumno agraciado:
"No me he traido toblerones hoy, si no te daría uno. Bueno, luego te puedo dar una barra de regaliz"

Cosas que hacer durante la pausa que hacemos en clase:
"Volvemos en 6 minutos, después de la publicidad. Si queréis echad un cigarro o echad cualquier otra cosa." (Nota: Eso último iba con "malas" intenciones xD).

Y algunas frases random, que no me acuerdo a qué venían exactamente (probablemente a nada, mejor aún xD):
"Una empresa como la de yo soy bea, con el bulevar 21, pues no"
"Es como dice House, la gente siempre miente, pues los fabricantes siempre mienten"
"Usaban un robot, queda mú friki eso, podían haber usao un mono o algo"

"Chikilicuatre doblao imitando un profiler en java"

"Es la muerte, es la inmundicia, es... tremebundo usar burbuja. ¡Gracias dios mío por descubrir quicksort!"

Por cierto, fue el cumpleaños de JJ y no se dijo nada en clase (lo leí en el wiki), así que felicidades retrasadas desde aquí (Sí, soy un pelota )

Un saludo a todos!

martes, 11 de marzo de 2008

Notas sobre mis comentarios en clase del 11 de marzo

Buenas a todos!

En esta entrada quiero comentar dos cosas, una para aclarar el debate que tuvimos en clase acerca de una gráfica que un compañero decía que tenía la friolera de 128 cores, y otra para apuntar una cosa sobre un comentario de JJ.

Empezaré por esto último que me parece más corto y sencillo.

Según JJ, la página www.noticias3d.com no tiene mucho que ver con la asignatura, pero yo estoy en contra de esta opinión. Esta página contiene temas relacionados con la mayoría de las cosas que hemos visto (por lo menos hasta ahora) en clase.
La página es de información sobre el mundo del PC y los periféricos relacionados a él. Así que me parece tan justificable un análisis y comparativa sobre unos auriculares que sobre una impresora, porque por ejemplo unos auriculares 5.1 no son un periférico cualquiera sobre el que no haya que comentar apenas nada.

La página está llena de análisis y comparativas de componentes, periféricos, y sistemas de ordenadores, y no digo ya si miramos el foro, que creo sinceramente que es de los mejores que hay sobre estos temas en habla española, por la calidad y la cantidad del contenido, ya no sólo en noticias, sino en cuanto a desarrollo de software (y de hardware) y demás. (El crysis con "y" es un juego muy importante ya que ahora mismo tiene el motor gráfico y el motor físico con más posibilidades del mercado y es muy utilizado para hacer benchmarks sobre pcs muy potentes y otras muchas cosas, en definitiva: es mucho más que un juego para el pc (de hecho como juego no es gran cosa))

Pero bueno, no quiero darle más importancia, que ni trabajo en la página ni me pagan por hacerle publicidad.

Respecto a lo de la gráfica con 128 cores. Creo que esto se resume bastante bien con una frase que ha dicho JJ y que a lo mejor no le hemos dado la importancia que debía cuando lo ha dicho. Me refiero a cuando mi compañero ha dicho lo de “a ver, que no es que lo diga yo, es que lo anuncia nVidia o tal otra página aquí” y JJ ha contestado “pero dónde estás leyendo eso? Y te fías de lo que dice?” o algo así.

Hoy en día las estrategias de marketing son impresionantes cuando hablamos de muchos productos, y con esto me refiero más que nada a “engaños” al usuario para hacernos creer que tenemos algo muy bueno, pero en verdad no es para tanto. Este tema en las tarjetas gráficas últimamente es, cuando menos, impactante. Hoy día se venden gráficas de 512 MB de memoria y las venden a mayor precio que otras de, por ejemplo, 128 MB que son MUCHO mejores que las anteriores. Por supuesto no me refiero a todas, pero puede haber gráficas horrendas (bus muy pequeño, uso de GDDR2 en vez de GDDR3 o 4, etc) que tengan una memoria de 512 MB y entonces claro, cuando te la venden, en el catálogo apenas te dicen cómo es la gráfica, pero esos 512 MB te los meten por los ojos, y para la gente que no entiende, es suficiente para hacer que se la compren.

Pero a lo que iba. En este caso también se trata de una “estrategia de confusión”, de marketing al fin y al cabo. Las arquitecturas de las tarjetas gráficas han evolucionado desde que la información “pasaba” a través de pipelines. Ahora las arquitecturas son más complejas y distintas. En el caso de nVidia (porque ATI usa una arquitectura distinta) ahora lo más parecido a los antiguos “pipelines” son los llamados “stream processors”. No quiero ponerme a explicar técnicamente lo que es todo porque no es mi objetivo, pero explicaré simplemente que eso es completamente distinto de los núcleos que tenga una gráfica. Hoy día, y al menos para el usuario de a pie, no vamos a ver una gráfica con más de dos cores (si bien podemos crear configuraciones SLI / Crossfire para tener incluso 8 cores entre varias tarjetas), pero una gráfica puede tener muchos stream processors, pipelines, o lo que sea que tenga según su arquitectura. En el caso de la Geforce 8800 (información sobre su arquitectura aquí), esta gráfica tiene 128 “stream processors”, y eso te lo intentan meter como que son 128 cores, pero no es así, es una simple estrategia de marketing.

Si queréis más información sobre el tema o no tenéis ganas de escucharme más a mí, que soy un pesao, mirad aquí. (Además lo digo porque el partido del Inter – Liverpool está bastante trepidante y tengo más ganas de verlo que de debatir esto xD).

Un saludo a todos y gracias por aguantarme.

Ejercicios de autoevaluación (Propuestos en la clase del 4 de marzo)

Indicar las métricas que se usarían, y de qué tipo son (más-es-mejor, menos-es-mejor, nominal-es-mejor), en los siguientes sistemas: tarjeta gráfica, impresora, programa servidor web, ordenador servidor web .

Para una tarjeta gráfica:

Más es mejor -> Memoria, Pipelines, Número de versión que soporta de DirectX…

Menos es mejor -> Consumo, Ruido, Temperatura…

Ojo, nota: Temperatura podría tomarse como un valor “nominal es mejor”, pero no creo que vaya a haber tarjetas gráficas que al trabajar se enfríen en vez de calentarse…

Nominal es mejor -> Ranuras (slots) que ocupa la tarjeta con su sistema de refrigeración ya incorporado

Impresora:
Más es mejor -> Páginas por minuto, DPI (Calidad de la impresión)…

Menos es mejor -> Cantidad de tinta consumida, Ruido, Precio…

Nominal es mejor -> Número de páginas del manual, Cantidad de tinta por punto...

Programa servidor web:

Más es mejor -> Cantidad de conexiones posibles, Estabilidad…

Menos es mejor -> Consumo de CPU y otros recursos…

Nominal es mejor -> Complejidad de la interfaz del programa…

Ordenador servidor web:
Más es mejor -> Capacidad de procesamiento, Cantidad de conexiones posibles…

Menos es mejor -> Consumo, Ruido, Precio…

Nominal es mejor -> Complejidad de montaje, cantidad de componentes internos…

Buscar sistemas gratuitos de simulación, especialmente para hardware.

Cisco 7200 Simulator

Hace las funciones de router en un sistema de red. Simula todos los protocolos y órdenes que se le envíen y que reciba.

FMS Simulator

Simulador de vuelo de avionetas y helicópteros de radiocontrol. Tiene la posibilidad de conectar al PC la emisora de la avioneta o helicóptero que poseamos y cambiar las condiciones atmosféricas de la pista.




Un saludo a todos, nos vemos esta tarde.

jueves, 6 de marzo de 2008

Práctica I: Encontrar recursos para la asignatura

Buenas a todos!
Voy a dejar aquí la lista de recursos que yo incluí en esta primera práctica.
Ojo, la lista es larga. Si lo preferís, podéis ver el htm tal y como lo envié aquí.
Si no, esta es una posible "versión texto simple":

Valutazione delle Prestazioni di Sistemi – Università Ca’ Foscari di Venecia

http://www.dsi.unive.it/~balsamo/vp/pres.html

Página de contiene dos cursos: Prestazioni e affidabilità di sistemi Y Modelli di valutazione di sistemi Donde se puede ver temario, profesores que la imparten, bibliografía y otra información sobre los cursos.

Performance Evaluation of Computer Systems and Networks – Indian institute of technology, bombay

http://www.cse.iitb.ac.in/perfnet/cs681/

Se puede ver información sobre la asignatura y relaciones de problemas (con soluciones) de la misma. Tiene una lista de enlaces y de bibliografía muy interesante.

Computer Systems Performance Evaluation – Aristotle University of Tesalónica

http://agent.csd.auth.gr/~karatza/mathimata/performance-uk.html

Información sobre la asignatura, profesor, horarios, etc, lo más interesante que aporta es una larga lista de bibliografía y dos herramientas para medir y optimizar el rendimiento de un sistema.

Configuración y explotación de sistemas informáticos – Escuela politécnica superior de Almería

http://www.ual.es/Universidad/Depar/LengComp/programas/ITIG/CESI.htm

Simple página con información sobre la asignatura, temario, evaluación, y una pequeña lista de bibliografía.

Tom’s Hardware

www.tomshardware.com

El mejor recurso online para información detallada y al día sobre hardware y software. Es actualizada constantemente con nuevas noticias, análisis, comparativas, etc. Sus foros son también otro lugar importantísimo de referencia.

TechPowerUp

http://www.techpowerup.com/

Al igual que la anterior, información muy detallada y muy actualizada sobre hardware y software. Está quizá un poco dirigida al sector de juegos, pero aún así es un referente muy importante. Contiene una grandísima cantidad de artículos, utilidades, tutoriales…

Noticias3D

www.noticias3d.com

Ésta es una de las páginas de referencia para las personas de habla hispana de todo el mundo sobre hardware y software. Comparativas, artículos, noticias de última hora y con unos foros extensos donde se trata todo tipo de temas relacionados con la informática. También tiene una zona de descargas para drivers y otras utilidades para nuestros ordenadores.

Hard-h2o

http://www.hard-h2o.com/

Otra página parecida a la anterior pero con menos contenido. Sus foros son también bastante famosos y extensos. Artículos sacados de todo Internet, comparativas, noticias, reviews, entrevistas…

Computer Power User Magazine

http://www.computerpoweruser.com/

Sitio con mucha información y consejos para construir un PC. Incluye gran cantidad de reviews de hardware y de software.

APQC’s Benchmarking Blog

http://www.apqcbenchmarking.blogspot.com/

Página dedicada a investigación sobre el benchmarking. Contiene artículos muy interesantes.

Apuntar que creo que es mucho mejor postear en un foro de los que comenté antes para resolver cualquier duda, de hecho yo lo hago y es frecuente que te respondan en pocos minutos. Otros foros pueden ser:

Elotrolado

www.elotrolado.net

Aunque destinada principalmente a videojuegos, en el foro de esta página hay diferentes secciones dedicadas a la electrónica de consumo y otros muchos temas relacionados con la informática, el benchmarking, las comparativas y otros temas relacionados con la asignatura. No podía dejar de ponerla porque es una de las páginas más visitadas de España y en mi opinión la que más contenido útil tiene de entre ellas.

Computer Hardware Software Forum – Dev Hardware

http://www.devhardware.com/forums/

Foro muy extenso con mucha información sobre cualquier tema relacionado con la informática. Hardware, Sofware, Overclocking…

[H]ard|Forum

http://www.hardforum.com/

Igual que el anterior pero con bastantes más usuarios y contenido.

Ideas + Ingeniería del Software

http://iiso.blogspot.com/

Interesante blog en español que cubre diversos temas sobre la informática de usuarios de a pie. Noticias, enlaces, reviews, y posibilidad de dejar en los comentarios nuestras dudas para que nos las resuelva el autor o los otros invitados.

Blog de markdbd

http://www.markdbd.com/

De nuevo otro blog con información en español sobre bastantes artículos de informática y electrónica de consumo en general. Reviews personales (que al fin y al cabo son las más objetivas), noticias, curiosidades…

FutureMark

www.futuremark.com

La desarrolladora de 3dMark, AquaMark y otros benchmark, de los más conocidos y utilizados en el mercado. Contiene versiones de prueba de los programas y discusiones entre usuarios para analizar sistemas.

SiSoftware

http://www.sisoftware.net/

Desarrolladora de SiSoftware Sandra, otro de los benchmarks más populares.

Integrating Software Parts Wherever

http://www.ispw.com/

Empresa dedicada a configurar software para otras empresas y/o realizar cambios de software en el sistema informático de tales empresas.

Siemens (6-point Open Appraisal)

http://enterprise.siemens.com/open/es/OpenCommunications/OpenPath/openappraisal/

División de Siemens dedicada a orientar a la empresa o al usuario sobre conexión de un sistema informático a la red, rendimiento, análisis de necesidades, etc.

IT Services: Costs, Metrics, Benchmarking, and Marketing

Anthony F. Tardugno; Thomas R. DiPasquale; Robert E. Matthews

http://safari.oreilly.com/0130191957

Libro 100% centrado en el usuario de a pie para entender las necesidades de una compañía y cómo evaluar los costes y necesidades y medir las capacidades necesarias para la instalación de un sistema informático.

PC Hacks

By Jim Aspinwall

http://safari.oreilly.com/0596007485

Libro dedicado a analizar y optimizar el rendimiento de un PC. Hay diversos “hacks” y “tweaks” que se pueden hacer al software o al hardware que pueden mejorar mucho el rendimiento del sistema. En este libro se explican cuáles usar y cómo usarlos.

Upgrading & Fixing PCs for Dummies

By Andy Rathbone

http://safari.oreilly.com/9780470121023

Libro con todos los conocimientos básicos necesarios para tener un PC optimizado. Descubrir problemas, analizarlos, saber la fuente, repararlos, instalar un nuevo sistema operativo u otro software, todo se explica aquí de manera sencilla para que cualquiera pueda entenderlo.

PCs: The Missing Manual

By Andy Rathbone

http://safari.oreilly.com/0596100930

Libro válido para tanto principiantes como “power users” (usuarios con experiencia). Se tratan temas que van desde lo más básico en PCs hasta cómo hacer benchmarks y otras pruebas para analizar un sistema.


Estoy seguro de que muchos de vosotros habéis puesto muchas de las páginas que yo he incluido. A pesar de que en la práctica se pedía originalidad, mi intención en todo momento ha sido poner algunas páginas "originales" junto con otras conocidas. Esto es simplemente porque las conocidas lo son por algo, porque son generalmente mejores, así que si páginas como "elotrolado" o "tom's hardware" salen en todas vuestras prácticas, me parece normal. De hecho me parecería casi herejía que no salieran en casi todas xD.

Quiero dejar un anexo con las páginas que más suelo visitar diariamente, algunas ofrecen contenidos relacionados con la asignatura.

www.google.es/ig - Ésta es mi página de inicio, si no la conocéis, empezad a probarla, es tremendamente útil, hay multitud de gadgets que ponerle.

www.kotaku.com - Página con noticias sobre el mundo del videojuego

www.marca.com - Alguien NO sabe de qué puede ir esta página?

www.elotrolado.net - Página con noticias sobre el mundo de la informática general (centrada principalmente en videojuegos)

www.gamesajare.com - Página sobre videojuegos no apta para todos los públicos

http://etsiit.ugr.es/apps/foro - El foro de la ETSIIT

www.noticias3d.com - Página con noticias sobre informática con un foro muy amplio

Hay bastantes más, pero éstas son las que no me pierdo ningún día ;).

Un saludo a todos

martes, 4 de marzo de 2008

Notas sobre mis comentarios en clase del 4 de marzo

Muy buenas!

Aquí VkThor haciendo un poco de multitasking:
- El Carrusel puesto (capturado con el VLC a través de mi radio a la entrada de línea para retrasarlo un poco)

- Viendo el partido del Sevilla en el DVB Viewer (Programa para ver canales digitales (TDT) que va a las mil maravillas en mi ATI x1900 all-in-wonder)

- Con el Sopcast puesto viendo la ESPN de Filipinas para el partido del Milan-Arsenal.

- Con otro Sopcast (canal desconocido) para ver el Barça-Celtic.

- Con el Messenger puesto (2 conversaciones).

- Y por supuesto, “escribiendo” esta entrada xD.

En fin, a lo que voy. Quería comentar un par de cosillas que hoy hemos visto en clase.

Empezaré por lo del tema de la discusión de los frames por segundo necesarios para jugar a un juego.

JJ comentaba un punto importante al hablar sobre los fotogramas que capta el ojo humano. No soy ningún experto en el tema, pero dudo mucho que el ojo humano funcione por “fotogramas”, jeje. Por ejemplo, las películas en el cine las vemos a 24 fps y nos parecen fluidas. Esto ocurre porque hay frames “intermedios” con un efecto que llamamos “motion blur” que ayuda a que el movimiento sea más fluido. Este efecto, de hecho, se está empezando a imponer en los juegos de nueva generación. Por ejemplo el archiconocido y muy utilizado motor gráfico “Unreal Engine 3” (Usado por juegos como Gears of War, Unreal Tournament 3, Lost Odyssey, Bioshock) está bloqueado a 30 frames por segundo (máximos), pero usa el efecto “motion blur” para dar más sensación de fluidez. En Halo 3 pasa lo mismo (aunque tiene un motor completamente distinto). Personalmente no los veo igual de fluidos que juegos sin ese efecto a 45 o más frames por segundo (de media, sin muchos bajones), pero son jugables.

Este último detalle fue el que me llevó a una pequeña discusión con Antares que JJ zanjó bastante bien. Un FPS va a ser jugable con una media de 30 frames por segundo (más si usa motion blur), pero si esa media significa que tiene caídas a 15 frames o menos, es una cifra bastante baja.

En clase comentaba el problema que añadía esto al juego por Internet. Supongamos que tenemos un juego que en nuestro PC funciona con la media anterior comentada de 30 frames por segundo. No está mal parece, pero cuando haya más carga gráfica (por ejemplo cuando nos encontremos con varios enemigos en pantalla) puede darse una bajada a 15 frames por segundo o menos. Eso significa que vemos una imagen cada 0.1 segundos o más, lo que sumado a otros 0.2 o más segundos de lag que nos supone el juego por Internet, me da un retraso muy importante para ciertas acciones (el ejemplo más claro es a la hora de combate cuerpo a cuerpo o intentar apuntar con un rifle de francotirador a larga distancia).

Todo este rollo que os estoy contando es otra historia si jugamos a otro tipo de juego que no sea FPS o que al menos no sea frenético como Quake III, Halo 3 o incluso un Unreal Tournament. Entonces una media de 30 frames o un poco menos con bajadas ocasionales a 15 frames no hace al juego injugable (aunque en mi opinión, sí que lo hace un poco feote).

Conclusión: Que no me hagáis mucho caso, porque esto es muy personal y cada uno puede soportar una tasa menor según a lo que esté acostumbrado o al nivel al que juegue.

Paso a otro tema. En la clase le comenté a JJ sobre la menor importancia de comparar distintos tipos de juegos a la hora de evaluar/comparar tarjetas gráficas, porque lo que importa no es eso sino comparar distintos motores gráficos que es lo que hacen normalmente en las páginas de reviews. En la que vimos en clase todos los juegos eran FPS, pero todos utilizaban un motor distinto, y esto es lo importante. La pregunta es “Bueno, también hay juegos de otros tipos y usan otros motores, por qué no se usan?”. La respuesta simple es que suelen ser los juegos tipo FPS los que más trabajado tienen el apartado gráfico, más carga poligonal tienen, más efectos usan, etc, por lo cual, a la hora de evaluar una nueva tarjeta gráfica cuando sale al mercado, se testea con juegos exigentes como éstos.

Los ejemplos que comento en clase son el motor de Doom 3 contra el de Unreal Tournament 2004. El motor de Doom 3 tiene unos efectos de iluminación mucho más complejos, trabajados y espectaculares, pero no es capaz de mover grandes espacios (no es amigo de una gran carga poligonal), mientras que el de Unreal Tournament 2004 es todo lo contrario: Sus efectos de iluminación son simples, pero a cambio tiene la posibilidad de aguantar más carga poligonal y espacios abiertos con menos problemas. Otro ejemplo es comparar el mismo motor de Doom 3 contra el de Half Life 2, el de Doom 3 está optimizado para que funcione mejor en tarjetas Nvidia, mientras que el de Half Life 2 funciona mejor en tarjetas ATI. Por lo cual tarjetas de potencia similar correrán mejor Doom 3 si son nVidia o Half Life 2 si son ATI.

Conclusión: Que tampoco me hagáis mucho caso, y si lo que queréis es jugar sin preocupaciones de tasas de frames, os olvidéis del PC, porque últimamente, por desgracia (creo), los maletines de billetes los mueven mucho Sony y Microsoft y los juegos salen primero para consola y luego se hacen cutre-ports para PC con el resultado de que necesitas un PC muy potente para mover un juego que no debería requerir tanto para ser movido con fluidez (Simplemente porque se pierde más dinero pasando un mes o dos optimizando el juego (más meses que pagar a los programadares) que perdiendo algunas ventas porque los consumidores (nosotros) no podemos jugar con nuestros pcs modestos y no de la NASA.

Un saludo a todos y gracias por aguantar el tocho. Si os queda alguna duda más os escucho en los comentarios.

Nota (Edit): Quiero dejar claro como ya digo en los comentarios que no sólo la tarjeta gráfica es la responsable de conseguir una buena tasa de frames por segundo. Si se juega a un juego exigente y no se tiene por ejemplo un buen procesador, por mucha gráfica que tengamos de poco nos servirá. Debemos evitar los llamados “cuellos de botella”, esto es, debemos tener un ordenador complementado, sin unos componentes que destaquen en calidad o que sean mucho más recientes que otros.

Apuntes del día 4 de marzo

Clase del día 4 de marzo, de nuevo dejo aquí mis apuntes completos. Haré un anexo (una nueva entrada, vamos) para aclarar lo que comenté en clase con el profesor y con Antares y algunas cosillas más.

Comenzamos recordando un poco lo que hicimos en la última clase: Las 10 reglas/pasos para la evaluación/configuración de un sistema, La importancia de la comparación hacia un objetivo…

Hablamos de frames por segundo en aplicaciones 3D (en juegos más que nada), lo personal que puede llegar a ser a la hora de estar jugando, también la importancia del lag de la red si jugamos por internet, etc.

Hablamos de las métricas para evaluar una conexión de Internet: Latencia, ancho de banda…

El profesor comenta que una diferencia entre redes por cable ethernet y redes wifi es que las primeras tienen más ancho de banda y peor latencia y las wifi tienen lo contrario: mejor latencia, menos ancho de banda.

Para cada petición que se haga a un sistema (local o remotamente) hay tres tipos de respuesta posible:

- Que se conecte correctamente

- Que se conecte incorrectamente

- Que no se pueda conectar

En caso de que se realicen correctamente, se medirán ahora las siguientes tasas:

Tasa de responsividad (Por ejemplo para un gateway, sería el tiempo de respuesta)

Tasa de productividad (Igualmente para un gateway, el número de paquetes que procesa por segundo)

Tasa de utilización ( Igualmente, sería esta vez los recursos utilizados por tiempo)


La fiabilidad y disponibilidad de un sistema suele medirse en unidades de MTBF (mean time between failures, tiempo medio entre fallos).

La disponibilidad se mide en porcentaje del tiempo que está disponible.

Se habla de número de 9s, (es decir, 9%, 99%, 99,9%, 99,99%, 99,999%, etc) pero no es el tipo de cosas que vamos a tratar en nuestro trabajo final. (No trataremos de fiabilidades de 99,9999999% sino de bastante menos (relativamente)).

Hablamos de medir tasas de frames por segundo según el tipo de juego. Me permito la libertad de corregir a JJ cuando comenta que debemos medir con distintos tipos de juego, porque no se trata de eso, sino de medirlo con motores gráficos de distintas características. Por supuesto que usar juegos de distinto tipo puede solucionar eso, pero hay juegos de distinto tipo que comparten el mismo motor gráfico. Esto lo trataré en la nueva entrada.

Las métricas de prestaciones se suelen clasificar de la forma siguiente:

Cuando medimos una característica, puede haber tres posibilidades:

+ Más alto es mejor. Ejemplo: velocidad de un sistema.
+ Menos es mejor. Ejemplo: latencias.
+ Nominal es mejor. Estaría a medias entre los 2 anteriores, porque utilización baja puede significar infrautilización, o utilización alta: los tiempos de respuesta son altos.

Un Ejemplo sería con el caso del compilador que comentamos en la clase pasada.

El tiempo de compilación sería de tipo “menos es mejor”, mientras que el tamaño del ejecutable sería “nominal es mejor”.

Ojo, repetimos: Confundir las cosas que hay que medir con las características de lo que medimos -> golpe de remo

Hablamos de las técnicas más habituales usadas para evaluar un sistema, que son las siguientes:

La medición (tomar medidas directamente sobre el sistema en el que uno está interesado)

La modelación (para cuando se evalúa un sistema incompleto o aún sin construir)

La simulación (se usa antes de construir el sistema)

No es lo mismo un sistema que está todo el rato con la CPU ocupada que otro que la tiene siempre desocupada. Hay que tener esto en cuenta antes de empezar a analizar.

Las mediciones de rendimiento del sistema las vamos a hacer con programas que llamamos monitores. Programa monitor típico, el que te muestra los procesos que se están ejecutando. (Task Manager de Windows por ejemplo)

Nota: Vamos a medir sistemas en general, una de las cosas que incluye el sistema son programas, así que también mediremos programas.

Acabamos la clase viendo un vídeo de un programa monitor en Windows (perfmon.msc)

JJ Quotes - Segunda Entrega -

Segunda entrega de estas frases tan míticas...

JJ pide a un alumno que le hable de un ejercicio de autoevaluación...
"Pos de premio te voy a dar un cachillo de toblerones"

JJ busca un segundo alumno que le hable del siguiente ejercicio de autoevaluación...
"Alguien se ofrece para el segundo cacho?" (Nota: Al final fui yo, y os aseguro que el toblerone merece la pena, qué cosa más rica :D)

JJ echa un ojo a esta sección de mi blog...
"Qué es esto de las frases de jj" (Momento de acojone personal)

Un alumno propone Australia como sitio lejano al que hacer ping. Opción desestimada, al igual que la que se autopropuso JJ:
"Si hacemos un ping a la estacion de control de Zambia... pues a lo mejor no funciona"

Hablando de los procesadores que llevan algunos routers...
"Son procesadores como los de los ordenadores esos tan chulos que se utilizaron para hacer terminator y todas esas peliculas de los años noventa"
Edit: Dije robocop, era terminator jeje.

Se busca otro voluntario...
"No me quedan toblerones y no voy a dar zumo porque ya está chupao"

Hablando de precisión de colores en la gráfica...
"¡Tú estás matando bichos zombies y te da igual que salga la sangre fucsia o roja!"

Y de profundidad de bits para los colores...
"A los hombres y eso nos da igual los "sólo" 256 colores, eso es pa los artistas y las mujeres, nosotros usamos 6 o 7"

Hablando de las antiguas tarjetas "Miranda" para ver el plus...
"Y pues veías el fútbol, las películas... y las terceras cosas que se veían en canal plus"

Hay muchos modelos de procesadores AMD, JJ nos muestra unos cuantos:
"Amd "barcelona", "palomino", el "espartaco""

Y para finalizar la clase por todo lo alto qué menos que unos cuantos vídeos "inapropiados" en los vídeos relacionados al de la clase en metacafe:
"Esto... los vídeos relacionados tienen su qué"
"El sistema éste relacionao... No está muy fino, eh?"

Un saludo a todos xD

Ejercicios de autoevaluación

  1. Indicar qué tipo de medidas sueles tomar para medir las prestaciones de un ordenador.

El distinto uso de benchmark para probar cada uno de los distintos componentes del pc o una prueba general siempre es lo más recomendable y sencillo de hacer, y es lo que yo siempre hago para probar un ordenador recién instalado o actualizado. Suelo probar el 3dMark y el Everest para test sintéticos, y después pruebo algunos de los juegos que conozco bien para ver el rendimiento real del ordenador. También podría probarlo comprimiendo vídeo, o probar el rendimiento del disco duro descomprimiendo archivos dentro del mismo.

  1. Indicar en qué casos de los que te encuentras en tu trabajo (u otro quehacer) diario necesitarás medir las prestaciones del ordenador.

En cuanto se note una bajada de rendimiento en alguno de los programas que se usan a diario hay que pasar una prueba tras reiniciarlo o incluso formatearlo. Igualmente habría que pasar una prueba de rendimiento cada cierto tiempo para ver si todo marcha bien (es decir, no han entrado virus o por si estamos sobrecargando el pc con muchas aplicaciones corriendo en el background).

  1. Indicar en qué casos percibes una falta de prestaciones de los ordenadores que sueles manejar.

En cualquier momento que una de mis aplicaciones de uso diario arranca más lenta o se vuelve más inestable hay una falta de rendimiento. También puede decirse lo mismo del sistema operativo.

  1. Mirar qué servicios hay activos en nuestro ordenador personal y en algún otro ordenador al que tengamos acceso. ¿Qué usas para saber los servicios que hay activos? ¿Sabes lo que hacen? ¿Si suprimes alguno de ellos, qué pasa?


BTTray: Para el Bluetooth.

Crss, dllhost, mcrdsvc son procesos propios del SO (Windows XP MCE 2005)

Firefox: Explorador de Internet.

Msnmsgr: El Messenger.

Winword: Microsoft Word (del Office 2003).

Emule: Ni idea.

Utorrent: Tampoco.

Lsass, svchost, spoolsv, system, winlogon, wisptis: Procesos del SO

Taskmgr: El visor de tareas.

Matar la mayoría de procesos anteriores no supondría problemas (cerraría el programa en cuestión y punto), algunos otros procesos tras matarlos volverían a ejecutarse automáticamente (por ejemplo los de MCE), y matar otros (los propios del kernel de Windows XP) podrían provocar inestabilidad, cuelgues, o forzar un reinicio del sistema.

JJ Quotes -Primera entrega-

Aquí van unas cuantas frases de esas que nos dejan con el "culo torcío" a más de uno cuando JJ entra en estado de gracia XD.
Iré añadiendo una recopilación de frases por día de clase. Este primer día no he pillado muchas porque la idea me vino a la mitad de clase... más o menos cuando JJ dijo eso de "podéis colgar las tonterías que vaya diciendo en los blogs también"...
Así que sin más preámbulos:

Hablando de splimes...
"No los cataplines, SPLIMES!"

JJ recuerda viejos tiempos...
"Yo me acuerdo, en mis tiempos del spectrum, cuando me regalaban así packs de sprites, oh, qué bonitos que eran!! *cuasi-lagrimita*"

Hablando de las maravillas de la tecnología láser en una mala hora con cierta dosis de contaminación ambiental:
"Lanza un fotón, y al rato llega otro fotón y dice 'eh, que ya he llegao!!'"

Momento de inspiración estándar:
"Habéis hecho el partido de los informáticos pringaos de tercer curso de la etsiit y tenéis que elegir color... Claro, el naranja y el rosa ya estarán pillados"

Alumno pregunta: "Podría encender la luz? Es que vemos una silueta ná más"
JJ: "Pos tampoco te pierdes mucho tío!"

JJ quiere atormentarnos con una de las pesadillas de nuestra facultad cuando sale el logotipo de win95:
"Qué bonito, como en las aulas de prácticas eh?"

...Continuará la semana que viene. xD

Notas de clase 26-feb

Comienza la clase! Hoy se ve a bastante gente con el portátil, y seguro que el número irá aumentando poco a poco según pasen las clases. Si veis que en algún momento me salto alguna tilde o una Ñ es porque en clase tomo los apuntes con el EEE PC que no tiene teclado en español (y es un poco coñazo ir andando poniendo las eñes con el código ASCII o las tildes con “ctrl.+’”). Asimismo me repetiré quinientas veces en las expresiones y demás, espero que podáis convivir con ello.

Agradeceré vuestras correcciones y aportaciones, etc en los comentarios.

La clase comienza! Empezamos comentando las distintas webs o modos de comunicación que hay disponibles para la asignatura y para qué sirven cada una:

Página de inscripción en la asignatura - Hará falta darse de alta para entregar las prácticas y tener una evaluación en la asignatura

Lista de correo de yahoo (para inscribirse, mail a dyec2004-subscribe arroba yahoogroups.com) – Para información sobre las prácticas. Inscripción obligatoria.

Wiki – Para ver apuntes y notas del día a día de clase del profesor y de compañeros.

Planet – Aquí se va a ir guardando todo lo que actualicemos en los blogs y demás información

Página general de la asignatura - Información general de la asignatura

Hablamos un poco de los ejercicios de autoevaluación que haremos en clase. Vemos los primeros ejercicios que se hicieron el año pasado en DyEC, que se hicieron bajo la plataforma swecai.

El primer ejercicio que vemos es el de ver qué pruebas haríamos para comprobar el rendimiento de un ordenador. La forma más sencilla de hacerlo podría ser corriendo distintos benchmark, hablamos en clase del everest, sisoft Sandra, y otros. Otros ejemplos son 3dmark o aquamark. El alumno que hizo este ejercicio el año pasado comentaba la posibilidad de hacerlo viendo qué compiladores van mejor, o probando a ejecutar varios programas simultáneamente.

Otro ejercicio trata sobre mantener el rendimiento del ordenador, una manera de hacerlo es desfragmentar, o de si estamos navegando por Internet reducir upload de programas P2P como eMule. También podemos ver los procesos que están corriendo para cerrar los que no vayamos a usar y estén consumiendo bastantes recursos del sistema.

otro habla de maneras de medir prestaciones de un ordenador.

Otro más habla de cuándo/cómo podemos notar que el ordenador esta corriendo por debajo de sus posibilidades

Ejemplo del profesor sobre estos ejercicios: Su “mierda” de batería del portátil, o la lentitud de Windows vista, Quake iii Arena u otros programas relativamente exigentes para PCs relativamente antiguos. (En el ejemplo, Quake III Arena sería muy difícil de ejecutar en un Pentium MMX a 150 MHz, por ejemplo, y Windows Vista sería difícil de ejecutar en… esto… bueno, en cualquier PC en general… jeje).

Otro ejemplo: hablamos de los virus (sí, virus, como Windows Vista por ejemplo) que se intentan ocultar bajo nombres parecidos a procesos internos de Windows. Por ejemplo virus que intentan camuflarse como svchost (proceso de Windows) que se llaman svchosts, svshots, etc

Después hablamos de lo que es necesario para aprobar la asignatura. Es necesario hacer una evaluación o una comparación de sistemas informáticos siguiendo la metodología que se explica en clase. Serán técnicas para llevar a cabo 10 pasos.

1. Especificar los objetivos y definir el sistema:

Nunca se comparan dos sistemas informáticos entre sí porque sí, hay que especificar por qué los comparamos y para qué (cuál es el objetivo del sistema). Ejemplo: PC “Crysis” (Es decir PC de la NASA… o sea PC con hardware muy avanzado), será muy bueno, sí, pero luego consume muchísimo. De tal manera que dependiendo del objetivo, será muy bueno o muy malo.

OJO: Hay un error común al entregar los trabajos de la asignatura; es que la gente cree que se trata simplemente de hacer una comparación, mientras que hay que tener claro que es compararlos HACIA UN OBJETIVO. Hay que eliminar todos los factores que puedan influir, es decir, cuando comparamos por ejemplo dos proveedores ADSL, pues tenemos que probarlo con las mismas condiciones: mismo PC, mismo router, misma distancia a nodo, misma hora de conexión, etc. Así no pueden influir los factores externos. El objetivo de la comparación no es la comparación en sí, es la comparación hacia un objetivo.

2. Hacer una lista de los servicios que ofrece el sistema y sus posibles resultados:

Es decir, qué hace el sistema. Tenemos que ver qué servicios ofrece, ejemplo, una gráfica, ofrece renderizado de 3d, aplicación de texturas, decodificación de vídeo en tiempo real, muestra fuentes en pantalla…

3. Seleccionar las métricas:

Cómo voy a medir / comparar dos tarjetas gráficas, dos impresoras (por ejemplo, pues por dpi, calidad del color, ruido, consumo, tipo de materia que consume, si consume mucho…), dos compiladores…

4. Listar los parámetros que pueden afectar a las prestaciones

Por ejemplo, antes la conexión que tenía la ETSIIT cuando estaba en la otra escuela iba por láser, con lo cual el ancho de banda es mejor, pero a ciertas horas, por contaminación ambiental a las 8, que es cuando todo el mundo estaba usando el transporte, pues el ancho de banda es peor. Otro ejemplo puede ser los drivers, la versión del sistema operativo…

5. Factores a estudiar

Esto creo que no requiere de explicación añadida, no? xD

6. Seleccionar las técnicas de evaluación

Hay tres grupos de técnicas de evaluación distintas, nosotros solo vamos a ver medición, las otras dos no las vamos a tratar apenas en la asignatura, son simulación (simular el sistema, generalmente con un modelo matemático del sistema) y modelización.

7. Seleccionar la carga de trabajo

Síntesis de lo que suele hacer el sistema que queremos analizar normalmente. No vas “a quedarte con un simple “hola mundo” ni a estar tres días compilando el gentoo”. Por ejemplo, para medir las tarjetas gráficas pues probaremos juegos de distinto tipo, que no estén muy desfasados ni sean muy modernos comparados con la gama de gráficas que queremos medir.

8. Diseñar los experimentos

Esto tampoco se tratará mucho en la asignatura. Se especifica sobre dónde se está corriendo el experimento o test y poco más.

9. Analizar e interpretar los datos

Compilador 1 tiene tal índice, compilador 2 tiene este otro, etc; normalmente, lo que se suele hacer son medias. Hay que analizar e interpretar cambios en el sistema (por ejemplo cambios en el sistema operativo)

10. Presentar los resultados

Hay todo tipo de técnicas para engañar con los gráficos que quieras mostrar. Asimismo también hay técnicas para mostrar la información lo mejor posible. Los seres humanos estamos especialmente preparados para comprender este tipo de señales graficas y por eso las usaremos con frecuencia.

Vemos el ejemplo de un chaval del año pasado que compara dos impresoras como ejercicio de evaluación. En el primer punto comete un fallo porque compara dos impresoras, pero no lo hace hacia un objetivo. Hay que ver para qué quiere la impresora, no directamente compararlas.

Ese último ejemplo es de nuevo una reiteración de lo que ya contamos antes y que creo que es una idea que nos tiene que quedar muy clara para el resto de la asignatura. La idea es la que dije anteriormente: Nunca se comparan dos sistemas informáticos entre sí porque sí, hay que especificar por qué los comparamos y para qué (cuál es el objetivo del sistema).

Eso junto con las 10 reglas es lo más importante que hemos aprendido en esta clase.


Finalizamos la clase con un vídeo de una PSP emulando Windows 95 (En verdad, el programa que se usa en la PSP no es un emulador de Windows sino el famoso emulador de DOS “Dosbox” sobre el que se carga windows)

Ojo: Creo que en clase se ha hablado de un concepto que se ha dejado un poco vago, que es el de simulador. Hay que dejar claro que un simulador sólo trata de reproducir el comportamiento de un programa, mientras que un emulador trata de modelar de forma precisa el dispositivo que se está emulando. El vídeo que vimos en clase es de un EMULADOR de DOS, no de un SIMULADOR.


Un saludo a todos.