SISTEMAS DE COMPUTO PARALELO

32
Página 20 de 20 lunes, 27 de septiembre de 2010 SISTEMAS DE COMPUTO PARALELO Área de Sistemas Paralelos Los sistemas paralelos son aquellos que tienen la capacidad de realizar varias operaciones de manera simultánea. Generalmente estos sistemas suelen manejar grandes cantidades de información del orden de los terabytes y pueden procesar cientos de peticiones por segundo. Los sistemas paralelos están formados por varios sistemas que comparten la información, los recursos y la memoria de alguna manera. Sistemas paralelos - sistemas de múltiples procesadores con más de 1 procesador con comunicación entre ellos. Sistema fuertemente acoplado - los procesadores comparten memoria y reloj; la comunicación usualmente se realiza mediante memoria compartida. Ventajas: Incremento de throughput Económica Incremento en la confiabilidad Computación paralela (Redirigido desde Programación paralela) Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Transcript of SISTEMAS DE COMPUTO PARALELO

Página 20 de 20lunes, 27 de

septiembre de2010

SISTEMAS DE COMPUTO PARALELO

Área de Sistemas ParalelosLos sistemas paralelos son aquellos que tienen la capacidad de

realizar varias operaciones de manera simultánea. Generalmente

estos sistemas suelen manejar grandes cantidades de información

del orden de los terabytes y pueden procesar cientos de

peticiones por segundo. Los sistemas paralelos están formados por

varios sistemas que comparten la información, los recursos y la

memoria de alguna manera. Sistemas paralelos - sistemas de

múltiples procesadores con más de 1 procesador con comunicación

entre ellos. Sistema fuertemente acoplado - los procesadores

comparten memoria y reloj; la comunicación usualmente se realiza

mediante memoria compartida. Ventajas: Incremento de throughput

Económica Incremento en la confiabilidad

Computación paralela(Redirigido desde Programación paralela)

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

La supercomputadora Cray-2 fue la más rápida del mundo desde 1985hasta 1989.

La computación paralela es una técnica de programación en la que

muchas instrucciones se ejecutan simultáneamente. Se basa en el

principio de que los problemas grandes se pueden dividir en

partes más pequeñas que pueden resolverse de

forma concurrente ("en paralelo"). Existen varios tipos de

computación paralela: paralelismo a nivel de bit, paralelismo a

nivel de instrucción, paralelismo de datos y paralelismo de

tareas. Durante muchos años, la computación paralela se ha

aplicado en la computación de altas prestaciones, pero el interés

en ella ha aumentado en los últimos años debido a las

restricciones físicas que impiden el escalado en frecuencia. La

computación paralela se ha convertido en el paradigma dominante

en la arquitectura de computadores, principalmente en

los procesadores multinúcleo. Sin embargo, recientemente,

el consumo de energía de los ordenadores paralelos se ha

convertido en una preocupación.

Los ordenadores paralelos se pueden clasificar según el nivel de

paralelismo que admite su hardware: los ordenadores multinúcleo y

multiproceso tienen varios elementos de procesamiento en una sola

máquina, mientras que los clusters, los MPP y los grids emplean

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

varios ordenadores para trabajar en la misma tarea.

Los programas de ordenador paralelos son más difíciles de

escribir que los secuenciales4 porque la concurrencia introduce

nuevos tipos de errores de software, siendo las condiciones de

carrera los más comunes. La comunicación y

la sincronización entre las diferentes subtareas son típicamente

las grandes barreras para conseguir un buen rendimiento de los

programas paralelos. El incremento de velocidad que consigue un

programa como resultado de la paralelización viene dado por

la ley de Amdahl.

Antecedentes

El software se ha orientado tradicionalmente hacia la computación

en serie. Para resolver un problema, se construye un algoritmo y

se implementa en un flujo de instrucciones en serie. Estas

instrucciones se ejecutan en la unidad central de

procesamiento de un ordenador. En el momento en el que una

instrucción se termina, se ejecuta la siguiente.

La computación paralela emplea elementos de procesamiento

múltiple simultáneamente para resolver un problema. Esto se logra

dividiendo el problema en partes independientes de tal manera que

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

cada elemento de procesamiento pueda ejecutar su parte del

algoritmo a la misma vez que los demás. Los elementos de

procesamiento pueden ser diversos e incluir recursos tales como

un único ordenador con muchos procesadores, varios ordenadores en

red, hardware especializado o una combinación de los anteriores

EL COMPUTAR PARALELO

El computar paralelo es una forma de cómputo en cuálmuchos instrucciones se realizan simultáneamente, funcionando enel principio que los problemas grandes se pueden dividir amenudo en los más pequeños, que entonces se solucionanconcurrentemente (“en paralelo”). Hay varias diversas formas decomputar del paralelo: paralelismo del pedacito-nivel,paralelismo del instrucción-nivel, paralelismo de los datos,y paralelismo de la tarea. Se ha utilizado por muchos años,principalmente adentro el computar de alto rendimiento,solamente el interés en él ha crecido estos últimos años debidoa la prevención física de los apremios escalamiento de lafrecuencia. El computar paralelo se ha convertido en elparadigma dominante adentro arquitectura de computadora,principalmente bajo la forma de procesadores multicore. Sinembargo, estos últimos años, consumo de energía por lascomputadoras paralelas se ha convertido una preocupación. Las computadoras paralelas se pueden clasificar áspero según elnivel en paralelismo-con el cual el hardware apoya multi-corey multiprocesador computadoras que tienen múltiplo elprocesar de elementos dentro de una sola máquina, mientras queracimos, MPPs, y rejillas utilice las computadoras múltiplespara trabajar en la misma tarea.

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

Programas de computadora paralelos sea más difícil de escribirque los secuenciales, porque la concurrencia introduce variasnuevas clases del potencial insectos de software, deque condiciones de la raza son los más comunes. Comunicación ysincronización entre los diversos subtasks está típicamente unode las barreras más grandes a conseguir buen funcionamientoparalelo del programa. speedup de un programa como resultado delparallelization se da cerca Ley de Amdahl.

CONTENIDO● 1 Fondo

○ 1.1 Ley de Amdahl y ley de Gustafson○ 1.2 Dependencias○ 1.3 Compita con las condiciones, la exclusión mutua, la

sincronización, y la retardación paralela○ 1.4 Paralelismo de grano fino, de grano grueso, y

embarazoso○ 1.5 Modelos de la consistencia○ 1.6 Taxonomía de Flynn

● 2 Tipos de paralelismo○ 2.1 paralelismo del Pedacito-nivel○ 2.2 paralelismo del Instrucción-nivel○ 2.3 Paralelismo de los datos○ 2.4 Paralelismo de la tarea

● 3 Hardware○ 3.1 Memoria y comunicación○ 3.2 Clases de computadoras paralelas

■ 3.2.1 El computar Multicore■ 3.2.2 Multiprocessing simétrico■ 3.2.3 El computar distribuido

■ 3.2.3.1 El computar del racimo■ 3.2.3.2 Proceso paralelo masivo■ 3.2.3.3 El computar de la rejilla

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

■ 3.2.4 Computadoras paralelas especializadas● 4 Software

○ 4.1 Lenguajes de programación paralelos○ 4.2 Parallelization automático○ 4.3 Uso checkpointing

● 5 Usos● 6 Historia● 7 Referencias● 8 Acoplamientos externosFONDOTradicionalmente, el software se ha escrito para el cómputoserial. Para solucionar un problema, algoritmo se construye queproduce una corriente serial de instrucciones. Estasinstrucciones se ejecutan en la unidad central de proceso en unacomputadora. Se acaba se ejecuta solamente una instrucción puedeejecutarse en a tiempo-después de esa instrucción, el siguiente.El computar paralelo, por otra parte, utiliza el múltiplo queprocesa elementos simultáneamente para solucionar un problema.Esto es lograda rompiendo el problema en piezas independientesde modo que cada elemento de proceso pueda ejecutar su parte delalgoritmo simultáneamente. Los elementos de proceso pueden serdiversos e incluir recursos tales como una sola computadora conlos procesadores múltiples, varias computadoras networked,hardware especializado, o cualquier combinación del antedicho. Escalamiento de la frecuencia era la razón dominante de lasmejoras en funcionamiento de computadora a partir de los amediados de los años ochenta hasta 2004. El tiempo de pasada deun programa es igual al número de las instruccionesmultiplicadas por el tiempo medio por la instrucción.Manteniendo todo la constante, aumentando la frecuencia de relojdisminuye el tiempo medio que toma para ejecutar unainstrucción. Un aumento en frecuencia disminuye así el tiempo depasada para todo cómputo-limitado programas. Sin embargo, consumo de energía por una viruta es dado por la

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

ecuación el × V de P = de C2 El × F, donde está energía P, Ces capacitancia está siendo siendo cambiado por el ciclo dereloj (proporcional al número de cambio de las entradas de lostransistores que), V voltaje, y F es la frecuencia delprocesador (ciclos por segundo). Los aumentos en frecuenciaaumentan la cantidad de energía usada en un procesador. Consumode energía de aumento del procesador conducido en últimainstancia a Intel Cancelación del mayo de 2004 de su Tejas yJayhawk procesadores, que se cita generalmente como el final delescalamiento de la frecuencia como el paradigma dominante de laarquitectura de computadora. Ley de Moore es la observación empírica que la densidad deltransistor en un microprocesador dobla cada 18 a 24 meses. Apesar de ediciones del consumo de energía, y prediccionesrepetidas de su extremo, la ley de Moore todavía está en efecto.Con el final del escalamiento de la frecuencia, estostransistores adicionales (que se utilizan no más para elescalamiento de la frecuencia) se pueden utilizar para agregarel hardware adicional para computar paralelo.

Ley de Amdahl y ley de GustafsonTeóricamente, la aceleración del parallelization debe linear-doblar el número de procesar elementos si parten en dos eltiempo de pasada, y doblarlo una segunda vez parte en dos otravez el tiempo de pasada. Sin embargo, muy pocos algoritmosparalelos alcanzan óptimo aceleran. La mayor parte de hacen queun cercano-linear acelere para una pequeña cantidad de elementosde proceso, que aplana hacia fuera en un valor constante parauna gran cantidad de elementos de proceso.

El speedup potencial de un algoritmo en una plataforma quecomputa paralela se da cerca Ley de Amdahl, formuladooriginalmente cerca Gene Amdahl en los años 60. Indica que unaporción pequeña del programa que no puede ser hecho paralelismo

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

limitará el guardapolvo acelera disponible del parallelization.Cualquier problema matemático o de la ingeniería grandeconsistirá en típicamente varias piezas parallelizable y variaspiezas (secuenciales) no-parallelizable. Esta relación es dadapor la ecuación:Donde está la aceleración S del programa (como factor de sutiempo de pasada secuencial original), y P es la fracción que esparallelizable. Si la porción secuencial de un programa es el10% del tiempo de pasada, no podemos conseguir no más que unspeedup 10x, sin importar se agregan cuántos procesadores. Estopone un límite superior en la utilidad de agregar unidades másparalelas de la ejecución. “Cuando una tarea no se puederepartir debido a apremios secuenciales, el uso de más esfuerzono tiene ningún efecto en el horario. El cojinete de un niñotoma nueve meses, no importa cómo asignan muchas mujeres. “

Ley de Gustafson es otra ley en la ingeniería de computadora,relacionada de cerca con la ley de Amdahl. Puede ser formuladocomo:Donde está el número P de procesadores, S es la aceleración,y α la parte no-parallelizable del proceso.[11] La ley de Amdahlasume un tamaño del fijo-problema y que el tamaño de la secciónsecuencial es independiente del número de procesadores, mientrasque la ley de Gustafson no hace estas asunciones.

DependenciasComprensión dependencias de los datos es fundamental en poner enejecución algoritmos paralelos. Ningún programa puede funcionarmás rápidamente que la cadena más larga de los cálculosdependientes (conocidos como trayectoria crítica), puesto quelos cálculos que dependen de cálculos anteriores en la cadena sedeben ejecutar en orden. Sin embargo, la mayoría de losalgoritmos no consisten en apenas una cadena larga de cálculosdependientes; hay generalmente oportunidades de ejecutar

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

cálculos independientes en paralelo.

Deje Pi y Pj sea dos fragmentos del programa. Condiciones deBernstein describa cuando los dos son independientes y se puedenejecutar en paralelo. I dejadoi sea todas las variables de laentrada a Pi y Oi las variables de salida, y además para Pj.P i y Pj sea independiente si satisfacen

La violación de la primera condición introduce una dependenciadel flujo, correspondiendo a la primera declaración produciendoun resultado usado por la segunda declaración. La segundacondición representa una contra-dependencia, cuando la primeradeclaración sobre escribe una variable necesitada por la segundaexpresión. La tercera y final condición, q, es una dependenciade la salida. Cuando dos variables escriben a la mismalocalización, la salida final debe haberse presentado de lasegunda declaración.[13]

Considere las funciones siguientes, que demuestran varias clasesde dependencias:Función Dep(a, b) c: = a·b d: = 2·c

Función del finalOperación 3 adentro Dep(a, b) no puede ser ejecutado antes (oaún paralelamente a) de la operación 2, porque la operación 3utiliza un resultado de la operación 2. Viola posición uno, eintroduce así una dependencia del flujo.

Función NoDep(a, b) c: = a·b d: = 2·b e: = a+b

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

Función del finalEn este ejemplo, no hay dependencias entre las instrucciones,así que pueden todos ser funcionados en paralelo.Las condiciones de Bernstein no permiten que la memoria seacompartida entre diversos procesos. Para ése, algunos medios dehacer cumplir ordenar entre los accesos son necesarios, porejemplo semáforos, barreras o algún otro método de lasincronización.

Compita con las condiciones, la exclusión mutua, lasincronización, y la retardación paralelaLos Subtasks en un programa paralelo se llaman a menudo hilos derosca. Algunas arquitecturas de computadora paralelas utilizanversiones más pequeñas, ligeras de los hilos de rosca conocidoscomo fibras, mientras que otros utilizan versiones más grandesconocidas como procesos. Sin embargo, los “hilos de rosca” estángeneralmente aceptados como término genérico para los subtasks.Los hilos de rosca necesitarán a menudo poner al díaalguno variable eso se comparte entre ellos. Las instruccionesentre los dos programas pueden ser interpolado en cualquierorden. Por ejemplo, considere el programa siguiente:

Rosque A Hilo de rosca B1A: Lea V variable 1B: Lea V variable2A: Agregue 1 a Vvariable

2B: Agregue 1 a Vvariable

3A escriben de nuevo aV variable

3B: Escriba de nuevo aV variable

Si la instrucción 1B se ejecuta entre 1A y 3A, o si lainstrucción 1A se ejecuta entre el 1B y 3B, el programaproducirá datos incorrectos. Esto se conoce como a condición de

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

la raza. El programador debe utilizar a cerradura paraproporcionar exclusión mutua. Una cerradura es una construccióndel lenguaje de programación que permite que un hilo de roscatome control de una variable y prevenga otros hilos de rosca dela lectura o de la escritura él, hasta que se abre esa variable.El hilo de rosca que sostiene la cerradura está libre ejecutarsu sección crítica (la sección de un programa que requiere elacceso exclusivo a una cierta variable), y abrir los datoscuando se acaba. Por lo tanto, para garantizar la ejecución deprograma correcta, el programa antedicho se puede reescribirpara utilizar las cerraduras:

Rosque A Hilo de rosca B1A: Trabe V variable 1B: Trabe V variable2A: Lea V variable 2B: Lea V variable3A: Agregue 1 a Vvariable

3B: Agregue 1 a Vvariable

4A escriben de nuevo aV variable

4B: Escriba de nuevo aV variable

5A: Abra V variable 5B: Abra V variableUn hilo de rosca trabará con éxito V variable, mientras que seráel otro hilo de rosca trabado hacia fuera- incapaz procederhasta V se abre otra vez. Esto garantiza la ejecución correctadel programa. Las cerraduras, mientras que son necesarias paraasegurar la ejecución de programa correcta, pueden retardargrandemente un programa.

Fijación de usar múltiple de las variables no-atómico lascerraduras introducen la posibilidad de programa callejón sinsalida. Una cerradura atómica traba variables múltiples de unavez. Si no puede trabar todos, no traba cuales quiera de ellos.Si dos hilos de rosca cada necesidad de trabar las mismas dos

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

variables usando las cerraduras no-atómicas, él son posibles queun hilo de rosca trabará una de ellas y el segundo hilo de roscatrabará la segunda variable. En tal caso, ninguno de los doshilos de rosca puede terminar, y los resultados del callejón sinsalida.

Muchos programas paralelos requieren que sus subtasks acto ensynchrony. Esto requiere el uso de la barrera. Las barreras seponen en ejecución típicamente usando una cerradura delsoftware. Una clase de algoritmos, conocida como algoritmoscerradura-libres y esperar-libres, evita en conjunto el uso decerraduras y de barreras. Sin embargo, este acercamiento esgeneralmente difícil de poner en ejecución y requiere lasestructuras de datos correctamente diseñadas.

No todos los resultados del parallelization adentro aceleran.Generalmente, como una tarea se divide en cada vez más los hilosde rosca, esos hilos de rosca pasan una porción cada vez mayorde su tiempo que se comunica con uno a. Eventual, los gastosindirectos de la comunicación dominan el tiempo pasadosolucionando el problema, y aumentos más futuros delparallelization (es decir, partir el excedente de la carga detrabajo rosca aún más) más bien que disminuyen la cantidad detiempo requerida para acabar. Se conoce esto como retardaciónparalela.Paralelismo de grano fino, de grano grueso, y embarazosoLos usos se clasifican a menudo según cuantas veces sus subtasksnecesitan sincronizar o comunicarse con uno a. Un uso exhibeparalelismo de grano fino si sus subtasks deben comunicar muchasveces por segundo; exhibe paralelismo de grano grueso si nocomunican muchas veces por segundo, y es embarrassinglyparalelo si raramente o nunca tienen que comunicarse. Los usosparalelos de Embarrassingly se consideran el más fácil hacerparalelismo.

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

Modelos de la consistenciaArtículo principal: Modelo de la consistencia

Los lenguajes de programación paralelos y las computadorasparalelas deben tener a modelo de la consistencia (tambiénconocido como modelo de la memoria). El modelo de laconsistencia define las reglas para cómo las operacionesencendido memoria de computadora ocurra y cómo se producen losresultados.Uno de los primeros modelos de la consistencia era LeslieLamport consistencia secuencial modelo. La consistenciasecuencial es la característica de un programa paralelo que suejecución paralela produce los mismos resultados que un programasecuencial. Específicamente, un programa es secuencialmenteconstante si “… los resultados de cualquier ejecución soniguales como si las operaciones de todos los procesadores fueranejecutadas en una cierta orden secuencial, y las operaciones decada procesador individual aparecen en esta secuencia en laorden especificada por su programa”.[14]

Memoria transaccional del software es un tipo común de modelo dela consistencia. Préstamos transaccionales de la memoria delsoftware de teoría de la base de datos el conceptode transacciones atómicas y los aplica a los accesos de memoria.

Matemáticamente, estos modelos se pueden representar de variasmaneras. Redes de Petri, que fueron introducidas en la tesisdoctoral de Carl Adán Petri 1962, era una tentativa temprana decodificar las reglas de los modelos de la consistencia. Teoríadel flujo de datos construida más adelante sobre éstos,y Arquitecturas del flujo de datos fueron creados para ponerfísicamente las ideas en ejecución de la teoría del flujo dedatos. Comenzando en los últimos años 70, calculo de proceso porejemplo cálculo de sistemas que se comunican y procesos

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

secuenciales que se comunican fueron convertidos para permitirel razonamiento algebraico sobre los sistemas integrados porcomponentes que obraban recíprocamente. Adiciones más recientesa la familia de proceso del cálculo, tal como π-cálculo, hanagregado la capacidad por razonar sobre topologías dinámicas.Lógicas tales como Lamport TLA+, y modelos matemáticos porejemplo rastros y Diagramas del acontecimiento del agente,también se han convertido para describir el comportamiento desistemas concurrentes.

Taxonomía de FlynnMichael J. Flynn creado de los sistemas de clasificación mástempranos para las computadoras paralelas (y secuenciales) y losprogramas, ahora conocidos como Taxonomía de Flynn. Flynnclasificó programas y las computadoras cerca si funcionaban conun solo sistema o sistemas múltiples de instrucciones, si o noesas instrucciones utilizaban sistemas solos o múltiples dedatos.

TaxonomíadeFlynn

SoloInstrucción

MúltipleInstrucción

SoloDatos SISD MISD

MúltipleDatos

SIMD MIMD

Esta

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

caja: visión • charla • corrijaLa clasificación de los solo-instrucción-solo-datos (SISD) esequivalente a un programa enteramente secuencial. Laclasificación de los solo-instrucción-múltiple-datos (SIMD) esanáloga a hacer la misma operación en varias ocasiones sobre unmodem grande. Esto se hace comúnmente adentro proceso deseñal usos. los Múltiple-instrucción-solo-datos (MISD) son unaclasificación raramente usada. Mientras que las arquitecturas decomputadora a tratar de esto fueron ideadas (por ejemplo órdenessistólicos), pocos usos que cupieron esta clase materializada.los programas de los Múltiple-instrucción-múltiple-datos (MIMD)son en gran medida el tipo más común de programas paralelos.

Según David A. Patterson y Juan L. Hennessy, “algunas máquinasson híbridos de estas categorías, por supuesto, solamente estemodelo clásico ha sobrevivido porque es simple, fácil entender,y da una buena primera aproximación. Es también-quizás debido asu understandability-the la mayoría del esquema ampliamenteutilizado. “Tipos de paralelismoParalelismo del Pedacito-nivel

Artículo principal: paralelismo del Pedacito-nivelDel advenimiento de muy-grande-escale la integración Latecnología de la fabricación de la computadora-viruta (VLSI) enlos años 70 hasta cerca de 1986, acelera en arquitectura decomputadora fue conducida doblando tamaño de la palabra decomputadora- la cantidad de información que el procesador puedeejecutarse por ciclo.[16] El aumento del tamaño de la palabra

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

reduce el número de instrucciones que el procesador debeejecutarse para realizar una operación en las variables quetamaños son mayor que la longitud de la palabra. Por ejemplo,donde pedacito 8 el procesador debe agregar dos pedacito16números enteros, el procesador debe primero agregar los 8pedacitos de la bajo-orden de cada número entero usando lainstrucción estándar de la adición, después agrega los 8pedacitos higher-order usando una instrucción del agregar-con-llevar y lleve el pedacito de la adición más baja de la orden;así, un procesador de 8 pedacitos requiere dos instrucciones determinar una sola operación, donde estaría capaz un procesadorde 16 pedacitos de terminar la operación con una solainstrucción.

Históricamente, pedacito 4 los microprocesadores fueronsubstituidos por 8 el pedacito, entonces 16 pedacito, entonces32 microprocesadores del pedacito. Esta tendencia acabógeneralmente con la introducción de 32 procesadores delpedacito, que ha sido un estándar en computar de uso general pordos décadas. No hasta hace poco tiempo (circa 2003-2004), con eladvenimiento de x86-64 las arquitecturas, tienen 64-bit losprocesadores llegan a ser corrientes.

Paralelismo del Instrucción-nivelArtículo principal: Paralelismo llano de la instrucción

Un programa de computadora es, esencialmente, una corriente delas instrucciones ejecutadas por un procesador. Estasinstrucciones pueden ser reordenados y combinado en los gruposque entonces se ejecutan en paralelo sin cambiar el resultadodel programa. Esto se conoce como paralelismo de la instrucción-nivel. Los avances en paralelismo del instrucción-niveldominaron arquitectura de computadora a partir de los a mediadosde los años ochenta hasta los mid-1990s.

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

Los procesadores modernos tienen gradual tuberías de lainstrucción. Cada etapa en la tubería corresponde a una diversaacción que el procesador se realiza en esa instrucción en esaetapa; es decir un procesador con las etapas de la tubería de Npuede tener hasta diversas instrucciones de N en diversas etapasde la terminación. El ejemplo canónico de un procesadorcanalizado es un procesador del RISC, con cinco etapas: lainstrucción trae, descifra, se ejecuta, acceso de memoria, yescribe detrás. Pentium 4 el procesador tenía una tubería de 35etapas.

Además de paralelismo del instrucción-nivel de la can#ería,algunos procesadores pueden publicar más de una instrucción a lavez. Se conocen éstos como superscalar procesadores. Lasinstrucciones pueden ser agrupadas juntas solamente si hay nodependencia de los datos entre ellos. Scoreboarding y Algoritmode Tomasulo (que es similar a scoreboarding pero hace usoretitulación del registro) son dos de las técnicas más comunespara poner paralelismo estropeado de la ejecución en ejecución ydel instrucción-nivel.

Paralelismo de los datosArtículo principal: Paralelismo de los datos

El paralelismo de los datos es paralelismo inherenteadentro lazos del programa, que se centra en distribuir losdatos a través de diversos nodos que computan que se procesaránen paralelo. El “hacer paralelismo coloca conduce a menudo a lassecuencias similares o a las funciones de la operación (no nonecesariamente idéntica) que son realizadas en elementos de unaestructura de datos grande.” Muchos usos científicos y de laingeniería exhiben paralelismo de los datos.

Una dependencia lazo-llevada es la dependencia de una iteracióndel lazo de la salida de unas o más iteraciones anteriores. Las

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

dependencias Lazo-llevadas previenen el parallelization delazos. Por ejemplo, considere el siguiente pseudocódigo esecomputa los primeros Números de Fibonacci: prev2: = 0 prev1: = 1 cur: = 1:CUR: = PREV1 + PREV2 PREV2: = PREV1PREV1: = CUR Mientras que (CUR < 10)Este lazo no puede ser hecho paralelismo porque el CUR dependede sí mismo (PREV1) y de PREV2, que se computan en cadaiteración del lazo. Puesto que cada iteración depende delresultado del anterior, no pueden ser realizados en paralelo.Mientras que el tamaño de un problema consigue más grande, lacantidad de dato-paralelismo disponible hace generalmentetambién.[20]

Paralelismo de la tareaArtículo principal: Paralelismo de la tarea

El paralelismo de la tarea es la característica de un programaparalelo que “cálculos enteramente diversos se puedan realizaren iguales o diversos sistemas de datos”.[19] Esto pone encontraste con el paralelismo de los datos, donde el mismocálculo se realiza en iguales o los diversos sistemas de datos.El paralelismo de la tarea no escala generalmente con el tamañode un problema. Hardware

Memoria y comunicaciónLa memoria central en una computadora paralela escualquiera memoria compartida (compartido entre todos loselementos de proceso en un solo espacio de dirección), o memoria

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

distribuida (en cuál cada elemento tiene el proceso su propioespacio de dirección local). La memoria distribuida refiere alhecho de que la memoria está distribuida lógicamente, peroimplica a menudo que está distribuida físicamentetambién. Memoria compartida distribuida es una combinación delos dos acercamientos, donde el elemento de proceso tiene supropia memoria y acceso locales a la memoria en procesadoresnon-local. Los accesos a la memoria local son típicamente másrápidos que accesos a la memoria non-local.Arquitecturas de computadora en las cuales toda la memoriacentral se puede alcanzar con el igual estado latente y anchurade banda se conocen como Acceso de memoria uniforme Sistemas(UMA). Típicamente, solamente a memoria compartida el sistema(donde la memoria no se distribuye físicamente) puede alcanzaréstos. Un sistema que no tiene esta característica se conocecomo a Acceso de memoria no uniforme Arquitectura (NUMA). Lossistemas distribuidos de la memoria tienen acceso de memoria nouniforme.

Los sistemas informáticos hacen uso escondrijos- las memoriaspequeñas, rápidas situadas cerca del procesador que almacenancopias temporales de la memoria valoran (cerca en el sentidofísico y lógico). Los sistemas informáticos paralelos tienendificultades con los escondrijos que pueden almacenar el mismovalor en más de una localización, con la posibilidad deejecución de programa incorrecta. Estas computadoras requierena coherencia del escondrijo sistema, que no pierde de vistavalores depositados y los purga estratégico, así asegurando laejecución de programa correcta. Autobús snooping es uno de losmétodos más comunes para no perder de vista qué valores estánsiendo alcanzados (y debe ser purgado así). Diseñar sistemasgrandes, de alto rendimiento de la coherencia del escondrijo esun problema muy difícil en arquitectura de computadora.Consecuentemente, las arquitecturas de computadora de la

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

compartir-memoria no escalan tan bien como sistemas distribuidosde la memoria.[21]

El Procesador-procesador y la comunicación de la procesador-memoria se pueden poner en ejecución en hardware de variasmaneras, incluyendo vía compartido (cualquiera multiportedo multiplexado) memoria, a interruptor de barra transversal,compartido autobús o una red de la interconexión de una miríadade topologías el incluir estrella, anillo, árbol, hypercube,hypercube gordo (un hypercube con más de un procesador en unnodo), o acoplamiento dimensional de n.

Las computadoras paralelas basadas en redes de la interconexiónnecesitan tener cierta clase de encaminamiento para permitirpasar de mensajes entre los nodos que no están conectadosdirectamente. El medio usado para la comunicación entre losprocesadores es probable ser jerárquico en máquinas demultiprocesador grandes.

Clases de computadoras paralelasLas computadoras paralelas se pueden clasificar ásperas según elnivel en el cual el hardware apoya paralelismo. Estaclasificación es ampliamente análoga a la distancia entre losnodos que computan básicos. Éstas no son mutuamente exclusivas;por ejemplo, los racimos de multiprocesadores simétricos sonrelativamente comunes.

El computar MulticoreArtículo principal: Multi-core (computando)

Un procesador multicore es un procesador que incluyemúltiplo unidades de la ejecución (“corazones”). Estosprocesadores diferencian de los procesadores superscalar, quepueden publicar instrucciones múltiples por ciclo a partir deuna corriente de la instrucción (hilo de rosca); por el

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

contrario, un procesador multicore puede publicar instruccionesmúltiples por ciclo de corrientes múltiples de la instrucción.Cada base en un procesador multicore puede potencialmente sertan superscalar que el well- that es, en cada ciclo, cada basepuede publicar instrucciones múltiples a partir de una corrientede la instrucción.

El multithreading simultáneo (de qué Intel HyperThreading es elmás conocido) era una forma temprana de pseudo-multicoreism. Unprocesador capaz de multithreading simultáneo tiene solamenteuna unidad de la ejecución (“base”), pero cuando esa unidad dela ejecución está holgando (por ejemplo durante a falta deescondrijo), utiliza que unidad de la ejecución procesar unsegundo hilo de rosca. Intel Base y Base 2 las familias delprocesador son primeras arquitecturas multicore verdaderas deIntel. IBM Microprocesador de la célula, diseñado para el usoen Sony Playstation 3, es otro procesador multicore prominente.

Multiprocessing simétricoArtículo principal: Multiprocessing simétrico

Un multiprocesador simétrico (SMP) es un sistema informático conlos procesadores idénticos múltiples que comparten memoria yconectan vía un autobús. Contención del autobús previenearquitecturas del autobús del escalamiento. Consecuentemente,SMPs no abarca generalmente más de 32 procesadores. “Debido a eltamaño pequeño de los procesadores y la reducción significativaen los requisitos para la anchura de banda del autobús alcanzadapor los escondrijos grandes, tales multiprocesadores simétricosson extremadamente rentables, a condición de que existe unasuficiente cantidad de anchura de banda de la memoria.”

El computar distribuidoArtículo principal: El computar distribuido

Una computadora distribuida (también conocida como

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

multiprocesador distribuido de la memoria) es un sistemainformático distribuido de la memoria en el cual los elementosde proceso son conectados por una red. Las computadorasdistribuidas son altamente scalable.

El computar del racimoArtículo principal: Racimo de la computadora

Un racimo es un grupo de las computadoras débilmente acopladasque funcionan juntas de cerca, para en algunos respectospoderlos mirar como sola computadora. Los racimos se componen delas máquinas independientes múltiples conectadas por una red.Mientras que las máquinas en un racimo no tienen que sersimétricas, el balancear de la carga es más difícil si no son.El tipo más común de racimo es Racimo de Beowulf, que es unracimo puso en ejecución en idéntico múltiple disponiblecomercial las computadoras conectaron con a TCP/IP Ethernet redde área local. La tecnología de Beowulf fue desarrolladaoriginalmente cerca Thomas esterlina y Donald Becker. La mayoríaextensa de TOP500 los superordenadores son racimos.

Proceso paralelo masivoArtículo principal: Proceso paralelo masivo

Un procesador masivo paralelo (MPP) es una sola computadora conmuchos procesadores networked. MPPs tiene muchas de las mismascaracterísticas que racimos, pero son generalmente más grandes,típicamente teniendo “lejos más” que 100 procesadores.[27] En unMPP, “cada CPU contiene su propia memoria y copia del sistemaoperativo y del uso. Cada subsistema se comunica con los otrosvía una interconexión de alta velocidad. “[28]

Gene/L azul, el superordenador más rápido del mundo según lagraduación TOP500, es un MPP.

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

El computar de la rejillaArtículo principal: El computar de la rejilla

El computar de la rejilla es la forma distribuida de computarparalelo. Hace uso las computadoras que se comunican sobreInternet para trabajar en un problema dado. Debido a la anchurade banda baja y el estado latente extremadamente altodisponibles en el Internet, la rejilla que computa típicamentese ocupa solamente de problemas embarrassingly paralelos. Muchosusos que computan de la rejilla se han creado, deque SETI@home y Folding@Home son los ejemplos más conocidos.

La mayoría del uso de los usos de la rejilla quecomputa middleware- software que funciona entre el sistemaoperativo y el uso, que maneja recursos de la red y estandardizael interfaz de software para los usos que computan de larejilla. El middleware que computa de la rejilla más comúnes Infraestructura abierta de Berkeley para computar de lared (BOINC). A menudo, el software que computa de la rejillahace uso los “ciclos de repuesto”, realizando cómputosocasionalmente cuando una computadora está holgando.

Computadoras paralelas especializadasDentro de computar paralelo, hay los dispositivos paralelosespecializados que sigue habiendo campos de interés del lugar.Mientras que no dominio-específico, tienden para ser aplicablessolamente a algunas clases de problemas paralelos.Reconfigurable que computa con órdenes de puerta field-programmable

El computar de Reconfigurable es el uso de a arsenal de puertafield-programmable (FPGA) como co-procesador a una computadorade uso general. Un FPGA es, esencialmente, una viruta decomputadora que puede rewire para una tarea dada.FPGAs se puede programar con idiomas descriptivos del

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

hardware por ejemplo VHDL o Verilog. Sin embargo, laprogramación en estos idiomas puede ser aburrida. Varios vendedores han creado C a HDL idiomas que procuran emularel sintaxis y/o la semántica del Lenguaje de programación de C,con que la mayoría de los programadores son familiares. Lasidiomas más conocidas de C a de HDL son Mitrion-C, ImpulsoC, DIME-C, y Handel-C.Decisión de AMD para abrir su HyperTransport la tecnología a losvendedores de tercera persona se ha convertido en la tecnologíaque permitía para computar reconfigurable de alto rendimiento.Según Michael R. D'Amour, CEO de DRC Computer Corporation,“cuando primero caminamos en AMD, nos llamaron' zócalo stealers. 'Ahora nos llaman sus socios. “GPGPU con las unidades de proceso de los gráficos

Artículo principal: GPGPU

El computar de uso general encendido unidades de proceso de losgráficos (GPGPU) es una tendencia bastante reciente en lainvestigación de ingeniería de computadora. GPUs es los co-procesadores para los cuales se han optimizado pesadamentegráficos de computadora proceso. El proceso de los gráficos decomputadora es un campo dominado por operaciones-particular delparalelo de los datos álgebra linear matriz operaciones.

En los días tempranos, los programas de GPGPU utilizaron losgráficos normales APIs para ejecutar programas. Sin embargo,recientemente varios nuevos lenguajes de programación yplataformas se han construido para hacer el cómputo de finesgenerales en GPUs con ambos Nvidia y AMD lanzar ambientes deprogramación con CUDA y CTM respectivamente.

Otros lenguajes de programación de GPU son BrookGPU, PeakStream,y RapidMind. Nvidia también ha lanzado los productos específicospara el cómputo en su Serie de Tesla.

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

Circuitos integrados Application-specific

Artículo principal: Circuito integrado Application-specificVarios Circuito integrado Application-specific Los acercamientos(ASIC) se han ideado para ocuparse de usos paralelos. Porque un ASIC es (por la definición) específico a un uso dado,puede ser optimizado completamente para ese uso.Consecuentemente, para un uso dado, un ASIC tiende para superaruna computadora de uso general. Sin embargo, ASICs se creacerca Litografía de la radiografía. Este proceso requiere unamáscara, que puede ser extremadamente costosa. Una sola máscarapuede costar sobre millón de dólares de los E.E.U.U.  (Cuantomás pequeños son los transistores requeridos para la viruta, máscostosa la máscara será.) Mientras tanto, los aumentos delfuncionamiento en en un cierto plazo que computa de uso general(según lo descrito por Law de Moore) tienden para limpiar haciafuera estos aumentos en solamente uno o dos generaciones de laviruta. El alto coste inicial, y la tendencia de ser alcanzadopor computar de uso general Moore's-ley-conducido, ha hechoASICs irrealizable para la mayoría de los usos que computabanparalelos. Sin embargo, se han construido algunos. Un ejemplo esel peta-fracaso RIKEN MDGRAPE-3 máquina para la cual utilizaASICs de encargo dinámica molecularsimulación.Procesadores del vector

Artículo principal: Procesador del vectorUn procesador del vector es un sistema informático de la CPU oque puede ejecutar la misma instrucción en sistemas grandes dedatos. Los “procesadores del vector tienen operaciones de altonivel que trabajen en órdenes lineares de números o de vectores.Una operación del vector del ejemplo es donde están vectores A,B, y C de cada 64 elementos de 64-bit floating-point números.

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

“[35] Se relacionan de cerca con la clasificación de SIMD deFlynn.[35]

Cray las computadoras llegaron a ser famosas por suscomputadoras de vector-proceso en los años 70 y los años 80. Sinembargo, vector procesador-ambos pues han desaparecido las CPU ycomo computadora llena sistema-generalmente. Moderno sistemas deinstrucción del procesador incluya un cierto vector que procesainstrucciones, por ejemplo con AltiVec yExtensiones de SIMD quefluyen (SSE).Software

Lenguajes de programación paralelosArtículo principal: modelo de la programación paralela

Lenguajes de programación concurrentes, bibliotecas, APIs,y modelos de la programación paralela se han creado paraprogramar las computadoras paralelas. Éstos se pueden dividirgeneralmente en las clases basadas en las asunciones que hacensobre la memoria arquitectura-compartida memoria subyacente,memoria distribuida, o memoria distribuida compartida. Loslenguajes de programación compartidos de la memoria se comunicanpor variables compartidas de manipulación de la memoria.Aplicaciones distribuidas de la memoria el pasar delmensaje. Hilos de rosca de POSIX y OpenMP son dos de la mayoríade la memoria compartida ampliamente utilizada APIs, mientrasque Mensaje que pasa el interfaz (MPI) es el sistema el mensaje-pasar más ampliamente utilizado API. Un concepto usado en laprogramación de programas paralelos es concepto futuro, dondeuna porción de un programa promete entregar un dato requerido aotra parte de un programa en una cierta hora futura.

Parallelization automáticoArtículo principal: Parallelization automático

Parallelization automático de un programa secuencial por

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

a recopilador es “grail santo“de computar paralelo. A pesar dedécadas del trabajo de los investigadores del recopilador, elparallelization automático ha tenido solamente éxito limitado.[36]

Los lenguajes de programación paralelos de la corrienteprincipal siguen siendo cualquiera explícitamente paralelo o (enel mejor de los casos) parcialmente implícito, en que unprogramador da el recopilador directorios para elparallelization. Algunos lenguajes de programación paraleloscompletamente implícitos existen SISAL, Paralelo Haskell, y(para FPGAs) Mitrion-C-pero éstas son las idiomas del lugar queno son ampliamente utilizadas.

Uso checkpointingArtículo principal: Uso checkpointing

El el más grande y más complejo una computadora, más puede irmal y más corto tiempo medio de buen funcionamiento. Usocheckpointing es una técnica por el que el sistema informáticotome una “foto” del expediente del uso-uno de todas lasasignaciones de recurso actuales y estados variables,relacionada con a vaciado de memoria; esta información se puedeutilizar para restaurar el programa si la computadora falla.Medios checkpointing del uso que el programa tiene querecomenzar solamente de su punto de comprobación pasado más bienque del principio. Para un uso que pueda funcionar por meses,eso es crítico. El uso checkpointing se puede utilizar parafacilitar migración de proceso.Usos

Mientras que las computadoras paralelas llegan a ser más grandesy más rápidas, llega a ser factible para solucionar los

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

problemas que llevaron previamente demasiado largo elfuncionamiento. El computar paralelo se utiliza en una ampliagama de campos, de bioinformatics (para hacer plegamiento de laproteína) a la economía (hacer la simulación adentro finanzasmatemáticas). Los tipos comunes de problemas encontrados en usosque computan paralelos son:● Denso álgebra linear● Álgebra linear escasa● Métodos espectrales (por ejemplo Cooley-Tukey Fourier rápido

transforma)● problemas del N-cuerpo (por ejemplo Simulación de la Barnes-

Choza)● Rejilla estructurada problemas (por ejemplo Métodos de

Boltzmann del enrejado),● Rejilla no estructurada problemas (tales como encontrado

adentro análisis finito del elemento)● Simulación de Monte Carlo● Lógica Combinational (por ejemplo técnicas criptográficas de

la fuerza bruta)● Gráfico traversal (por ejemplo Algoritmos que clasifican)● Programación dinámica● Rama y límite métodos● Modelos gráficos (por ejemplo la detección Modelos ocultados

de Markov y el construir Redes Bayesian)● Autómata finito simulación

HistoriaArtículo principal: Historia de computar

Los orígenes del paralelismo verdadero (MIMD) van de nuevoa Federico Luigi, Conte Menabrea y su “bosquejo del Motoranalítico Inventado cerca Charles Babbage." IBM introdujo los704 de 1954, con un proyecto en el cual Gene Amdahlera uno delos arquitectos principales. Se convirtió en la primera

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

computadora disponible en el comercio para utilizarcompletamente automático coma flotante comandos aritméticos.  En1958, investigadores de IBM Juan Cocke y Daniel Slotnickdiscutió el uso del paralelismo en cálculos numéricos porprimera vez. Burroughs Corporation introdujo el D825 en 1962,una computadora del cuatro-procesador que tuvo acceso a hasta 16módulos de la memoria con a interruptor de barra transversal. En1967, Amdahl y Slotnick publicaron un discusión sobre laviabilidad del proceso paralelo en la federación americana de laconferencia de las sociedades de la tratamiento de lainformación. Era durante este discusión que la ley de Amdahl fueacuñada para definir el límite de acelera debido al paralelismo.En 1969, compañía de los E.E.U.U. Honeywell introdujo su primersistema de Multics, un sistema simétrico del multiprocesadorcapaz de funcionar hasta ocho procesadores en paralelo. C.mmp,un proyecto del multiprocesador de los años 70 enUniversidadCarnegie-Mellon, estaba “entre los primeros multiprocesadorescon más que algunos procesadores”. “El primer multiprocesadorautobús-conectado con los escondrijos snooping era la sinapsisN+1 en 1984.” Las computadoras paralelas de SIMD se pueden remontar de nuevo alos años 70. La motivación detrás de las computadoras tempranasde SIMD era amortizar la puerta retrasa del procesador unidad decontrol instrucciones múltiples excesivas. En 1964, Slotnickhabía propuesto el construir de una computadora masivo paralelapara Laboratorio del nacional de Lorenzo Livermore. Su diseñofue financiado por Fuerza aérea de los E.E.U.U., que era elesfuerzo paralelo-que computaba más temprano de SIMD, ILLIAC IV.La llave a su diseño era un paralelismo bastante alto, con hasta256 procesadores, que permitieron que la máquina trabajara endatasets grandes en qué sería conocida más adelante como procesodel vector. Sin embargo, ILLIAC IV fue llamado “el más infame desuperordenadores”, porque el proyecto era solamente un cuartoterminado, pero tomó 11 años y coste casi cuatro veces la

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

estimación original. Cuando era finalmente listo funcionar suprimer uso verdadero en 1976, fue superado por lossuperordenadores comerciales existentes tales como Cray-1.

Acoplamientos externos● El computar paralelo en Abra el proyecto del directorio● Laboratorio nacional de Lorenzo Livermore: Introducción a

computar paralelo● Programas paralelos que diseñan y constructivos, por Ian

Foster● Archivo que computa paralelo del Internet● Área de asunto del proceso paralelo en computar distribuido

de IEEE en línea● Libro en línea paralelo de los trabajos que computa

libremente● Las fronteras de Supercomputing liberan asuntos en línea de

la cubierta del libro como algoritmos y usos industriales

Elcomputarparalelo asuntos

General El computar de alto rendimiento

Paralelismo

paralelismo del Pedacito-nivel · Paralelismo llano de lainstrucción · Paralelismo de los datos · Paralelismo dela tarea

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

Teoría

Speedup · Ley de Amdahl · Taxonomía deFlynn (SISD • SIMD • MISD • MIMD) · Eficaciaeconómica · Ley de Gustafson ·Karp-Flattmétrico · Retardación paralela

Elementos Proceso · Hilo de rosca · Fibra · Máquina paralela delacceso al azar

Coordinación

Multiprocessing · Multithreading · Trabajosmúltiple · Coherencia de la memoria · Coherencia delescondrijo · Barrera ·Sincronización · El computardistribuido · El computar de la rejilla

Programación

Modelo de programación · Paralelismoimplícito · Paralelismo explícito

Hardware

Racimo de la computadora · Beowulf · Multiprocessingsimétrico · Acceso de memoria no uniforme ·Arquitecturade la memoria del escondrijo solamente · Multiprocessingasimétrico · El multithreading simultáneo ·Memoriacompartida · Memoria distribuida · Proceso masivoparalelo · Proceso de Superscalar · Proceso delvector ·Superordenador · Proceso de la corriente · GPGPU

Software Memoria compartida distribuida  · Usocheckpointing · Warewulf

APIs Hilos de rosca de POSIX · OpenMP · Mensaje que pasa elinterfaz (MPI) · Intel que rosca bloques de edificio

Problemas Paralelo de Embarrassingly · Desafío magnífico · Cierre

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]

Página 20 de 20lunes, 27 de

septiembre de2010

del software BIBLIOGRAFIA

http://www.worldlingo.com/ma/enwiki/es/Parallel_computinghttp://es.wikipedia.org/wiki/Programaci%C3%B3n_paralelahttp://es.wikiversity.org/wiki/%C3%81rea_de_Sistemas_Paralelos

Cuenta # 256052008 |Ingeniería en Computación | Dilcia Orebelina Elvir Ortiz |[email protected]