본문 바로가기
HOME> 논문 > 논문 검색상세

논문 상세정보

다중스레드 코드 생성을 위한 배열 지역화
Array Localization for Multithreaded Code Generation

양창모   (동명전문대학 전자계산과  ); 유원희   (인하대학교 전자계산공학과  );
  • 초록

    지금까지 다중스레드 모델을 위한 다중스레드 코드의 생성 및 스레드 분할에 대 하여 이루어진 연구는 실행시간을 번역시간에 예측할 수 없는 연산을 경계로 삼아 스 레드를 분할하고, 스레드의 길이를 증가시키기 위하여 주어진 제약조건내에서 스레드 를 병합하는 것이다. 이러한 정책으로 인하여 병렬성이 적은 프로그램이라 하여도 원 격자료 접근이 많으면 스레드의 길이가 짧아지고 그에 따라 문맥전환이 늘어나기 때 문에 시스템에 부담이 된다. 본 논문에서는 스레드의 길이를 늘이고, 메세지 전송횟 수를 감소시키기 위한 다른 방법으로 프로그램의 루프에서 접근되는 배열의 첨자를 분석하고 이를 바탕으로 루프 액티베이션에서 참조되는 배열의 원소를 해당 루프 액 티베이션이 수행되는 노드에 분산 저장하는 배열의 지역화방안을 제안한다. 배열을 지역화하기 위하여 먼저 루프 액티베이션에서 접근되는 배열의 이름, 루프 첨자와 접 근되는 배열원소의 첨자간의 차이인 종속거리 그리고 배열원소의 용도에 관한 정보를 얻기 위한 원소 접근 형태 분석을 수행한다. 원소 접근 형태 분석으로 부터 얻어진 정보를 이용하여 가능한한 지역 기억장치에서 필요한 배열의 원소를 읽어올 수 있도 록 배열 원소에 접근하는 루프 액티베이션이 수행되는 처리기 모임의 지역 기억장치 에 배열원소를 저장하는 배열 지역화를 수행한다. 실험결과, 배열을 지역화함으로써 다른 처리기 모임의 지역 기억장치로부터 배열의 원소를 읽어오기 위한 원격자료 접 근을 지역자료 접근으로 대치함으로써 원격접근의 수가 줄어든다. 이로 인하여 스레 드의 길이가 증가하며, 원격접근 횟수 및 문맥 전환의 수가 줄어들어 시스템의 성능 향상을 꾀할 수 있었다.


    In recent researches on thread partitioning algorithms break a thread at the long latency operation and merge threads to get the longer threads under the given constraints. Due to this limitation, even a program with little parallelism is partitioned into small-sized threads and context-swithings occur frequently. In the paper, we propose another method array localization about the array name, dependence distance(the difference of accessed element index from loop index), and the element usage that indicates whether element is used or defined. Using this information we can allocate array elements to the node where the corresponding loop activation is executed. By array localization, remote accesses to array elements can be replaced with local accesses to localized array elements. As a resuit,the boundaries of some threads are removed, programs can be partitioned into the larger threads and the number of context switchings reduced.


  • 이 논문을 인용한 문헌 (1)

    1. Lee, Hyung-Bong ; Baek, Chung-Ho 2002. "A Device of Parallelism Control in POSIX Based Parallelization of Recursive Algorithms" 정보처리학회논문지. The KIPS transactions. Part A. Part A, a9(2): 249~258     

 저자의 다른 논문

  • 유원희 (31)

    1. 1995 "실시간 프로그램의 스케줄가능성 분석 방법" 정보처리논문지 = The transactions of the Korea Information Processing Society 2 (1): 119~129    
    2. 1996 "프로그램유도 컴비네이터를 이용하는 함수프로그램의 포로세스망 구성" 정보처리논문지 = The transactions of the Korea Information Processing Society 3 (3): 478~492    
    3. 1996 "탐색시간의 개선을 위한 함수형 배열의 설계 및 구현" 정보처리논문지 = The transactions of the Korea Information Processing Society 3 (5): 1262~1272    
    4. 1997 "상태를 갖는 함수형 프로그래밍 언어의 수행모델" 정보처리논문지 = The transactions of the Korea Information Processing Society 4 (3): 846~858    
    5. 2000 "다중스레드 모델에서 최단 프레임 우선 스레드 스케줄링 알고리즘" 정보과학회논문지. Journal of KIISE. 소프트웨어 및 응용 27 (5): 575~582    
    6. 2001 "다중스레드 모델의 성능 향상을 위한 가용 레지스터 기반 캐슁 기법" 정보처리학회논문지. The KIPS transactions. Part A. Part A a8 (2): 107~116    
    7. 2002 "테스트 시스템을 위한 프로그래밍 언어와 컴파일러 설계" 정보과학회논문지. Journal of KISS : Computing practices. 컴퓨팅의 실제 8 (3): 356~365    
    8. 2003 "자바 가상 머신에서 클래스 로딩에 관한 연구" 한국콘텐츠학회논문지 = The Journal of the Korea Contents Association 3 (2): 39~45    
    9. 2004 "자바 언어를 위한 알고리즈믹 디버깅 기술의 설계" 정보처리학회논문지. The KIPS transactions. Part A. Part A a11 (1): 97~108    
    10. 2005 "CTOC에서 정적 단일 배정문 형태를 이용한 지역 변수 분리" 한국콘텐츠학회논문지 = The Journal of the Korea Contents Association 5 (3): 73~81    

 활용도 분석

  • 상세보기

    amChart 영역
  • 원문보기

    amChart 영역

원문보기

무료다운로드
  • NDSL :
유료다운로드

유료 다운로드의 경우 해당 사이트의 정책에 따라 신규 회원가입, 로그인, 유료 구매 등이 필요할 수 있습니다. 해당 사이트에서 발생하는 귀하의 모든 정보활동은 NDSL의 서비스 정책과 무관합니다.

원문복사신청을 하시면, 일부 해외 인쇄학술지의 경우 외국학술지지원센터(FRIC)에서
무료 원문복사 서비스를 제공합니다.

NDSL에서는 해당 원문을 복사서비스하고 있습니다. 위의 원문복사신청 또는 장바구니 담기를 통하여 원문복사서비스 이용이 가능합니다.

이 논문과 함께 출판된 논문 + 더보기