next up previous contents
Next: ¿Otros servicios? Up: La Solución Previous: Portales: interrupciones distribuidas

DTLBs: TLBs software distribuidas

 

También es preciso suministrar mecanismos para utilizar los servicios de memoria proporcionados por el hardware.

Off implementa en software una tabla de traducciones de direcciones distribuidas. Dicha abstracción suministra la misma funcionalidad que suministra el hardware de traducción de direcciones. Sus usuarios pueden establecer traducciones de direcciones virtuales a direcciones físicas y el sistema multiplexa de forma segura el hardware de traducción de direcciones entre las aplicaciones involucradas. La diferencia crucial con los servicios suministrados por el hardware es que en Off las direcciones físicas pueden referirse no sólo a marcos de página local sino también a marcos de página de otros nodos (y ello sin imponer un único espacio de direcciones como se hace en [174, 122]).

Dado que dicha abstracción ha de ser implementable tanto en sistemas con MMUs (Memory management unit) como en sistemas que sólo poseen TLB (translation lookaside buffer), dicha tabla se comporta como una cache de traducciones. Por dicha razón recibe el nombre de TLB software distribuida (DTLB). La DTLB permite implementar sistemas de memoria virtual (distribuidos y centralizados) en área de usuario. Puede considerarse como una versión distribuida del mecanismo presentado en [61],

El modo en que se use la memoria local para hacer cache de la remota y otras políticas involucradas están definidas por las aplicaciones; Off no incorpora ninguna política de gestión de memoria, sólo los mecanismos básicos suministrados por el hardware distribuido en la red [12].

Vemos entonces que la memoria física está dividida en marcos que se asignan bajo demanda. La consideración de la memoria existente en la red, y no sólo en un nodo, permite emplear políticas de asignación y revocación locales o globales según se prefiera.

En consecuencia, pueden coexistir simultáneamente en Off diferentes sistemas de memoria distribuida compartida (DSMs --de distributed shared memory) [63] y de memoria virtual distribuida [179] sin reimplementar una sóla línea del trabajo hecho por Off. Estos sistemas pueden ahora adaptarse (un buen sistema sería utilizar diseños similares a [91]), puesto que ejecutan a nivel de usuario, y pueden reemplazarse cuando sean inapropiados. Incluso cuando se reemplacen, los servicios de memoria serán esencialmente distribuidos puesto que la abstracción básica (la DTLB) lo permite.

Así, una aplicacióngif centralizada puede ahora utilizar transparentemente memoria remota mediante la DTLB (como ejemplo extremo de dicha aplicación podría considerarse un gestor centralizado de memoria virtual que, gracias a la DTLB, gestionase sin saberlo memoria procedente de otros nodos) y esa transparencia no impide el uso de sus propias políticas y mecanismos.


next up previous contents
Next: ¿Otros servicios? Up: La Solución Previous: Portales: interrupciones distribuidas

Francisco J. Ballesteros
Fri Dec 19 17:18:03 MET 1997