Programacion Paralela

Páginas: 14 (3278 palabras) Publicado: 18 de febrero de 2013
PROGRAMACIÓN PARALELA

La programación paralela es una técnica de programación basada en la ejecución simultánea, bien
sea en un mismo ordenador (con uno o varios procesadores) o en un clúster de ordenadores, en cuyo caso
se denomina computación distribuida. Al contrario que en la programación concurrente, esta técnica
enfatiza la verdadera simultaneidad en el tiempo de la ejecución delas tareas.
Los sistemas multiprocesador o multicomputador consiguen un aumento del rendimiento si se
utilizan estas técnicas. En los sistemas monoprocesador el beneficio en rendimiento no es tan evidente, ya
que la CPU es compartida por múltiples procesos en el tiempo, lo que se denomina multiplexación.
El mayor problema de la computación paralela radica en la complejidad de sincronizarunas tareas
con otras, ya sea mediante secciones críticas, semáforos o paso de mensajes, para garantizar la exclusión
mutua en las zonas del código en las que sea necesario.
Es el uso de varios procesadores trabajando juntos para resolver una tarea común, cada procesador
trabaja una porción del problema pudiendo los procesos intercambiar datos a través de la memoria o por
una red deinterconexión.
Un programa paralelo es un programa concurrente en el que hay más de un contexto de ejecución,
o hebra, activo simultáneamente. Cabe recalcar que desde un punto de vista semántica no hay diferencia
entre un programa concurrente y uno paralelo. Programación Concurrente

Necesidad de la programación paralela

- Resolver problemas que no caben en una CPU.
- Resolver problemas queno se resuelven en un tiempo razonable.
- Se puede ejecutar :
- Problemas mayores.
- Problemas más rápidamente.
- El rendimiento de los computadores secuenciales está comenzando a saturarse, una posible
solución sería usar varios procesadores, sistemas paralelos, con la tecnología VLSI(Very Large Scale
Integration), el costo de los procesadores es menor.
- Decrementa la complejidadde un algoritmo al usar varios procesadores.

Aspectos en la programación paralela

- Diseño de computadores paralelos teniendo en cuenta la escalabilidad y comunicaciones.
- Diseño de algoritmos eficientes, no hay ganancia si los algoritmos no se diseñan adecuadamente.
- Métodos para evaluar los algoritmos paralelos: ¿Cuán rápido se puede resolver un problema
usando una máquinaparalela?, ¿Con que eficiencia se usan esos procesadores?.
- En lenguajes para computadores paralelos deben ser flexibles para permitir una implementación
eficiente y fácil de programar.
- Los programas paralelos deben ser portables y los compiladores paralelizantes.
Es habitual encontrar en la bibliografía el término del programa concurrente en el mismo contexto
que el programa paralelo odistribuido.
Existen diferencias sutiles entre estos dos conceptos:

• Programación concurrente: Es aquel que define acciones que pueden realizarse simultáneamente.
• Programación paralelo: Es un programa concurrente diseñado para su ejecución en un hardware
paralelo.
• Programa distribuido: Es un programa paralelo diseñado para su ejecución en una red de
procesadores autónomos que nocomparten la memoria.Programación Concurrente
Preguntas
¿Qué es concurrencia?
- Habilidad para ejecutar varias actividades en paralelo o Simultáneamente
Las máquinas monoprocesador/mono tarea se quedaban sin hacer nada mientras se realizaban
operaciones de E/S
Con la concurrencia, mientras ocurre E/S, se quiere aprovechar la CPU para otros cálculos
Ejemplos de Multitarea
- Nula: Sinmultitarea (Ej.: MS-DOS)
- Cooperativa: Los procesos deben ceder la CPU a intervalos
- regulares (Ej.: Windows 3.11) ¿Problema?
- Preferente: El SO administra los procesadores. Cada proceso tiene un tiempo T para usar la CPU
(Ej.: Unix, FreeBSD, Linux, WinNT, etc.)
- Real: Preferente pero con varios procesadores
Motivaciones
- Utilizar plenamente el procesador Mientras E/S,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programacion concurrente y paralela
  • Programacion Puerto Paralelo
  • Programacion Paralela Pvm
  • Programacion paralela y distribuida
  • Taller de programación paralela
  • Programacion de puertos paralelo
  • Que Es Programacion Paralela
  • Programación Paralela openMP

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS