• Title/Summary/Keyword: 병렬 프로그램

Search Result 602, Processing Time 0.025 seconds

Implementation of Ray-Tracer on a Java Parallel Environment (자바 병렬 환경에서 동작하는 광선 추적기 구현)

  • 황정현;김정훈;안진호;황종선
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10a
    • /
    • pp.771-773
    • /
    • 1998
  • 광선 추적법(Ray-Tracer)은 물체에 직.간접적으로 영향을 미치는 빛의 반사 및 굴절 경로를 역추적함으로써 실제감있는 이미지를 생성하는 렌더링(rendering)기법이다. 이러한 광성 추적법을 장시간의 계산을 필요로 하는 단점이 있으나. 각각의 광선을 병렬적으로 추적함으로써 속도의 향상을 피할 수 있다. 본 논문에서는 자바를 사용하는 메시지 기반 병렬 프로그래밍 시스템인 JPVM 상에서 동작하는 병렬 광선 추적기를 구현하였다. 병렬 광성 추적기를 사용자에 의해 지정된 장면 정의 파일(Scene Defintion File)을 읽어 들여 피싱(parsing)한후, 생성된 장면 객체를 각 worker프로그램에게 전송한다. 병렬 광선 추적기는 전체 화면 영역을 분활하여 각 worker 프로그램에 할당하며, worker프로그램들은 자신에게 할당된 영역의 이미지를 병렬적으로 생성한다. 실험 결과, 병렬 광선 추적기는 단일 광선 추적기에 비해 빠르게 렌더링을 수행하였으며, worker프로그램의 수가 증가함에 따라 수행 속도가 향상되었다.

  • PDF

A Study on Parallel Compiler Using PARAFRASE II Analysis (PARAFRASE I I 분석을 통한 병렬 컴파일러에 관한 연구)

  • 이상헌;박두순
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 1998.04a
    • /
    • pp.349-354
    • /
    • 1998
  • 정보화 시대를 맞이해서 다량의 자료와 다양한 형태의 자료를 빠르게 처리함이 요구됨에 따라서 좀더 성능이 좋은 컴퓨터를 요구하였으며, 이러한 요구사항에 충족하기 위하여 병렬 컴퓨터가 등장하였다. 그러나, 병렬 컴퓨터에서 수행되는 병렬 프로그램을 사용자가 작성하기란 용이한 작업이 아니다. 사용자에게 편의를 제공하고, 기존의 프로그램들을 병렬 컴퓨터에서 직접 수행시키기 위하여 병렬 컴파일러가 등장하였다. 이러한 병렬 컴파일러를 만드는데는 상당한 시간과 노력이 요구된다. 본 논문에서는 PARAFRASE-2 병렬 컴파일러의 분석을 통하여 병렬 컴파일어의 구조를 살펴보고 간단한 병렬 컴파일러를 설계, 구현한다.

  • PDF

Tuning the Performance of Haskell Parallel Programs Using GC-Tune (GC-Tune을 이용한 Haskell 병렬 프로그램의 성능 조정)

  • Kim, Hwamok;An, Hyungjun;Byun, Sugwoo;Woo, Gyun
    • KIISE Transactions on Computing Practices
    • /
    • v.23 no.8
    • /
    • pp.459-465
    • /
    • 2017
  • Although the performance of computer hardware is increasing due to the development of manycore technologies, software lacking a proportional increase in throughput. Functional languages can be a viable alternative to improve the performance of parallel programs since such languages have an inherent parallelism in evaluating pure expressions without side-effects. Specifically, Haskell is notably popular for parallel programming because it provides easy-to-use parallel constructs based on monads. However, the scalability of parallel programs in Haskell tends to fluctuate as the number of cores increases, and the garbage collector is suspected to be the source of this fluctuations because it affects both the space and the time needed to execute the programs. This paper uses the tuning tool, GC-Tune, to improve the scalability of the performance. Our experiment was conducted with a parallel plagiarism detection program, and the scalability improved. Specifically, the fluctuation range of the speedup was narrowed down by 39% compared to the original execution of the program without any tuning.

Loop Splitting for On-the-fly Race Detection of Sharded-memory Parallel Programs (공유 메모리 병렬 프로그램의 수행중 오류 탐지를 위한 루프 분리)

  • Song, Tae-Seob
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.16 no.3
    • /
    • pp.391-398
    • /
    • 2012
  • Detecting races is important for debugging shared-memory parallel programs, because the races result in unintended non-deterministic executions of the programs. Previous on-the-fly techniques to detect races in parallel programs with general inter-thread coordination show serious space overhead which depends on the maximum parallelism of the program. Therefore, this paper presents a loop splitting technique for on-the-fly race detection of parallel programs which is more efficient in space complexity than previous techniques. This loop splitting technique is the debugged program which preserves semantics of the original program. Monitering loop splitting program in on-the-fly can detect first races.

High Performance Parallel Computer for Scientific Computations (과학계산전용 병렬처리 컴퓨터 구조)

  • 박규호;정봉준
    • The Magazine of the IEIE
    • /
    • v.22 no.9
    • /
    • pp.14-27
    • /
    • 1995
  • KAICUBE/한빛-1호는 하이퍼큐브 형태의 연결망을 가진 병렬 컴퓨터이고 각 노드는 i860프로세서와 통신용의 i82380 DMA 콘트롤러를 탑재하고 있다. 40Mh2 CPU클럭을 사용하는 32노드로 구성되어 있고 컴퓨터의 최고 속도는 2.5G-flops 정도로써 이것은 국내 최초의 Giga급 컴퓨터이다. DMA콘트롤러에 의해 구동되는 노드간 통신은 채널 대역폭이 100Mbps정도이다. 0번 노드는 UNIX를 탑재한 호스트 컴퓨터와 연결되어 있고 호스트 컴퓨터는 병렬 프로그래밍 환경과 각 노드를 관리하는 역할을 한다. 익스프레스는 호스트 컴퓨터에 탑재된 병렬 운영 체제이고 사용하기 간편한 사용자 환경과 프로그래밍 방법에 따라 호스트-노드방법과 cubits 프로그래밍 환경을 각각 제공한다. 그밖에 고수준의 병렬 프로그래밍 환경으로써 기존의 순차 프로그램에 기초한 입력 프로그램을 병렬 프로그램으로 자동 변환 해주는 KAPPA가 있다. 여러 분야의 과학 계산용 프로그램이 수행되고 있으며 그의 성능 측정을 통하여 탁월한 성능을 보여 주었다. 보다 편리한 병렬 프로그래밍 환경의 개발과 범용 계산 전응 서버로써 자유로이 사용할 수 있도록 네트워크 기능을 강화하는 일이 남아있다.

  • PDF

Exploiting implicit Parallelism for Single Loops in Java Programming Language (Java 프로그래밍에서 단일 루프 구조의 병렬성 검출)

  • Hwang, Deuk-Yeong;Gwon, O-Jin;Choe, Yeong-Geun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.7
    • /
    • pp.1730-1745
    • /
    • 1998
  • 순차 Java 프로그램을 병렬 시스템에서 실행할 경우 루프는 전체 수행 시간 중 많은 부분을 차지하므로 병렬성 검출의 기본이 된다. 본 논문은 기존에 작성된 단일 루프 구조를 갖는 Java 프로그래밍 언어에서 종속성 분석을 수행하여 묵시적 병렬성을 검출하는 방법을 제안한다. 또한 재구성 컴파일러에 의하여 병렬 코드를 생성하는 방법과 Java 원시 프로그램을 Java 프로그래밍 언어 자체에서 지원하는 다중스레드 기법으로 변환하는 방법을 제안한다. 스레드 문장으로 변환된 프로그램에 대해 루프의 반복계수와 스레드 수를 매개변수로 하여 성능 분석을 하였다. 재구성 컴파일러에 의한 장점은 사용자의 병렬성 검출에 대한 오버헤드를 줄이고, 순차 Java 프로그램에 대한 효과적인 병렬성 검출을 가능하게 한다.

  • PDF

Filtering Accesses for Detecting Races in Parallel Programs with Locking (임계구역을 가진 공유메모리 병렬프로그램에서 효율적인 경합 탐지를 위한 사건 선택기법)

  • 김영주;이승렬;전용기
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.04a
    • /
    • pp.630-632
    • /
    • 2000
  • 경합은 공유메모리 병렬프로그램의 비결정적인 수행결과를 초래하므로, 디버깅을 위해서 경합탐지는 중요하다. 임계구역을 가진 병렬프로그램을 위한 수행중 경합 탐지 기법은 공유 자료구조를 사용하므로, 매 접근 사건 시에 병목현상을 유발한다. 본 연구에서는 동기화가 있는 병렬프로그램에서 매 반복을 수행할 때마다 공유 자료구조의 접근 횟수를 기껏해야 임계구역의 수에 비례하도록 매 접근사건을 검사한다. 그러므로 이 기법은 수행중 경합탐지의 확장성과 효율성을 제공한다.

  • PDF

Transform Nested Loops into MultiThread in Java Programming Language for Parallel Processing (자바 프로그래밍에서 병렬처리를 위한 중첩 루프 구조의 다중스레드 변환)

  • Hwang, Deuk-Young;Choi, Young-Keun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.8
    • /
    • pp.1997-2012
    • /
    • 1998
  • It is necessary to find out the parallelism in tlle sequential Java program to execute it on the parallel machine. The loop is a fundamental source to exploit parallelism as it process a large portion of total execution time in sequential Java program on the parallel machine. However, a complete parallel execution can hardly be achieved due to data dependence. This paper proposes the method of exploiting the implicit parallelism by structuring a dependence graph through the analysis of data dependence in the existing Java programming language having a nested loop structure. The parallel code generation method through the restructuring compiler and also the translation method of Java source program into multithread statement. which is supported by the Java programming language itself, are proposed here. The perforance evaluatlun of the program translaed into the thread statement is conducted using the trip cunt of loop and the trip Count of luop and the thread count as parameters The resttucturing compiler provides efficient way of exploiting parallelism by reducing manual overhead conveliing sequential Java program into parallel code. The execution time for the Java program as a result can be reduced un the parallel machine.

  • PDF

Exploiting Implicit Parallelism for Single Loops in Java Programming Language (JAVA 프로그래밍 언어에서 단일루프구조의 무시적 병렬성 검출)

  • Kwon, Oh-Jin
    • Journal of Information Management
    • /
    • v.29 no.3
    • /
    • pp.1-26
    • /
    • 1998
  • The loop is a fundamental for the parallelism exploiting as it has a large portion of execution time for sequential Java program on the parallel machine. This paper proposes the method of exploiting the implicit parallelism through the analysis of data dependence in the existing Java programming language having a single loop structure. The parallel code generation method through the restructuring compiler and the translation method of Java source program into multithread statement, which is supported in the level of the Java programming language, are also proposed here. The performance test of the program translated into the thread statement is conducted using the trip count of loop and the thread count as parameters. The restructuring compiler makes it possible for users to reduce overhead and exploit parallelism efficiently in the Java programming.

  • PDF

A Parallel Programming Environment Implemented with Graphic User Interface (그래픽 사용자 인터페이스로 구현한 병렬 프로그래밍 환경)

  • Yoo, Jeong-Mok;Lee, Dong-Hee;Lee, Mann-Ho
    • The Transactions of the Korea Information Processing Society
    • /
    • v.7 no.8
    • /
    • pp.2388-2399
    • /
    • 2000
  • This paper describes a parallel programming environment to help programmers to write parallel programs. The parallel programming environment does lexical analysis and syntax analysis like front-end part of common compilers, data flow analysis and data dependence analysis for variables used in programs, and various program transformation methods for parallel programming. Especially, graphic user interface is provided for programmer to get parallel programs easily.

  • PDF