• 제목/요약/키워드: 병렬 프로그램

검색결과 602건 처리시간 0.025초

그래프 중간표현 형태를 기반으로 한 병렬 프로그래밍 환경의 설계 및 구현 (A Design and Implementation of Parallel Programming Environment using Graph Type Intermediate Representation Form)

  • 이원용;박두순;송상주
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 가을 학술발표논문집 Vol.28 No.2 (3)
    • /
    • pp.850-852
    • /
    • 2001
  • 본 논문에서는 사용자의 병렬 프로그램 작성을 도와주는 병렬 프로그래밍 환경을 제공한다. 병렬 프로그램은 다양한 하드웨어의 특성에 따라 또는 프로그램의 특성에 따라 사용자가 병렬 프로그램을 작성하여야 하기 때문에 병렬프로그램을 작성하는 것이 매우 어렵다. 본 논문에서는 많은 병렬화 연구에서 제시되고 있는 그래프 중간 표현 형태를 그래프 사용자 인터페이스로 구현하였다. 이 병렬 환경에서는 프로그램 편집기능, 종속성 분석기능, 루프 변환기능, CFG, DPG, HTG등 중간 코드를 그래프 중간 표현 형태를 통해 보여 줌으로 최적의 병렬프로그래밍 환경을 제공한다.

  • PDF

루프 변환에 의한 프로그램 병렬성 개선 방안 (Improvement of Program Parallelism by Using Loop Transformation)

  • 김진미;지동해;윤석한
    • 전자통신동향분석
    • /
    • 제14권2호통권56호
    • /
    • pp.1-13
    • /
    • 1999
  • 본 연구는 병렬성 및 지역성 증진을 위한 컴파일러 최적화에 관한 연구로서, 순차 언어로 작성된 프로그램을 병렬성을 명시하는 프로그램으로 변환하는 자동 병렬화 기술을 연구하고, 병렬화를 위한 코드 변환을 수행한 후 쓰레드를 이용한 최적화된 코드 생성을 통하여 프로그램의 효율성을 높이는 것을 목적으로 한다. 이는 병렬 컴퓨터에서의 프로그램 개발 생산성을 높일 수 있고, 컴파일러의 관련 기술 발전에 도움을 줄 수 있다. 본 고에서는 순차 언어인 FORTRAN 및 C 프로그램을 입력으로 받아 병렬성 및 지역성 분석을 수행하고, 분석을 통해 기본 컴파일러로 선정한 SUIF 컴파일러에서 사용되는 루프 변환을 포함하여 루프 분산 및 병합의 프로그램 변환을 수행한 후, 쓰레드 실행시간 라이브러리로 병렬성을 명시한 C 프로그램을 출력하는 병렬화 번역기에 대한 연구 내용을 기술하였다.

워크스테이션 클러스터에서 순차적 부하가 병렬 부하에 미치는 영향에 대한 연구 (A Study on Effects of Sequential Workloads on Parallel Workloads in Workstation Clusters)

  • 장영민;심영철
    • 한국정보처리학회논문지
    • /
    • 제5권8호
    • /
    • pp.2137-2153
    • /
    • 1998
  • 네트워크로 연결된 워크스테이션들인 NOW(Network of Workstations)가 순차 프로그램과 병렬 프로그램들을 모두 효율적으로 수행할 수 있는 환경을 제공하려면 이 두 종류의 프로그램들이 어떻게 상호 영향을 주는지 이해할 필요가 있다. 본 논문에서는 순차 프로그램의 부하의 변화에 따른 병렬 프로그램의 성능 변화를 알아보았다. 이러한 목적으로 NOW 시뮬레이터를 구현하고 실험을 하였다. 구현에서 순차 프로그램과 병렬 프로그램들은 합성 부하를 사용하였고 병렬 프로그램의 수행 환경으로는 코스케쥴링과 프로세스 이주가 가능하다고 가정하였다. 실험을 통해서 순차 프로그램들에 의해 변하는 유휴 워트스테이션의 수가 병렬 프로그램의 성능에 어떠한 영향을 미치는지와 동시에 수행되는 여러 개의 병렬 프로그램들이 서로의 성능에 어떠한 영향을 미치는 가에 대해 결과를 수집하고 분석하였다.

  • PDF

병렬 프로그램의 적응형 실행 기법 (Adaptive Execution Techniques for Parallel Programs)

  • 이재진
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제31권8호
    • /
    • pp.421-431
    • /
    • 2004
  • 본 논문은 병렬 프로그램을 실행할 때 계산량이 작은 병렬 루프를 병렬로 실행하는 경우에 생기는 프로그램의 성능 저하를 피하기 위하여, 컴파일 시나 실행 시에 성능 예측 모델을 이용하여 병렬 루프의 성능을 예측한 다음 적응형 실행 기법을 이용하여 병렬 프로그램을 실행하는 방법을 소개한다. 성능예측 알고리즘과 적응형 실행 알고리즘은 컴파일러 전처리기에 구현이 되었으며, 이 전처리기는 병렬 루프가 실행되는 방식을 컴파일 시나 실행 시에 결정하는 코드를 원래의 병렬 프로그램에 삽입한다. Fortran77로 씌어진 다섯 개의 대표적인 과학 수치계산 병렬 벤치마크 프로그램을 32개의 프로세서로 구성된 분산 공유 메모리 병렬 컴퓨터(SGI Origin2000)에 실행하여 본 논문에서 제안한 방법의 성능 평가를 하였을 때, 제안한 기법을 적응한 경우가 32, 16, 8, 및 4개의 프로세서에서 원래의 병렬 프로그램 보다 각각 26%, 20%, 16%, 및 10% 빨리 실행되었다. 이중 한 프로그램은 원래 병렬 프로그램 보다 32개 프로세서에서 두 배 이상 빠르게 실행되었다.

병렬성 검출을 위한 C++ 클래스 설계 및 종속성 분석 (Dependence Analysis and Class Design for Exploiting Implicit Parallelism in C++)

  • 황득영;권오진;최영근
    • 한국정보처리학회논문지
    • /
    • 제5권6호
    • /
    • pp.1479-1493
    • /
    • 1998
  • C++ 프로그램을 병렬 실행시키려면 재구성 컴파일러가 함수 호출로 발생하는 요약된 정보를 수집해야 한다. 객체의 참조 매개변수를 사용하는 경우와 객체의 참조를 반환하는 메소드에 대해서 메소드간의 요약된 정보를 발견하여 병렬성을 검출하는 것은 어렵다. 본 논문에서는 순차 C++ 프로그램을 병렬 프로그램으로 변환하기 위해 클래스 인터페이스 내에 메소드간의 관계를 명시하는 병렬 정보 GERINFPO절과 순서 정보 SEQ절을 삽입하므로서 명시적인 병렬성을 얻고 재구성 컴파일러는 명시된 정보를 이용하여 프로그램내에 내재한 묵시적 병렬성을 얻는 방법을 제안한다. 또한 본 논문에서 제시하는 종속 분석 방법을 이용하여 순차 C++ 프로그램을 병렬 코드로 변환하는 병렬코드 변환기를 구현하였다.

  • PDF

그래픽 사용자 인터페이스를 이용한 병렬 프로그래밍 환경 설계 및 구현 (A Design and Implementation of Parallel Programming Environment using Graphical User Interface)

  • 이원용;박두순
    • 한국멀티미디어학회논문지
    • /
    • 제4권6호
    • /
    • pp.579-587
    • /
    • 2001
  • 본 논문은 그래픽 사용자 인터페이스를 이용하여 병렬 프로그래밍 환경을 설계하고 구현하였다. 병렬 프로그램은 다양한 하드웨어의 특성에 따라 또는 프로그램의 특성에 따라 사용자가 병렬 프로그램을 작성하여야 하기 때문에 사용자가 병렬 프로그램을 작성하는 것은 매우 어렵다. 본 논문에서는 이런 문제를 도와주기 위하여 기존의 병렬 컴파일러에서 제공되고 있는 텍스트 위주의 병렬화 정보 대신에 그래픽 사용자 인터페이스를 이용하여 편안하고 쉽게 병렬화 정보를 제공하는 병렬 프로그래밍 환경을 제안하고, 구현하였다. 본 논문의 병렬 프로그래밍 환경은 종속성 분석, CFG, HTG, 루프 병렬화 등의 기능을 제공한다.

  • PDF

다중 메모리 모델의 CLUMP 시스템을 이용하기 위한 병렬 프로그래밍 기법과 성능 평가 (Parallel Programming for Exploiting Hybrid Parallel Model of CLUMP system and its Performance Evaluation)

  • 이용욱;라마크리쉬나
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 가을 학술발표논문집 Vol.27 No.2 (3)
    • /
    • pp.621-623
    • /
    • 2000
  • 클러스터를 구성하는 단위 노드로 SMP가 새로운 대안으로 시장에 등장하였다. 이러한 멀티프로세서 클러스터(CLUMP)는 하나의 시스템에 다중 메모리 구조를 가지는데, CLUMP가 가지는 다중 메모리 구조를 효과적으로 사용하기 위해서 본 논문에서는 중첩된 병렬화 프로그램 모델을 제안하였다. 중첩된 병렬화 모델은 중첩된 루프 레벨의 병렬화, 중첩된 태스크 레벨의 병렬화, 그리고 다중 중첩된 병렬화로 나뉜다. 본 논문에서는 중첩된 루프 레벨의 병렬화를 실험대상으로 하여 그 성능을 평가하고 단일 메모리 구조의 병렬화 프로그램과 성능을 비교하였다. 실험 결과 시험한 중첩된 병렬화 모델이 단일 메모리 구조의 병렬화 프로그램에 비하여 좋은 성능을 나타내었지만, 실험대상이 된 루프 레벨 병렬화의 잠재적인 특징으로 인해 실행에 참여하는 노드 수가 많아질수록 성능 향상 폭이 감소하는 결과를 보였다. 프로그램의 성능 향상 폭과 확장성은 문제 크기가 클수록 좋은 특성을 보였다.

  • PDF

그래프 중간표현 형태를 기반으로 한 병렬 프로그래밍 환경 (A Parallel Programming Environment using Graph Type Intermediate Representation Form)

  • 이원용;박두순
    • 인터넷정보학회논문지
    • /
    • 제2권4호
    • /
    • pp.69-81
    • /
    • 2001
  • 본 논문에서는 사용자의 병렬 프로그램 작성을 도와주는 병렬 프로그래밍 환경을 제공한다. 병렬 프로그램은 다양한 하드웨어의 특성에 따라 또는 프로그램의 특성에 따라 사용자가 병렬 프로그램을 작성하여야 하기 때문에 프로그래머는 병렬프로그램을 작성하는 것이 매우 어렵다. 본 논문에서는 사용자가 쉽게 프로그램을 작성할 수 있도록 하기 위하여 많은 병렬 화 연구에서 제시되고 있는 그래프 중간 표현 형태를 그래프 사용자 인터페이스로 구현하였다. 이 병렬 환경에서는 프로그램 편집기능, 종속성 분석기능, 루프 변환기능, CFG, PDG, HTG 등 중간 코드를 그래프 중간 표현 형태를 통해 보여 줌으로 사용자에게 병렬화, 최적화 작업에 용이하도록 한다.

  • PDF

분산환경에서 병렬프로그램 재실행을 위한 자바 디버거 (A Java Debugger for Replaying Parallel Programs on a Distributed Environment)

  • 최동순;김남훈;김명호
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 봄 학술발표논문집 Vol.27 No.1 (A)
    • /
    • pp.657-659
    • /
    • 2000
  • 네트워크 처리속도의 증가로 네트워크 컴퓨팅 환경에서의 작업이 늘고 있다. 플랫폼 독립성이라는 특성을 내세운 자바는 일반적인 이 기종간의 네트워크에서의 프로그래밍 언어로 많이 이용되고 있다. 그리고 이러한 네트워크 컴퓨팅 환경에서 병렬 프로그램 디버깅의 어려움으로 인해 자바 병렬 프로그램을 위한 디버거의 필요성이 요구되고 있다. 기존의 디버거들은 이런 병렬 환경에서의 디버깅을 각 프로세서에 하나의 순차디버거를 붙인 디버깅 환경을 제공한다. 그러나 병렬 프로그램은 순차프로그램과 다른 재실행시의 비결정적인 특성을 가지고 있음으로 일반적인 순차 디버거를 이용한 디버깅은 의미가 없다. 본 논문에서는 자바로 구현된 네트워크 컴퓨터(JaNeC)에서 병렬프로그램을 디버기하기 위하여 재실행 시 실행 순서를 보장하는 자바 디버거를 소개한다.

  • PDF

병렬 객체지향 프로그래밍을 위한 시각 환경의 설계 및 구현 (Design and Implementation of Visual Environment for Parallel Object-Oriented Programming)

  • 최숙영
    • 한국정보처리학회논문지
    • /
    • 제6권2호
    • /
    • pp.485-496
    • /
    • 1999
  • 병렬 프로그래밍은 프로세스간의 통신과 동기화 문제, 병렬 시스템의 구성 형태등을 고려해야 하기 때문에 순차 프로그래밍에 ? 많은 노력을 필요로 한다. 효율적인 병렬 프로그램을 작성하기 위해서는 사용자와 컴파일러간의 상호 지원이 이루어져야 한다. 이러한 관점에서 본 연구는 선행 연구로써 병렬 객체지향 표기언어 POOSL을 개발하였다. 그러나, 사용자 입장에서 볼 때 병렬 프로그램을 작성하기 위해 POOSL의 문법 구조를 염두에 두고 텍스트 중심의 프로그램을 작성한다면 여전히 부담스러운 작업이 될 것이다. 사용자에게 보다 편리함을 제공하기 위해서는 텍스트보다는 시각적인 프로그래밍 환경이 더욱 효율적이고 바람직할 것이다. 따라서, 본 논문에서는 POOSL을 기초로 하여 사용자가 좀더 쉽고, 편리하게 병렬 프로그래밍 할 수 있는 시각 환경으로써 VEPO(Visual Environment for Parallel Object-Oriented Programing)를 제안하고 있다. 본 논문의 목적은 사용자가 병렬 프로그램을 작성하는데 있어 문제에 내재된 병렬성을 객체지향 개념에 입각하여 시각적으로 자연스럽게 표현하도록 하고, 병렬 프로그램 개발에 관련된 과정들을 하나의 환경을 통합시킴으로써 편리한 프로그램 환경을 제공하는 것이다. 본 연구에서 제안하고 있는 VEPO는 병렬 프로그램을 개발하는데 필요한 기본적인 단계들로써 프로그램 기술 단계, 실행 단계, 실행 과정의 시각화등을 지원하고 있으며, 시각 프로그래밍의 장점을 충분히 살릴 수 있도록 여러 개념들이 지원되고 있다. 특히, 병렬 프로그램에서 복잡하고 까다로운 통신과 동기화에 관련된 코드 등은 번역 과정에서 여러 개념들이 생성되도록, 함으로써 사용자로 하여금 병렬 프로그램을 작성하는데 따르는 부담감을 줄 일 수 있도록 한다. 본 시스템은 PC를 호스트로 연결한 트랜스퓨터들로 구성된 병렬 컴퓨터 MC-3에서 구현되었다. VEPO 그래픽 사용자 인터페이스는 Visual C++로 구현되었고, VEPO에서 작성된 시각 프로그램은 Inmos C 코드로 번역되어 MC-3에서 수행된다.

  • PDF