맞춤기술찾기

이전대상기술

멀티 쓰레디드 프로세서 기반의 병렬 시스템을 위한 적응형실행 방법

  • 기술번호 : KST2015081549
  • 담당센터 : 대전기술혁신센터
  • 전화번호 : 042-610-2279
요약, Int. CL, CPC, 출원번호/일자, 출원인, 등록번호/일자, 공개번호/일자, 공고번호/일자, 국제출원번호/일자, 국제공개번호/일자, 우선권정보, 법적상태, 심사진행상태, 심판사항, 구분, 원출원번호/일자, 관련 출원번호, 기술이전 희망, 심사청구여부/일자, 심사청구항수의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 서지정보 표입니다.
요약 본 발명은 멀티 쓰레디드 프로세서 기반의 병렬 시스템의 구조적 특성을 반영하기 위해 컴파일 시나 실행 시에 성능 예측 모델을 이용하여 병렬 루프의 성능을 예측한 다음 적응형 실행 방법을 이용하여 병렬 프로그램을 실행하는 방법에 관한 것으로, 본 발명의 방법은 병렬 프로그램 내에 하나 이상 포함된 병렬 루프의 실행을 위해 병렬 시스템의 물리 프로세서 개수만큼의 쓰레드를 생성하는 단계와, 상기 병렬 루프를 구성하는 단일 루프를 상기 쓰레드를 통해 실행하는 단계와, 상기 단일 루프의 실행 동안의 실행 시간, 실행된 명령어의 개수 및 캐쉬 미스 개수를 측정하는 단계와, 상기 측정된 값들을 기준으로 상기 각 병렬 루프를 실행하는데 사용되는 상기 쓰레드의 개수를 결정함으로써 상기 각 병렬 루프의 실행 모드를 결정하는 단계와, 상기 결정 결과에 따라 상기 쓰레드를 상기 각 물리 프로세서에 할당하여 각 병렬 루프를 실행하는 단계를 포함하는 것을 특징으로 한다. 상기와 같은 구성을 통해 본 발명은 멀티 쓰레디드 기반의 병렬 시스템에서 구동되는 병렬 프로그램의 성능을 비약적으로 향상시킬 수 있다. 병렬 시스템, 병렬 프로그램, 병렬 루프, 쓰레드
Int. CL G06F 9/38 (2006.01)
CPC
출원번호/일자 1020060043645 (2006.05.16)
출원인 한국전자통신연구원
등록번호/일자 10-0806274-0000 (2008.02.15)
공개번호/일자 10-2007-0059837 (2007.06.12) 문서열기
공고번호/일자 (20080222) 문서열기
국제출원번호/일자
국제공개번호/일자
우선권정보 대한민국  |   1020050118230   |   2005.12.06
법적상태 소멸
심사진행상태 수리
심판사항
구분
원출원번호/일자
관련 출원번호
심사청구여부/일자 Y (2006.05.16)
심사청구항수 12

출원인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 출원인 표입니다.
번호 이름 국적 주소
1 한국전자통신연구원 대한민국 대전광역시 유성구

발명자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 발명자 표입니다.
번호 이름 국적 주소
1 정창희 대한민국 대전 대덕구
2 임대섭 대한민국 서울 영등포구
3 이재진 대한민국 서울 관악구
4 한상영 대한민국 서울 관악구

대리인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 대리인 표입니다.
번호 이름 국적 주소
1 신영무 대한민국 서울특별시 강남구 영동대로 ***(대치동) KT&G타워 *층(에스앤엘파트너스)

최종권리자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 최종권리자 표입니다.
번호 이름 국적 주소
1 한국전자통신연구원 대한민국 대전광역시 유성구
번호, 서류명, 접수/발송일자, 처리상태, 접수/발송일자의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 행정처리 표입니다.
번호 서류명 접수/발송일자 처리상태 접수/발송번호
1 특허출원서
Patent Application
2006.05.16 수리 (Accepted) 1-1-2006-0339234-37
2 선행기술조사의뢰서
Request for Prior Art Search
2007.03.12 수리 (Accepted) 9-1-9999-9999999-89
3 선행기술조사보고서
Report of Prior Art Search
2007.04.11 수리 (Accepted) 9-1-2007-0020478-66
4 의견제출통지서
Notification of reason for refusal
2007.08.30 발송처리완료 (Completion of Transmission) 9-5-2007-0470978-53
5 [명세서등 보정]보정서
[Amendment to Description, etc.] Amendment
2007.10.19 보정승인간주 (Regarded as an acceptance of amendment) 1-1-2007-0748361-44
6 [거절이유 등 통지에 따른 의견]의견(답변, 소명)서
[Opinion according to the Notification of Reasons for Refusal] Written Opinion(Written Reply, Written Substantiation)
2007.10.19 수리 (Accepted) 1-1-2007-0748341-31
7 등록결정서
Decision to grant
2008.02.13 발송처리완료 (Completion of Transmission) 9-5-2008-0073714-06
8 출원인정보변경(경정)신고서
Notification of change of applicant's information
2009.08.04 수리 (Accepted) 4-1-2009-5150899-36
9 출원인정보변경(경정)신고서
Notification of change of applicant's information
2015.02.02 수리 (Accepted) 4-1-2015-0006137-44
번호, 청구항의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 청구항 표입니다.
번호 청구항
1 1
복수 개의 물리 프로세서를 포함하는 병렬 시스템에서의 병렬 프로그램 실행 방법에 있어서,상기 병렬 프로그램 내에 하나 이상 포함된 병렬 루프의 실행을 위해 상기 병렬 시스템의 물리 프로세서 개수만큼의 쓰레드를 생성하는 단계와,상기 생성된 쓰레드를 통해 상기 각 병렬 루프별로 상기 병렬 루프를 구성하는 하나 이상의 단일 루프를 실행하는 단계와,상기 병렬 루프의 실행 동안의 실행 시간, 실행된 명령어의 개수 및 캐쉬 미스 개수를 측정하는 단계 - 상기 캐쉬 미스 개수의 측정은 각 병렬 루프 내의 하나의 단일 루프 전체를 실행하는 동안 발생한 캐쉬 미스의 개수를 측정하는 것임 -와,상기 측정된 값들을 기준으로 상기 각 병렬 루프를 실행하는데 사용되는 상기 쓰레드의 개수를 결정함으로써 상기 각 병렬 루프의 실행 모드를 결정하는 단계와,상기 결정 결과에 따라 상기 쓰레드를 상기 각 물리 프로세서에 할당하여 각 병렬 루프를 실행하는 단계를 포함하는 것을 특징으로 하는 병렬 시스템에서의 병렬 프로그램 실행 방법
2 2
제1항에 있어서, 상기 물리 프로세서는 두 개의 논리 프로세서로 구성되어 있으며, 상기 두 개의 논리 프로세서는 하나 이상의 캐쉬 메모리를 공유하는 것을 특징으로 하는 병렬 시스템에서의 병렬 프로그램 실행 방법
3 3
제1항에 있어서, 상기 실행 시간을 측정하는 단계는 각 병렬 루프 전체를 실행하는데 소요되는 시간을 측정하는 것을 특징으로 하는 병렬 시스템에서의 병렬 프로그램 실행 방법
4 4
제1항에 있어서, 상기 실행된 명령어의 개수를 측정하는 단계는 각 병렬 루프 내의 하나의 단일 루프 전체를 실행하는 동안 실행되었던 명령어의 개수를 측정하는 것을 특징으로 하는 병렬 시스템에서의 병렬 프로그램 실행 방법
5 5
삭제
6 6
제2항에 있어서, 상기 단일 루프를 실행하는 단계를 수행하기 전에 상기 병렬 프로그램을 컴파일하면서 상기 각 병렬 루프가 상기 병렬 시스템의 구성 요소를 사용하는데 소요되는 계산량을 예측하는 단계를 더 포함하는 것을 특징으로 하는 병렬 시스템에서의 병렬 프로그램 실행 방법
7 7
제6항에 있어서, 상기 실행 모드는한 개의 쓰레드로 상기 병렬 루프를 실행하는 실행 모드(mP1L)와,상기 병렬 시스템 내의 물리 프로세서의 개수와 같은 개수의 쓰레드로 상기 병렬 루프를 실행하는 실행 모드(mPmL)와,상기 병렬 시스템 내의 논리 프로세서의 개수와 같은 개수의 쓰레드로 상기 병렬 루프를 실행하는 실행 모드(mP2mL)와,상기 병렬 루프를 실행할 때마다 상기 mP1L 모드 또는 mPmL 모드 중에서 실행 모드를 선택하는 실행 모드(mP1L - mPmL)와,상기 병렬 루프를 실행할 때마다 상기 mPmL 모드 또는 mP2mL 모드 중에서 실행 모드를 선택하는 실행 모드(mPmL - mP2mL)중에서 선택적으로 결정되는 것을 특징으로 하는 병렬 시스템에서의 병렬 프로그램 실행 방법
8 8
제7항에 있어서, 상기 실행 모드를 결정하는 단계는 a) 상기 병렬 프로그램을 컴파일하면서 상기 각 병렬 루프의 계산량을 예측할 수 있는지 여부를 판단하는 단계와,b) 상기 판단 결과 예측 가능한 경우 상기 컴파일하면서 예측한 각 병렬 루프의 상기 계산량이 임계값보다 작은지 여부를 판단하는 단계와,c) 상기 판단 결과 예측 불가능하거나 상기 계산량이 임계값보다 크다면 상기 측정된 실행된 명령어의 개수를 통해 예측된 계산량이 임계값보다 작은지 여부를 판단하는 단계와,d) 상기 판단 결과 실행된 명령어의 개수가 임계값보다 크다면 상기 측정된 실행된 명령어 개수와 캐쉬 미스 개수를 기초로 명령어 당 캐쉬 미스 값(MPI)을 구하고, 상기 MPI 값이 임계값보다 큰지 여부를 판단하는 단계와,e) 상기 판단 결과 MPI 값이 임계값보다 작다면 상기 측정된 실행된 명령어 개수와 실행 시간을 기초로 명령어 당 사이클 값(CPI)을 구하고, 상기 CPI 값이 임계값보다 작은지 여부를 판단하는 단계와,f) 상기 판단 결과 CPI 값이 임계값보다 크다면 상기 측정된 실행된 명령어 개수가 임계값보다 작은지 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 병렬 시스템에서의 병렬 프로그램 실행 방법
9 9
제8항에 있어서, 상기 단계(b)에서 상기 계산량이 임계값보다 작다면 해당 병렬 루프의 실행 모드는 상기 mP1L 모드로 결정되는 단계와,상기 단계(c)에서 상기 실행된 명령어의 개수가 임계값보다 작다면 해당 병렬 루프의 실행 모드는 상기 mP1L 모드로 결정되는 단계와,상기 단계(d)에서 상기 MPI 값이 임계값보다 크다면 해당 병렬 루프의 실행 모드는 상기 mPmL 모드로 결정되는 단계와,상기 단계(e)에서 상기 CPI 값이 임계값보다 작다면 해당 병렬 루프의 실행 모드는 상기 mP2mL 모드로 결정되는 단계와,상기 단계(f)에서 상기 실행된 명령어 개수가 임계값보다 작다면 해당 병렬 루프의 실행 모드는 상기 mP1L - mPmL 모드로 결정되는 단계와,상기 단계(f)에서 상기 실행된 명령어 개수가 임계값보다 크다면 해당 병렬 루프의 실행 모드는 상기 mPmL - mP2mL 모드로 결정되는 단계 를 포함하는 것을 특징으로 하는 병렬 시스템에서의 병렬 프로그램 실행 방법
10 10
제9항에 있어서, 상기 각 병렬 루프를 실행하는 단계는 상기 결정된 실행 모드가 mP1L 모드라면 한 개의 쓰레드를 상기 병렬 시스템 내 논리 프로세서들 중 어느 하나에 할당하여 실행하는 것을 특징으로 하는 병렬 시스템에서의 병렬 프로그램 실행 방법
11 11
제9항에 있어서, 상기 각 병렬 루프를 실행하는 단계는 상기 결정된 실행 모드가 mPmL 모드라면 상기 m 개의 쓰레드를 각각 상기 각 물리 프로세서 내의 논리 프로세서들 중 어느 하나에 할당하여 실행하는 것을 특징으로 하는 병렬 시스템에서의 병렬 프로그램 실행 방법
12 12
제9항에 있어서, 상기 각 병렬 루프를 실행하는 단계는 상기 결정된 실행 모드가 mP2mL 모드라면 상기 2m 개의 쓰레드를 각각 상기 각 논리 프로세서에 할당하여 실행하는 것을 특징으로 하는 병렬 시스템에서의 병렬 프로그램 실행 방법
13 13
제9항에 있어서, 상기 각 병렬 루프를 실행하는 단계는 상기 결정된 실행 모드가 mP1L - mPmL 모드 또는 mPmL - mP2mL 모드라면,a) 상기 실행되었던 병렬 루프를 재실행하기 전에 상기 실행된 실행 모드에서 다른 실행 모드로 실행 모드를 전환하는 단계와, b) 상기 전환된 실행 모드에서 상기 병렬 루프를 실행하면서 실행 시간을 측정하는 단계와,c) 상기 측정 결과를 상기 전환 전 실행 모드에서의 병렬 루프에 대한 실행 시간과 비교하는 단계와,d) 상기 비교 결과 상기 전환 전 실행 모드에서의 실행 시간보다 짧은 경우 다른 실행 모드로 실행 모드를 전환하는 단계와,e) 상기 비교 결과 상기 전환 전 실행 모드에서의 실행 시간보다 긴 경우 실행 모드를 전환하지 않는 단계와,f) 상기 병렬 프로그램 내의 모든 병렬 루프를 실행할 때까지 상기 단계들(b 내지 e)을 수행하는 단계를 포함하는 것을 특징으로 하는 병렬 시스템에서의 병렬 프로그램 실행 방법
지정국 정보가 없습니다
순번, 패밀리번호, 국가코드, 국가명, 종류의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 패밀리정보 - 패밀리정보 표입니다.
순번 패밀리번호 국가코드 국가명 종류
1 US07526637 US 미국 FAMILY
2 US20070130568 US 미국 FAMILY

DOCDB 패밀리 정보

순번, 패밀리번호, 국가코드, 국가명, 종류의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 패밀리정보 - DOCDB 패밀리 정보 표입니다.
순번 패밀리번호 국가코드 국가명 종류
1 US2007130568 US 미국 DOCDBFAMILY
2 US7526637 US 미국 DOCDBFAMILY
국가 R&D 정보가 없습니다.