• Title/Summary/Keyword: 병렬 컴파일러

Search Result 72, Processing Time 0.024 seconds

Quad-tree Search Parallelization using OpenMP and Performance Analysis (OpenMP를 통한 쿼드 트리 검색 병렬화 및 성능 분석)

  • Sung, Woon;Park, JoonSeok
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2012.04a
    • /
    • pp.163-166
    • /
    • 2012
  • OpenMP를 이용할 경우 컴파일러 디렉티브의 삽입으로 병렬화가 가능하다. 본 논문은 쿼드 트리를 이용한 데이터베이스 검색 프로그램을 OpenMP로 병렬화하여 실험을 진행한다. 실험을 통해 논리코어의 개수와 쓰레드 개수에 따른 상관관계가 적다는 것을 알 수 있다. 또한 쓰레드 개수 증가에 따른 오버헤드 발생이 성능에 영향을 준다는 사실을 알 수 있다. 쿼드 트리 자료구조를 이용한 데이터베이스 검색 프로그램을 OpenMP를 이용해 병렬화할 경우 논리적 코어의 개수가 8개, 쓰레드 개수가 16개일 경우에 1.8배의 최대의 성능향상을 이룬다.

Flat Indexing: A Compilation Technique to Enhance the Parallelism of Logic Programs (논리 프로그램의 병렬도 개선을 위한 플랫 인덱싱 기법)

  • Kim, Hie-Cheol;Lee, Yong-Doo
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.7
    • /
    • pp.1908-1922
    • /
    • 1998
  • 본 논문은 논리언어 프로그램의 효율적인 클로즈(Clause) 인덱싱을 위한 컴파일 기법에 대한 체계적인 접근방법을 제시한다. 본 접근방법의 핵심으로서 노드당 평균 병렬도와 클로즈 수행시도(clause trial) 횟수를 정확하게 나타낼 수 있는 기법으로서 인덱싱트리(Indexign Tree)를 제안한다. 인덱싱트리는 인덱싱 수행 시에 인덱싱을 위한 지시어(Instruction)의 수행 결과로 프로그램으 컨트롤이 실패처리코드로 이동하는 경우도 정량적으로 나타내 준다. 인덱싱트리를 사용하여 논리 프로그램을 위한 대표적인 가상머신인 WAM(Warren Abstract Machine)을 분석한 결과, WAM에서 사용하는 인덱싱 기법이 논리 프로그램의 병렬 처리에 있어 탐색트리의 병렬도를 감소시키며, 또한 스케쥴링의 효율성을 저하시키는 결점을 내포하고 있음을 발견할 수 있었다. 이러한 결점을 해결하기 위하여 본 논문은 플랫 인덱싱이라는 새로운 인덱싱 기법을 제안하고 이것을 실제 논리언어 컴파일러에 구현하여 측정한 향상 및 분석 결과를 보여준다.

  • PDF

A Study on the Optimization and Parallelism Information Representation using Ideograph (Ideograph를 이용한 최적화 및 병렬성 정보 표현에 관한 연구)

  • 정성옥;고광만
    • Journal of Intelligence and Information Systems
    • /
    • v.6 no.2
    • /
    • pp.41-47
    • /
    • 2000
  • Ideograph is a truly unifies data and procedural dependencies. Ideograph can be used to assist various program optimization, such as common expression elimination, code motion, constant folding etc. In this paper, we propose an improved representation of the data and control flow dependencies information for the efficient program execution. In pursuing this goal, we propose a model and in particularly implement a dependency information extractor and information table, which contains data and control flow information per a basic block And then we design and implementation of the optimized abstract syntax tree using Ideograph which has a control flow information and data flow information for source program.

  • PDF

An Improved Register Allocation Technique for ILP Processors (ILP 프로세서를 위한 개선된 레지스터 할당 기법)

  • Sin, Hwa-Jeong;Lee, Gi-Ho
    • Journal of KIISE:Software and Applications
    • /
    • v.28 no.2
    • /
    • pp.201-209
    • /
    • 2001
  • 고성능 마이크로 프로세서들은 성능 향상을 위해 ILP를 지원한다. 병렬성을 극대화시키기 위해서는 많은 성능 저해 요인들을 제거해야 한다. 최근에는 컴파일러의 역할을 증대시켜 이러한 요인들을 줄이기 위한 노력들이 활발히 진행되고 있다. 본 논문에서는 성능 저해 요인인 조건 분기 처리를 위하여 조건 실행과 레지스터 할당을 결합함으로써 메모리로의 대피를 최소화하고 병렬성을 향상시킬 수 있는 개선된 레지스터 할당 알고리즘을 제안한다. 제안한 방법을 적용하여 실험한 결과 간섭 그래프의 에지수가 4.47% 감소되었고 그 결과 요구되는 대피 변수의 수도 21.35% 감소되었다. 그리고 기존의 방법에 비해 19.38%의 성능 향상 결과를 얻었다. 결국 본 레지스터 할당 기법은 조건 실행을 통해 조건 분기 명령을 제거하여 기본 블록 내의 명령어 수를 증가시켜 병렬처리의 기회를 증진시키고 조건 분석을 통해 간섭 그래프의 불필요한 에너지를 제거시켜 보다 효율적인 레지스터 할당을 실현함으로써 제안한 방법의 타당성을 검증하였다.

  • PDF

An Efficient Loop Splitting Method on Single Loop with Non-uniform Dependences (비균일 단일루프에서의 효율적인 루프 분할 방법)

  • Jeong Sam-Jin
    • The Journal of the Korea Contents Association
    • /
    • v.5 no.4
    • /
    • pp.204-211
    • /
    • 2005
  • This paper introduces three loop splitting methods such as minimum dependence distance method, Polychronopoulous' method, and first dependence method for exploiting parallelism from single loop which already developed. And it also Indicates their several problems. We extend the first dependence method which is the most effective one among three loop splitting methods, and propose more powerful loop splitting method to enhance parallelism on single loop. The proposed algorithm solves several problems, such as anti-flow dependence and g=gcd(a,c) > 1, that the first dependence method has.

  • PDF

A Study on the Optimized Representation for Data and Control Flow Information (자료 및 제어 흐름 정보의 최적화 표현에 관한 연구)

  • 정성옥;고광만;이성주
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.4 no.3
    • /
    • pp.681-687
    • /
    • 2000
  • Ideograph is a truly unifies data and procedural dependencies, Ideograph can be used to assist various program optimization, such as common expression elimination, code motion, constant folding etc. In this paper, we design and implementation of the optimized abstract syntax tree using Ideograph. Ideograph has control flow information and data flow information for source program. So we use a Ideograph in order to produce a optimized Ideograph with control flow information and data flow information.

  • PDF

The Procedure Transformation using Data Dependency Elimination Methods (자료 종속성 제거 방법을 이용한 프로시저 변환)

  • Jang, Yu-Suk;Park, Du-Sun
    • The KIPS Transactions:PartA
    • /
    • v.9A no.1
    • /
    • pp.37-44
    • /
    • 2002
  • Most researches of transforming sequential programs into parallel programs have been based on the loop structure transformation method. However, most programs have implicit interprocedure parallelism. This paper suggests a way of extracting parallelism from the loops with procedure calls using the data dependency elimination method. Most parallelization of the loop with procedure calls have been conducted for extracting parallelism from the uniform code. In this paper, we propose interprocedural transformation, which can be apply to both uniform and nonuniform code. We show the examples of uniform, nonuniform, and complex code parallelization. We then evaluated the performance of the various transformation methods using the CRAY-T3E system. The comparison results show that the proposed algorithm out-performs other conventional methods.

Organization of Parallelizing Compilers (병렬화 컴파일러의 구조)

  • Lee, J.K.;Chi, D.;Chang, B.-M.
    • Electronics and Telecommunications Trends
    • /
    • v.9 no.4
    • /
    • pp.9-21
    • /
    • 1994
  • Wide variety of the architectural complexity of parallel computer often makes it difficult to develop efficient programs for them. One of approaches to improve this difficulty is to program in familiar sequential languages such as Fortran or C and to parallelize sequential programs into equivalent parallel programs automatically. This paper presents an organization of parallelizing compiler which transforms sequential programs into equivalent parallel programs. The parallelizer consists mainly of syntax analysis, control and data flow analysis, program transformation, and parallel code generation. In particular, the program restructuring in this parallelizer maximizes loop parallelism.

Design of Translator for generating Java Bytecode from Thread code of Multithreaded Models (다중스레드 모델의 스레드 코드를 자바 바이트 코드로 변환하기 위한 번역기 설계)

  • 김기태;이갑래;양창모;유원희
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.04a
    • /
    • pp.68-70
    • /
    • 2000
  • 다중스레드 모델은 데이터플로우 모델의 내부적인 병렬성, 비동기적 자료 가용성과 폰 노이만 모델의 실행 지역성을 결합하여 병렬처리 시스템의 성능을 향상 시켰다. 이 모델은 프로그램의 실행을 위하여 컴파일러에 의해 생성된 스레드를 수행하며, 스레드의 생성 방법에 따라 자원 활용 빈도나 동기화 빈도와 같은 스레드의 질이 결정 되는 특징이 있다. 하지만 다중스레드 모델은 실행 모델이 특정 플랫폼에 제한되는 단점을 가지고 있다. 이에 반해 자바는 플랫폼에 독립적인 특징을 가지고 있어 다중스레드 모델의 스레드 코드를 실행 단위인 자바 언어로 변환하면 다중스레드 모델의 특징을 여러 플랫폼에서 수정 없이 사용할 수 있게 된다. 자바는 원시 언어를 중간 언어 형태의 바이트 코드로 변환하여 각 아키텍처에 맞게 설계된 자바 가상 머신이 설치된 시스템에서 자바 언어를 수행한다. 이러한 자바 언어의 바이트 코드는 번역기의 중간 언어와 같은 역할을 수행하고, 자바 가상 머신은 번역기의 후위부와 같은 역할을 한다. 본 논문은 다중스레드 코드가 플랫폼에 독립적인 특성을 갖출 수 있도록 다중스레드 코드를 자바 가상 머신에서 실행 가능하도록 한다. 즉, 다중스레드 모델의 스레드 코드를 자바 바이트 코드로 변환하는 번역기를 설계, 구현하고, 자바 가상 머신의 실행을 분석한다.

  • PDF

Performance Analysis of Network Devices for High Performance Computing Cluster (HPC 클러스터 구축을 위한 다양한 네트워크 성능 분석)

  • Hong, Jeong-Woo;Lee, Bo-Sung;Park, Hyung-Woo;Lee, Sang-San
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2002.04a
    • /
    • pp.319-322
    • /
    • 2002
  • 최근 주목받고 있는 그리드 컴퓨팅 연구등에 주요한 요소로서 기대되어지는 고성능 클러스터 시스템들은 주로 과학 기술 응용연구를 위해 사용되어진다. 이러한 종류의 병렬 시스템은 특정 부품들을 사용하는데 그중 네트워크를 구성하는 부품들이 통상의 분산/병렬컴퓨팅에 주요한 역할요소로서 주목을 받아오고 있다. 이 논문에서는 myrinet, Gbit ethernet, Fast ethernet 장비에 대하여 각각 Netpipe, Linpack, NPB 등의 벤치마크를, 성능 실험을 동해 선정한 Pentium IV 1.7Mhz/1Gb Mem 16노드로 구성한 클러스터에 대하여 2종의 컴파일러를 사용하여 테스트하고 그 결과를 분서하였다. 상이한 성능 차를 보이는 장비간의 성능 비교를 통해 2002년 2월 현재 가능한 응용문제가 사용하고 있는 알고리즘에 따른 최적의 클러스터 시스템의 최적 구성을 도출 할 수 있다.

  • PDF