En Granularidad Fina o Fine-grained, las tareas individuales son
relativamente pequeñas en término de tiempo de ejecución. La
comunicación entre los procesadores es frecuente. En cambio en
Granularidad gruesa o Coarse-grained, la comunicación entre los
procesadores es poco frecuente y se realiza después de largos periodos
de ejecución.
Javier Collantes.
La granularidad se refiere a que tan fino se quiere que sea un
bloqueo. Por ejemplo si se desea bloquear la tabla completa (un
bloqueo de granularidad gruesa) o solo desea bloquear una fila
especifica (un bloqueo de granularidad fina).
Deben tenerse en cuenta ciertas cuestiones relacionadas con la
profundidad de los bloqueos. Con un bloqueo de granularidad fina se
adquieren muchos recursos para administrar el bloqueo, pero se asegura
la consistencias de los datos. Con un bloqueo de granularidad gruesa
se utilizan menos recursos pero se aumenta el riesgo de inconsistencia
de los datos, y tal vez hasta se evite que otros usuarios realicen sus
tareas. Por lo general SQL Server 2000 se encarga del bloqueo por
nosotros.
On 22 ene, 19:52, angel <agper...@gmail.com> wrote:
> ¿Qué es?, ¿a través de qué se puede implementar?
La granularidad de sincronización, o frecuencia, entre procesos en el
sistema, es una buena manera de caracterizar multiprocesadores y
ubicarlos en un contexto con otras arquitecturas. Se pueden distinguir
cinco categorías de paralelismo que difieren en el grado de
granularidad.
Ø Paralelismo de Grano Fino: El paralelismo de grado fino
representa un uso mucho más complejo del paralelismo que es encontrado
en el uso de hebras. Aunque muchos trabajos han sido hechos en
aplicaciones altamente paralelas, es un área especializada y
fragmentada, con muchos enfoques diferentes.
Ø Paralelismo de Grano Medio: Una aplicación puede ser
efectivamente implementada como una colección de hebras con un
paralelismo simple. En este caso, el paralelismo potencial de una
aplicación debe ser explícitamente especificado por el programador.
Generalmente se necesitará un alto grado de coordinación e
interacción entre las hebras de una aplicación, levando a un nivel
medio de sincronización.
Mientras que el paralelismo independiente, de gran grueso y de grano
muy grueso puedan verse respaldados tanto en un monoprocesador
multiprogramado como en un multiprocesador con poco o ningún impacto
sobre la función de planificación, se debe revisar la planificación
cuando se trata de la planificación de hilos. Puesto que los diversos
hilos de una planificación interactúan de forma muy frecuente, las
decisiones de planificación que involucran a un hilo pueden afectar al
rendimiento de la aplicación completa.
Ø Paralelismo de Grano Grueso y muy grueso: Con esta clase de
paralelismo existe sincronización entre procesos pero a nivel muy
grosero. Esta clase de situación es fácilmente entendible como un
grupo de procesos concurrentes ejecutándose en un monoprocesador
multiprogramado y puede ser soportado en un multiprocesador con un
pequeño o no cambio al software del usuario.
Un ejemplo simple de una aplicación que puede aprovechar la presencia
de un microprocesador. Los autores han desarrollado un programa que
recibe una especificación de los archivos que necesitan ser
recopilados para reconstruir una parte del software y determinan
cuales de estas compilaciones (normalmente todas) pueden ejecutarse
simultáneamente el programa crea entonces un proceso para cada
compilación paralela. Los resultados indican que la aceleración en un
multiprocesador supera la que realmente la que podría esperarse
añadiendo simplemente el número de procesadores usados, debido a las
sinergias en las caches del disco y compartir el código del
compilador, que se carga en la memoria solo una vez.
En general, cualquier conjunto de procesos concurrentes que necesiten
comunicarse o sincronizarse puede aprovechar el uso de las
arquitecturas de los multiprocesadores. Un sistema distribuido puede
ofrecer un soporte adecuado en caso de interacciones poco frecuentes
entre los procesos. Sin embargo, si la interacción es algo más
frecuente, la sobrecargo de comunicaciones a través de la red puede
anular parte de la posible aceleración. En este caso, la organización
del multiprocesador ofrece el soporte más efectivo.
Ø Paralelismo Independiente: Entre los procesos no existe una
sincronización explícita. Cada uno representa una separación, una
aplicación independiente. El uso típico de este tipo de paralelismo es
en los sistemas de tiempo compartido.
Cada usuario está ejecutando una aplicación en particular, como un
procesador de textos o una hoja de cálculo. El multiprocesador ofrece
el mismo servicio que un procesador multiprogramado. Como hay más de
un procesador disponible, el tiempo medio de respuesta a los usuarios
será menor.
Es posible alcanzar un aumento similar de rendimiento proporcionado a
cada usuario un computador personal o una estación de trabajo. Si van
a compartirse archivos o alguna información, entonces se deben
conectar los sistemas individuales en un sistema distribuido
soportado por una red. Por otro lado, un único sistema multiprocesador
ofrece, en muchos casos, un coste mejor que un sistema distribuido,
pudiendo así mejorar los discos y otros periféricos.
Tambien puede definirse como el nivel de detalle, es decir de finura,
considerado en un modelo o en la toma de deciciones de un proceso,
mientras mayor sea la granularidad, mas profundo es el nivel de
detalle (Finura de los datos).
Más granularidad implica una mayor flexibilidad en la personalización
de un sistema, porque hay más, los incrementos más pequeños (gránulos)
de los cuales elegir. Puede implementarce a travez de algoritmos,
secuencias de comando..
:D.... ta bueno verdad?????? 20pts profe.!
On 22 ene, 19:52, angel <agper...@gmail.com> wrote: