Sunteți pe pagina 1din 5

Una cuestin importante en la elaboracin de un algoritmo paralelo para un

problema dado es la manera en la que la carga computacional se divide


entre los mltiples procesadores. El esquema ms eficiente depende a
menudo tanto en el problema y en la arquitectura de la mquina paralela.
Esta seccin expone algunas de las cuestiones clave en el procesamiento en
paralelo a travs de un sencillo ejemplo [Quin94].
Considere el problema de la construccin de la lista de todos los nmeros
primos en el intervalo [1, n] para un nmero entero n > 0. Un simple
algoritmo que puede ser utilizado para este clculo es el criba de
Eratstenes.
Comience con la lista de los nmeros 1, 2, 3, 4,. . . , N representa como una
"marca" vector de bits inicializado a 1000. . . 00. En cada paso, el siguiente
nmero m no marcado (asociado con un 0 en el elemento m de la brocavector marca) es un nmero primo. Encuentra este elemento m y marcar
todos los mltiplos de m empezando por m. Cuando m> n, el clculo se
detiene y todos los elementos no marcados son los nmeros primos. Los
pasos de clculo para n = 30 se muestran aqu;

La Figura muestra una implementacin de un solo procesador del algoritmo.


La variable "Current Prime" es inicializado a 2 y, en etapas posteriores,
mantiene el ltimo nmero primo encontrado.
Para cada primer encontr, "Index" se inicializa a la plaza de este primer y
es entonces incrementado en el primer actual con el fin de marcar todos sus
mltiplos.
La figura 1.5 muestra los primeros procesadores p solucin usando
paralelas. La lista de nmeros y el primer actual se almacenan en una
memoria compartida que sea accesible para todos los procesadores. Un idle
procesador se refiere simplemente a la memoria compartida, actualiza el
primer curso y utiliza su privado ndice para recorrer la lista y marque los
mltiplos de que el primer. Divisin del trabajo es, pues, autorregulado. La
figura 1.6 muestra las actividades de los procesadores (el primer que estn
trabajando en cualquier instante dado) y el tiempo de terminacin para n =
1.000 y 1 p 3. Tenga en cuenta que el uso de ms de tres procesadores no
reducira el tiempo de clculo en este control en paralelo
Examinamos a continuacin un enfoque de datos en paralelo en el que el
vector de bits que representa la n nmeros enteros se divide en segmentos
p de igual longitud, con cada segmento almacenado en el privado memoria
de un procesador (Fig. 1.7). Supongamos que p <para que todos los
nmeros primos cuya mltiplos tienen que ser marcados residen en
procesador 1, que acta como un coordinador: Se encuentra el prximo
primer y emisiones que a todos los dems procesadores, que luego
proceden a marcar los nmeros en sus sublistas. El tiempo total de solucin
ahora consta de dos componentes: el tiempo pasado en la transmisin de
los nmeros primos seleccionados para todos los procesadores (tiempo de
comunicacin) y el tiempo por los procesadores individuales que marcan sus
sublistas (tiempo de clculo). Tpicamente, la comunicacin tiempo crece
con el nmero de procesadores, aunque no necesariamente de una forma
lineal.
La figura 1.8 muestra que debido a la sobrecarga de comunicacin antes
mencionada, aadiendo ms procesadores ms all de un cierto nmero
ptimo no conduce a ninguna mejora en el total tiempo de solucin o en
alcanzable aceleracin

Por ltimo, considere la solucin de datos en paralelo, pero con los datos de
E / S de tiempo tambin incluido en el tiempo total de solucin. Suponiendo
por simplicidad que el tiempo de E / S es constante y haciendo caso omiso
tiempo de comunicacin, el tiempo de E / S constituir una mayor fraccin
del tiempo total de la solucin como la parte de clculo se acelera
aadiendo ms y ms procesadores. Si E / S tiene 100 segundo, por
ejemplo, a continuacin, hay poca diferencia entre hacer la parte de clculo
en 1 segundo o en 0,01 segundos. Ms adelante veremos que tal
"secuencial" o "partes" de unparallelizable clculos limitan severamente la
velocidad de levante que se puede lograr con el procesamiento paralelo.
La figura 1.9 muestra el efecto de E / S en el tiempo de solucin total y la
posible aceleracin.

S-ar putea să vă placă și