Paradigma Pipeline. El paralelismo en este tipo de paradigma, est basado en una descomposicin funcional del problema, por lo que se deben identificar las tareas del algoritmo que son capaces de ser ejecutadas paralelamente, lo que origina que cada proceso ejecute una porcin del algoritmo general. Esta tcnica permite aumentar la capacidad de instrucciones por procesador, debido a que las porciones o actividades de programa, pueden ejecutarse de forma solapada (Moreno, 2005). Paradigma Master/Worker En un paradigma que est compuesto por dos entidades el master y los workers. El master es el encargado de dividir y distribuir las tareas de la aplicacin, y los workers son entidades de trabajo que reciben la informacin la procesan y envan los resultados al master. En el caso de los workers, reciben una tarea a travs de mensajes del master, por lo que la comunicacin es solo a travs de estas 2 entidades (Argollo, 2006), (Fos ter, 1994), (Wilkinson, 1999).
En el paralelismo implcito, explique en qu consiste la mejora de la concurrencia del CPU. La concurrencia al nivel de la CPU se obtiene disponiendo de mltiples procesadores ejecutando simultneamente varias instrucciones. Obtener concurrencia a nivel de la instruccin significa poder ejecutar varias instrucciones simultneamente con una nica CPU. Este ltimo tipo de paralelismo se denomina segmentacin, aunque suele ser ms conocido por su denominacin en ingls: pipelining Explique las ventajas del paralelismo explcito. Aumenta el control del programador.
Se obtienen programas ms ptimos.
Explique en qu consiste la diferencia entre el procesamiento paralelo y la programacin distribuida.
La diferencia entre paralelo y distribuido es una pieza importante a la hora de disear sistemas, los conceptos son significativamente diferentes, la confusin, si es que existiese es porque lo paralelo y lo distribuido tienen algo en comn - la divisin de un problema en mltiples tareas que pueden ser ejecutadas independientemente. Cul es la diferencia, que es lo que hace a lo distribuido y a lo paralelo, los dos incluyen hacer mltiples tareas en mltiples CPUs separados, pero la diferencia clave es donde residen esos CPUs (tomando CPU y core como sinnimos) Paralelo: las tareas son divididas entre CPUs dentro del mismo host. Distribuido: las tareas son divididas entre CPUs en host separados.
-Para resolver un problema, se construye un algoritmo y se implementa en un flujo de instrucciones en serie. Estas instrucciones se ejecutan en la unidad central de procesamiento de un ordenador. En el momento en el que una instruccin se termina, se ejecuta la siguiente.
-Muchas instrucciones se ejecutan simultneamente. -Se basa en el principio de que los problemas grandes se pueden dividir en partes ms pequeas que pueden resolverse de CARACTERISTICAS
-Es un paradigma de programacin enfocado en desarrollar sistemas distribuidos, abiertos, escalables, transparentes y tolerantes a fallos. Este paradigma es el resultado natural del uso de las computadoras y las redes. - La programacin distribuida tpicamente cae en alguna de las varias arquitecturas bsicas o arquitecturas: cliente-servidor, 3- tier, n-tier, objetos distribuidos, entre otras adems de ser base para la pragmatisidad.
Paradigma manager/workers Representa tpicamente una implementacin distribuida del modelo de bag of tasks. Algoritmos de Hearbeat El paradigma de heartbeat es til cuando tenemos soluciones iterativas que se quieren paralelizar. Utilizando un esquema divide & conquer se distribuye la carga entre workers que realizan clculos y actualizan con sus resultados a otros workers. Cada paso debiera significar un progreso hacia la solucin del problema. Algoritmos de Pipeline. Un pipeline es un arreglo lineal de procesos filtro que reciben datos de un puerto (canal) de entrada y entregan resultados por un canal de salida. Estos procesos (workers) pueden estar en procesadores que operan en paralelo, en un primer esquema a lazo abierto (W1 en el INPUT, Wn en el OUTPUT). Un segundo esquema posible es un pipeline circulardonde Wn se conecta con W1. Estos esquemas sirven en procesos iterativos o bien donde la aplicacin no se resuelve en una pasada por el pipe Algoritmos de Prueba/Eco. rboles y grafos son utilizados en muchas aplicaciones distribuidas tales como bsquedas en la WEB, bases de datos, sistemas expertos y juegos. Las arquitecturas distribuidas se pueden asimilar a los nodos de grafos y rboles, con canales de comunicacin que los vinculan. El paradigma de prueba-eco se basa en el envo de un mensaje (probe) enviado por un nodo a su sucesor y la espera posterior del eco que es el mensaje de respuesta. Los algoritmos de prueba-eco son particularmente interesantes cuando se trata de recorrer redes donde no hay (o no se conoce) un nmero fijo de nodos activos. (Ejemplo clsico son las redes mviles).
Algoritmos de Broadcast. Permiten alcanzar una informacin global en una arquitectura distribuida. Sirven para toma de decisiones distribuidas Algoritmos de token-passing. Otro paradigma de interaccin muy utilizado se basa en un tipo especial de mensaje o token que puede utilizarse para otorgar un permiso (control) o para recoger informacin global de la arquitectura distribuida. Servidores replicados En este caso los servidores manejan (mediante mltiples instancias) recursos compartidos tales como dispositivos o archivos.