Lenguajes de programacin Los procesos concurrentes pueden darse

  • Slides: 9
Download presentation
Lenguajes de programación • Los procesos concurrentes pueden darse en un sistema de cómputo

Lenguajes de programación • Los procesos concurrentes pueden darse en un sistema de cómputo en los niveles de procesamiento siguientes: • De trabajos • De tareas • Inter-instrucciones • Intra-instrucciones

Lenguajes de programación • El nivel de programación determina el tamaño del grano. •

Lenguajes de programación • El nivel de programación determina el tamaño del grano. • El grano es el número de instrucciones o de operaciones consideradas como unidad para particionar un algoritmo. • Los niveles inter-instrucciones e intrainstrucciones son para granos finos, mientras que los otros niveles son para granos gruesos o medianos

Lenguajes de programación • Los lenguajes de programación para los sistemas en paralelo consideran:

Lenguajes de programación • Los lenguajes de programación para los sistemas en paralelo consideran: • Mecanismos de control (modelo Von Neuman) • Mecanismos de comunicación de datos (Simple Program Multiple Data SPMD)

Lenguajes de programación Mecanismos de control • Se diseñaron para tener un nivel alto

Lenguajes de programación Mecanismos de control • Se diseñaron para tener un nivel alto de abstracción y para generar programas modulares • Lo cual hace posible adaptar programas paralelos a computadoras paralelas • Paralelización de tareas • Paralelización implícita o explícita

Lenguajes de programación Mecanismos de comunicación de datos • Se utiliza para especificar la

Lenguajes de programación Mecanismos de comunicación de datos • Se utiliza para especificar la manera en que los datos se van a accesar y distribuir en las computadoras SIMD o MIMD • Especificación de la asignación • Acceso directo a datos compartidos

Lenguajes de programación Algunos de ellos • Mecanismo de control • Memoria compartida –

Lenguajes de programación Algunos de ellos • Mecanismo de control • Memoria compartida – FORTRAN, ALGOL, COBOL, LISP, APL, PL/1, BASIC, Pascal, C, Ada, HPF, Modula, Pascal concurrente, Multilisp • Memoria distribuida – Ada, Occam, C, C++, FORTRAN, HPF, SR

Lenguajes de programación • Por patrón – Memoria compartida: Prolog – Memoria distribuida: Actors

Lenguajes de programación • Por patrón – Memoria compartida: Prolog – Memoria distribuida: Actors • Por datos – Memoria distribuida: VAL, Id, LAU, SISA • Por demanda – Memoria distribuida: FP

Lenguajes de programación • LISP: List Processing Language, • FP: Functional Programming Languagesng Sequential

Lenguajes de programación • LISP: List Processing Language, • FP: Functional Programming Languagesng Sequential Processes, • HPF: High Performance Fortran, • VAL: Value-oriented Algorithmic lenguaje, • Id: Irvine dataflow, • SISAL: Streams and Iteration a Single Assignment Lenguaje, • SR: Synchronizing Resources.

1. 2 Carrera hacia los teraflops Computadoras vectoriales vs paralelas • Computadora vectorial –

1. 2 Carrera hacia los teraflops Computadoras vectoriales vs paralelas • Computadora vectorial – Mal llamadas “supercomputadoras” – Operaciones vectoriales – Operaciones “pipeline” – Require de sistemas de enfriamento interno – No es escalable – El costo de adquisición y mantenimiento es muy elevado