Memoria Compartida Distribuida Efraín Pinto Efraín Pinto Friedrich González Friedrich González...
-
Upload
santos-asencio -
Category
Documents
-
view
263 -
download
0
Transcript of Memoria Compartida Distribuida Efraín Pinto Efraín Pinto Friedrich González Friedrich González...
Memoria Compartida DistribuidaMemoria Compartida Distribuida
Efraín Pinto Efraín Pinto Friedrich GonzálezFriedrich González Miguel OjeaMiguel Ojea
Memoria Compartida Distribuida Memoria Compartida Distribuida con Base en Páginascon Base en Páginas
Diseño BásicoDiseño Básico RéplicaRéplica GranularidadGranularidad Obtención de la Consistencia SecuencialObtención de la Consistencia Secuencial
– Búsqueda del PropietarioBúsqueda del Propietario– Búsqueda de las CopiasBúsqueda de las Copias
Reemplazo de PáginasReemplazo de Páginas SincronizaciónSincronización
IntroducciónIntroducción
Sistemas clásicos (NORMA)Sistemas clásicos (NORMA) Referencia a memoria local y remota.Referencia a memoria local y remota. Primeras investigaciones orientadas a Primeras investigaciones orientadas a
reusabilidad del códigoreusabilidad del código Tratan de implementar consistencia Tratan de implementar consistencia
secuencialsecuencial
Consistencia SecuencialConsistencia Secuencial
El resultado de cualquier ejecución es el mismo El resultado de cualquier ejecución es el mismo que si las operaciones de todos los procesadores que si las operaciones de todos los procesadores fueran ejecutadas en algún orden secuencial, y las fueran ejecutadas en algún orden secuencial, y las operaciones de cada procesador individual operaciones de cada procesador individual aparecen en esta secuencia en el orden aparecen en esta secuencia en el orden especificado por su programaespecificado por su programa
Todos los procesadores ven todas las referencias a Todos los procesadores ven todas las referencias a memoria en el mismos ordenmemoria en el mismos orden
Los resultados no son deterministasLos resultados no son deterministas
Consistencia SecuencialConsistencia Secuencial
Dos ejecuciones del Dos ejecuciones del mismo programa mismo programa podrían no arrojar el podrían no arrojar el mismo resultado a mismo resultado a menos que se utilicen menos que se utilicen operaciones explicitas operaciones explicitas de sincronizaciónde sincronización
Diseño BásicoDiseño Básico
Emulan cache monitor de los Emulan cache monitor de los multiprocesadores mediante softwaremultiprocesadores mediante software
Espacio de memoria dividido en pedazos Espacio de memoria dividido en pedazos repartidos entre las memorias de los CPU’srepartidos entre las memorias de los CPU’s
El direccionamiento remoto implica traer el El direccionamiento remoto implica traer el pedazo de memoria completopedazo de memoria completo
RéplicaRéplica
Incrementa el rendimientoIncrementa el rendimiento Réplica de pedazos de solo lecturaRéplica de pedazos de solo lectura Réplica de pedazos de lectura-escrituraRéplica de pedazos de lectura-escritura InconsistenciaInconsistencia
GranularidadGranularidad
Tamaño del pedazo de memoria que se Tamaño del pedazo de memoria que se replicareplica
Fallo de páginaFallo de página Traer página completa vs. Traer varias Traer página completa vs. Traer varias
páginaspáginas Compartición falsaCompartición falsa Compiladores inteligentesCompiladores inteligentes
Obtención de la Consistencia Obtención de la Consistencia SecuencialSecuencial
Problema: Réplicas de páginas de lectura-Problema: Réplicas de páginas de lectura-escrituraescritura
Averiguar palabra a escribir y su valorAveriguar palabra a escribir y su valor Problema: Actualizaciones simultaneasProblema: Actualizaciones simultaneas Solución: Esquema de invalidaciónSolución: Esquema de invalidación Protocolo de invalidaciónProtocolo de invalidación Se garantiza consistenciaSe garantiza consistencia
Obtención de ConsistenciaObtención de ConsistenciaLectura - Caso 1Lectura - Caso 1
Se efectúa la lecturaSe efectúa la lectura
Obtención de ConsistenciaObtención de ConsistenciaLectura - Caso 2Lectura - Caso 2
Se efectúa la lecturaSe efectúa la lectura
Obtención de ConsistenciaObtención de ConsistenciaLectura - Caso 3Lectura - Caso 3
Se efectúa la lecturaSe efectúa la lectura
Obtención de ConsistenciaObtención de ConsistenciaLectura - Caso 4Lectura - Caso 4
Se efectúa la lecturaSe efectúa la lectura
Obtención de ConsistenciaObtención de ConsistenciaLectura - Caso 5Lectura - Caso 5
Se solicita una copiaSe solicita una copia Se marca la página Se marca la página
como Rcomo R Se efectúa la lecturaSe efectúa la lectura
Obtención de ConsistenciaObtención de ConsistenciaLectura - Caso 6Lectura - Caso 6
Se solicita una copiaSe solicita una copia Se solicita la Se solicita la
degradación de la degradación de la página a estado “R”página a estado “R”
Se efectúa la lecturaSe efectúa la lectura
Obtención de ConsistenciaObtención de ConsistenciaEscritura - Caso 1Escritura - Caso 1
Se efectúa la escrituraSe efectúa la escritura
Obtención de ConsistenciaObtención de ConsistenciaEscritura - Caso 2Escritura - Caso 2
Degradar página a Degradar página a estado “W”estado “W”
Se efectúa la escrituraSe efectúa la escritura
Obtención de ConsistenciaObtención de ConsistenciaEscritura - Caso 3Escritura - Caso 3
Solicitar invalidación Solicitar invalidación de copiasde copias
Degradar página a Degradar página a estado “W”estado “W”
Se efectúa la escrituraSe efectúa la escritura
Obtención de ConsistenciaObtención de ConsistenciaEscritura - Caso 4Escritura - Caso 4
Solicitar invalidación Solicitar invalidación de las copiasde las copias
Solicitar propiedadSolicitar propiedad Degrada la página a Degrada la página a
estado “W”estado “W” Se efectúa la escrituraSe efectúa la escritura
Obtención de ConsistenciaObtención de ConsistenciaEscritura - Caso 5Escritura - Caso 5
Solicitar invalidaciónSolicitar invalidación Solicitar propiedadSolicitar propiedad Solicitar copiaSolicitar copia Degrada la página a Degrada la página a
esatdo “W”esatdo “W” Se efectúa la escrituraSe efectúa la escritura
Obtención de ConsistenciaObtención de ConsistenciaEscritura - Caso 6Escritura - Caso 6
Solicitar invalidaciónSolicitar invalidación Solicitar propiedadSolicitar propiedad Solicitar copiaSolicitar copia Degrada la página a Degrada la página a
estado “W”estado “W” Se efectúa la escrituraSe efectúa la escritura
Obtención de la Consistencia Obtención de la Consistencia Secuencial – Búsqueda del Prop.Secuencial – Búsqueda del Prop.
Buscar directamente al propietarioBuscar directamente al propietario Usar controlador de páginasUsar controlador de páginas Multiples controladores de páginasMultiples controladores de páginas Registro de probables propietariosRegistro de probables propietarios
Obtención de la Consistencia Obtención de la Consistencia Secuencial – Búsqueda de CopiasSecuencial – Búsqueda de Copias Medio de transmisión no-confiableMedio de transmisión no-confiable Lista del conjunto de copiasLista del conjunto de copias Protocolo de invalidaciónProtocolo de invalidación
Reemplazo de PáginasReemplazo de Páginas
Buscar página para sacar de memoriaBuscar página para sacar de memoria Página poseida por otro procesoPágina poseida por otro proceso Página duplicada del proceso salientePágina duplicada del proceso saliente Página no duplicadaPágina no duplicada Transmitir número de marcos libresTransmitir número de marcos libres Problema de compartición activaProblema de compartición activa
SincronizaciónSincronización
Enfoque tradicional puede causar un Enfoque tradicional puede causar un desastre en el desempeñodesastre en el desempeño
Controlador de sincronizaciónControlador de sincronización
Memoria Compartida Distribuida Memoria Compartida Distribuida con con Variables CompartidasVariables Compartidas
Munin:Munin:– Consistencia de liberación.Consistencia de liberación.– Protocolos múltiples.Protocolos múltiples.– Directorios.Directorios.– Sincronización.Sincronización.
Midway:Midway:– Consistencia de entrada.Consistencia de entrada.– Implantación.Implantación.
Introducción MCDVCIntroducción MCDVC
Se comparten variables.Se comparten variables. Duplicación.Duplicación. Duplicación parcial o total.Duplicación parcial o total. Algoritmo de actualización.Algoritmo de actualización. No hay compartición falsa.No hay compartición falsa.
MuninMunin
Se basa en objetos del software (usa MMU).Se basa en objetos del software (usa MMU). Declaraciones con “shared”.Declaraciones con “shared”. Una variable compartida por página (por Una variable compartida por página (por
defecto).defecto). Instrucciones normales de lectura y Instrucciones normales de lectura y
escritura.escritura. No hay métodos de protección especiales.No hay métodos de protección especiales.
Consistencia De Liberación Consistencia De Liberación (Munin)(Munin)
Regiones criticas.Regiones criticas. Adquisición y liberación.Adquisición y liberación. No hay garantía en regiones críticas.No hay garantía en regiones críticas. Clases de variables:Clases de variables:
– Variables ordinarias.Variables ordinarias.– Variables de datos compartidos.Variables de datos compartidos.– Variables de sincronización.Variables de sincronización.
Consistencia De Liberación Consistencia De Liberación (Munin)(Munin)
Operación básica con variables ordinarias:Operación básica con variables ordinarias:– No se comparten.No se comparten.– Solo son accedidas por el proceso que las creo.Solo son accedidas por el proceso que las creo.
Consistencia De Liberación Consistencia De Liberación (Munin)(Munin)
Operación básica con variables de datos Operación básica con variables de datos compartidos:compartidos:– Son declaradas como tales.Son declaradas como tales.
Consistencia De Liberación Consistencia De Liberación (Munin)(Munin)
Operación básica con variables de Operación básica con variables de sincronización:sincronización:– Son accedidas mediante procedimientos de Son accedidas mediante procedimientos de
acceso proporcionados por el sistema. acceso proporcionados por el sistema. – Cerraduras: lock y unlock.Cerraduras: lock y unlock.– Barreras: increment y wait.Barreras: increment y wait.
Protocolos Múltiples (Munin)Protocolos Múltiples (Munin)
Categorías de variables:Categorías de variables:– Exclusiva para lectura.Exclusiva para lectura.– Migratoria.Migratoria.– De escritura compartida.De escritura compartida.– Convencional.Convencional.
Protocolos Múltiples (Munin)Protocolos Múltiples (Munin)
Exclusiva para lectura:Exclusiva para lectura:– Ocurre un fallo de página.Ocurre un fallo de página.– Busca la variable en el directorio.Busca la variable en el directorio.– Solicita la página al propietario. Solicita la página al propietario. – La página se duplica.La página se duplica.
No hay modificación.No hay modificación. No hay inconsistencia.No hay inconsistencia. Protegidas por el MMU. (Provoca error Protegidas por el MMU. (Provoca error
fatal cualquier intento de escritura).fatal cualquier intento de escritura).
Protocolos Múltiples (Munin)Protocolos Múltiples (Munin)
Migratoria:Migratoria:– Ocurre un fallo de página.Ocurre un fallo de página.– Busca la variable en el directorio.Busca la variable en el directorio.– Solicita la página al propietario. Solicita la página al propietario. – Se copia en la maquina que la va a usar. Se Se copia en la maquina que la va a usar. Se
elimina la copia original.elimina la copia original.– El propietario pasa a ser el proceso que la va a El propietario pasa a ser el proceso que la va a
usar.usar. No hay duplicación.No hay duplicación.
Protocolos Múltiples (Munin)Protocolos Múltiples (Munin)
De escritura compartida:De escritura compartida:– Al principio se utilizan como exclusivas para Al principio se utilizan como exclusivas para
lectura.lectura.– Ocurre una escritura.Ocurre una escritura.– Marca la página como sucia y crea una copia de Marca la página como sucia y crea una copia de
la página.la página.– Termina la modificación y envía las paginas Termina la modificación y envía las paginas
que fueron modificadas.que fueron modificadas.– Se restablece la exclusividad para lectura.Se restablece la exclusividad para lectura.
Protocolos Múltiples (Munin)Protocolos Múltiples (Munin)
De escritura compartida:De escritura compartida:
Protocolos Múltiples (Munin)Protocolos Múltiples (Munin)
Actualización en el que recibe la Actualización en el que recibe la modificación:modificación:– Si no ha sido modificada localmente actualiza Si no ha sido modificada localmente actualiza
todo.todo.– Si ha sido modificada localmente compara Si ha sido modificada localmente compara
palabra por palabra: la copia local, gemelo y palabra por palabra: la copia local, gemelo y pagina recibida.pagina recibida.
Protocolos Múltiples (Munin)Protocolos Múltiples (Munin)
Actualización:Actualización:
Palabra LocalPalabra Local Palabra Palabra RecibidaRecibida
AcciónAcción
No fue No fue modificadamodificada
Fue o no fue Fue o no fue modificada.modificada.
Se escribe la Se escribe la recibidarecibida
Fue modificadaFue modificada No fue No fue modificadamodificada
Se escribe la Se escribe la recibidarecibida
Fue modificadaFue modificada Fue modificadaFue modificada Error de tiempo Error de tiempo de ejecuciónde ejecución
Protocolos Múltiples (Munin)Protocolos Múltiples (Munin)
Convencionales:Convencionales:– Solo se permite una copia de cada pagina que Solo se permite una copia de cada pagina que
se pueda escribir.se pueda escribir.– Se desplaza de un proceso a otro.Se desplaza de un proceso a otro.
Directorios (Munin)Directorios (Munin)
Contienen:Contienen:– Categoría.Categoría.– Propietario.Propietario.– Si existe copia local.Si existe copia local.
Directorios (Munin)Directorios (Munin)
Algoritmo para encontrar propietario.Algoritmo para encontrar propietario.a)a) Después que P1 y P2 solicitan.Después que P1 y P2 solicitan.b)b) Después que P3 y P4 solicitan.Después que P3 y P4 solicitan.c)c) Después que P1 solicita de nuevo.Después que P1 solicita de nuevo.
Directorios (Munin)Directorios (Munin)
Registro del conjunto de copias.Registro del conjunto de copias. No hay consistencia.No hay consistencia.
Sincronización (Munin)Sincronización (Munin)
Cerraduras centralizadas:Cerraduras centralizadas:– Se obtiene el propietario de la cerradura en el Se obtiene el propietario de la cerradura en el
directorio.(Contiene un registro probable)directorio.(Contiene un registro probable)– Si el mismo es el propietario y esta libre se Si el mismo es el propietario y esta libre se
otorga el pedido.otorga el pedido.– Si la cerradura no es local y esta libre se otorga Si la cerradura no es local y esta libre se otorga
el pedido.el pedido.– Si la cerradura no es local y no esta libre se Si la cerradura no es local y no esta libre se
agrega al final de la cola.agrega al final de la cola.
Sincronización (Munin)Sincronización (Munin)
Barreras con servidor central.Barreras con servidor central.– Se recibe la cantidad de procesos que están Se recibe la cantidad de procesos que están
esperándola.esperándola.– Cada proceso envía el mensaje al servidor de Cada proceso envía el mensaje al servidor de
que ya terminó su tarea.que ya terminó su tarea.– El servidor central envía el mensaje para que El servidor central envía el mensaje para que
todos los procesos sean liberados.todos los procesos sean liberados.
MidwayMidway
Compartir estructuras de datos individuales.Compartir estructuras de datos individuales. C, C++ o ML convencional con C, C++ o ML convencional con
información adicional.información adicional. Mantiene consistentes las variables Mantiene consistentes las variables
compartidas de manera eficiente.compartidas de manera eficiente.
Consistencia De Entrada Consistencia De Entrada (Midway)(Midway)
Cerraduras exclusivas y no exclusivas.Cerraduras exclusivas y no exclusivas. Limitaciones al programador:Limitaciones al programador:
– La compartición de variables debe ser explícita.La compartición de variables debe ser explícita.– CadaCada variable debe estar asociada con una variable debe estar asociada con una
cerradura o barrera.cerradura o barrera.– Solo deben accesarse las variables compartidas Solo deben accesarse las variables compartidas
dentro de las secciones críticas.dentro de las secciones críticas. La actualización no es inmediata.La actualización no es inmediata.
Implantación (Midway)Implantación (Midway)
La adquisición de cerraduras exclusivas:La adquisición de cerraduras exclusivas:– Utiliza la cadena distribuida de propietarios Utiliza la cadena distribuida de propietarios
sucesivos para encontrar el proceso propietario.sucesivos para encontrar el proceso propietario.– Si el proceso propietario no la esta usando la Si el proceso propietario no la esta usando la
adquiere.adquiere.– Si el proceso propietario la esta usando el Si el proceso propietario la esta usando el
solicitante espera.solicitante espera.
Implantación (Midway)Implantación (Midway)
La adquisición de cerraduras no exclusivas:La adquisición de cerraduras no exclusivas:– Obtiene la copia de cualquier proceso que tenga Obtiene la copia de cualquier proceso que tenga
la copia de la página.la copia de la página. Las barreras son centralizadas.Las barreras son centralizadas.
Implantación (Midway)Implantación (Midway)
Actualización:Actualización:– Solo envía las actualizaciones necesariasSolo envía las actualizaciones necesarias– Mantiene un registro de actualización indicando Mantiene un registro de actualización indicando
a que proceso actualizó y en que tiempo.a que proceso actualizó y en que tiempo.– Cada maquina mantiene un reloj lógico.Cada maquina mantiene un reloj lógico.– Hay muy buen desempeño en comunicación.Hay muy buen desempeño en comunicación.
Introducción a DSMIntroducción a DSMbasada en objetosbasada en objetos
Nace como respuesta a la creciente Nace como respuesta a la creciente popularización de los lenguajes orientados popularización de los lenguajes orientados por objetos.por objetos.
Los datos se organizan y son transportados Los datos se organizan y son transportados en unidades de objetos, no unidades de en unidades de objetos, no unidades de páginas.páginas.
Es un modelo de programación de DSM de Es un modelo de programación de DSM de alto nivel.alto nivel.
¿Qué son los objetos?¿Qué son los objetos?
Estructura de datos encapsulada definida Estructura de datos encapsulada definida por el programador.por el programador.
Se componen de datos internos (estado) y Se componen de datos internos (estado) y operaciones o métodos.operaciones o métodos.
Cumplen con la propiedad de ocultamiento Cumplen con la propiedad de ocultamiento de la información, por lo que contribuyen de la información, por lo que contribuyen con la modularidad.con la modularidad.
Sistemas DSM Sistemas DSM basados en objetosbasados en objetos
Los procesos de varias máquinas comparten Los procesos de varias máquinas comparten un espacio abstracto ocupado por objetos un espacio abstracto ocupado por objetos compartidos.compartidos.
No existe una memoria lineal en bruto.No existe una memoria lineal en bruto. La localización y administración de los La localización y administración de los
objetos es controlada por el sistema de objetos es controlada por el sistema de tiempo de ejecución.tiempo de ejecución.
Sistemas DSMSistemas DSMbasados en objetos (II)basados en objetos (II)
Los objetos se pueden duplicar o no. En Los objetos se pueden duplicar o no. En caso de duplicarse, hay que decidir cómo caso de duplicarse, hay que decidir cómo se harán las actualizaciones.se harán las actualizaciones.
Evitan el compartimiento falso.Evitan el compartimiento falso. Sus principales desventajas son que no Sus principales desventajas son que no
soportan programas multiprocesadores soportan programas multiprocesadores antiguos y el costo adicional que genera el antiguos y el costo adicional que genera el acceso indirecto a los datos.acceso indirecto a los datos.
El Sistema LindaEl Sistema Linda
El acceso a memoria se hace mediante un El acceso a memoria se hace mediante un pequeño conjunto de primitivas que se pequeño conjunto de primitivas que se agregan a los lenguajes existentes.agregan a los lenguajes existentes.
Las ventajas son que no hay que aprender Las ventajas son que no hay que aprender un nuevo lenguaje, es sencillo de implantar un nuevo lenguaje, es sencillo de implantar y es portable.y es portable.
Se basa en un espacio de n-adas global a Se basa en un espacio de n-adas global a todo el sistema.todo el sistema.
Las n-adas de LindaLas n-adas de Linda
Son análogas a las estructuras de C.Son análogas a las estructuras de C. Las operaciones sobre ellas son restringidas; Las operaciones sobre ellas son restringidas;
sólo se soportan cuatro operaciones: sólo se soportan cuatro operaciones:
out(“matrix-I”, i, j, 3.14)out(“matrix-I”, i, j, 3.14)
in(“abc”, 2, ?i)in(“abc”, 2, ?i)
read(“abc”, 2, ?i)read(“abc”, 2, ?i)
eval(X,Y,Z), con X,Y,Z expresiones.eval(X,Y,Z), con X,Y,Z expresiones.
Implantación de LindaImplantación de Linda
Para todas las implantaciones, existe un Para todas las implantaciones, existe un preprocesador de Linda.preprocesador de Linda.
Toda implantación debe resolver:Toda implantación debe resolver:
- Direccionamiento sin búsqueda masiva.- Direccionamiento sin búsqueda masiva.
- Distribución y localización de n-adas.- Distribución y localización de n-adas.
La clave es la firma de tipo de cada n-ada.La clave es la firma de tipo de cada n-ada.
Implantación de Linda (II)Implantación de Linda (II)
En cuanto al hardware:En cuanto al hardware:
- En un multiprocesador - En un multiprocesador subespacios subespacios implantados como tablas de hash en memoria implantados como tablas de hash en memoria global.global.
- En una multicomputadora - En una multicomputadora
a) Si hay transmisión confiable:a) Si hay transmisión confiable:
Se pueden duplicar los subespacios.Se pueden duplicar los subespacios.
Se pueden hacer Se pueden hacer outout locales. locales.
Implantación de Linda (III)Implantación de Linda (III)
Se puede usar sistema de réplica Se puede usar sistema de réplica parcial.parcial.
b) Si no se soporta b) Si no se soporta broadcastbroadcast, se determina, se determina el subespacio correspondiente a la el subespacio correspondiente a la
n-ada n-ada
y se envía un mensaje.y se envía un mensaje.
El Sistema OrcaEl Sistema Orca
El acceso a memoria se basa en un esquema El acceso a memoria se basa en un esquema de objetos protegidos.de objetos protegidos.
Consta del lenguaje, el compilador y el Consta del lenguaje, el compilador y el sistema de tiempo de ejecución.sistema de tiempo de ejecución.
Se basa en Módula 2.Se basa en Módula 2. Los objetos son pasivos y no se soporta la Los objetos son pasivos y no se soporta la
herencia.herencia.
El Sistema Orca (II)El Sistema Orca (II)
Cada operación consta de una lista Cada operación consta de una lista (protección, bloque de enunciados).(protección, bloque de enunciados).
Cuenta con una operación Cuenta con una operación forkfork, en la que , en la que se basa la distribución de objetos.se basa la distribución de objetos.
Las operaciones son atómicas y Las operaciones son atómicas y secuencialmente consistentes.secuencialmente consistentes.
Usa sincronización de la exclusión mutua y Usa sincronización de la exclusión mutua y sincronización de condiciones.sincronización de condiciones.
Administración de objetosAdministración de objetosen Orcaen Orca
Es controlada por el sistema de tiempo de Es controlada por el sistema de tiempo de ejecución.ejecución.
Cada objeto tiene dos posibles estados: Cada objeto tiene dos posibles estados: única copia o duplicado.única copia o duplicado.
Para cada operación, se llama a Para cada operación, se llama a invoke_op,invoke_op, que actúa de acuerdo al caso:que actúa de acuerdo al caso:
- - Objeto no duplicado local.Objeto no duplicado local.
Administración de objetosAdministración de objetosen Orca (II)en Orca (II)
- Objeto no duplicado remoto.- Objeto no duplicado remoto.- Objeto duplicado y operación “lectura”.- Objeto duplicado y operación “lectura”.- Objeto duplicado y operación “escritura”.- Objeto duplicado y operación “escritura”.
Se basa en transmisión confiable basada en un Se basa en transmisión confiable basada en un secuenciador.secuenciador.
Si no hay transmisión confiable, se usa un Si no hay transmisión confiable, se usa un algoritmo de copia primaria de dos fases.algoritmo de copia primaria de dos fases.
Existe un mecanismo para decidir duplicación. Existe un mecanismo para decidir duplicación.
ComparaciónComparación
IVY imita un multiprocesador, haciendo IVY imita un multiprocesador, haciendo paginación a través de la red. Usa paginación a través de la red. Usa consistencia secuencial. Su problema es consistencia secuencial. Su problema es el desempeño.el desempeño.
Munin y Midway mejoran el desempeño Munin y Midway mejoran el desempeño con información del programador.con información del programador.
Midway soporta sólo un tipo de variable Midway soporta sólo un tipo de variable compartida y tres protocolos de consistencia compartida y tres protocolos de consistencia (de entrada, de liberación y de procesador).(de entrada, de liberación y de procesador).
Comparación (II)Comparación (II)
Munin soporta cuatro tipos de variables Munin soporta cuatro tipos de variables (read-only, migratoria, de escritura (read-only, migratoria, de escritura compartida y convencional) y sólo soporta compartida y convencional) y sólo soporta consistencia de liberación.consistencia de liberación.
En Midway y Munin la sincronización y En Midway y Munin la sincronización y acceso a los datos son tarea del acceso a los datos son tarea del programador, mientras que en Linda y Orca programador, mientras que en Linda y Orca los maneja el propio sistema.los maneja el propio sistema.
Comparación (III)Comparación (III)
Munin y Midway permiten la programación Munin y Midway permiten la programación en C y C++ ligeramente modificados, al en C y C++ ligeramente modificados, al igual que Linda; Orca usa un lenguaje igual que Linda; Orca usa un lenguaje completamente nuevo.completamente nuevo.
La DSM basada en páginas sólo soporta La DSM basada en páginas sólo soporta invalidación de copias, no actualización. invalidación de copias, no actualización. Además, permite compartimiento falso; Además, permite compartimiento falso; los otros tipos de DSM no.los otros tipos de DSM no.