Recolección de basura distribuida


La recolección de basura distribuida ( DGC ) en informática es un caso particular de recolección de basura donde un cliente remoto puede contener referencias a un objeto .

DGC utiliza una combinación de las técnicas clásicas de recolección de basura (GC), rastreo y recuento de referencias . Tiene que cooperar con los recolectores de basura locales en cada proceso para mantener conteos globales o rastrear globalmente la accesibilidad de los datos. En general, los procesadores remotos no tienen que saber sobre el recuento o rastreo interno en un proceso dado, y la información relevante se almacena en interfaces asociadas con cada proceso.

DGC es complejo y puede resultar costoso y lento para liberar memoria. Como una forma económica de evitar los algoritmos DGC, uno puede confiar en un tiempo de arrendamiento - establecido o configurado en el objeto remoto; Es tarea del stub renovar periódicamente la concesión del objeto remoto. Si la concesión ha expirado, el proceso del servidor (el proceso que posee el objeto remoto) puede asumir con seguridad que el cliente ya no está interesado en el objeto, o que una partición de red o falla.renovación del contrato de arrendamiento obstruida, en cuyo caso es "mala suerte" para el cliente si de hecho todavía está interesado. Por lo tanto, si solo hay una única referencia al objeto remoto en el servidor que representa una referencia remota de ese cliente, esa referencia puede descartarse, lo que significa que el recolector de basura local en el servidor recolectará el objeto en algún futuro. punto en el tiempo.