Apuntes+de+nikaTeleco+16-02-09

En primer lugar el profesor nos hizo un breve resumen de los contenidos de la asignatura y de la evaluación de la misma, además de aspectos sobre como iba a ser su desarrollo. 1.1 Introducción a las Arquitecturas de Altas Prestaciones
 * __Apuntes 16.Febrero.2009: __**

En este apartado se vio lo que se entendía por computación de altas prestaciones, que no es más que el intento de sacarle el máximo partido al ordenador, para posteriormente permitir a los sistemas trabajar de forma unida (no aislada) para resolver problemas más complejos.

Se nos comentó que trabajar en este ámbito es complicado ya que se necesitan instrucciones de programación muy precisas. En esta asignatura utilizaremos lenguaje de alto nivel.

En cuanto a las características que poseen los ordenadores normales de sobremesa destacan:  Por ello se nos planta el reto de usar la máxima capacidad funcional del sistema local.
 *  //Arquitecturas especializadas VLIW// (//Very Long Instruction Word//): simultaneidad de instrucciones, las cuales se caracterizan por ser un conjunto reducido y por el gran tamaño de cada una.
 * //Paralelismo asimétrico a nivel de sistema//: ordenadores genéricos junto con otros especializados
 * //Arquitecturas multihebra de altas prestaciones// (//hyperthreading//)
 * //Paralelismo simétrico a nivel de sistema//: arquitecturas con dos núcleos por microprocesador (multi-núcleo)
 * //Conectividad//: inalámbrica (como Wifi) o cableada.

A continuación se habló de las asignaturas relacionadas con ésta y de algunos lenguajes de programación que se irán viendo a lo largo del cuatrimestre, como Ruby o Perl. Por último, comentamos que el nivel al que se trabajaría sería en el de aplicación. 1.2 Computación distribuida

 En este segundo apartado principalmente lo que se hizo fue explicar qué se conoce como distribución paralela y distribuida, comentando sus diferencias y los tipos existentes de ésta última.

La computación distribuida se usa para crear supercomputadoras a través de la interconexión de redes de ordenadores //barebone// (ordenadores sin marca que lleva lo justo) llamados nodos, donde los recursos son compartidos entre todos los ordenadores del sistema. A diferencia de la computación paralela no se sabe muy bien en qué parte del sistema están dichos recursos.

Existen varios tipos de sistemas distribuidos: <span style="color: rgb(0, 0, 128);"> Posteriormente, hablamos de los sistemas multi-tier (evolución de los sistemas cliente-servidor) en los cuales ya no hay únicamente dos entidades fijas, sino que se añaden otras intermedias (como superservidor por ejemplo) que se conectan entre sí por el software //middleware//.
 * <span style="color: rgb(0, 0, 128);"> //Sistemas cluster//: salieron como respuesta a los supercomputadores. En vez de utilizar un superordenador se cogen muchos ordenadores trabajando conjuntamente ([]).
 * <span style="color: rgb(0, 0, 128);">//Sistemas grid//: recursos computacionales distribuidos geográficamente([] ).
 * <span style="color: rgb(0, 0, 128);">//Redes overlay//: recursos unidos por una aplicación. Su nombre indica que están construidas encima de otras redes (como TCP/UDP), manteniendo su independencia con respecto a éstas.
 * <span style="color: rgb(0, 0, 128);">//Sistemas entre pares (P2P)//: generalmente son redes //overlay// y se usan para compartir ficheros u otros recursos (ejemplos Emule, Bittorrent).
 * <span style="color: rgb(0, 0, 128);">//Computación de ciclos redundantes//: para aprovechar la capacidad de un ordenador sin uso encendido. SETI@Home es el sistema más conocido. Si el usuario no lo advierte se conoce como //parásita// o //sigilosa//.

Para concluir el apartado, vimos como el sistema distribuido consigue más prestaciones y fiabilidad que el aislado.