1 |
1
이종클러스터 시스템에서 프로그램을 실행시키는 방법에 있어서,상기 이종클러스터 시스템에 포함된 복수의 계산 디바이스의 각각에서, 상기 이종클러스터 시스템의 클라이언트 노드로부터 할당된 상기 프로그램과 연관된 복수의 워크 그룹을 수신하는 단계; 및상기 복수의 계산 디바이스의 각각에서 상기 할당된 복수의 워크 그룹을 처리하는 단계를 포함하고,상기 복수의 워크 그룹에 의해 접근되는 페이지는 상기 이종클러스터 시스템 상에서 단일 메모리 주소 공간을 제공하도록 구성된 가상 메모리에 포함된 가상 페이지를 통해 관리되는,이종클러스터 시스템에서 프로그램을 실행시키는 방법
|
2 |
2
제1항에 있어서, 상기 할당된 복수의 워크 그룹을 처리하는 단계는, 상기 복수의 계산 디바이스 중 제1 계산 디바이스에서, 상기 제1 계산 디바이스에 할당된 복수의 워크 그룹을 실행하는 중에 페이지 폴트가 발생하는 경우, 상기 페이지 폴트가 발생한 가상 페이지와 연관된 최근 페이지에 대한 정보를 불러오는 단계; 및 상기 제1 계산 디바이스에서, 상기 최근 페이지에 포함된 데이터를 수신하는 단계를 포함하는,이종클러스터 시스템에서 프로그램을 실행시키는 방법
|
3 |
3
제2항에 있어서,상기 복수의 계산 디바이스는 상기 이종클러스터 시스템에 포함된 복수의 서버 노드의 각각에 포함되는,이종클러스터 시스템에서 프로그램을 실행시키는 방법
|
4 |
4
제3항에 있어서,상기 페이지 폴트가 발생한 가상 페이지와 연관된 최근 페이지에 대한 정보를 불러오는 단계는,상기 페이지 폴트가 발생한 가상 페이지의 최근 페이지 정보 요청을 오너 노드에 송신하는 단계; 및상기 오너 노드로부터 상기 가상 페이지의 최근 페이지에 대한 정보를 수신하는 단계;상기 수신된 최근 페이지에 대한 정보가, 상기 제1 계산 디바이스를 포함한 제1 노드 내에서, 상기 제1 계산 디바이스와 상이한 계산 디바이스의 메모리에 포함된 페이지를 가리키는지 여부를 판정하는 단계를 포함하는,이종클러스터 시스템에서 프로그램을 실행시키는 방법
|
5 |
5
제4항에 있어서,상기 제1 계산 디바이스에서, 상기 최근 페이지에 포함된 데이터를 수신하는 단계는, 상기 오너 노드로부터 수신된 최근 페이지에 대한 정보가 상기 제1 노드 내의 상이한 계산 디바이스의 메모리에 포함된 페이지를 가리키는 경우, 상기 제1 노드에서 제공되는 페이지 폴트 핸들러를 실행하는 단계를 포함하는,이종클러스터 시스템에서 프로그램을 실행시키는 방법
|
6 |
6
제4항에 있어서,상기 제1 계산 디바이스에서 상기 최근 페이지에 포함된 데이터를 수신하는 단계는,상기 오너 노드로부터 수신된 최근 페이지에 대한 정보가 상기 제1 노드 내의 상이한 계산 디바이스의 메모리에 포함된 페이지가 아닌 경우, 상기 가상 페이지와 연관된 최근 페이지에 포함된 데이터가 상기 클라이언트 노드에 있는지 문의하는 단계; 및상기 가상 페이지와 연관된 최근 페이지에 포함된 데이터가 상기 클라이언트 노드에 있는 경우, 상기 클라이언트 노드로부터 상기 가상 페이지와 연관된 최근 페이지에 포함된 데이터를 수신하는 단계를 포함하는,이종클러스터 시스템에서 프로그램을 실행시키는 방법
|
7 |
7
제6항에 있어서,상기 제1 계산 디바이스에서 상기 최근 페이지에 포함된 데이터를 수신하는 단계는, 상기 가상 페이지와 연관된 최근 페이지에 포함된 데이터가 상기 클라이언트 노드에 포함되지 않은 경우, 상기 최근 페이지에 대한 정보가 나타내는 제2 계산 디바이스로부터 상기 가상 페이지와 연관된 최근 페이지에 포함된 데이터를 수신하는 단계를 포함하는,이종클러스터 시스템에서 프로그램을 실행시키는 방법
|
8 |
8
제2항에 있어서,오너 노드의 가상 페이지 관리 테이블의 업데이트를 수행하기 위하여, 상기 제1 계산 디바이스에 의해, 상기 수신된 최근 페이지에 포함된 데이터를 처리한, 페이지에 대한 정보를 상기 오너 노드로 송신하는 단계를 더 포함하는,이종클러스터 시스템에서 프로그램을 실행시키는 방법
|
9 |
9
제1항에 있어서,상기 복수의 워크 그룹과 상기 복수의 워크 그룹이 접근하는 복수의 가상 페이지 사이의 관계를 나타내는 테이블을 기초로, 상기 프로그램과 연관된 복수의 워크 그룹은 상기 복수의 계산 디바이스의 각각에 할당되는,이종클러스터 시스템에서 프로그램을 실행시키는 방법
|
10 |
10
제1항에 있어서,상기 프로그램의 컴파일 동안의 static 분석 결과, 상기 프로그램의 실행 시의 Runtime 분석 결과 또는 상기 프로그램의 프로파일(profile) 분석 결과 중 적어도 하나를 기초로, 상기 프로그램과 연관된 복수의 워크 그룹은 상기 복수의 계산 디바이스의 각각에 할당되는,이종클러스터 시스템에서 프로그램을 실행시키는 방법
|
11 |
11
제1항에 있어서,상기 복수의 워크 그룹의 메모리 접근 패턴을 분석한 결과를 기초로, 상기 복수의 워크 그룹과 연관된 데이터는, 상기 복수의 워크 그룹이 상기 복수의 계산 디바이스의 각각에 의해 처리되기 전에, 상기 복수의 워크 그룹과 연관된 데이터는 상기 복수의 계산 디바이스의 각각에 미리 프리패칭(pre-fetching)되는, 이종클러스터 시스템에서 프로그램을 실행시키는 방법
|
12 |
12
제1항 내지 제11항 중 어느 한 항에 따른 이종클러스터 시스템에서 프로그램을 실행시키는 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램
|