1 |
1
메인 디바이스와 적어도 하나의 가속기를 포함하는 이종 시스템에서 데이터 복사를 수행하는 방법에 있어서,계산 작업이 수행되기 전에, 상기 계산 작업에 대한 입력 데이터가 저장되는 제1 가속기 메모리 영역에 대응되는 제1 메인 메모리 영역에 대한 쓰기 권한을 끄는 단계;상기 적어도 하나의 가속기를 이용하여 상기 계산 작업을 수행하는 단계; 및상기 계산 작업이 수행된 후에, 상기 계산 작업의 출력 데이터가 저장되는 제2 가속기 메모리 영역의 데이터를 상기 제2 가속기 메모리 영역에 대응되는 제2 메인 메모리 영역에 복사하지 않은 상태에서, 상기 제2 메인 메모리 영역에 대한 읽기 권한을 끄는 단계를 포함하는 방법
|
2 |
2
제1항에 있어서,상기 메인 디바이스에 포함된 메인 프로세서가 상기 제1 메인 메모리 영역에 데이터를 쓰려고 시도하면, 상기 제1 메인 메모리 영역에 대한 쓰기 권한을 켜고 상기 제1 가속기 메모리 영역에 대한 모디파이드 값을 참으로 설정하는 단계를 더 포함하는 것을 특징으로 하는 방법
|
3 |
3
제2항에 있어서,상기 모디파이드 값을 참으로 설정하는 단계는,상기 메인 프로세서가 상기 제1 메인 메모리 영역에 데이터를 쓰려고 시도하면, 페이지 폴트 인터럽트를 발생시키고 데이터 접근 감지 함수를 호출하는 단계;상기 제1 메인 메모리 영역에 대응되는 상기 제1 가속기 메모리 영역을 확인하는 단계;상기 제1 메인 메모리 영역에 대한 쓰기 권한을 켜는 단계; 및상기 제1 가속기 메모리 영역에 대한 모디파이드 값을 참으로 설정하는 단계를 포함하는 것을 특징으로 하는 방법
|
4 |
4
제1항에 있어서,상기 메인 디바이스에 포함된 메인 프로세서가 상기 제2 메인 메모리 영역에서 데이터를 읽으려고 시도하면, 상기 제2 메인 메모리 영역에 대한 읽기 권한을 켜고 상기 제2 가속기 메모리 영역의 데이터를 상기 제2 메인 메모리 영역에 복사하는 단계를 더 포함하는 것을 특징으로 하는 방법
|
5 |
5
제4항에 있어서,상기 제2 메인 메모리 영역에 복사하는 단계는,상기 메인 프로세서가 상기 제2 메인 메모리 영역에서 데이터를 읽으려고 시도하면, 페이지 폴트 인터럽트를 발생시키고 데이터 접근 감지 함수를 호출하는 단계;상기 제2 메인 메모리 영역에 대응되는 상기 제2 가속기 메모리 영역을 확인하는 단계;상기 제2 메인 메모리 영역에 대한 읽기 권한을 켜는 단계; 및상기 제2 가속기 메모리 영역의 데이터를 상기 제2 메인 메모리 영역에 복사하는 단계를 포함하는 것을 특징으로 하는 방법
|
6 |
6
제1항에 있어서,상기 쓰기 권한을 끄는 단계는,상기 적어도 하나의 가속기에 포함된 가속기 메모리에, 상기 제1 메인 메모리 영역에 대응되는 상기 제1 가속기 메모리 영역이 존재하는지 여부를 판단하는 단계;상기 제1 가속기 메모리 영역이 존재하지 않는다면, 상기 제1 가속기 메모리 영역을 생성하는 단계;상기 생성된 제1 가속기 메모리 영역에 상기 제1 메인 메모리 영역의 데이터를 복사하는 단계; 및상기 제1 메인 메모리 영역에 대한 쓰기 권한을 끄는 단계를 포함하는 것을 특징으로 하는 방법
|
7 |
7
제1항에 있어서,상기 쓰기 권한을 끄는 단계는,상기 적어도 하나의 가속기에 포함된 가속기 메모리에, 상기 제1 메인 메모리 영역에 대응되는 상기 제1 가속기 메모리 영역이 존재하는지 여부를 판단하는 단계;상기 제1 가속기 메모리 영역이 존재한다면, 상기 제1 가속기 메모리 영역에 부여된 모디파이드 값(modified value)을 확인하는 단계;상기 모디파이드 값이 참이라면, 상기 제1 메인 메모리 영역의 데이터를 상기 제1 가속기 메모리에 복사하는 단계;상기 모디파이드 값을 거짓으로 설정하는 단계; 및상기 제1 메인 메모리 영역에 대한 쓰기 권한을 끄는 단계를 포함하는 것을 특징으로 하는 방법
|
8 |
8
제1항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체
|
9 |
9
이종 시스템에 의해 수행되며, 제1항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램
|
10 |
10
이종 시스템에 있어서,메인 프로세서 및 메인 메모리를 포함하는 메인 디바이스; 및각각 가속기 프로세서 및 가속기 메모리를 포함하는 적어도 하나의 가속기를 포함하며,상기 메인 프로세서는, 계산 작업이 수행되기 전에, 상기 계산 작업에 대한 입력 데이터가 저장되는 제1 가속기 메모리 영역에 대응되는 제1 메인 메모리 영역에 대한 쓰기 권한을 끄고, 상기 적어도 하나의 가속기가 상기 계산 작업을 수행하도록 제어하고, 상기 계산 작업이 수행된 후에, 상기 계산 작업의 출력 데이터가 저장되는 제2 가속기 메모리 영역의 데이터를 상기 제2 가속기 메모리 영역에 대응되는 제2 메인 메모리 영역에 복사하지 않은 상태에서 상기 제2 메인 메모리 영역에 대한 읽기 권한을 끄는, 이종 시스템
|
11 |
11
제10항에 있어서,상기 메인 프로세서는,상기 메인 프로세서가 상기 제1 메인 메모리 영역에 데이터를 쓰려고 시도하면, 상기 제1 메인 메모리 영역에 대한 쓰기 권한을 켜고 상기 제1 가속기 메모리 영역에 대한 모디파이드 값을 참으로 설정하는 것을 특징으로 하는 이종 시스템
|
12 |
12
제11항에 있어서,상기 메인 프로세서는,상기 메인 프로세서가 상기 제1 메인 메모리 영역에 데이터를 쓰려고 시도하면 페이지 폴트 인터럽트를 발생시키고 데이터 접근 감지 함수를 호출하고, 상기 제1 메인 메모리 영역에 대응되는 상기 제1 가속기 메모리 영역을 확인하고, 상기 제1 메인 메모리 영역에 대한 쓰기 권한을 켠 후, 상기 제1 가속기 메모리 영역에 대한 모디파이드 값을 참으로 설정하는 것을 특징으로 하는 이종 시스템
|
13 |
13
제10항에 있어서,상기 메인 프로세서는,상기 메인 프로세서가 상기 제2 메인 메모리 영역에서 데이터를 읽으려고 시도하면, 상기 제2 메인 메모리 영역에 대한 읽기 권한을 켜고 상기 제2 가속기 메모리 영역의 데이터를 상기 제2 메인 메모리 영역에 복사하는 것을 특징으로 하는 이종 시스템
|
14 |
14
제13항에 있어서,상기 메인 프로세서는,상기 메인 프로세서가 상기 제2 메인 메모리 영역에서 데이터를 읽으려고 시도하면 페이지 폴트 인터럽트를 발생시키고 데이터 접근 감지 함수를 호출하고, 상기 제2 메인 메모리 영역에 대응되는 상기 제2 가속기 메모리 영역을 확인하고, 상기 제2 메인 메모리 영역에 대한 읽기 권한을 켠 후, 상기 제2 가속기 메모리 영역의 데이터를 상기 제2 메인 메모리 영역에 복사하는 것을 특징으로 하는 이종 시스템
|
15 |
15
제10항에 있어서,상기 메인 프로세서는,상기 적어도 하나의 가속기에 포함된 가속기 메모리에 상기 제1 메인 메모리 영역에 대응되는 상기 제1 가속기 메모리 영역이 존재하는지 여부를 판단하고, 상기 제1 가속기 메모리 영역이 존재하지 않는다면 상기 제1 가속기 메모리 영역을 생성하고, 상기 생성된 제1 가속기 메모리 영역에 상기 제1 메인 메모리 영역의 데이터를 복사한 후, 상기 제1 메인 메모리 영역에 대한 쓰기 권한을 끄는 것을 특징으로 하는 이종 시스템
|
16 |
16
제10항에 있어서,상기 메인 프로세서는,상기 적어도 하나의 가속기에 포함된 가속기 메모리에 상기 제1 메인 메모리 영역에 대응되는 상기 제1 가속기 메모리 영역이 존재하는지 여부를 판단하고, 상기 제1 가속기 메모리 영역이 존재한다면 상기 제1 가속기 메모리 영역에 부여된 모디파이드 값(modified value)을 확인하고, 상기 모디파이드 값이 참이라면 상기 제1 메인 메모리 영역의 데이터를 상기 제1 가속기 메모리에 복사한 후, 상기 모디파이드 값을 거짓으로 설정하고 상기 제1 메인 메모리 영역에 대한 쓰기 권한을 끄는 것을 특징으로 하는 이종 시스템
|