Anda di halaman 1dari 4

1 Computaci 2 n Paralela

Kevin Mike Herrera Vega


C 1 2 digo : 2012-36144 1 1 E.A.P. de Ingenier 2 a en Inform 2 tica y Sistemas Universidad Nacional Jorge Basadre Grohmann Tacna, Per 1 2 kevin 22894@hotmail.com
AbstractThis scientic paper is a research on parallel computing, mentioned basic concepts of the topic and explained. The parallel computation was based on the idea of dividing a large problem into smaller pieces and provide solutions to each of these concurrently. Additionally mentioned technologies (hardware) to run programs developed in parallel. Index TermsProgramaci 1 n concurrente, multi-n 1 cleo, 2 2 paralelo, hardware.
1 I. I NTRODUCCI I 2 N

un Playstation 3, 1 2 ste emplea el chip Cell de IBM que 1 1 2 a. [6] tambi 2 n pertenece a esta categor 1 III. R ESE I 1 2 A HIST I 2 RICA DE HARDWARE Grandes progresos en los sistemas computacionales se han 1 hecho en estos 2 ltimos 55 a 1 2 os. La velocidad de los computadores secuenciales ha crecido en 1 2 rdenes de magnitud inimaginables debido a avances a nivel de sus dise 1 2 os y en 1 las t 2 cnicas usadas para construirlos. En general, los avances en tecnolog 1 2 a computacional se pueden dividir en los realizados en la era secuencial, y los que est 1 2 n sucediendo 1 ahora en la era de paralelismo. Adem 2 s, cada una de ellas se puede dividir en 3 fases, una arquitect 1 2 nica que tiene que ver con los avances en el hardware del sistema, y dos fases de software, una que tiene que ver con los compiladores (pasando de los lenguajes de alto nivel a los compiladores que optimizan los programas para reducir los tiempos de ejecuci 1 2 n) y otra 1 con las librer 2 as/paquetes de aplicaciones (que liberan a los usuarios de escribir ciertas partes de c 1 1 2 digo). Adem 2 s, cada fase se divide en tres partes: Investigaci 1 2 n y desarrollo (fase de mucho trabajo 1 te 2 rico y cient 1 2 co, aun sin un uso extendido). 1 Comercializaci 1 n 1 2 (fase en la que las compa 2 2 as del 1 2 rea construyen y comercializan los productos). Expansi 1 1 2 n/consolidaci 2 n (fase en la cual deja de ser 1 un t 2 pico caliente de investigaci 1 2 n, los precios empiezan a ser accesibles para los usuarios, y los productos son f 1 2 ciles de hacer a nivel industrial). [9] Los desarrolladores fueron los primeros que tuvieron que hacer frente a la computaci 1 2 n paralela debido a que el hardware soporta diversos dispositivos trabajando al mismo tiempo, con diferentes tasas de operaci 1 2 n y de tiempo de respuesta. 1 El dise 2 o de hardware es tambi 1 2 n Dirigido por Eventos debido a que los dispositivos trabajan independientemente y emiten un evento de interrupci 1 2 n cuando es necesario. El hardware de la computadora que conocemos hoy en d 1 2 a es 1 totalmente paralelo sin embargo, est 2 centralizado en una sola CPU (Unidad Central de Procesamiento) y m 1 2 ltiples 1 dispositivos perif 2 ricos.[4] IV. N IVELES DE A PLICACI I 1 2 N DEL PARALELISMO Los niveles de paralelismo son: 1) A nivel intrainstrucci 1 2 n (hardware, pipelines).

El paralelismo es una forma de computaci 1 2 n basada en un principio aparentemente simple: Dividir los prob1 lemas grandes en varios peque 2 os y solucionarlos si1 1 mult 2 neamente Esto permite ejecutar m 2 s instrucciones en menos tiempo. El problema que pretendemos resolver 1 es que los ordenadores de hoy en d 2 a han dejado de ser 1 1 cada vez m 2 s r 2 pidos, y los fabricantes, en vez de hacer 1 un 1 2 s avanzado, que tiene unos 2 nico microprocesador m consumos muy elevados, lo que hacen es poner dos, cuatro 1 s, incluso 80 en algunos ordenadores experimentales?, o m 2 detallan los investigadores Diego Llanos y Arturo Gonz 1 2 lez de la Universidad de Valladolid. [1] El paralelismo se emple 1 2 1 1 durante muchos a 2 os, sobre todo en la computaci 2 n de altas prestaciones, pero su inter 1 2 s ha crecido debido a las 1 limitaciones f 2 sicas que impiden el aumento de la frecuencia a los computadores secuenciales como el consumo de 1 energ 2 a y por consiguiente la generaci 1 2 n de calor. La 1 computaci 2 n en paralelo se ha convertido en el paradigma dominante en la arquitectura de computadores, principalmente 1 en forma de procesadores multin 2 cleo. [5] 17 de junio, 2013
1 II. D EFINICI I 2 N DE C OMPUTACI I 1 2 N PARALELA

La computaci 1 2 n paralela es el nombre que se le da al 1 procesamiento de datos de manera simult 2 nea, se procesa 1 la informaci 2 n en paralelo. [6] Es una t 1 2 cnica de 1 programaci 2 n en la que muchas instrucciones se ejecutan 1 simult 2 neamente y se basa en el principio de que los proble1 mas grandes se pueden dividir en partes m 2 s peque 1 2 as que pueden resolverse de forma concurrente. [2] Parece el nombre de una tecnolog 1 2 a experimental, pero es la norma hoy en 1 d 2 a, dado el creciente requerimiento en procesamiento del software y aplicaciones actuales en general. Por ejemplo si est 1 1 2 s trabajando en un computador de doble n 2 cleo, tu 1 equipo emplea la computaci 2 n paralela; asimismo si tenemos

figura.jpg

hardware.jpg

Fig. 2.

Procesador Intel Xeon

Fig. 1.

Eras de la computaci 1 n 2

El problema a resolver se divide en tareas a ejecutar cooperativa-mente en m 1 2 ltiples procesadores. No siempre 1 es una buena decisi 2 n partir de un algoritmo secuencial (paralelizar una aplicaci 1 1 2 n). En ocasiones ser 2 necesario 1 dise 2 ar un nuevo algoritmo muy diferente. Para ello se debe:

2) A nivel interinstrucci 1 1 2 n (SO, optimizaci 2 n de 1 c 2 digo, compilador). 3) A nivel de procedimientos o tareas (Algor 1 2 tmico tareas). 4) A nivel de programas o trabajos. 5) A nivel de programas o trabajos (Algor 1 2 tmico funcional). V. P ROGRAMACI I 1 2 N PARALELA La necesidad que surge para resolver problemas que re1 quieren tiempo elevado de c 2 mputo origina lo que hoy 1 se conoce como computaci 2 n paralela. Mediante el uso concurrente de varios procesadores se resuelven problemas de 1 manera m 2 s r 1 2 pida que lo que se puede realizar con un solo procesador. Una computadora paralela es un conjunto de procesadores que son capaces de trabajar cooperativa-mente para solucionar un problema computacional. Esta denici 1 2n es muy extensa e incluye supercomputadores que tienen ciento o miles de procesadores, redes de estaciones de trabajo o estaciones de trabajo con m 1 2 ltiples procesadores. El 1 paradigma de dise 2 o y programaci 1 2 n diere del utilizado para dise 1 ar y programar aplicaciones secuenciales. Una 2 1 buena estrategia de divisi 2 n del problema puede determinar la eciencia de un algoritmo paralelo. Es importante considerar la disponibilidad de hardware. [2] Respecto a los mecanismos de comunicaci 1 2 n entre procesos, existen dos paradigmas de 1 computaci 2 n paralela. Memoria compartida. Pasaje de mensajes. 1 Existen tambi 1 2 bridos que combinan 2 n modelos h 1 ambas t 2 cnicas.

Denir tareas que pueden ejecutar concurrentemente. Lanzar la ejecuci 1 1 2 n y detener la ejecuci 2 n de tareas. Implementar los mecanismos de comunicaci 1 2 n y sin1 cronizaci 2 n.
1 N PARALELA VI. M ODELOS DE P ROGRAMACI I 2

Un modelo de programaci 1 2 n paralela o paradigma es un 1 conjunto de tecnolog 2 as de software que permiten expresar algoritmos paralelos para implantar aplicaciones en la arquitectura adecuada. Hoy en d 1 1 2 a es muy dif 2 cil realizar un 1 programa paralelo de forma autom 2 tica. Por esto, el usuario debe escoger el modelo apropiado, o una mezcla de ellos, para construir su programa. Se hace menci 1 2 n de los modelos de 1 programaci 2 n paralela que existen. [8] 1) Modelos de Programaci 1 2 n para Multiprocesadores 2) El Modelo de Variables Compartidas 3) Expresi 1 2 n del Paralelismo en el Modelo de Variables Compartidas 1 4) Primitivas de Sincronizaci 2 n 1 5) Ejemplo de Programaci 2 n 6) El Modelo de Paso de Mensajes 7) Primitivas para Paso de Mensajes 8) Ejemplo de Programaci 1 2n 1 9) Paralizaci 2 n Autom 1 2 tica 10) High Performance Fortran 11) Librer 1 1 2 as Num 2 ricas Paralelas VII. D ISE I 1 2 O DE A LGORITMOS PARALELOS Los algoritmos paralelos son extremadamente importantes para solucionar problemas grandes para muchos campos 1 de aplicaci 1 2 n se describen las etapas 2 n. En esta secci 1 1 t 2 picas para el dise 2 o de los algoritmos paralelos [7]:

imagen.jpg

1 larga serie de conferencias sobre la computaci 2 n paralela. 1 1 Parec 2 a que la gente quer 2 a saber sobre este tema, pero sobrevino que la computaci 1 2 n paralela asusto a la gente. Hay una enorme brecha antes de que puedas llegar a ser un buen programador paralelo. As 1 2 como lo es para la 1 programaci 2 n orientada a objetos. Esto signica que los jefes de equipo y los arquitectos se encontraban en el mismo nivel que los programadores principiantes. A 1 2 ade a esto el hecho 1 de que hay grandes cantidades de c 2 digo ya escrito para una CPU de un solo n 1 2 cleo y las ventajas que pueden obtenerse 1 1 2 s despu 2 s de que al menos alguien lo reescriban. Pero la m 1 1 importante raz 2 n de peso para rechazar la computaci 2 n 1 paralela fue que es m 2 s f 1 1 2 cil y m 2 s barato comprar 1 1 otra m 2 quina que hacer el mejor de los n 2 cleos del CPU. 1 2 sta fue una realidad que impulso la computaci 1 2 n de la nube (Cloud Computing). 1 IX. C ONCLUSI I 2 N

Fig. 3.

1 Dise 2 o de Algoritmos Paralelos

1) Particionamiento: Los c 1 2 lculos se descomponen en 1 peque 2 as tareas. Usualmente es independiente de la arquitectura o del modelo de programaci 1 2 n. Un buen par1 ticionamiento divide tanto los c 2 lculos asociados con el problema como los datos sobre los cuales operan. 2) Comunicaci 1 2 n: Las tareas generadas por una par1 1 tici 2 n est 2 n propuestas para ejecutarse concurrentemente pero no pueden, en general, ejecutarse independientemente. 1 Los c 1 2 n de una tarea normalmente 2 lculos en la ejecuci 1 requerir 2 n de datos asociados con otras tareas. Los datos 1 permitir que los deben transferirse entre las tareas y as 2 1 c 2 lculos procedan. Este ujo de informaci 1 2 n se especica en esta fase. 3) Aglomeraci 1 2 n: Las tareas y las estructuras de comuni1 1 caci 2 n denidas en las dos primeras etapas del dise 2 o son evaluadas con respecto a los requerimientos de ejecuci 1 2n 1 y costos de implementaci 2 n. Si es necesario, las tareas 1 son combinadas en tareas m 2 s grandes para mejorar la 1 ejecuci 2 n o para reducir los costos de comunicaci 1 2n y 1 sincronizaci 2 n. 4) Mapeo: Cada tarea es asignada a un procesador de tal modo que intente satisfacer las metas de competencia al 1 maximizar la utilizaci 2 n del procesador y minimizar los 1 costos de comunicaci 2 n. VIII. C OMPUTACI I 1 2 N PARALELA EN LA ACTUALIDAD Las CPUs tienen ciertas limitaciones de hardware que hacen 1 necesaria una refrigeraci 2 n especial. Actualmente tenemos 1 la CPU multi-n 2 cleo que signica pr 1 2 cticamente varias CPUs en el mismo equipo. La computaci 1 2 n paralela se ha convertido en la corriente principal. Empezamos con una

Atreves de los a 1 2 os, los procesadores secuenciales han ido incrementando su poder computacional para procesar aplicaciones de gran demanda de recursos, pero el costo que demandaban estos para poder aumentar su frecuencia era un inconveniente adem 1 2 s de todos los problemas y limitaciones de hardware que surg 1 2 an. Una salida able era tener varios procesadores en una computadora dirigidas por una unidad 1 n paralela es de control. El principio de la computaci 2 1 dividir los problemas a solucionar en peque 2 os problemas y solucionarlo de forma concurrente. La computaci 1 2 n paralela 1 es el procesamiento de datos de forma simult 2 nea, dividimos el problema en tareas que se ejecutan en distintos procesadores. No siempre paralelizar u algoritmo secuencial es la mejor 1 opci 1 2 n, en ocasiones es necesario dise 2 ar un algoritmo muy diferente. R ECONOCIMIENTOS Este cient 1 2 co realizado por Kevin Herrera Vega, estudiante de la E.A.P. Ingenier 1 1 2 a en Inform 2 tica y Sistema de la Universidad Nacional Jorge Basadre Grohmann, 1 tiene como n dar una orientaci 2 n sobre a computaci 1 2n paralela, un tema nuevo y a la vez no tanto, por su actual uso 1 en distintas aplicaciones de la tecnolog 2 a. R EFERENCES
[1] [2] [3] [4] [5] [6] [7] 1 Qu 1 2 2 es la computacion paralela ; Disponible en: http:// tinomenosesmas.blogspot.com/2012/01/que-es-la-computacion-paralela. html. 1 Computaci 2 n de Alta Performance, Curso 2009, Programaci 1 n Par2 alela ; Disponible en: http://www.ng.edu.uy/inco/cursos/hpc/material/ clases/Clase4-2009.pdf. n Paralela, Academia Web Conocemos Todo, La Computaci 1 2 Disponible en: http://centrodeartigos.com/articulos-informativos/article 70576.html El rinc 1 n de JMACOE, Computaci 1 n Paralela, 2 2 Disponible en: http://blog.jmacoe.com/aplicaciones/ mis-conclusiones-de-la-computacion-paralela/ 1 n Paralela, Disponible en: http: Enciclopedia Wikipedia, Computaci 2 //es.wikipedia.org/wiki/Computaci%C3%B3n paralela#Dependencias 1 1 1 2 Qu 2 es la computaci 2 n paralela, Disponible en: http:// tuspreguntas.misrespuestas.com/preg.php?idPregunta=9665 Programacion Paralela, Disponible en: http://www.cs.buap.mx/mtovar/ doc/ProgConc/ProgramacionParalela.pdf

art 1 2 culo

n Paralela, Disponible en: [8] Modelos de Programaci 1 2 http://epsc.upc.edu/projectes/usuaris/miguel.valero/materiales/docencia/ doctorado/modprog.pdf [9] J. Aguilar, E. Leiss, Introducci 1 n a la Computaci 1 n Paralela , 2 2 rida, Venezuela: Gracas Quinteto, 2004. 1ra ed. M 1 2

kevin.jpg

Kevin Mike Herrera Vega, 1 naci 2 el 22 de agosto de 1994, 1 actualmente con 18 a 2 os, estudiante de la E.A.P. de 1 en Inform 2 tica Ingenier 1 2a y Sistemas que cursa el 2do a 1 2o en la Universidad Nacional Jorge Basadre Grohmann, 1 Tacna, Per 2 .

Anda mungkin juga menyukai