Sistemas Operativos II Sistemas de Memoria Compartida Distribuida.docx

download Sistemas Operativos II Sistemas de Memoria Compartida Distribuida.docx

of 5

Transcript of Sistemas Operativos II Sistemas de Memoria Compartida Distribuida.docx

  • 7/24/2019 Sistemas Operativos II Sistemas de Memoria Compartida Distribuida.docx

    1/5

    Sistemas de Memoria Compartida DistribuidaLos sistemas de Memoria Compartida Distribuida (MCD), son sistemas que, mediante software, emulansemntica de memoria compartida sobre hardware que ofrece soporte solo para comunicacin mediantepaso de mensajes. ste modelo permite utili!ar una red de estaciones de trabajo de bajo costo como unamaquina paralela con "randes capacidades de procesamiento # amplia escalabilidad, siendo a la $e!fcil de pro"ramar.

    l objeti$o principal de estos sistemas es permitir que un multicomputador pueda ejecutar pro"ramasescritos para un multiprocesador con memoria compartidaCada uno de los nodos en un sistema de MCD aporta una parte de su memoria local para construir unespacio "lobal de direcciones $irtuales que ser empleado por los procesos paralelos que se ejecuten enel sistema. l software de MCD se encar"a de interceptar las referencias a memoria que hacen losprocesos, # satisfacerlas, #a sea local o remotamente.

    Configuraciones de memoria compartida distribuida.Computacin paralela% &n computador paralelo es un conjunto de procesadores capaces de cooperar enla solucin de un problema. l problema se di$ide en partes. Cada parte se compone de un conjunto deinstrucciones. Las instrucciones de cada parte se ejecutan simultneamente en diferentes C'&s.cnicas computacionales que descomponen un problema en sus tareas # pistas que pueden sercomputadas en diferentes mquinas o elementos de proceso al mismo tiempo.'or qu utili!ar computacin paralela*

    +educir el tiempo de procesamiento +esol$er problemas de "ran en$er"adura. 'ro$eer concurrencia. &tili!ar recursos remotos de cmputo cuando los locales son escasos. +educcin de costos usando mltiples recursos -baratos- en lu"ar de costosas supercomputadoras. mpliar los l/mites de memoria para resol$er problemas "randes.

    l ma#or problema de la computacin paralela radica en la complejidad de sincroni!ar unas tareas conotras, #a sea mediante secciones cr/ticas, semforos o paso de mensajes, para "aranti!ar la e0clusinmutua en las !onas del cdi"o en las que sea necesario.La computacin paralela est penetrando en todos los ni$eles de la computacin, desde computadorasmasi$amente paralelas usados en las ciencias de lar"a escala computacional, hasta ser$idores mltiples

    procesadores que soportan procesamiento de transacciones. Los principales problemas ori"inados encada uno de las reas bsicas de la informtica (por ejemplo, al"oritmos, sistemas, len"uajes,arquitecturas, etc.) se $uel$en an ms complejos dentro del conte0to de computacin paralela.D C1+C&123, 43D23 5 4&3, 51LL2 2 C25 C25M&D2+% 0isten $arias formas deimplantar f/sicamente memoria compartida distribuida, a continuacin se describen cada una de ellas.

    Memoria basada en circuitos% 0iste una nica rea de memoria # cada micro tiene su propio bus dedatos # direcciones (en caso de no tenerlo se $uel$e un esquema centrali!ado)

    MCD basada en bus% n este esquema los micros comparten un bus de datos # direcciones por lo que esms barato de implementar, se necesita tener una memoria cach "rande # sumamente rpida.

    Cone0in entre C'& # memoria se hace a tra$s de cables paralelos% l"unos transmiten las direcciones # datos que el C'& quiere leer o escribir 2tros en$/an o reciben datos. l resto para controlar las transferencias. Dicha coleccin de cables se conoce con el nombre de bus. 4uses pueden ser parte del chip, pero en la ma#or/a de los sistemas los buses son e0ternos # son

    usados para conectar circuitos impresos. &na forma simple de construir multiprocesadores es conectarlos en un bus con ms de un C'&.

    MCD basada en anillos% s ms tolerante a fallos, no ha# coordinador central # se pri$ile"ia el uso de lamemoria ms cercana.

  • 7/24/2019 Sistemas Operativos II Sistemas de Memoria Compartida Distribuida.docx

    2/5

    MCD basada en conmutador% 6arios micros se conectan entre s/ en forma de bus formando un "rupo, los"rupos estn interconectados entre s/ a tra$s de un conmutador. Cuando se reali!a una operacin dememoria se intenta reali!ar dentro del "rupo, de lo contrario pasa al conmutador para que loredirecciones a otro "rupo.

    Modelos de Consistencia.

    &n modelo de consistencia de memoria especifica las "arant/as de consistencia que un sistema MCDreali!a sobre los $alores que los procesos leen desde los objetos, dado que en realidad acceden sobreuna rplica de cada objeto # que mltiples procesos pueden actuali!ar los objetos.La duplicidad de los bloques compartidos aumenta el rendimiento, pero produce un problema deconsistencia entre las diferentes copias de la p"ina en caso de una escritura.3i cada escritura es necesario actuali!ar todas las copias el en$i de las pa"inas por red pro$oca que eltiempo de espera aumente demasiado con$irtiendo el mtodo en impracticable.

    Caracter/sticas de la Consistencia

    7 Mantener consistencia no es al"o simple.7 &n simple acceso a memoria puede requerir un "ran nmero de paquetes a ser en$iados.

    Modelos de Consistencia

    C253135C1 3+1C% l modelo de consistencia ms restricti$o es llamado consistencia estricta #es definido por la si"uiente condicin cualquier lectura sobre un /tem de dato 8 retorna un $alorcorrespondiente con la ms reciente escritura sobre 8.

    C253135C1 C3&L% s un debilitamiento de la consistencia secuencial. 3e hace unadiferenciacin entre e$entos que estn potencialmente relacionados en forma casual # aquellos que no.La condicin a cumplir para que unos datos sean casualmente consistentes es%scrituras que estn potencialmente relacionados en forma casual deben ser $istas por todos losprocesos en el mismo orden.

    C253135C1 3C&5C1L% La consistencia secuencial es una forma li"eramente ms dbil de laconsistencia estricta. 3atisface la si"uiente condicin%

    l resultado de una ejecucin es el mismo si las operaciones (lectura # escritura) de todos los procesossobre el dato fueron ejecutadas en al"n orden secuencial # las operaciones de cada proceso indi$idualaparecen en esta operaciones de cada proceso indi$idual aparecen en esta secuencia en el ordenespecificado por su pro"rama a) &n dato almacenado secuencialmente consistente. b) &n dato almacenado que no es secuencialmente consistente.

    C253135C1 D941L% Los accesos a $ariables de sincroni!acin asociadas con los datosalmacenados son secuencialmente consistentes.

    'ropiedades%5o se permite operacin sobre una $ariable de sincroni!acin hasta que todas las escrituras pre$ias deha#an completado. 5o se permiten operaciones de escritura o lectura sobre /tems de datos hasta que nose ha#an completado operaciones pre$ias sobre $ariables de sincroni!acin.

    C253135C1 L14+C1:5 (+L3)% l modelo de consistencia release, +C, se basa en elsupuesto de que los accesos a $ariables compartidas se prote"en en secciones cr/ticas empleandoprimiti$as de sincroni!acin, como por ejemplo loc;s. n tal caso, todo acceso esta precedido por unaoperacin adquiere # se"uido por una operacin release. s responsabilidad del pro"ramador que estapropiedad se cumpla en todos los pro"ramas.

  • 7/24/2019 Sistemas Operativos II Sistemas de Memoria Compartida Distribuida.docx

    3/5

    MCD en base de pginas.

    Cada C'& cuenta con su propia memoria # no pueden referenciar memoria remota

    directamente. Cuando direccin C'& se encuentra en una p"ina que reside en una mquina remota%

    2 +'L1C ?+5&L+1DD C253135C1

    @a# dos ra!ones principales para la replicacin de datos%

    Confiabilidad% Continuidad de trabajo ante ca/da de la rplica, ma#or cantidad de copias mejor proteccincontra la corrupcin de datos.

    +endimiento% l 3D escala en nmero, escala en rea "eo"rfica (disminu#e el tiempo de acceso aldato) Consulta simultnea de los mismos datos.

    ?+5&L+1DD% 3e refiere a la especificidad a la que se define un ni$el de detalle en una tabla, esdecir, si hablamos de una jerarqu/a la "ranularidad empie!a por la parte ms alta de la jerarqu/a, siendola "ranularidad m/nima, el ni$el ms bajo.

    M2DL23 D C253135C1% s esencialmente un contrato entre procesos # el almacenamiento de

    datos, es decir% si los procesos acuerdan obedecer ciertas re"las, el almacenamiento promete trabajarcorrectamente, normalmente un proceso que reali!a una operacin de lectura espera que esa operacinde$uel$a un $alor que refleje el resultado de la ltima operacin de escritura sobre el dato.

    Los modelos de consistencia se presentan di$ididos en dos conjuntos%

    Modelos de consistencia centrados en los datos. Modelos de consistencia centrados en el cliente.

  • 7/24/2019 Sistemas Operativos II Sistemas de Memoria Compartida Distribuida.docx

    4/5

    Parte de Nicols

    MCD en base a variable.

    Munin%

    Consistencia de liberacin. 'rotocolos mltiples. Directorios. 3incroni!acin.

    Midwa#%

    Consistencia de entrada. 1mplementacin.

    La comparticin falsa se produce cuando dos procesos se pelean el acceso a la misma p"ina dememoria, #a que contiene $ariables que requieren los dos, pero estas no son las mismas. sto pasa porun mal diseAo del tamaAo de las p"inas # por la poca relacin e0istente entre $ariables de la mismap"ina.

    n los MCD basados en $ariables se busca e$itar la comparticin falsa ejecutando un pro"rama en cadaC'& que se comunica con una central, la que le pro$ee de $ariables compartidas, administrando estecualquier tipo de $ariable, poniendo $ariables "randes en $arias p"inas o en la misma p"ina muchas$ariables del mismo tipo, en este protocolo es mu# importante declarar las $ariables compartidas.n los MCD basados en objetos se busca el acceso a datos por medio de la encapsulacin de lainformacin. B repartida a tra$s de la red, estos objetos sern definidos por el 'ro"ramador # las C'&scambiaran los estados se"n procedan con los accesos.

    MCD 43D 5 6+14L3 C2M'+1D3% l problema del false sharin" puede eliminarse si se

    utili!a una "ranularidad ms tan fin tan fina, como las entidades que usualmente se comparten en lospro"ramas paralelos%

    Las $ariables. De ser as/, el problema ahora consiste en cmo mantener re"istro de las $ariablesreplicadas. dems, es probable que sea ms con$eniente utili!ar una pol/tica de actuali!acin # no dein$alidacin, puesto que en la implementacin debe ser posible identificar escrituras a $ariablesindi$iduales.

    MCD en base a objetos.

    5ace como respuesta a la creciente populari!acin de los len"uajes orientados por objetos.

    Los datos se or"ani!an # son transportados en unidades de objetos, no unidades de p"inas.

    s un modelo de pro"ramacin de D3M de alto ni$el.

    &na alternati$a al uso de p"inas es tomar el objeto como base de la transferencia de memoria. unqueel control de la memoria resulta ms complejo, el resultado es al mismo tiempo modular # fle0ible, # lasincroni!acin # el acceso se pueden inte"rar limpiamente. 2tra de las restricciones de este modelo esque todos los accesos a los objetos compartidos han de reali!arse mediante llamadas a los mtodos delos objetos, con lo que no se admiten pro"ramas no modulares # se consideran incompatibles.

  • 7/24/2019 Sistemas Operativos II Sistemas de Memoria Compartida Distribuida.docx

    5/5

    &n ejemplo de un sistema de MCD que utili!a una "ranularidad a ni$el de $ariable compartida es Munin,una de las primeras implementaciones de MCD. Munin permite la ubicacin de $ariables indi$iduales enp"inas diferentes, de modo que se pueda utili!ar el hardware de pa"inacin para identificar los accesosa las $ariables compartidas.