• No se han encontrado resultados

Modelos de computación paralela

N/A
N/A
Protected

Academic year: 2017

Share "Modelos de computación paralela"

Copied!
3
0
0

Texto completo

(1)

Printista A.Marcela, Piccoli M.Fabiana

Universidad Nacional de San Luis Ejército de los Andes 950

(5700) San Luis

{mprinti, mpiccoli}@unsl.edu.ar Argentina

✥✧✦✩★✫✪✭✬✮✦✩✯

Desde los primeros días de la computación ha sido claro que, tarde o temprano, surgiría una demanda de mayor poder de computación que el que brinda la computación secuencial. A pesar de que la ✰✲✱✴✳✶✵✸✷✺✹✼✻✺✽✿✾❁❀❃❂❅❄❆✻✺❇❈✻✺❉❋❊✿❉●✻

ha surgido como el candidato natural para cubrir la insistente demanda de mayor performance y a pesar de la mayor disponibilidad de máquinas paralelas, aún no ha logrado imponerse como paradigma corriente de computación.

❍✴■✲❏❃❑✺▲✫▼✸◆❃❖✺P❘◗❚❙❱❯❘❲✿P✸▲●❙❨❳✿▲❩❙✴❬✩❲❪❭✴❏✴❲❴❫❋❵✶▼✸❏✴▲●❯✫❙❛P❜❑❨❲✿▲✴❖✺❲❘❯✫❙✺P❝P❝◆✴▲●▲❁◆❞❖❡❲❴❳✿◆✴❵✶▼❆❏✺❢❚❙✺❳✿❫❁◆❛❣✺❲❘❯✭▼❤❙✴P❈❙✺▲❁❲✿▲❩❙✴❯✐❲❘❣❨❲✿▲❦❥❃❏✺❢❩❏✴P❝◆♠❧ Hay tres candidatos obvios:

• el hardware

• el software

• un modelo de computación intermediario

Mucho se ha discutido de las dos primeras opciones [Qui94][Jaj92][Wil96]. Actualmente se encuentra disponible una importante cantidad de estudios teóricos y prácticos sobre computación paralela realizados sobre distintas arquitecturas paralelas con distintos lenguajes y herramientas de programación. Sin embargo, pocos trabajos son los que han cubierto los dos objetivos principales de la computación paralela; por un lado desarrollar software independiente de la arquitectura y tecnologías existentes, y por otro, desarrollar algoritmos que deban obtener la máxima performance de la arquitectura subyacente. Lo cierto es que estos objetivos, en primera instancia se presentan como contradictorios.

Uno de los objetivos de nuestra línea de investigación en Sistemas Paralelos es el estudio de la validez de los modelos para predecir la performance de programas paralelos en las arquitecturas actuales. Este objetivo ha surgido basándose en nuestra fuerte argumentación que tener un modelo de computación paralela intermediario es la principal clave de progreso a partir de nuestra posición presente.

La comunidad de computación serial dispone de un Modelo de Computación ampliamente aceptado, el modelo de ♥❡♦❃♣rq❞s✿t✴✉❪✈✴♣✴♣ , expresado elegantemente en la ✇②①✺③⑤④✴⑥●⑦❃⑧⑩⑨✺❶❸❷✧❹✿❹✿❶❘❺❘❻❅❼❽⑧✴⑦✴⑨✴❻✴❾➀❿➁❼♠❷❤✇✮➂ [For78]. Este modelo ha actuado exitosamente como modelo de computación subyacente proporcionado consistencia y coordinación entre los diseñadores de algoritmos, constructores de arquitecturas y expertos en lenguajes.

A pesar de las justificaciones que existen en tener un modelo de computación, en la computación paralela, ningún modelo unificado ha obtenido el mismo éxito.

Para que la computación paralela llegue a ser una forma normal de computación se requiere un modelo que juegue el mismo rol que cumple el de ➃✺➄❛➅⑩➆➈➇✿➉⑤➊❪➋✴➅✴➅ en la computación secuencial: ofrecer un camino bien definido entre el software y el hardware[Juu96][Mag95].

(2)

aún es controversial y caótica. No obstante la comunidad científica ha generado un amplio rango de modelos con el objetivo de dilucidar los requerimientos de un paradigma unificado.

Con el objetivo de abrir un marco de discusión, para este trabajo, se han seleccionado y recopilado un amplio rango de modelos de computación paralela, a fin de conocer las características y objetivos esenciales de cada uno, de analizar el rol que estos modelos cumplen en los algoritmos, en los lenguajes y en los diseños de máquinas actuales y futuras.

En primer lugar se consideró el modelo ➌✸➍❡➎❈➍✺➏❁➏❁➐✿➏⑤➑❽➍✴➒✴➓❡➔✴→②➣✧↔✿↔✿➐❘↕❝↕❤➙②➍✺↔❘➛✺➜❩➒✺➐❘➝✴➌✶➑♠➣❤➙ [Har94]. Este surge basado en el éxito del modelo ➞♠➟➡➠ . Aunque existen variaciones entre las definiciones de ➢✶➤♠➥✸➦ , el modelo estándar es una computadora ➧❅➨❁➧❅➩ , donde cada procesador puede ejecutar su propio flujo de instrucciones. Cada procesador puede acceder a cualquier ubicación en un tiempo de acceso independiente de cual sea la posición a acceder. Dejando de lado la imprecisión sobre computadoras paralelas prácticas, el modelo ofrece un marco útil para el diseño y análisis. El objetivo del modelo es que el diseñador explote al máximo el paralelismo inherente en una tarea dada. En este sentido, ➫✶➭♠➯❤➲ provee una medida de la complejidad de tiempo ideal [Agg90]. Las críticas asociadas a este modelo, argumentan que las características no representadas relacionadas al costo de usar un recurso, conlleva al abuso del mismo. En otras palabras, los aspectos que el modelo oculta sirven para distorsionar el proceso de diseño llevando a una solución práctica ineficiente.

La noción de modelo de puente (➳⑤➵❝➸●➺➼➻✭➸❩➽➼➻r➾➪➚❃➺✺➶✿➹), fue efectivamente capturado por Valiant [Val90]. En sus trabajos, el autor presenta una máquina abstracta la cual provee un paradigma de diseño consistente y unificado para facilitar el diseño de algoritmos paralelos portables y su traslación a un programa. El modelo,➘❴➴✴➷●➬❞➮✃➱❡❐✺❒❘❮✺❰✫Ï❃❐✺Ï✴➴❃Ð❆Ñ❆Ò✺❰❈Ò✺➷❁➷❋Ó✿➷●Ô✴➘❽➮✩Ñ , posee una memoria distribuida y asume dos parámetros. El primero, Õ, refleja el costo de invocar una operación de sincronización. Esto implica una latencia de comunicación ya que los accesos a memoria remota no son efectivos hasta después de una operación de sincronización. El segundo parámetro, Ö , representa las limitaciones de ×❃Ø✴Ù✴Ú❡Û❽Ü●ÚÞÝ❚ß . Se requiere que los mensajes sean enviados a lo sumo una vez cada à operaciones aritméticas [Juu96a].

El modelo á❽âäã sobresale por aquellas características que no incorpora, por ejemplo no incorpora å❃æ✩ç✿è❜é✺ç❘ê✴ë

cuando un mensaje es ingresado a la red [Ski96]. Tampoco incluye ningún dato acerca de la topología lo cual remueve la necesidad de incluir patrones de comunicación diferenciados y realizar optimizaciones basadas en la topología [Gou96].

Otro ejemplo de un modelo de puente es ì✸íäî❃ï [Cul96][Ian98], el cual realiza más énfasis en los atributos de las máquinas. Este modelo aunque esta muy relacionado al modelo ð✲ñ➼ò , es distinto por dos razones. Primero, el modelo considera comunicación asincrónica. El parámetro ó es usado estrictamente como una medida de la latencia de mensajes. Segundo, el modelo agrega un parámetro más, ô , el cual representa el tiempo necesario para introducir o recuperar un mensaje a/desde la red. Este parámetro mide un tiempo muerto, ya que son ciclos de procesador ocioso que no pueden ser ocultados con ninguna medida de latencia.

Los modelos estándares õ÷öùø❤ú y û❽ü✩ý poseen un patrón de ejecución rígido en el cual todos los procesadores son sincronizados por un þ✿ÿ✁✴þ

(3)

Los modelos de computación presentados en esta trabajo fueron elegidos como representantes de un numeroso conjunto de modelos abstractos de computación paralela. Este subconjunto es suficiente testimonio de que no existe aún consenso y se consolida más la necesidad de un paradigma unificado.

Dentro de este conjunto de modelos podría encontrarse el modelo consistente buscado. El conjunto de modelos incluye como parámetros: Paralelismo computacional (❍✺■ , Latencia de comunicación ❏▲❑✞▼ , ◆P❖☛◗✽❘❚❙●◗❱❯✞❲

de comunicación, ❳❩❨✞❬✞❭✞❪✢❭●❫❵❴❜❛ , Sincronización, Jerarquías de memorias y Topologías de red. Estas características principalmente reflejan la perspectiva de investigadores cuyo objetivo primario es el diseño eficiente de algoritmos.

Evaluados separadamente ningún modelo parece ser aceptable, pero evaluados en un conjunto, todos parecen hacer énfasis y coincidir en un pequeño número de características. Consideramos que, para una disciplina que evolucionada día a día es un apreciable progreso.

❝P❞❢❡❤❣✡❞❥✐✍❦✞❧☛♠✏♥♣♦q♠

[Agg90] Aggarwal A, Chandra A.K., Snir M. r❩s✞t❁t❁✉✏✈✺✇✁①❱②④③✡✇✁s❃✈⑤①✽s✞t⑦⑥⑨⑧✁⑩✻❶✏✇q③❷❸s❵❹❻❺⑦❼❅❽❿❾➁➀ . Teorical Computer Science, 71:3-28, 1990.

[Cul96] Culler D.E., Karp R., Patterson D., Sahay A., Santos E., Schauser K.E., Subramonian R., Eicken T. ➂⑨➃☛➄❃➅⑨➆➈➇➉➅✒➊➋➇✺➌☛➍✡➎✁➌❱➇●➏P➐➉➃✏➑●➒✽➏➓➃❥➔→➅✢➇●➊➋➇✺➏✁➏✁➒✽➏↔➣❩➃✞↕⑦➙⑨➛✺➍❜➇●➍✡➎✁➃✏➜ . Communications of the ACM, Vol. 39, No.11. Nov. 1996.

[For78] Fortune S., Wyllie, J., ➝✢➞●➟➋➞●➠✁➠✪➡✽➠✁➢❜➤➦➥➧➢✡➨✮➩❩➞✞➨✞➫●➭✞➥➲➯➵➳✽➳✽➡❱➤✻➤➺➸➻➞✺➳❱➼●➢✡➨●➡❱➤ . Proc. 2

nd

ACM Annual Symp. on

[Gon00] Gonzalez J.A. , Leon C., Piccoli F., Printista M., Roda J.L., Rodriguez C., Sande F. ➽✥➾✞➚✪➪✡➶☛➪✁➹✞➘✏➴❿➷❩➬☛➮

.

[Gou96] Goudreau, M., Lang, K., Rao, S. ➱❉✃✏❐✢❒●❮➋❰✞Ï❁Ð✏Ñ✁Ñ✘Ò✁Ó✽Ò✁Ô❱Õ●Ó♣Ö❻❒✞Õ✞❰✮×✒✃✞❮❱Ø❜❒●Ù✞Ò✁Ú✪Ò❥ØÖ⑦ÛÜ×✒❮✻✃✘Ý❉❮➋❒●Þ❁Þ➵Ò✡ÕßÝ❻❐✒Ò❵Ø❜à Ø❜à●Ô✢á✒â✘×ãÞ❁✃❃❰●Ô✽Ú. Proc. SPAA'96: 8th Annual ACM SPAA, 1-12, 1996

[Har94] Harris, T.J., ä➲å●æ✞ç❚è☛é♣êìë❵íïîÜð❤ä❿ñòå●ó✁ô➵æ✞õ✡ö●÷✡ó✁ë✏øìùúé✽û❱ü✞ø●ó✁ý✞æ✍é❱þ . ACM Computing Surveys, Vol. 26, No.2. pp. 187-206. June 1994.

[Ian98] Iannello G., Lauria M., Mercolinoÿ✁✄✂✆☎✞✝✟✝✡✠☞☛✌✞✂✍☛✏✎✒✑✍✓✕✔☞✠✗✖✄✘✙✑✕☛✚✑✕✔✆✛✜✠☞☛✣✢✥✤✦✑✧✛✜✢★✂✞✓✩✂✪✌✬✫✭✑✙✮✯✛✞✰✱✠✦✮✏✮✣✑✲☎✳✠✦✮ ✑✧✛✜✂✵✴✶✰✸✷✳☛✏✢✜✓✕✠✆✛❜ÿ Porc. of the 6 th Euromicro Workshop on Parallel and Distributed Processing. Madrid. Jan. 1998.

[Jaj92] JáJá J. ✹✻✺✽✼✚✺✧✾✜✿✏❀❂❁✕❃✙❄✆✾✜❅❆❀✞✺✗✾✜❀❈❇✄❉✕✿✚❉✕❊★❊❆❋☞❊●✹✬❊✥❍✳❀✍✿✚❅✪✾❏■✁❑❈▲ , Addison-Wesley, 1992.

[Juu96] Juurlink, B.H.H., Wijshoff, H.A.G. ▼❖◆❈P❂◗✍❘✧❙✜❚✪❙❯◗✧❙❱❚✜❲✆❳❩❨❭❬✍❪❴❫❴◗✕❵✏❚❱❛●❬✞❘❜❬❞❝❢❡✄◗✕❵✚◗✕❣★❣❆❳☞❣❤❨❭❬✍❪❴❫✭P✕❙✐◗✧❙❏❚❆❬✞❘

❬✞❦✁❳☞❣✜❛●❧ Proc. SPAA'96. 1996.

[Juu96a] Juurlink, B.H.H., Wijshoff, H.A.G. ♠✡♥✙♦✽♦✽♣✞q✍r❆s✦t✧✉❱r❆♥✞q✇✈✡①✏r❆♦✬r✪✉✜r✜②✆③✦④⑥⑤✞♥✍①⑧⑦❭⑨✆✈⑩♠❭♥✍♦❴❶✭♣✁✉✜③☞①✚④✏❷ Information Proceeding Letters 58. Pp. 303-310. 1996.

[Mag95] Maggs B.M. , Matheson L., Tarjan R. ❸✟❹❂❺✕❻✦❼✥❽❾❹❆❿➁➀✄➂➄➃➅➂✕❼✜❼✜❻✦❼➇➆❭❹✲➈➊➉✭➋✍➌❯➂✕➌❏➍✐❹➄➎✲❽❂➏✭➐➑❽✵➋✞➃✚➒✆❻❞➓➔➂✞➎✲❺

➓✍➎✕➌❏➣✍❻✦❽✏➍❏❽✏↔ Proceedinhg of the 28 th. Hawaii international conference on Systems Science. IEEEPress. 1995.

[Qui94] Quinn M.- ↕✭➙✁➛✚➙✕➜❆➜❆➝☞➜✡➞✡➟✙➠❴➡✭➢✕➤❏➥✜➦✲➧➩➨➭➫✧➯✕➝☞➟✍➛❆➲➳➙✙➦✍➵➸↕✡➛✚➙✁➺✆➤✜➥❆➺☞➝ . Second Edition. McGraw-Hill, Inc. 1994.

[Ski96] Skillcorn, D.B., Hill, J., McColl, W.F. ➻❈➼✍➽✦➾☞➚✜➪✜➶✞➹✍➾➴➘✞➹✍➷➮➬❈➹✍➾✏➱✡➽☞✃✚➾➮➘✕❐✍➶✙➼✕➚❢❒✡❮❂❰ . Oxford University Computing Laboratory. Report PRG-TR-15-96. 1996.

[Val90] Valiant L.G.. Ï⑧ÐÒÑ✚Ó✜Ô✞Õ✳Ó✜Ö✲ÕØ×ÚÙ✞Ô✕Û☞Ü●Ý✞Ù✙ÑÒÞ✄ß✕Ñ✚ß✁Ü❆Ü❆Û☞Ü✭à❭Ù✍á❴â✭ã✍ä❏ß✧ä❱Ó❆Ù✞Ö . Communications of the ACM, 33(8): 103-111, 1990.

[Wil96] Wilkinson B. & Allen M., å✄æ✕ç✚æ✁è❆è❆é☞è❈ê✭ç✣ë✆ì✁ç✚æ✕í✽í✽î❱ï✲ì❴ð✩ñ✳é☞ò✦ó✍ï✕î★ô✍õ✍é✦ö✱æ✍ï✙÷ùø➭ê✍ê✭è✜î❆ò✦æ✧ú✜î★ë✞ïûõ✞ö●î✜ï✲ì

ü

Referencias

Documento similar

¿Cómo se traduce la incorporación de ésta en la idea de museo?; ¿Es útil un museo si no puede concebirse como un proyecto cultural colectivo?; ¿Cómo puede ayudar el procomún

La Normativa de evaluación del rendimiento académico de los estudiantes y de revisión de calificaciones de la Universidad de Santiago de Compostela, aprobada por el Pleno or-

Para determinar un bit, el dispositivo electrónico se calibra para recibir la señal con un valor “X” máximo y otro mínimo, entonces cada vez que el valor eléctrico supere el

Pero cuando vio a Mar sacar el fuego de bajo su ala, voló de vuelta a su tribu a contarles lo que había visto.... Justo antes de que el sol saliera, Tatkanna se despertó y comenzó

o cada descripción de sesión empieza con una pregunta de diseño para el cuaderno, algo que los estudiantes pueden empezar a hacer tan pronto como lleguen.. o el resto de la

La oferta existente en el Departamento de Santa Ana es variada, en esta zona pueden encontrarse diferentes hoteles, que pueden cubrir las necesidades básicas de un viajero que

Humanidades / Historia y Arqueología / Historia y Arqueología / Arqueología Forense Ciencias Naturales y Exactas / Ciencias de la Computación e Información / Ciencias de la

37 El TPI, en los fundamentos jurídicos del 149 al 154 de la sentencia «Virgia- micina», examinó las dos actividades complementarias que integran la evaluación de riesgos: