lunes, 07 de febrero de 2011

PROGRAMACION PARALELA

PROGRAMACION DISTRIBUIDA

CARACTERISTICAS

 

-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 instrucción se termina, se ejecuta la siguiente.

 

-Muchas instrucciones se ejecutan simultáneamente.

 

-Se basa en el principio de que los problemas grandes se pueden dividir en partes más pequeñas que pueden resolverse de forma concurrente ("en paralelo").

 

-La computación paralela emplea elementos de procesamiento múltiple simultáneamente para resolver un problema. Esto se logra dividiendo el problema en partes independientes de tal manera que cada elemento de procesamiento pueda ejecutar su parte del algoritmo a la misma vez que los demás. Los elementos de procesamiento pueden ser diversos e incluir recursos tales como un único ordenador con muchos procesadores, varios ordenadores en red, hardware especializado o una combinación de los anteriores.

 

VENTAJAS

 

-Los programas de ordenador paralelos son más difíciles de escribir que los secuenciales, porque la concurrencia introduce nuevos tipos de errores de software, siendo las condiciones de carrera los más comunes.

 

-El incremento de velocidad que consigue un programa como resultado de la paralelización viene dado por la ley de Amdahl que dice que  "la mejora obtenida en el rendimiento de un sistema debido a la alteración de uno de sus componentes está limitada por la fracción de tiempo que se utiliza dicho componente".

 

 

 

 

DESVENTAJAS

 

-El consumo de energía de los ordenadores paralelos se ha convertido en una preocupación.

 

-La comunicación y la sincronización entre las diferentes subtareas son típicamente las grandes barreras para conseguir un buen rendimiento de los programas paralelos.

CARACTERISTICAS

 

-Es un paradigma de programación 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 programación distribuida típicamente cae en alguna de las varias arquitecturas básicas o arquitecturas: cliente-servidor, 3-tier, n-tier, objetos distribuidos, entre otras además de ser base para la pragmatisidad.

 

VENTAJAS

 

-Casi cualquier lenguaje de programación que tenga acceso al máximo al hardware del sistema puede manejar la programación distribuida, considerando una buena cantidad de tiempo y código.

Con respecto a Sistemas Centralizados:

  • Una de las ventajas de los sistemas distribuidos es la economía , pues es mucho más barato, añadir servidores y clientes cuando se requiere aumentar la potencia de procesamiento.
  • El trabajo en conjunto. Por ejemplo: en una fábrica de ensamblado, los robots tienen sus CPUs diferentes y realizan acciones en conjunto, dirigidos por un sistema distribuido.
  • Tienen una mayor confiabilidad. Al estar distribuida la carga de trabajo en muchas máquinas la falla de una de ellas no afecta a las demás, el sistema sobrevive como un todo.
  • Capacidad de crecimiento incremental. Se puede añadir procesadores al sistema incrementando su potencia en forma gradual según sus necesidades.

Con respecto a PCs Independientes:

  • Se pueden compartir recursos , como programas y periféricos, muy costosos. Ejemplo: Impresora Láser, dispositivos de almacenamiento masivo, etc.
  1. Al compartir recursos, satisfacen las necesidades de muchos usuarios a la vez. Ejemplo: Sistemas de reservas de aerolíneas.
  • Se logra una mejor comunicación entre las personas. Ejemplo: el correo electrónico.
  • Tienen mayor flexibilidad, la carga de trabajo se puede distribuir entre diferentes ordenadores.

 

DESVENTAJAS

 

  • El principal problema es el software, es el diseño, implantación y uso del software distribuido, pues presenta numerosos inconvenientes. Losprincipales interrogantes son los siguientes:
  •  
    • ¿Qué tipo de S. O., lenguaje de programación y aplicaciones son adecuados para estos sistemas?.
    • ¿Cuánto deben saber los usuarios de la distribución?.
    • ¿Qué tanto debe hacer el sistema y qué tanto deben hacer los usuarios?.

La respuesta a estos interrogantes no es uniforme entre los especialistas, pues existe una gran diversidad de criterios y de interpretaciones al respecto.

  • Otro problema tiene que ver con las redes de comunicación. Por ejemplo: -Perdida de mensajes, saturación en el tráfico, etc.
  • Un problema que puede surgir al compartir datos es la seguridad de los mismos.

En general se considera que las ventajas superan a las desventajas, si estas últimas se administran seriamente.

 

 

 

 

 


Publicado por okhugolo619 @ 17:56
Comentarios (0)  | Enviar
Comentarios