보고서 정보
주관연구기관 |
서울대학교 Seoul National University |
연구책임자 |
한상영
|
참여연구자 |
전주식
,
김성조
|
발행국가 | 대한민국 |
언어 |
한국어
|
발행년월 | 1993-08 |
주관부처 |
과학기술부 |
사업 관리 기관 |
서울대학교 Seoul National University |
등록번호 |
TRKO200200014042 |
DB 구축일자 |
2013-04-18
|
키워드 |
혼합형 계산모델.multi-agent 환경.병렬처리.컴퓨터 구조.다중스레드 기계구조.리덕션 컴퓨터.함수언어.병렬프로그래밍 환경.분할 기법.스케줄링 기법.Hybrid Computational Model.Multi-agent Environment.Parallel Processing.Computer Architecture Architecture.Reduction Computer.Functional Language.Parallel Programming Environment.Partitioning Technique.Scheduling Technique.
|
초록
▼
고성능 컴퓨터 시스템에 관한 연구는 계산모델, 프로그래밍 언어, 시스템 소프트웨어, 하드웨어를 포괄하는 전체 스펙트럼상에서 수행되어야 한다. 따라서 고성능 하드웨어를 우선적으로 설계하고 이에 적합한 소프트웨어 시스템을 개발하는 연구 방향은 기존의 계산모델이 갖는 근본적인 문제점을 피할 수 없으므로 전체 컴퓨터 시스템의 성능 향상의 제약 요인이 된다.
본 연구에서는 기존의 계산모델과 프로그래밍 언어, 기계구조 등에 관한 분석을 통해, 문제 해결의 출발점을 계산모델로 삼고, 기존의 여러 계산모델이 지닌 장단점을 파악하여 이들의
고성능 컴퓨터 시스템에 관한 연구는 계산모델, 프로그래밍 언어, 시스템 소프트웨어, 하드웨어를 포괄하는 전체 스펙트럼상에서 수행되어야 한다. 따라서 고성능 하드웨어를 우선적으로 설계하고 이에 적합한 소프트웨어 시스템을 개발하는 연구 방향은 기존의 계산모델이 갖는 근본적인 문제점을 피할 수 없으므로 전체 컴퓨터 시스템의 성능 향상의 제약 요인이 된다.
본 연구에서는 기존의 계산모델과 프로그래밍 언어, 기계구조 등에 관한 분석을 통해, 문제 해결의 출발점을 계산모델로 삼고, 기존의 여러 계산모델이 지닌 장단점을 파악하여 이들의 장점을 수용하는 혼합형 계산모델이 현 단계에서 효과적이라는 사실을 도출하였다. 그리고 이를 기초로 하여 혼합형 계산모델과 병렬 언어, 기계구조 등 병렬 컴퓨터 시스템 전반에 관한 연구를 수행하였다.
본 연구는 multi-agent 환경을 위한 병렬 컴퓨터 시스템에 관한 연구로서, 크게 세가지 방향으로 수행되었다. 연구의 한 방향은 데이타플로우 모델을 기초로 하여 폰노이만 모델의 장점을 취합한 컴퓨터 구조에 관한 연구이며, 두번째 방향은 데이타플로우 개념을 흡수한 리덕션 컴퓨터에 관한 연구이고, 세번째 방향은 함수형 병렬 프로그램의 효율적인 처리를 위한 프로그래밍 환경과 분할 및 스케줄링 기법에 관한 연구이다.
첫번째 방향의 연구에서는 데이타플로우 모델과 폰노이만 모델의 장점을 취합한 혼합형 계산모델인 다중스레드 모델을 고안하고, 기존의 병렬 컴퓨터 구조에 대한 분석과 설계 요구 조건을 토대로 다중스레드 모델에 기반하고 multi-agent를 효과적으로 지원할 수 있는 다중스레드 기계구조를 개념 설계하고, 이 구조에 대한 병렬 기계 언어를 설계하였다. 또한 몇 가지 벤치마크에 대한 시물레이션을 통해 설계된 다중스레드 구조의 성능을 분석하였다. 그리고 고도의 병렬성 및 다중 수행 방식을 표현할 수 있는 병렬 프로그래밍 언어 HEX (Heterogeneous EXecution language)를 설계하였으며, 기존 병렬 컴파일러에 대한 분석을 토대로 다중 수행 방식 및 multi-agent 환경을 효과적으로 지원할 수 있는 병렬 컴파일러를 설계하였다.
두번째 연구 방향은 multi-agent 환경을 위한 리덕션 컴퓨터에 관한 연구로서, 순수한 리덕션 계산모델의 성능 개선 연구를 기반으로 데이타플로우 개념의 흡수 방안을 도출하였으며, multi-agent 환경에의 적용을 위한 기초 연구를 수행하였다. 우선 전용 함수 언어를 제안하였고 함수 처리 모형을 정립하였으며, 처리소자를 중심으로 리덕션 컴퓨터의 구조를 설계하였다. 더불어 컴파일러의 개발을 위한 기법들에 대해 연구하였으며, 이들을 통합하여 처리소자 중심의 성능 분석을 시도하였다. 제안된 함수 언어는 응용 영역의 확장과 실행 효율의 향상을 위하여 명령형 언어의 개념도 제공하며, 요구구동형뿐만 아니라 자료구동형에 의한 수행방식도 포괄적으로 허용한다. 한편 리덕션 컴퓨터는 스레드 개념에 입각하여 순차 방식으로 함수를 처리하며, 임의 시점에서 여러 함수가 서로 다른 처리소자에서 수행된다. 함수 처리 모형으로 다중스레딩 기법을 도입하여 병렬처리 시스템에서 발견되는 지연 문제와 동기화 문제를 효과적으로 극복하였다.
세번째 방향의 연구에서는 병렬 계산을 자연스럽게 표현할 수 있는 함수형 그래프 프로그래밍 환경을 설계하고 구현하였다. 또한 multi-agent 환경을 효율적으로 지원할 수 있고 프로그램과 시스템 구조의 특성에 독립적인 컴파일 시간 분할 기법을 고안하였으며, 다중 스레드 시스템에서 발생하기 쉬운 스케줄링 병목현상을 제거하기 위해 전처리, 광역 스케줄링, 지역 스케줄링의 세단계로 구성된 실행시간 스케줄링 기법을 제안하였다. 그리고 스케줄링 기법의 성능 평가를 위해 큐잉 네트워크를 기반으로 한 MVA (Mean Value Analysis) 평가 기법과 계층적 분할 평가 기법을 제안하고, 분할 기법과 스케줄링 기법의 복잡도와 성능을 평가하였다.
본 연구진은 차세대 컴퓨터 시스템에 적합한 계산모델 선정으로부터 시작한 컴퓨터 구조에 관한 두 가지 접근 방향의 연구와, 이들 구조에서의 함수형 병렬 프로그램 개발과 유지를 위한 환경 및 프로그램 실행 성능 개선을 위한 기법에 관한 연구를 수행하였고, 이에 대한 성능 분석을 행하였다. 향후 이 성능 분석의 결과를 토대로 시스템 전반에 걸친 문제점 파악과 효과적인 병렬 컴퓨터 시스템 개발을 위한 지속적인 연구가 필요하다.
Abstract
▼
A study on the high-performance computer systems should be performed in the whole spectrum of computer systems, including computational models, programming languages, system softwares, and hardwares. In developing computer systems, by the methodology to design high-speed hardware first and develop s
A study on the high-performance computer systems should be performed in the whole spectrum of computer systems, including computational models, programming languages, system softwares, and hardwares. In developing computer systems, by the methodology to design high-speed hardware first and develop software systems later, the essential problems of the conventional computational models cannot be avoided.
And it is an obstacle to the enhancement of system performance.
We, first, analyzed the existing computational models, programming languages, compiling techniques, and computer architectures. We understood the devise of new computational models as a starting point of resolving the problems. And we recognized the advantages and disadvantages of the existing computational models. As a result, we can induce that a hybrid computational model, which adopts the advantages of other models, is more effective. From this viewpoint, we studied on the overall parallel computer systems, including hybrid computational models, parallel programming languages, and computer architectures.
We studied on the parallel computer systems under the multi-agent environment in the three branches. The first branch is to study on the computer architecture which is based on dataflow computational model and takes the advantages of von Neumann computational model. The second branch is to study on the reduction computer which absorbs the concepts of dataflow computation. The third branch is to study on the programming environment and techniques for efficient development and execution of functional parallel programs.
In the first branch, we devised a multithreaded computational model, which is a hybrid of dataflow computational model and von Neumann computational model. We also analyzed the existing parallel computer architectures and the requirements of designing architectures. Based on the analysis, we conceptually designed a multithreaded architecture, which is based on the multithreaded computational model. and effectively supports multi-agent environment. And we designed its parallel machine language, and analyzed performance of the proposed multithreaded architectrure. In addition, we designed a parallel programming language HEX(Heterogeneous EXecution language), suitable for expressing massive parallelism and heterogeneous execution mode, and a parallel compiler, which effectively wupports heterogeneous execution mode and multi-agent environment in the multithreaded architecture.
In the second branch, we studied on the reduction architectrue for multi-agent environment. We studied on how to improve computatonal efficiency of pure reduction model. And then we incorporated the dataflow idea into reduction paradigm, and performed the basic survey on the support of multi-agent environment. We suggested a new functional language, established the execution model for it, and designed a reduction computer architecture. And we studied on the compilation methodologies for the suggested language. Finally we analyzed the performance of the integrated system, focusing on the processing element. The suggested functional language lets the notion of the imperative language be utilized in writing the program, and allows data-driven execution as well as demand-driven execution. The whole system evaluates the multiple functions simultaneously, whereas each processing elements do the thread-based sequential execution of individual functions. The thread-based processing of a function helps us to overcome both the latency problem and synchronization problem which are two fundamental issues for parallel processing. In the third branch, we designed and implemented a functional parallel programming environment. And we suggested a compile-time partitioning technique and a run-time scheduling technique, which can efficiently support multi-agent environment, being independent of the specific programs and system architectures. We also proposed an evaluation scheme based on MVA (Mean Value Analysis) and hierarchical decomposition methods using queueing network model to analyze our scheduling technique. And we analyzed the complexity of our partitioning and scheduling techniques, and evaluated the performance of them. We researched on the next generation computer systems in two approaches which are started by choosing appropriate computationnal models. We also researched on the environment for development and maintenance of functional parallel programs and on the techniques for enhancement of performance to execute parallel programs. And we analyzed performance of our systems. In the future, it is needed to recognize the issues in development of the whole systems, based on the result of performance analysis, and continuously research on effective parallel computer systems.
목차 Contents
- 1. 서론...14
- 2. 연구방법...18
- 3. 결과...20
- 4. 고찰...31
- 5. 결론...36
- 1세부목차...38
- 1. 서론...42
- 2. 연구방법...45
- 3. 결과...47
- 4. 고찰...143
- 5. 결론...145
- 6. 참고문헌...147
- 2세부목차...150
- 1. 서론...154
- 2. 연구방법...156
- 3. 결과...157
- 4. 고찰...252
- 5. 결론...254
- 6. 참고문헌...256
- 3세부목차...260
- 1. 서론...264
- 2. 연구방법...268
- 3. 결과...269
- 4. 고찰...364
- 5. 결론...366
- 6. 참고문헌...368
※ AI-Helper는 부적절한 답변을 할 수 있습니다.