planificacion multiprocesdadores

Páginas: 38 (9469 palabras) Publicado: 19 de mayo de 2015
Organización de Computadores

Universidad de Valencia

5.5. Sincronización.
La comunicación entre procesos en un sistema multiprocesador se realiza utilizando memoria
compartida. El acceso a esta memoria compartida, o a las variables que contendrá, se debe realizar
de forma sincronizada. Los mecanismos de sincronización suelen implementarse mediante rutinas
software que descansan en lasinstrucciones de sincronización proporcionadas por el hardware. Sin
esta capacidad, el coste de construir las primitivas básicas de sincronización sería demasiado alto y
se incrementaría al incrementarse el número de procesadores. Estas primitivas forman los bloques
de construcción básicos para implementar una amplia variedad de operaciones de sincronización a
nivel de usuario, incluyendo elementos talescomo los cerrojos y las barreras.
Pero, ¿es tan necesaria la sincronización en el acceso a memoria compartida? Para contestar a esta
pregunta no tenemos más que mirar el código que aparece a continuación.

La suma de los elementos de un vector AA ha sido repartida entre n procesadores. Cada proceso
tiene un identificador iproc, y se encarga de sumar el contenido de su variable local sump a lavariable compartida sum. Si el acceso a esta variable compartida sum no se serializa expresamente,
no se podrá garantizar un resultado correcto en la ejecución de este código.
El soporte hardware, frente a una realización software de las rutinas de sincronización, tiene la
ventaja de la velocidad, pero mover funcionalidad al software tiene la ventaja de la flexibilidad y
la adaptabilidad a diferentessituaciones. Los trabajos de Dijkstra y Knuth mostraron que es
posible proporcionar exclusión mutua únicamente con operaciones de lectura y escritura exclusiva
(suponiendo una memoria con consistencia secuencial). Sin embargo, todas las operaciones de
sincronización prácticas descansan en primitivas atómicas del tipo leer-modificar-escribir, en
donde el valor de una posición de la memoria se lee,modifica y se vuelve a escribir de manera
atómica.
La historia del diseño del conjunto de instrucciones nos permite observar la evolución de soporte
hardware para la sincronización. Una de las instrucciones clave fue la inclusión en el IBM 370 de
una instrucción atómica sofisticada, la instrucción “compareand-swap”, para soportar la
sincronización en multiprogramación sobre sistemas uniprocesador omultiprocesador. Esta
instrucción compara el valor de una posición de la memoria con el valor de un registro específico,
y si son iguales se intercambia el valor de la posición con el valor de un segundo registro. El Intel
x86 permite añadir a cualquier instrucción un prefijo que la hace atómica, con lo que haciendo que
los operandos fuente y destino sean posiciones de la memoria es posibleutilizar la mayor parte del
Vicente Arnau Llombart

75

20 de marzo de 2012

Organización de Computadores

Universidad de Valencia

conjunto de instrucciones para implementar operaciones atómicas. También se ha propuesto que
las operaciones de sincronización a nivel de usuario, como barreras y candados, deben ser
soportadas a nivel de máquina, y no sólo las primitivas leer-modificar-escribir; esdecir, el propio
algoritmo de sincronización debe implementarse en hardware. Esta cuestión pasó a ser muy activa
a raíz del debate sobre la reducción del conjunto de instrucciones, ya que las operaciones que
acceden a memoria fueron reducidas a simple instrucciones de lectura y escritura con un único
operando. La solución de SPARC fue proporcionar operaciones atómicas de intercambio entre un
registro yuna dirección de memoria (intercambio atómico entre el contenido de la posición de
memoria y el registro) y de comparación e intercambio, mientras que MIPS renunció a las
primitivas atómicas utilizadas en sus anteriores conjuntos de instrucciones, al igual que hizo la
arquitectura IBM Power usada en el RS6000. La primitiva que se introdujo fue la combinación de
un par de instrucciones que...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Planificacion
  • Planificacion
  • Planificacion
  • Planificacion
  • Planificación
  • Planificación
  • Planificacion
  • Planificacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS