Compilador Paralelizante

Compilador Paralelizante
Información sobre la plantilla
Compilador paralelo.JPG
Concepto:Programa informático que transformar código fuente paralelo legible para el humano a código de máquina que una CPU puede ejecutar.

Compilador Paralelizante. Es un traductor que trasforma textos fuentes de lenguaje de alto nivel a lenguajes de bajo nivel. Un compilador típicamente opera en fases, cada una lleva a cabo una tarea sobre el programa fuente. Se mejora para poder, por primera vez, descubrir paralelismo en una clase mucho más amplia de programas, en el cual se pueden ejecutar simultáneamente varias tareas.

Requerimientos

Para la realización de una tarea paralela no vasta solo con poseer un microprocesador paralelo y una programación paralela, también es necesario un Compilador paralelizante.

La parte programable es determinante en la paralelización ya que si el diseño de los programas no se diseña desde este fin y se complica a los efectos es imposible lograr el sustancial aprovechamiento que significa paralelizar una tarea informática

En dependencia de cada lenguaje sera el compilador y la velocidad aumenta por dos razones fundamentales la tareas es paralela y los programas compilados al estar en codigo de más bajo nivel se ejecutan más rápidos.

Funciones

Ya que el usuario sólo necesita compilar y correr los modelos numéricos, la opción de paralelización automática es una elección atractiva en computación científica. Hay dos opciones para hacer procesamiento paralelo. Una de ellas es Programación paralela y la otra Paralelización automática. La primera consiste en diseñar códigos paralelos por el programador para luego implementarlos en Computadoras Paralelas, de tal forma que el usuario controla el grado de paralelización. Es decir, el rendimiento de la programación paralela depende del esfuerzo del programador y de la arquitectura de la computadora paralela.

Clasificación

Paralelismo implícito:

  • Se programa en lenguaje secuencial y el compilador se encarga de paralelizar y asignar recursos.
  • Pequeño aprovechamiento (depende de la inteligencia del Compilador)
  • El trabajo del programador es fácil
  • Se aprovecha todo el código secuencial existente.

Paralelismo explícito:

  • Sse usan dialectos paralelos de programación.
  • Mejor aprovechamiento de las posibilidades paralelas de la máquina
  • Más trabajo para el programador

Importancia

En cambio, paralelización automática, un caso particular de compilación, es una disyuntiva en la que el código fuente es secuencial y el código receptor producido por el compilador es paralelo. Un compilador para paralelizar programas analiza el código fuente con mucho más detalle que un compilador convencional. Si el compilador realiza una eficiente paralelización automática, el tiempo de ejecución del programa se reduce significativamente, señal de que se tomó ventaja del paralelismo de la aplicación. Como en un programa dado no se conoce a priori el rendimiento que se alcanzará con los compiladores de paralelización automática, el usuario necesita buscar la mejor opción que ofrece la computadora. Es decir, el rendimiento de la paralelización automática depende del código a paralelizar y del compilador.

Fuente