Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Modelos de programación paralela




Enviado por Pablo Turmero



Partes: 1, 2

    Monografias.com

    Modelos de programación paralela
    Modelos computacionales
    Paradigmas de programación paralela
    Programación en memoria compartida: OpenMP
    Programación en memoria distribuida: MPI

    Monografias.com

    Uso de varios procesadores trabajando juntos para resolver una tarea común:
    Cada procesador trabaja en una porción del problema.
    Los procesos pueden intercambiar datos, a través de la memoria o por una red de interconexión.
    Muchas posibilidades:
    Pipeline
    Cachés
    Paralelismo a nivel de instrucción
    Ejecución fuera de orden
    Especulación
    Varios procesadores en un chip
    LAN de altas prestaciones
    ¿Qué es la programación paralela?

    Monografias.com

    Programación concurrente:
    Varios procesos trabajando en la solución de un problema, puede ser paralela (varios procesadores)
    Computación heterogénea:
    Varios procesadores con características distintas
    Programación adaptativa:
    Durante la ejecución el programa se adapta a las características del sistema
    Programación distribuida:
    Varios procesadores geográficamente distribuidos. Hay paso de mensajes pero se necesita infraestructura especial
    Computación en la web:
    Necesidad de herramientas que permitan la utilización de sistemas de computación en la web
    Computación cuántica o biológica
    ¿Qué es la programación paralela?

    Monografias.com

    Límites para una única CPU
    Memoria disponible
    Prestaciones
    La programación paralela permite:
    Resolver problemas que no caben en una CPU
    Resolver problemas que no se resuelven en un tiempo razonable
    Se pueden ejecutar
    Problemas mayores
    Más rápidamente
    Más problemas
    Necesidad de la programación paralela

    Monografias.com

    La velocidad de los computadores secuenciales convencionales se ha incrementado continuamente para adaptarse a las necesidades de las aplicaciones
    – Procesadores de E/S. Procesamiento en tiempo compartido.
    – Jerarquía de Memorias. Memorias cache.
    – División de la memoria principal en bloques.
    – Multiplicidad de unidades funcionales
    – Segmentación encauzada dentro de la CPU. Pipeline.
    Necesidad de la programación paralela

    Monografias.com

    El rendimiento de los computadores secuenciales está comenzando a saturarse.
    Solución: Usar varios procesadores. Sistemas paralelos. Con la tecnología VLSI, el costo de los procesadores es menor.
    Aspectos a tener en cuenta en la computación paralela son:
    – Diseño de computadores paralelos. Escalabilidad y Comunicaciones.
    – Diseño de algoritmos eficientes. No hay ganancia si los algoritmos no se diseñan adecuadamente. ¿Mayor aceleración con mejores algoritmos que con mejores sistemas?
    – Métodos para evaluar los algoritmos paralelos: ¿Cómo de rápido se puede resolver un problema usando una máquina paralela? ¿Con qué eficiencia se usan esos procesadores?
    – Lenguajes para computadores paralelos. Flexibles para permitir una implementación eficiente y que sean fáciles de programar.
    – Herramientas para la programación paralela.
    Programas paralelos portables.
    Compiladores paralelizantes.
    Necesidad de la programación paralela

    Monografias.com

    Computador secuencial: SISD
    Procesador
    Memoria
    Instrucciones:
    de memoria
    a procesador

    Datos:
    entre memoria
    y procesador

    Monografias.com

    SIMD. Una única Unidad de Control. La misma instrucción se ejecuta síncronamente por todas las unidades de procesamiento. Sincronización automática. Requiere menos hardware porque sólo necesita una U.C global y menos memoria porque tiene una sola copia del programa.

    Computador paralelo: SIMD
    Procesador
    Procesador
    Procesador
    programa
    instrucciones
    datos

    Monografias.com

    Los sistemas no escalan bien
    Los sistemas basados en bus se pueden saturar.
    Una red de barras cruzadas grande puede ser muy cara.
    Problema de la coherencia de caché
    Puede haber copia de una variable en varias cachés
    Cuando un procesador escribe puede no ser visible al resto
    Es necesario asegurar la visibilidad o la coherencia de caché
    Problemas de los sistemas UMA

    Monografias.com

    Sistemas de memoria compartida
    Redes de barras cruzadas.

    Conecta p procesadores con b módulos de memoria.

    Utiliza una red de conmutadores.

    Normalmente b es mayor que p.

    El número total de conmutadores requeridos es ?(pb).

    Conforme crece p, la complejidad de la red aumenta según ? (p2).

    Por tanto no son muy escalables en términos de costo.

    Monografias.com

    Sistemas de memoria compartida
    Redes basadas en buses.

    Cuando un procesador necesita acceso global a memoria, genera una solicitud al bus.

    Esta red es atractiva, dada su simplicidad y capacidad para proporcionar acceso uniforme a la memoria compartida.

    Pero el bus sólo puede llevar una determinada cantidad de datos entre la memoria y los procesadores.

    El rendimiento se satura para un número pequeño de procesadores.

    Si los procesadores disponen de memorias locales caché se puede solventar el problema.

    Monografias.com

    Sistemas de memoria compartida

    Redes de interconexión multietapa.

    Es un tipo de red intermedia en términos de escalabilidad en costo y rendimiento.

    El esquema general de un red multietapa tiene p procesadores y b módulos de memoria.

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter