1 |
1
컴퓨터 시스템의 방법에 있어서, 포인터 기반 메모리 수집 기법과 시대 기반 메모리 수집 기법을 혼합하여, 포인터 및 시대 기반 메모리 수집 기법을 구현하는 단계; 및상기 포인터 및 시대 기반 메모리 수집 기법을 기반으로, 동시성 자료구조의 메모리 수집을 수행하는 단계를 포함하는, 방법
|
2 |
2
제 1 항에 있어서, 상기 포인터 및 시대 기반 메모리 수집 기법을 구현하는 단계는,상기 포인터 기반 메모리 수집 기법의 함수들을 이용하여, 상기 포인터 및 시대 기반 메모리 수집 기법을 구현하고, 상기 포인터 기반 메모리 수집 기법의 함수들은,공유 메모리에 지정된 로컬 포인터(I)가 스레드에 의해 보호되도록, 보호된 포인터 리스트에 상기 로컬 포인터(I)를 추가하기 위한 protect(I), 상기 보호된 포인터 리스트에 있는 로컬 포인터(I)를 제거하기 위한 unprotect(I), 상기 보호된 포인터에 있는 로컬 포인터(I)에 대한 수집을 위한 retire(I), 또는 상기 보호된 포인터 리스트에 없는 로컬 포인터에 대한 수집을 위한 collect()중 적어도 하나를 포함하는, 방법
|
3 |
3
제 2 항에 있어서, 상기 포인터 및 시대 기반 메모리 수집 기법을 구현하는 단계는,상기 포인터 기반 메모리 수집 기법의 함수들과 함께, 상기 시대 기반 메모리 수집 기법의 함수들을 이용하여, 상기 포인터 및 시대 기반 메모리 수집 기법을 구현하고,상기 시대 기반 메모리 수집 기법의 함수들은, 스레드가 활성 상태에서 상기 공유 메모리에 액세스하도록 설정하기 위한 set_active(),스레드가 비활성 상태에서 상기 공유 메모리에 액세스하기 않도록 설정하기 위한 set_quiescent(),활성 상태에 있는 스레드에 대해 생성된 로컬 포인터(I)에 대한 수집을 위한 retire(I), 또는활성 상태에 있는 스레드에 대해 폐기된 로컬 포인터에 대한 수집을 위한 collect()중 적어도 하나를 포함하는, 방법
|
4 |
4
제 3 항에 있어서, 상기 포인터 및 시대 기반 메모리 수집 기법은,상기 protect(l)가 참(true)일 때, 스레드가 활성 상태에서 공유 메모리를 읽음으로써, 로컬 포인터(I)가 동일한 활성 상태에서 생성되는 보호 요건을 충족하는, 방법
|
5 |
5
제 4 항에 있어서, 상기 포인터 및 시대 기반 메모리 수집 기법은,상기 protect(l)가 참일 때, 상기 unprotect(l)는 상기 생성된 로컬 포인터(l)의 보호와 역참조 사이에 호출되지 않는 역참조 요건을 충족하는,방법
|
6 |
6
제 2 항에 있어서, 상기 포인터 및 시대 기반 메모리 수집 기법을 구현하는 단계는,이젝트하는(ejecting) 스레드와 이젝트되는(ejected) 스레드를 상기 이젝트되는 스레드의 상태 워드에서 서로 동기화하는 단계; 및상기 이젝트하는 스레드가 상기 이젝트되는 스레드의 상기 상태 워드를 변경하는 단계를 포함하는, 방법
|
7 |
7
제 6 항에 있어서, 상기 상태 워드를 변경하는 단계는, 상기 이젝트되는 스레드의 상태를 기반으로, 상기 상태 워드의 나머지 비트들에 상기 이젝트되는 스레드가 이젝트됨을 나타내는 플래그를 표시하는 단계; 및상기 이젝트되는 스레드의 보호된 포인터 리스트를 기반으로, 상기 이젝트되는 스레드의 상태를 업데이트하는 단계를 포함하는, 방법
|
8 |
8
컴퓨터 시스템에 있어서, 메모리; 및상기 메모리와 연결되고, 상기 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서를 포함하고, 상기 프로세서는, 포인터 기반 메모리 수집 기법과 시대 기반 메모리 수집 기법을 혼합하여, 포인터 및 시대 기반 메모리 수집 기법을 구현하고,상기 포인터 및 시대 기반 메모리 수집 기법을 기반으로, 동시성 자료구조의 메모리 수집을 수행하도록 구성되는,컴퓨터 시스템
|
9 |
9
제 8 항에 있어서, 상기 프로세서는,상기 포인터 기반 메모리 수집 기법의 함수들을 이용하여, 상기 포인터 및 시대 기반 메모리 수집 기법을 구현하고, 상기 포인터 기반 메모리 수집 기법의 함수들은,공유 메모리에 지정된 로컬 포인터(I)가 스레드에 의해 보호되도록, 보호된 포인터 리스트에 상기 로컬 포인터(I)를 추가하기 위한 protect(I), 상기 보호된 포인터 리스트에 있는 로컬 포인터(I)를 제거하기 위한 unprotect(I), 상기 보호된 포인터에 있는 로컬 포인터(I)에 대한 수집을 위한 retire(I), 또는 상기 보호된 포인터 리스트에 없는 로컬 포인터에 대한 수집을 위한 collect()중 적어도 하나를 포함하는, 컴퓨터 시스템
|
10 |
10
제 9 항에 있어서, 상기 프로세서는, 상기 포인터 기반 메모리 수집 기법의 함수들과 함께, 상기 시대 기반 메모리 수집 기법의 함수들을 이용하여, 상기 포인터 및 시대 기반 메모리 수집 기법을 구현하고,상기 시대 기반 메모리 수집 기법의 함수들은, 스레드가 활성 상태에서 상기 공유 메모리에 액세스하도록 설정하기 위한 set_active(),스레드가 비활성 상태에서 상기 공유 메모리에 액세스하기 않도록 설정하기 위한 set_quiescent(),활성 상태에 있는 스레드에 대해 생성된 로컬 포인터(I)에 대한 수집을 위한 retire(I), 또는활성 상태에 있는 스레드에 대해 폐기된 로컬 포인터에 대한 수집을 위한 collect()중 적어도 하나를 포함하는, 컴퓨터 시스템
|
11 |
11
제 10 항에 있어서, 상기 포인터 및 시대 기반 메모리 수집 기법은,상기 protect(l)가 참(true)일 때, 스레드가 활성 상태에서 공유 메모리를 읽음으로써, 로컬 포인터(I)가 동일한 활성 상태에서 생성되는 보호 요건을 충족하는, 컴퓨터 시스템
|
12 |
12
제 11 항에 있어서, 상기 포인터 및 시대 기반 메모리 수집 기법은,상기 protect(l)가 참일 때, 상기 unprotect(l)는 상기 생성된 로컬 포인터(l)의 보호와 역참조 사이에 호출되지 않는 역참조 요건을 충족하는, 컴퓨터 시스템
|
13 |
13
제 9 항에 있어서, 상기 프로세서는,이젝트하는 스레드와 이젝트되는 스레드를 상기 이젝트되는 스레드의 상태 워드에서 서로 동기화하고, 상기 이젝트하는 스레드가 상기 이젝트되는 스레드의 상기 상태 워드를 변경하도록 구성되는, 컴퓨터 시스템
|
14 |
14
제 13 항에 있어서, 상기 프로세서는,상기 이젝트되는 스레드의 상태를 기반으로, 상기 상태 워드의 나머지 비트들에 상기 이젝트되는 스레드가 이젝트됨을 나타내는 플래그를 표시하고, 상기 이젝트되는 스레드의 보호된 포인터 리스트를 기반으로, 상기 이젝트되는 스레드의 상태를 업데이트하도록 구성되는, 컴퓨터 시스템
|
15 |
15
비-일시적인 컴퓨터-판독 가능 저장 매체에 있어서, 포인터 기반 메모리 수집 기법과 시대 기반 메모리 수집 기법을 혼합하여, 포인터 및 시대 기반 메모리 수집 기법을 구현하는 단계; 및상기 포인터 및 시대 기반 메모리 수집 기법을 기반으로, 동시성 자료구조의 메모리 수집을 수행하는 단계를 실행하기 위한 하나 이상의 프로그램들을 저장하기 위한 컴퓨터-판독 가능 저장 매체
|
16 |
16
제 15 항에 있어서, 상기 포인터 및 시대 기반 메모리 수집 기법을 구현하는 단계는,상기 포인터 기반 메모리 수집 기법의 함수들을 이용하여, 상기 포인터 및 시대 기반 메모리 수집 기법을 구현하고, 상기 포인터 기반 메모리 수집 기법의 함수들은,공유 메모리에 지정된 로컬 포인터(I)가 스레드에 의해 보호되도록, 보호된 포인터 리스트에 상기 로컬 포인터(I)를 추가하기 위한 protect(I), 상기 보호된 포인터 리스트에 있는 로컬 포인터(I)를 제거하기 위한 unprotect(I), 상기 보호된 포인터에 있는 로컬 포인터(I)에 대한 수집을 위한 retire(I), 또는 상기 보호된 포인터 리스트에 없는 로컬 포인터에 대한 수집을 위한 collect()중 적어도 하나를 포함하는, 컴퓨터-판독 가능 저장 매체
|
17 |
17
제 16 항에 있어서,상기 포인터 및 시대 기반 메모리 수집 기법을 구현하는 단계는,상기 포인터 기반 메모리 수집 기법의 함수들과 함께, 상기 시대 기반 메모리 수집 기법의 함수들을 이용하여, 상기 포인터 및 시대 기반 메모리 수집 기법을 구현하고,상기 시대 기반 메모리 수집 기법의 함수들은, 스레드가 활성 상태에서 상기 공유 메모리에 액세스하도록 설정하기 위한 set_active(),스레드가 비활성 상태에서 상기 공유 메모리에 액세스하기 않도록 설정하기 위한 set_quiescent(),활성 상태에 있는 스레드에 대해 생성된 로컬 포인터(I)에 대한 수집을 위한 retire(I), 또는활성 상태에 있는 스레드에 대해 폐기된 로컬 포인터에 대한 수집을 위한 collect()중 적어도 하나를 포함하는, 컴퓨터-판독 가능 저장 매체
|
18 |
18
제 17 항에 있어서, 상기 포인터 및 시대 기반 메모리 수집 기법은,상기 protect(l)가 참(true)일 때, 스레드가 활성 상태에서 공유 메모리를 읽음으로써, 로컬 포인터(I)가 동일한 활성 상태에서 생성되는 보호 요건; 및상기 protect(l)가 참일 때, 상기 unprotect(l)는 상기 생성된 로컬 포인터(l)의 보호와 역참조 사이에 호출되지 않는 역참조 요건을 충족하는, 컴퓨터-판독 가능 저장 매체
|
19 |
19
제 16 항에 있어서, 상기 포인터 및 시대 기반 메모리 수집 기법을 구현하는 단계는,이젝트하는 스레드와 이젝트되는 스레드를 상기 이젝트되는 스레드의 상태 워드에서 서로 동기화하는 단계; 및상기 이젝트하는 스레드가 상기 이젝트되는 스레드의 상기 상태 워드를 변경하는 단계를 포함하는,컴퓨터-판독 가능 저장 매체
|
20 |
20
제 19 항에 있어서, 상기 상태 워드를 변경하는 단계는, 상기 이젝트되는 스레드의 상태를 기반으로, 상기 상태 워드의 나머지 비트들에 상기 이젝트되는 스레드가 이젝트됨을 나타내는 플래그를 표시하는 단계; 및상기 이젝트되는 스레드의 보호된 포인터 리스트를 기반으로, 상기 이젝트되는 스레드의 상태를 업데이트하는 단계를 포함하는, 컴퓨터-판독 가능 저장 매체
|