분산 가비지 컬렉션
Distributed garbage collection컴퓨팅에서의 분산 가비지 컬렉션(DGC)은 리모트클라이언트가 오브젝트에 대한 참조를 유지할 수 있는 가비지 컬렉션의 특정 케이스입니다.
DGC는 고전적인 가비지 컬렉션(GC) 기술, 트레이스 및 참조 카운트를 조합하여 사용합니다.글로벌 카운트를 유지하거나 데이터 접근성을 글로벌하게 추적하기 위해 각 프로세스에서 로컬 가비지 수집기와 협력해야 합니다.일반적으로 리모트 프로세서는 특정 프로세스의 내부 카운트 또는 트레이스에 대해 알 필요가 없으며 관련 정보는 각 프로세스에 관련된 인터페이스에 저장됩니다.
DGC는 복잡하고 비용이 많이 들고 메모리 확보가 늦어질 수 있습니다.DGC 알고리즘을 회피하는 저렴한 방법으로서 리모트 오브젝트에 설정 또는 설정된 타임리스에 의존할 수 있습니다.리모트 오브젝트의 리스를 정기적으로 갱신하는 것은 스터브 작업입니다.리스가 만료된 경우 서버 프로세스(리모트개체를 소유하는 프로세스)는 클라이언트가 오브젝트에 더 이상 관심이 없거나 네트워크 파티션 또는 크래쉬로 인해 리스 갱신이 방해되고 있다고 가정할 수 있습니다.이 경우, 실제로는 아직 관심이 있는 경우 클라이언트에 대해서는 「불행」입니다.따라서 해당 클라이언트로부터의 리모트레퍼런스를 나타내는 리모트개체에 대한 참조가 서버상에1개밖에 없는 경우 해당 참조는 폐기될 수 있습니다.즉, 서버상의 로컬가비지 콜렉터는 미래의 시점에서 오브젝트를 가비지 수집합니다.
레퍼런스
- Abdullahi, Saleh E.; Ringwood, Graem A. (1998). "Garbage collecting the Internet: a survey of distributed garbage collection". ACM Computing Surveys. 30 (3): 330–373. doi:10.1145/292469.292471. S2CID 17057004.