1 |
1
각 노드가 적어도 하나의 계산 디바이스를 포함하는 복수 개의 노드를 포함하는 매니코어 클러스터 시스템 상에서 병렬 프로그래밍을 수행하는 방법에 있어서, 병렬 프로그래밍 어플리케이션을 적어도 하나의 노드에서 실행하는 단계;상기 적어도 하나의 노드에서, 상기 복수 개의 노드에 포함된 적어도 하나의 계산 디바이스의 데이터 처리량을 예측하는 단계; 및상기 예측된 계산 디바이스의 데이터 처리량에 따라, 상기 병렬 프로그래밍 어플리케이션의 실행에 따르는 워크로드를 상기 복수 개의 노드에 포함된 적어도 하나의 계산 디바이스로 분배하는 단계; 를 포함하고,상기 복수 개의 노드에 포함된 적어도 하나의 계산 디바이스의 데이터 처리량을 예측하는 단계는, 상기 매니코어 클러스터 시스템에 대한 커널의 피처(feature) 값을 추출하는 단계;실행시간 예측 알고리즘을 통해 상기 커널의 실행시간을 예측하는 단계; 상기 커널의 피처 값과 상기 커널의 실행시간을 기초로, 상기 매니코어 클러스터 시스템이 상기 병렬 프로그래밍 어플리케이션을 실행하기 위한 전체 실행시간을 예측하는 단계; 및상기 예측된 전체 실행시간을 기초로 각 계산 디바이스의 데이터 처리량을 예측하는 단계; 를 포함하고,상기 매니코어 클러스터 시스템에 대한 커널의 피처 값을 추출하는 단계는, 적어도 하나의 상기 노드의 CPU에서 상기 워크로드의 제 1 부분을 샘플링하여, 샘플링된 워크로드의 제 1 부분을 통해 상기 적어도 하나의 노드에 포함된 GPU의 하드웨어 성능 값을 추출하는 단계; 상기 워크로드의 제 2부분을 상기 워크로드의 제 1 부분이 샘플링된 CPU에서 샘플링하여, 상기 워크로드의 제 2 부분이 샘플링된 CPU의 하드웨어 성능 값을 추출하는 단계; 및 상기 CPU 및 GPU의 하드웨어 성능 값 중 적어도 하나를 기초로 상기 적어도 하나의 노드 내의 계산 디바이스에 대한 커널의 피처 벡터를 추출하는 단계; 를 포함하는, 매니코어 클러스터 시스템 상에서 병렬 프로그래밍을 수행하는 방법
|
2 |
2
삭제
|
3 |
3
삭제
|
4 |
4
제 1 항에 있어서, 상기 계산 디바이스의 종류는, CPU, GPU 및 병렬 프로그래밍을 지원하는 다른 디바이스 중 어느 하나인, 매니코어 클러스터 시스템 상에서 병렬 프로그래밍을 수행하는 방법
|
5 |
5
삭제
|
6 |
6
삭제
|
7 |
7
삭제
|
8 |
8
제 1 항에 있어서, 상기 병렬 프로그래밍 어플리케이션은, OpenCL 어플리케이션인, 매니코어 클러스터 시스템 상에서 병렬 프로그래밍을 수행하는 방법
|
9 |
9
제 1 항에 있어서, 상기 워크로드를 상기 복수 개의 노드에 포함된 적어도 하나의 계산 디바이스로 분배하는 단계는, 상기 병렬 프로그래밍 어플리케이션의 소스 코드의 수정없이 상기 워크로드를 상기 적어도 하나의 계산 디바이스로 분배하는, 매니코어 클러스터 시스템 상에서 병렬 프로그래밍을 수행하는 방법
|
10 |
10
제 1 항에 있어서, 상기 매니코어 클러스터 시스템은, 이종 매니코어 클러스터 시스템인, 매니코어 클러스터 시스템 상에서 병렬 프로그래밍을 수행하는 방법
|
11 |
11
각각이 적어도 하나의 계산 디바이스를 포함하며, 병렬 프로그래밍 어플리케이션을 실행할 수 있는 복수 개의 노드;를 포함하는 매니코어 클러스터 시스템에 있어서, 상기 복수 개의 노드 중 적어도 하나는, 상기 적어도 하나의 계산 디바이스의 데이터 처리량을 예측하는 기계학습 엔진을 포함하며,상기 복수 개의 노드 중 적어도 하나의 노드에서 실행된 병렬 프로그래밍 어플리케이션에 의한 워크로드는, 상기 기계학습 엔진에 의해 예측된 계산 디바이스의 데이터 처리량에 따라 상기 적어도 하나의 계산 디바이스로 분배되고,상기 기계학습 엔진은, 상기 매니코어 클러스터 시스템에 대한 커널의 피처(feature) 값을 추출하는 단계; 실행시간 예측 알고리즘을 통해 상기 커널의 실행시간을 예측하는 단계; 상기 커널의 피처 값과 상기 커널의 실행시간을 기초로, 상기 매니코어 클러스터 시스템이 상기 병렬 프로그래밍 어플리케이션을 실행하기 위한 전체 실행시간을 예측하는 단계; 및 상기 예측된 전체 실행시간을 기초로 각 계산 디바이스의 데이터 처리량을 예측하는 단계;를 수행하고,상기 기계학습 엔진은,상기 매니코어 클러스터 시스템에 대한 커널의 피처(feature) 값을 추출하는 단계에서, 적어도 하나의 상기 노드의 CPU에서 상기 워크로드의 제 1 부분을 샘플링하여, 샘플링된 워크로드의 제 1 부분을 통해 상기 적어도 하나의 노드에 포함된 GPU의 하드웨어 성능 값을 추출하는 단계; 상기 워크로드의 제 2부분을 상기 워크로드의 제 1 부분이 샘플링된 CPU에서 샘플링하여, 상기 워크로드의 제 2 부분이 샘플링된 CPU의 하드웨어 성능 값을 추출하는 단계; 및 상기 CPU 및 GPU의 하드웨어 성능 값 중 적어도 하나를 기초로 상기 적어도 하나의 노드 내의 계산 디바이스에 대한 커널의 피처 벡터를 추출하는 단계;를 수행하는, 매니코어 클러스터 시스템
|
12 |
12
삭제
|
13 |
13
삭제
|
14 |
14
제 11 항에 있어서, 상기 계산 디바이스의 종류는, CPU, GPU 및 병렬 프로그래밍을 지원하는 다른 디바이스 중 어느 하나인, 매니코어 클러스터 시스템
|
15 |
15
삭제
|
16 |
16
삭제
|
17 |
17
삭제
|
18 |
18
제 11 항에 있어서, 상기 병렬 프로그래밍 어플리케이션은, OpenCL 어플리케이션인, 매니코어 클러스터 시스템
|
19 |
19
제 11 항에 있어서, 상기 워크로드는, 상기 병렬 프로그래밍 어플리케이션의 소스 코드의 수정없이 상기 적어도 하나의 계산 디바이스로 분배되는, 매니코어 클러스터 시스템
|
20 |
20
제 11 항에 있어서, 상기 매니코어 클러스터 시스템은, 이종 매니코어 클러스터 시스템인, 매니코어 클러스터 시스템
|