122
최종연구보고서 시뮬레이션을 이용한 시스템 성능 분석 기법에 관한 연구 연 구 수행 기 관 : 연세 대학교 산업 기술 연구소 한국전자통신연구소

시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

최 종 연 구 보 고 서

시뮬레이션을 이용한 시스템 성능 분석

기법에 관한 연구

연 구 수행 기 관 : 연세 대학교 산업 기술 연구소

한국전자통신연구소

Page 2: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

한국전자통신연구소장 귀하

시뮬레이션을 이용한 시스템 성능 분석 기법에 관한 연구 의 최종 보고서를 별첨과 같이" “

제출합니다.

년 월 일1990 6 26

수행 연구 기관 : 연세대학교 산업기술 연구소

연 구 책 임 자 : 박 상 희 인( )

수행 연구기관장 : 연세대학교 산업기술 연구소

소장 김 문 일 직인

Page 3: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

제 출 문

한국전자통신연구소장 귀하

본 보고서를 시뮬레이션을 이용한 시스템 성능 분석 기법에 관한 연구 의 최종연구보고서" "

로 제출합니다.

년 월 일1990 6 26

수행 연구 기관 : 연세 대학교 산업 기술 연구소

연 구 책 임 자 : 박 상 희 연세 대학교 공과 대학 교수( )

연 구 원 : 최 윤 호 연세 대학교 대학원 박사과정( )

김 동 준 연세 대학교 대학원 박사과정( )

연 구 보 조 원 : 한 영 오 연세 대학교 대학원 석사과정( )

조 정 호 연세 대학교 대학원 석사과정( )

김 영 진 연세 대학교 대학원 석사과정( )

김 영 선 연세 대학교 대학원 석사과정( )

Page 4: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

요 약 문

제목 시뮬레이션을 이용한 시스템 성능 분석 기법에 관한 연구1. :

연구의 목적 및 중요성2.

연구의 목적1)

본 연구에서는 대형화된 다중처리 및 병렬처리 시스템의 개발 과정에서 성능 예측 설계 보,

완 및 성능 개선의 도구로 사용될 수 있는 시뮬레이션 기법을 광의적 개념으로부터 조사 분

석하고 간단한 멀티 프로세서 시스템에 대한 시뮬레이션을 수행하여 실제 시스템 개발에,

필요한 성능 예측 도구로 이용될 수 있도록 한다.

연구의 중요성2)

컴퓨터 시스템을 개발하는 과정에서 시스템의 성능 예측 및 정량적 분석이 시스템의 최적화

와 개발 기간의 단축을 위하여 필수적으로 요구됨은 이미 널리 알려진 사실이다 특히 고도. ,

의 계산 속도 요구를 충족시키기 위하여 컴퓨터 시스템이 다중 처리 및 병렬 처리 기술을

이용한 대형화로 발전해 감에 따라 시스템 레벨의 설계 단계에서부터 사용할 성능 분석 도,

구의 중요성이 더욱 높아지게 되었다 지금까지 다중 처리 시스템의 성능 분석 방법으로서.

수학적 기법을 이용한 분석적 모델링 방법이 많이 사용되었으나 불확실성이 높고 시스템, ,

설계 초기 단계에서만 사용될 수 있을 뿐이다 반면에 시뮬레이션은 시스템 개발 과정 동안. ,

모델을 지속적으로 향상시켜 나갈 수 있으므로 개발의 전 기간 동안 유효하게 사용할 수 있

을 뿐 아니라 작업부하가 적절히 선정될 경우 실제 시스템의 성능을 비교적 정확하게 예측, ,

할 수 있다는 장점이 있다.

Page 5: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

연구의 내용 및 범위3.

본 연구에서는 시뮬레이션의 의미와 종류를 조사 분석하고 각각의 특징과 용도를 검토하였

다 특히 시뮬레이션 구현 방법에 따른 분류와 작업부하의 형태에 따른 분류를 조사하고 간. ,

단한 모델을 제시하여 시뮬레이터를 구성하였다 시뮬레이션의 대상으로는 여러 개의 버스.

와 프로세서를 가진 멀티프로세서 시스템을 선택하였다 이러한 멀티프로세서 시스템은 개. N

의 프로세서와 개의 전역 메모리 모듈을 갖고 있으며 모든 프로세서와 메모리 모듈은M , b

개의 전역 버스 에 의하여 연결되어 있기 때문에 시스템이라 불리운다(global bus) N×M×b .

여기서 각 버스는 모든 프로세서와 모든 메모리 모듈과 연결되어 있다고 가정한다. N×M×b

시스템에 대하여 언어와 을 이용하여 시뮬레이터를 구현하였고 작업부하의 형태에C SLAM ,

따라 시뮬레이션을 수행하고 그 결과를 고찰함으로써 성능 분석 도구로서 시뮬레이션의 유

용성을 확인하였다.

연구 결과4.

멀티버스 멀티프로세서 시스템에 대하여 비교적 우수한 언어와 전용 언어 을 이1) C SLAM

용하여 동일한 수행 절차와 결과를 나타낼 수 있도록 시뮬레이터를 구현하였다.

동일한 시스템에 대한 범용언어와 전용 언어인 시뮬레이터의 개발에서 범용언어는 전용2)

언어에 비하여 프로그램의 길이가 약 배 정도로 훨씬 길어졌는데 이는 전용 언어에서 제3 ,

공되는 서브루틴을 범용언어에서는 일일이 개발해야 하기 때문이다 결과적으로 길어진 프. ,

로그램으로 인하여 잘못된 결과에 대한 디버깅이 매우 어렵다.

은 시뮬레이션 전용 언어 중에서도 그 출력 형식이 우수하여 통계값을 얻어 고찰3) SLAM

하기가 용이하다.

여러 가지 시스템 파라미터와 다양한 작업 부하에 따라 으로 시뮬레이션하여 간단4) SLAM

히 통계값을 고찰한 결과 실제 시스템 구현을 위하여 이용이 가능하다고 볼 수 있다, .

Page 6: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

활용에 대한 건의5.

본 연구에서 멀티프로세서 시스템의 시뮬레이터는 많은 가정을 기초로 하여 구성되었다 따.

라서 실제 시스템의 경우와 다른 부분들이 많지만 프로세서의 수 메모리 모듈의 수 버스, , ,

의 수 그리고 메모리 요구 시간 간격과 메모리 억세스 시간 등은 유연성이 있으므로 이러한

파라미터에 대한 컴퓨터 시스템을 개방하거나 개선하려 할 때 실제 시스템 구성에 앞서 이,

시뮬레이터를 이용하여 개략적인 결과 예측에 활용할 수 있을 것이다.

기대 효과6.

본 연구에서 구현한 멀리프로세서 시스템의 시뮬레이터는 프로세서 메모리 모듈 버스의 수, ,

를 사용자의 필요에 따라 변화시키면서 각각의 이용도 전역 메모리에 대한 평균 억세스 시,

간 큐에 대한 서비스 시간 그리고 큐의 평균 길이 및 최대 길이 등의 값을 알 수 있으므, , ,

로 실제 시스템에 가까운 적당한 값의 작업 부하를 제공하였을 때 나타나는 결과를 예측할,

수 있다 따라서 현재보다 더 대형화가 가능한 미래의 다중처리 및 병렬 처리 시스템의 개. ,

발을 위한 전초 단계로서 성능 예측 설계 보완 및 성능 개선에 대한 기초 자료를 제공할,

수 있을 것이다.

Page 7: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

Abstract

1. TITLE ; A Study on Analysis Technique of System Performance Using Simulation

2. OBJECTIVE and IMPORTANCE

(1) OBJECTIVE

In this project, simulation techniques which are useful for tool of performance prediction,

design correction, and performance improvement are surveyed in a wide sense, and then

a simulation of a simple multiprocecor system is executed so that it is used as a

performance prediction tool for development of a real system.

(2) IMPORTANCE

It is well known that performance prediction and quantitative analysis of a system are

essential for optimization of the system and reduction of developing time. Especially, the

importance of a performance analysis tool that is useful at the system level design is

emphasized, as computer systems are enhanced by the technique of multiprocessing and

parallel processing.

Generally, the mathematical and analytical modeling has been used frequently, but it is

unreliable and its utilization is limited to the ear1y stage of system design. On the

contrary, a simulation method allows a system persistent improvement during

development, so that it is useful for overall development period, and by, applying an

appropriate workload, it is possible to predict the performance of a real system

somewhat exactly.

Page 8: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

3. CONTENTS and RANGE

In this study, the meaning and kind of simulation is surveyed and the characteristics

and the use of it are investigated. And, simulation methods and modes of workload are

checked and a simulator for a simple introduced model is constructed. The model

introduced is multiple bus multi processor system which has N processors, M global

memory, modules. It is called 'N×M×b' system because all the processor and memory

modules of the system are interconnected by b global buses.

Using C language and SLAM, the simulator for the N×M×b system is constructed, and

then tested with some kinds of workload. Finally, usefulness of simulation is intended to

prove by checking the obtained results.

4. RESULTS

(1) With C language and SLAM, two simulators which have the same procedures and

results for multibus multiprocessor system are constructed.

(2) The program of the simulator in C language is longer than that of the simulator in

SLAM by 3 times, because, in the C language the subroutines built in SLAM must be

composed by programmer. Thus, the debugging of C language simulator is very

difficult.

(3) The result output of SLAM is excellent among special purpose language, so the

statistics are available easily.

(4) The check of statics obtained according to various system parameters and workload

seems to prove the application of real system.

Page 9: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

5. UTILIZATION

The simulator of multiprocessor system proposed on this study is constructed on several

assumptions. Inspite of nonconsistency with real systems caused by these assumption, it

will be well used in view of performance prediction before construction of real systems.

As it is flexible for such system parameters as the numbers of processors, memory

modules and buses, and memory interrequest time and memory access time.

6. EXPECTATION

For the simulator of this study, according to the change of system parameters, that is

the numbers of processors, memory modules and buses, utilization of system parameter

average access time for global memory service time for queues and average and

maximum length of queue are obtained. So, it is possible to predict the behavior of real

systems by applying probable workload.

Finally, this simulator is possible to use in developing multiprocessor and parallel

processor systems as performance predictor.

Page 10: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

차 례** **

제 장 서 론1

제 장 컴퓨터 시스템 시뮬레이션의 사례2

제 장 시스템시뮬레이션3

제 절 시스템 모델 시뮬레이션1 , ,

제 절 시뮬레이션의 종류2

제 절 시뮬레이션 모델링3

제 절 컴퓨터 시스템 성능 평가의 목적 및 방법4

제 절 시뮬레이션 언어의 비교5

제 장 멀티버스멀티프로세서 시스템4

제 절 멀티프로세서 시스템1

제 절 버스 시스템2

제 장 시뮬레이터의 개발5

제 절 개 요1

제 절 시스템 모델2

제 절 이산 사건 시뮬레이터의 구조3

제 절 과 의 이산 사건 시뮬레이션의 비교4 SLAM C

제 절 을 이용한 시뮬레이터의 구현5 SLAM

제 장 시뮬레이션 수행 결과 및 고찰6

제 절 시스템에 대한 과 의 비교 고찰1 4×3×2 SLAM C

제 절 작업부하 및 시스템 변수에 따른 시뮬레이션 결과 및 고찰2

제 장 결 론7

부 록

참고문헌

Page 11: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

그 림 차 례** **

시뮬레이션 과정3.1

시스템의 분류3.2

사건 활동 및 프로세스 간의 관계3.3 , ,

시스템4.1 Loosely coupled

시스템4.2 Tightly coupled

단일버스 멀티프로세서의 구조4.3

단방향성 버스를 가진 멀티프로세서의 구조4.4

멀티버스 멀티프로세서의 구조4.5

멀티버스 멀티프로세서 시스템5.1 4×3×2

멀티버스 멀티프로세서 시스템의 모델5.2 N×M×b

사건 계획 시뮬레이션 프로그램의 구조5.3

이산사건 모델들의 시뮬레이션에 대한 다음 사건 논리5.4 SLAM

이중 결합된 사건 리스트의 구조5.5

단일 결합된 큐 리스트의 구조5.6

사건 루틴의 구조5.7 REQUENBL

사건 루틴의 구조5.8 REQUEST

사건 루틴의 구조5.9 STRMACC

사건 루틴의 구조5.10 ENDMACC

각 루틴들 사이의 호출 관계5.11

시스템에 대한 의 출력6.1 4×3×2 SLAM

시스템의 메모리 억세스 시간에 대한 히스토그램6.2 4×3×2

첫번째 메모리 큐의 길이에 대한 히스토그램6.3

두번째 메모리 큐의 길이에 대한 히스토그램6.4

세 번째 메모리 큐의 길이에 대한 히스토그램6.5

언어를 이용한 시뮬레이션 결과6.6 C

Page 12: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

표 차 례** **

시뮬레이션을 위한 언어의 비교3.1

표에 따른 작업 부하6.1

평균 메모리 요구 시간간격으로 단위시간 평균 메모리 서비스 시간으로 단위시6.2 1.0 , 1.0

간을 작업부하로 주었을 때 시스템 파라미터의 변화에 따른 시뮬레이션 결과

평균 메모리 요구 시간간격으로 단위시간 평균 메모리 서비스 시간으로 단위시6.3 1.0 , 2.0

간을 작업부하로 주었을 때 시스템 파라미터의 변화에 따른 시뮬레이션 결과

평균 메모리 요구 시간간격으로 단위시간 평균 메모리 서비스 시간으로 단위시6.4 1.0 , 4.0

간을 작업부하로 주었을 때 시스템 파라미터의 변화에 따른 시뮬레이션 결과

평균 메모리 요구 시간간격으로 단위시간 평균 메모리 서비스 시간으로 단위시6.5 2.0 , 1.0

간을 작업부하로 주었을 때 시스템 파라미터의 변화에 따른 시뮬레이션 결과

평균 메모리 요구 시간간격으로 단위시간 평균 메모리 서비스 시간으로 단위시6.6 4.0 , 1.0

간을 작업부하로 주었을 때 시스템 파라미터의 변화에 따른 시뮬레이션 결과

Page 13: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

제 장 서 론1

현대 사회가 직면하고 있는 대부분의 문제들은 복잡하기 때문에 이러한 문제점들을 이해하,

고 해결하기 위한 가장 좋은 접근방법이 모델링 과 시뮬레이션 이다(modeling) (simulation) .

시뮬레이션은 현실 세계의 실시스템 들의 효율적인 운영을 도모하기 위하여 실(real system)

시스템의 동작을 이해하고 분석 예측하는 과학적 방법으로서 각종 공학 분야는 물론 자연, ,

과학 분야 그리고 의사결정과 정책결정을 합리적으로 해야 하는 경영 경제학 분야에서 더, ,

욱 활용도가 증대되고 있다 특히 컴퓨터 시스템과 같은 대단히 복잡한 시스템을 이해하고.

개발하는 과정에서 그 시스템의 성능 예측 및 정량적 분석(performance prediction)

을 통해서 시스템의 최적화 및 개발 기간 단축을 위하여 필수적으로(quantitative analysis)

요구되고 있는 실정이다 고도의 계산 속도를 필요로 하는 상황에서는 컴퓨터 시스템이 다.

중처리 및 병렬처리 기술을 이용해서 대형화로 발전해(multiprocessing) (parallel processing)

감에 따라 시스템 레벨의 설계 단계에서부터 사용할 성능 분석 도구(performance analysis)

의 중요성이 더욱 강조되고 있다.

지금까지는 시스템 연구의 과학화를 위해서 수학적 혹은 논리적 연관성을 가지는 가설을 설

정하여 시스템의 동작을 설명하고 분석하는 분석적 모델링 방법 이 많이(analytic modeling)

사용되었으나 일반적으로 시스템은 분석적으로 평가하기에는 너무 복잡하고 또 분석적 해,

결은 불확실성이 높기 때문에 시스템 설계의 초기 단계에서만 사용될 수 있을 뿐 설계의,

과정동안 지속적 일관성을 가지고 유효성을 발휘하기 어려웠다 반면에 시뮬레이션은 시스.

템 개발 전 과정에서 지속적으로 모델을 개선시켜 나갈 수 있으므로 개발의 전 과정동안 유

효하게 사용될 수 있기 때문에 더욱 중요시되고 있다.

Page 14: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

시뮬레이션을 보다 넓게 수용하고 이용하기 위한 구체적 방법론에 대하여 다음과 같은 문제

가 대두되기 시작하였다 첫째 대형 시스템을 연구하기 위한 모델은 너무 복잡하여 그 모델. ,

을 시뮬레이션하기 위한 프로그램의 작성은 지나치게 복잡하고 어렵다 그래서 범용 프로그.

래밍 언어 를 사용하는 것보다는 시뮬레이션 모델(general purpose programming language)

의 코드화에 유용한 여러 특성을 제공하는 시뮬레이션 전용 언어(simulation purpose

를 사용하면 간편한 구조로 모델을 구성하는 것이 가능하다 둘째로 복잡한 시스language) . ,

템의 시뮬레이션에서는 계산 시간이 많이 소요된다 그래서 계산에 드는 비용을 줄임으로써.

이러한 문제를 다소 완화시킬 수 있다 또한 많은 시뮬레이션 연구가 경험적 모델 구성. ,

코딩 및 결과를 얻기 위한 단순한 프로그램의 수행으로(heuristic model building), (coding)

구성되어 왔기 때문에 관심의 대상이 되는 시스템에 관한 추론을 위하여 코드화된 모델을

어떻게 사용할 것인가 하는 문제에 대한 소홀한 태도는 그릇된 결론을 내리게 한다 따라서.

시뮬레이션 방법의 문제는 중요한 부분을 차지한다.

컴퓨터 시스템을 시뮬레이션 하는 경우 분석적 방법보다는 더 유효한 해석을 가능하게 하는

데 특히 작업부하 가 적절히 선정될 경우 실제 시스템의 성능을 비교적 정확히, , (workload)

예측할 수 있다 그러나 시뮬레이션 기법을 대형 시스템의 개발에 체계적으로 활용하기 위.

해서는 모델링 방법 적절한 작업부하의 결정 및 시뮬레이션 언어 등에 관한 연구 조사가,

충분히 선행되어 최적의 방법이 실제 적용되어야 효율적일 수 있다, .

본 연구에서는 대형화된 다중처리 및 병렬처리 시스템의 개발 과정에서 성능 예측 설계 보,

완 및 성능 개선의 도구로 사용될 수 있는 시뮬레이션 기법을 광의적 기념으로부터 조사 분

석하고 간단한 멀티프로세서 시스템에 대한 시뮬레이션을 수행하여 실제 시스템 개발에 필,

요한 성능 예측 도구로 이용될 수 있도록 하였다.

Page 15: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

제 장 컴퓨터 시스템 시뮬레이션의 사례2

병렬 프로세스 시스템의 개발에 있어서 많은 수의 처리요소 를 가, (PE : processing element)

지는 시스템의 구현은 시간을 많이 필요로 하고 또한 경비가 많이 드는 작업이다 시스템의.

구현이 완료되기 전에 상세히 시스템의 성능을 평가한다는 것은 어려운 일이다 따라서 시.

뮬레이션은 실제 시스템을 구현하기 앞서 설계를 평가하는 기본적 수단으로 사용되고 있다.

한편 이러한 목적으로 이용되는 시뮬레이션 연구의 실례를 보면 다음과 같다.

는 매크로 수준 의 시뮬레이션 모델을 구성하여Katz (macro-level) , DCS(direct-coupled

형태의 다중처리 운영체제의 성능에 대해서 선택된 하드웨어 매개변수operating system) ,

소프트웨어 매개변수 그리고 환경 매개변수의 영향을 평가하기 위해 사용하였다 이 연구[1].

에서는 언어를 사용해서 시뮬레이터를 구현하였는데 매크로 수준의 시뮬레이SIMSCRIPT ,

션 모델은 일정 기간 동안의 시스템 성능의 측정에 합당함을 알 수 있었다 시스템의 성능.

측정 은 회수시간 처리량 설비(performance measurement) (turn around time), (throughput).

이용도 그리고 작업 큐에 대한 통계수치 등에 의하여 행하여진다(utilization) , (statistics) .

그룹은 를 이용해서 모듈러 다중처리 시스템의 처리량과 용MITRE-IBM GPSS IBM 9020

량 을 시뮬레이션 하였다 특히 이 모델은 대안 소프트웨어 설계의 장 단점(capacity) .[2][3]. , ㆍ

을 결정할 때 유용한 것으로 판명되었다 이 연구에서는 마이크로 수준의 시뮬레이션을, .

과 컴퓨터의 성능을 비교하기 위해서 수행하였다IBM 370/168 AMDAHL 470/V6 .

등은 다중처리 시스템의 프로세서와 메모리 간의 통신을 위한Navaux SMM 최상의 상호

연결 을 결정하기 위해 프로세서 연결(interconnection) (processo 시뮬레이터r interconnection)

를 개발하였고 시뮬레이션은 시스템 레벨에서 행해졌다 이 때 시뮬레이터는 라는, [4]. , SSIP

응용 프로그램으로 개발되었다.

Page 16: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

대학의 연구 그룹은 명령어 수준 의 시뮬레이터New York Ultracomputer (instruction-level)

를 사용해서 병렬 프로그램을 작성 수정하기 위한 방법을 개발하고 미래의 대형 병렬 시스, ,

템의 속도와 효율성을 예측하였다[5][6][7].

등은 다중처리 시뮬레이터를 구성하여 다중 처리기의 성능을Axelrod MIMD S-1 MK IIa

평가하였다 이라 불리는 시뮬레이터는 를 기초로 한 두 가지 레벨의 방법론[8]. MPSIM trace

을 기초로 하였다 첫번째 레벨은 프로그램의 정확한 논리 동작을 시뮬레이션 하는데 벤치. ,

마크가 실제 수행되고 결과가 생성되었다 두번째 레벨은 첫번째 레벨의 결과를 바탕으로.

메모리의 상대 속도 동기화 동작의 속도 등과 같은 세부적 구현을 포함하였다 따라서 시스, .

템 성능의 예측은 두번째 레벨의 시뮬레이션을 사용해서 구하였다.

과 은 모델을 사용하여 메모리와 시스템 버스의 억세스 를 시Corrigan Johnson GPSS (access)

분할 방법으로 이용한 듀얼 프로세서 다중처리 시스템을 시뮬레이션하고 평가하였- 8085A

다.[9].

는 다양한 메모리 억세스 시간을 기반으로 구조의 컴퓨터와 의 성Smith decoupled CRAY-1

능을 비교했는데 시뮬레이터는 언어로 쓰여져 운영체제하의 에서 수행되, C UNIX VAX-11

었고 실험은 타이밍 매개변수를 변화시킴으로써 수행되었다 성능 시뮬레이터는 파일, .[10].

과 타이밍 정보를 가지는 테이블을 가지고 각 명령어에 대한 상세한 시간 진(file) (timing)

행 상태의 자료 를 만들었다(timing history) .

Page 17: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

하이퍼큐브 시뮬레이터는 를 시뮬레이션 한 소프트웨어 프로그램인데(hypercube) Intel iPSC ,

실제로 하이퍼큐브에서 실행하기 이전에 통제된 환경에서 프로그램을 개발하도록 시iPSC

도되었다 시뮬레이터 프로그램에는 언어가 사용되었는데 운영체제의 시스. C , XENIX Intel

템 이나 운영체제의 에서 실행되었다 그러나 시뮬레310 UNIX 4.2 BSD DEC VAX 11/780 .

이터는 실제 하이퍼큐브 머신 의 타이밍 정보를 산출할 수 없으므로 성(hypercube machine)

능 평가의 유용한 도구로 사용될 수는 없었다.

에 의한 형 버스 시스템의 성능 평가에서는 특정한 한 가지 설계의 절J.H. Kim MIMD H/V

대 성능 평가와 다른 설계 대안에 대한 상대 성능 평가를 위해 이용되었는데 절대 성능 평,

가는 특정 작업 하의 전체 실행 시간과 자원 이용도 를 통해 가능하였으며(resource utility) ,

상대 성능 평가는 벤치마크를 이용하였다 성능은 시스템의 크기 처리요소의 속도 그리[11]. , ,

고 프로세서 상호간의 통신 메카니즘을 제어하는 매개변수로서 시스템의 속도 증가와 각 소

자의 이용도를 이용해서 측정되었다.

Page 18: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

제 장 시스템 시뮬레이션3

제 절 시스템 모델 시뮬레이션1 , ,

시스템과 모델의 서술1.

시스템이란 연구 관심이 되는 대상인데 상호 구별이 가능한 개체들로 이루어진다 따라서.

연구 관심 영역의 경계를 어떻게 설정하느냐에 따라 시스템을 구성하는 개체의 집합이 달라

지므로 상대적인 것이라 할 수 있다 어떤 상황에서 대상 의 모임은 부시스템. (object)

들로써 구성되는 거대한 시스템이 될 수도 있다 현실 세계의 많은 시스템을 연(subsystem) .

구 관찰할 때 실제 시스템을 통한 실험이 불가능하거나 실험을 피하려는 경우 시스템을 분,

석하는 분석가는 실제 시스템의 동작을 추론하기 위해 모델 을 사용하는데 모델은(model) ,

어느 특정 시스템을 연구할 목적으로 개발된 시스템의 표현이라 할 수 있다.

시스템의 상대적인 특성으로 인해서 분석자는 시뮬레이션 모델의 개발에 앞서 모델이 해결,

할 문제를 인식하여 시스템의 묘사를 위한 개념적인 기초관점 을 선택해야 한(perspective)

다 모델이 시스템을 묘사하는 관점 즉 실제 시스템을 분해하는 방법인 세계관. , , (world

을 정확히 선택하여 시스템의 기술을 효율적으로 표현해야 한다 또한 시뮬레이션 모view) .

델을 기술하기 위하여 그 시스템의 범위를 고려해야 하는데 시험적인 시스템을 정의하였을,

때 몇 가지 외부 요소가 시스템의 동작에 영향을 미쳐서 시스템의 동작을 지배한다면 그,

시스템을 통한 실험은 어떠한 장점도 제공하지 못하게 된다 따라서 시스템의 외부 요소의.

영향에 대한 사전 고려와 더불어 기술될 시스템의 경계를 설정하는 것도 중요하다 만일 부.

분적으로만 외부요소가 시스템에 관여할 때 시스템의 경계를 그 외부 요소를 포함하도록,

확장하거나 완전히 그 외부 요소를 무시해 버리기도 하고 시스템의 입력으로 그 외부 요소, ,

를 다루기도 한다.

Page 19: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

시뮬레이션의 장 단점2. ㆍ

시뮬레이션은 시간에 따라서 현실 세계의 프로세스 나 시스템의 동작을 흉내내는(process)

것인데 이로 인해 실제 시스템의 동작 특성을 추론 가능하도록 한다 또한 시뮬레이션은 한, .

시스템의 실제적이고 추상적인 동작의 특징을 컴퓨터와 같은 다른 시스템의 동작으로 표현

하는 것이다 시뮬레이션 모델링은 현존 시스템에서의 변화에 따른 영향을 예측하는 분석도.

구 로서 또는 여러 환경 하에서 새로운 시스템의 성능을 예측하는 설계 도구(analysis tool) ,

로서 사용된다 시뮬레이션의 장점을 살펴보면 다음과 같이 나타낼 수 있다(design tool) . .

가 확률적 요소를 갖는 대부분의 복잡한 현실세계의 시스템은 분석적으로 평가 가능한 수( )

학적 모델로 정확히 기술할 수 없다 그래서 시뮬레이션을 통해 이를 해결할 수 있다. .

나 시뮬레이션을 이용하면 어떤 운영 환경에 있어서도 현존 시스템의 효율을 추정할 수( )

있다.

다 시뮬레이션을 통해 특수 요구에 맞는 시스템의 설계 혹은 새로운 운영 방침이나 설계( ) (

대안 방법들을 비교할 수 있다) .

라 시뮬레이션을 통한 실험은 실제의 시스템을 가지고 실험을 할 때 보다 실험 환경의 조( )

절이 훨씬 용이하다.

마 일단 모델이 구성되면 제안된 설계나 정책을 분석하기 위해 지속적으로 반복 사용 가( )

능하다.

Page 20: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

바 개략적 입력 자료에 대해서도 시뮬레이션 방법은 제안된 시스템을 분석하는데 도움을( )

준다.

사 실제 시스템으로부터 얻는 자료보다 시뮬레이션 자료가 대개는 훨씬 저렴한 가격이 소( )

요된다.

아 시뮬레이션 방법을 통한 적용이 분석적 방법보다 용이하다( ) .

자 분석적 방법은 대개 단순화를 위한 많은 가정을 필요로 하지만 시뮬레이션 모델은 그( )

러한 제약을 갖지 않는다 따라서 분석적 모델로는 단지 제한된 범위의 시스템 성능 측정값.

을 계산하지만 시뮬레이션 모델은 생성된 자료가 보다 많은 성능 측정값을 추정하도록 사,

용된다.

차 시뮬레이션이 문제점으로부터 해결을 유도해 내는 유일한 수단이 될 때가 많다 따라서( ) .

시뮬레이션은 매우 긴 시간이 요하는 시스템을 연구할 때 또는 매우 짧은 순간에 동작하는,

시스템의 연구에 시간을 축소 또는 확장시켜서 연구하는 것이 가능하도록 한다.

반면에 그 단점은 다음과 같다, .

가 디지탈 컴퓨터의 시뮬레이션 모델은 비용이 많이 들고 모델의 구성과 유효성 점검을( ) ,

위한 시간적 손실을 초래한다.

나 시뮬레이션 모델을 많이 실행해야 하고 결과적으로 많은 계산시간을 요구한다( ) , .

다 분석적 방법으로 충분한 경우에도 복잡하고 계산시간이 오래 걸리는 시뮬레이션이 사( )

용되기도 한다.

라 시뮬레이션에 의해 산출되는 많은 수치들은 연구 결과에 대하여 과잉의 신뢰를 하는( )

경향이 있다 만일 모델이 타당하지 못하다면 시뮬레이션의 결과는 실제 시스템과 관련하여.

유용하지 못한 정보를 제공할 수도 있기 때문이다.

Page 21: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

특수 용도의 시뮬레이션 언어 이용 대규모 계산 능력 및 시뮬레이션 방법의 발달로 시뮬레,

이션은 널리 사용되는 도구로 자리잡고 있는데 시뮬레이션이 적절한 도구로 이용 가능한,

상황과 시뮬레이션을 통한 목적을 살펴보기로 한다.

가 시뮬레이션은 복잡한 시스템 내부의 상호 작용이나 복잡한 시스템의 일부가 되는 부시( )

스템의 상호작용을 실험하거나 연구하도록 한다.

나 정보 구조 환경에 따른 변화가 모델을 통해 시뮬레이션 되고 그에 따른 모델 동작의( ) , , ,

변동이 관찰된다.

다 시뮬레이션 모델을 설계할 때 얻어지는 정보는 시스템의 개선에 중요한 바탕이 된다( ) .

라 시뮬레이션 입력을 변화시켜 그에 따른 결과를 관찰함으로써 어느 변수 가 중( ) , (variable)

요하며 어떻게 상호 작용을 하는지를 알아내는데 적합하다.

마 시뮬레이션은 분석적 방법을 강화시키는 교육적인 도구로 사용 가능하다( ) .

바 시뮬레이션은 시스템의 직접 구현에 앞서 새로운 설계이나 정책으로 실험 가능하도록( )

한다.

사 시뮬레이션은 분석적 해결을 확인하기 위해 사용되기도 한다( ) .

시뮬레이션을 하는 단계의 목적은 실험적 모델을 제공해서 목표로 하는 목적 시스템(target

에 관련된 자료를 수집함을 말한다system) .

시뮬레이션의 과정3.

전형적인 시뮬레이션 연구의 과정은 그림 과 같은 흐름도 로 나타낼 수 있다3.1 (flow chart) .

그러나 반드시 흐름도의 순서로 진행되어야 하는 것은 아니며 엄밀히 순차 프로세스,

가 아니므로 종종 앞의 단계를 다시 고찰하는 것도 필요하다(sequential process) .

Page 22: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

그림 시뮬레이션 과정3.1

실험적 정의(1)

연구 대상의 시스템을 개략적으로 묘사하고 시스템 수행 평가 기준을 설정한다 즉 문제를. ,

공식화하고 비용과 연구 수행시간 등을 고려하는 것이다 또 모델의 시스템 환경을 설정하, . ,

고 모델의 세부정도를 설정한다.

자료수집 및 모델링(2)

시스템에 관한 자료를 수집하며 입력 매개변수를 추정한다 입력 자료는 중요한 요소로 자. ,

료의 세부정도는 시뮬레이션의 타당성과 관련된다 예를 들어 너무 상세한 정도의 자료는. ,

모델의 표현이 복잡하며 너무 간단한 정도의 자료는 모델을 정확히 표현할 수 없다, .

Page 23: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

컴퓨터에 의한 모델의 구현(3)

컴퓨터 상에서 시스템 시뮬레이션 모델을 범용 프로그램 언어나 특수 목적의 시뮬레이션 언

어로 프로그램 한다 그리고 고안된 모델을 위에서 수집된 자료로 시험적으로 실행을 해 본.

다 물론 수행 환경의 변화를 통해 모델의 타당성을 검증한다 타당성은 모델이 얼마나 시스. .

템을 잘 반영하느냐에 따른 것으로 실제 시스템의 결과와 모델의 출력이 동일한 정확성을,

갖지 않는다 따라서 타당성의 정도는 상대적인 정확도를 말한다. .

실험(4)

시스템 설계를 위하여 시뮬레이션 할 수 있는 많은 대안이 있다면 어떻게 그 대안들을 시,

뮬레이션 할 것인가를 결정해야 한다 생산 실행 은 시스템 설계를 위해 고. (production run) ,

려중인 시스템의 수행도 측정 성능 측정 을 위한 데이타를 수집하기 위해 이루어지며 설계( )

대안에 대해 반복적 시뮬레이션 실행을 포함한다.

출력 결과의 분석과 문서화(5)

생산 실행으로부터의 결과를 분석하고 어느 시스템이 지정된 성능 측정에 가장 근접한가를

결정한다 그리고 모델 구성에 이용한 가정과 프로그램을 문서화한다. .

제 절 시뮬레이션의 종류2

시스템을 이해하거나 분석할 때 다음과 같은 용어의 혼란을 가져올 수 있으므로 간단히 정

의하여 혼란을 피하고자 한다 개체 란 시스템 내부의 관심의 대상을 말하고 속성. (entity) ,

이란 한 개체의 특성이다 그리고 활동기간 은 특정 길이의 시간 간격을(attribute) . (activity)

나타낸다 시스템의 상태 는 연구의 목적과 관련해서 어떠한 시간에서 시스템의 서술. (state)

을 위해 필요한 변수들의 모임으로 정의된다 사건 이란 시스템의 상태를 변화시키는. (event)

순간적 발생을 말한다.

Page 24: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

시스템의 종류1.

시스템은 연속적이거나 이산적 또는 두 가지 성격을 모두 가지는 시스템으로 분류될 수 있

다 이산 시스템 은 시간의 특정 순간에서만 시스템의 상태변수가 변화하는. (discrete system)

시스템을 말하는데 즉 아래의 그림 와 같이 시간축 상의 특정 순간에서만 상태변수가, 3.2(a)

변하고 그 외의 시간에서는 상태변수가 같은 상태를 지속적으로 유지하는 시스템이다 연속.

시스템 은 시간영역에 걸쳐 연속적으로 상태변수가 변하는 시스템이다(continuous system) .

복합 시스템 은 이산 시스템과 연속 시스템의 특성을 모두 가지고 상태(combined system) ,

변수가 특정 시간에서만 변하기도 하고 시간변화에 따라 상태변수가 연속적으로 변하기도

하는 시스템을 말하는데 대개의 시스템은 이런 복합적 특성을 가지고 있으나 관심의 특성, ,

이나 대상을 축소시킴으로써 이산 시스템 또는 연속 시스템으로 복합 시스템을 축소시킬 수

있다.

시뮬레이션 모델의 종류2.

모델이란 시스템을 연구하기 위하여 시스템을 표현한 것인데 시스템을 단순화시키는 작업,

도 병행된다 모델은 수학적 또는 물리적으로 분류 가능한데 수학적 모델은 시스템의 표현. ,

을 위해 심볼 표기와 방정식을 사용하는 모델인데 시뮬레이션 모델은 수학적 모델의 한 형,

태라 볼 수 있다.

Page 25: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

이산 시스템(a)

연속 시스템(b)

복합 시스템(c)

그림 시스템의 분류3. 2

Page 26: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

시뮬레이션 모델은 시간의 변화에 따라 시스템을 기술하느냐 그렇지 않느냐에 따라 정적

또는 동적 이라고 나누는데 정적 시뮬레이션 모델은 시간의 결과가 중요(static) (dynamic) ,

하지 않은 또는 시간의 특정 한 순간에 고정시켜서 시스템을 해석할 때 쓰이며 대표적 예,

로는 시뮬레이션 모델이다 이에 반하여 동적 시뮬레이션 모델은 시간의 경과Monte Carlo .

에 따라 시스템 상태를 표현한다.

시뮬레이션 모델은 확률 변수의 유무에 따라 확률적 또는 결정적(stochastic) (deterministic)

으로 분류된다 결정적 시뮬레이션 모델은 알려진 입력 집합들로부터 유일한 출력 집합으로.

나타나는 시뮬레이션 모델을 말하고 확률적 시뮬레이션 모델은 입력으로 결정적 모델에서,

의 미리 정해진 입력과는 달리 난수들을 선택하여 출력을 모델의 정확한 특성을 추정하도록

하는 모델이다 앞서 서술한 시스템의 종류 이산적 연속적 와 시뮬레이션 모델을 관련시켜. ( , )

생각하면 연속 시뮬레이션 모델이 반드시 연속 시스템을 모델화하는 것은 아니며 뿐만 아, ,

니라 이산 시뮬레이션 모델도 이산 시스템의 모델화는 아닌 것이다 따라서 연속 시뮬레이.

션 모델을 사용하느냐 아니면 이산 시뮬레이션 모델을 사용하느냐의 문제는 모델화될 시스

템 특성에 따른 함수이고 연구 목적의 함수인 것이다 결과적으로 시스템의 모델화는 기준.

에 따라 정적 시스템과 동적 시스템 결정적 시스템과 확률적 시스템 이산적 시스템과 연속, ,

적 시스템으로 구분 가능하다.

시뮬레이션 모델은 분석적 방법보다는 수치적 방법으로 해석될 수 있다 분석적 방법이란.

모델을 해석하기 위해 수학적 연역추론 을 사용하고 수치적 방법이란(deductive reason-ing) ,

수학적 모델을 해석하기 위해 계산 과정 을 이용한다 따라서 컴퓨(computational procedure) .

터를 이용한 시뮬레이션 모델의 경우 모델의 해석은 수행의 의미를 포함한다 왜냐하면 모, . ,

델 구성상의 가정을 바탕으로 인위적인 시스템의 진행 과정이 만들어지고 시스템의 관측을,

통한 자료가 수집되어 수행 측정값을 추정하기 때문이다.

Page 27: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

제 절 시뮬레이션 모델링3

시뮬레이션 모델을 시스템 변수의 이산 변화 또는 연속 변화에 관점을 두고 분류하면 이산,

혹은 연속 시뮬레이션 모델로 분류가 가능하다 시뮬레이션에서 시간은 중요한 독립 변수.

이고 그 외의 다른 시스템 변수는 시간의 함수로 종속 변수(independent variable) ,

라고 한다 즉 이산적 또는 연속적 이라 함은 종속 변수의 행위를 일(dependent variable) . " " " "

컫는다.

이산 시뮬레이션 모델링1.

이산 시스템의 경계에 속하는 대상은 개체라고 말하는데 각각의 개체는 다양한 특징과 속,

성을 지니고 있다.

이산 시뮬레이션은 사건 시간 이라 불리는 시뮬레이션 시간 의(event time) (simulation time)

특정 순간에서 이산적으로 종속 변수가 변할 때 발생한다 일반적으로 이산 모델의 종속 변. ,

수 값은 사건 시간 사이에서는 변하지 않는다.

이산 시뮬레이션 모델의 목적은 개체들이 관여하는 활동을 재현함으로써 시스템의 잠재적

행위와 성능에 대한 정보를 얻는 데 있다 이것은 시스템의 상태를 정의하고 시스템의 상태.

를 변화시키는 활동을 정의함으로써 행해진다 시스템의 상태란 개체의 속성에 할당되는 수.

치로 정의된다 이산 시뮬레이션에서 시스템의 상태는 사건시간에서 지속적으로 유지되기.

때문에 시스템 상태를 완전히 동적으로 기술하는 것은 한 사건으로부터 다음 사건으로 시,

뮬레이션 시간을 진행시킨다는 것을 의미한다 이러한 타이밍 메카니즘을 다음 사건 진행.

이라 말하며 대부분의 이산 사건 시뮬레이션 언어에서 사용된다(next event approach) , .

Page 28: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

이산 사건 모델은 다음과 같이 구체화 된다.

가 각각의 사건시간에서 발생하는 상태의 변화를 정의한다( ) .

나 시스템의 개체가 관여하는 활동을 서술한다( ) .

다 시스템의 개체가 진행하는 프로세스를 서술한다( ) .

시뮬레이션의 중요 요소인 사건 활동 프로세스 사이의 관계는 그림 과(event), (activity), 3.3

같이 나타낼 수 있다.

그림 사건 활동 및 프로세스 간의 관계3.3 , ,

사건은 활동의 시작이나 종료를 결정하는 시간의 고립된 한 순간에 발생한다 프로세스는.

시간상 순서가 있는 일련의 사건들인데 몇 개의 활동을 포함한다 이러한 개념으로 이산 시.

뮬레이션 모델링은 사건 지향성 활동 탐사 지향성(event orientation), (activity scanning

그리고 프로세스 지향성 의 가지의 다른 세계관을 이끌어orientation), (process orientation) 3

낸다 각 경우를 서술하면 다음과 같다. .

Page 29: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

사건 지향성(1)

사건 지향성 세계관에서 시스템은 사건 시간에서 발생하는 변화를 정의함으로써 모델화된,

다 모델러 는 시스템 상태를 변화시킬 수 있는 사건을 결정하고 각 사건 형태에. (modeller)

관련되는 논리를 개발한다 시뮬레이션은 시간 순서적인 시퀀스 에. (time-ordered sequence)

따라서 각 사건과 관련되는 논리를 실행시킴으로써 수행된다.

사건 지향성을 이용하는 시뮬레이션에서 사건 리스트 를 관리하고 시뮬레이션 시, (event list)

간상의 적절한 순간에 사건 실행을 발생시켜야 한다 사건 리스트는 처음 사건과 관련되는.

사건 설정을 처음에 포함한다 시뮬레이션을 진행함에 따라 다른 시작사건과 종료사건이 각.

사건과 연관되는 논리와 같이 사건 리스트에 계획된다 만일 모델러가 범용언어를 사용해서.

이산 사건 모델을 코드화한다면 적당한 시간 순서로 사건을 처리하기 위해 사건 리스트와,

타이밍 메카니즘을 개발하는데 상당한 시간과 노력이 소요될 것이다 이러한 기능은 이산.

사건 모델에 공통되는 것으로 많은 시뮬레이션 언어는 사건 계획을 위한 특수한 특징 등을,

제공한다.

활동 탐사 지향성(2)

활동 탐사 지향성에서 모델러는 시스템의 개체가 관여하는 활동을 서술하고 활동의 시작과,

종료를 야기시키는 조건을 규정한다 활동을 시작과 종료시키는 사건은 모델러에 의해 계획.

되는 것이 아니고 그 활동을 특징짓는 조건에 따른다 시뮬레이션 시간이 진행됨에 따라 활. ,

동을 시작시키고 종료시키는 조건이 탐사되는데 미리 규정된 조건이 만족되면 활동을 위한, ,

적당한 행동이 취해진다 각 활동을 보증하기 위해 각각의 시간 진행에서 활동 집합 전체를.

탐사할 필요가 있다.

어떤 형태의 문제에 대해 활동 탐사 접근은 간결한 모델링 구조를 제공할 수 있다 이 접근.

은 활동기간이 명확하지 않고 미리 규정된 조건을 만족시키는 시스템 상태에 의해 결정되는

경우에 특히 적합하다 그러나 시간 진행의 매 순간마다 각 활동을 탐사할 필요가 있기 때.

문에 이 접근은 이산 사건 지향성보다 상대적으로 효율적이지 못하다, .

결과적으로 활동 탐사 지향은 이산 시뮬레이션을 위한 모델링의 기본구조로 널리 채택되지,

않고 있다 그러나 많은 언어가 활동탐사에 기초한 특정한 특징을 이용하고 있다. , .

Page 30: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

프로세스 지향성(3)

많은 시뮬레이션 모델이 한정된 패턴에서 발생하는 요소들의 시퀀스를 포함한다 이러한 사.

건 시퀀스와 관련되는 논리는 한 문장으로 일반화되고 정의된다 시뮬레이션 언어는 이러한.

문장을 적당한 일련의 사건들로 번역한다 프로세스 지향 언어는 시스템을 통한 개체의 흐.

름을 모델화하기 위해 그러한 문장을 이용한다 이러한 문장은 개체가 프로세스를 통해 흐.

를 때 시뮬레이션 언어로 자동적으로 실행되는 일련의 사건을 정의한다.

프로세스 지향성은 사건 지향과 활동 탐사 지향 모두의 특징을 복합하고 자원들로 이루어,

지는 프로세스를 통한 개체의 흐름을 기술한다 그러나 프로세스 지향 언어에 의해 제공되.

는 문장을 사용한 것이므로 모델링의 유연성은 사건 지향만큼 뛰어나지는 못하다.

연속 시뮬레이션 모델링2.

연속 시뮬레이션 모델링에서 시스템의 상태는 시간에 따라 연속적으로 변하는 종속 변수에,

의해 나타난다 연속적으로 변하는 변수와 이산적으로 변하는 변수를 구별하기 위해 연속. ,

변화 변수를 상태변수 라고 한다 연속 시뮬레이션 모델은 실제 시스템을 흉(state variable) .

내내는 상태변수의 동적 행위를 위한 방정식을 정의함으로써 구성된다 연속 시스템의 모델.

은 상태변수의 도함수에 의해 표현된다 이는 상태변수의 관계를 직접 고안하기보다는 상태.

변수의 변화율을 위한 관계를 구성함이 보다 쉽기 때문이다 예로써 상태변수 와 시간 로. s t

식 과 같은 미분 방정식을 나타낼 때(3-1) ,

ds ( t)

dt=s2(t) + t2 , s(0) = k (3.1)

처음 식은 와 의 함수로 의 변화율을 나타내고 두 번째 식은 상태변수를 위한 초기 상s t s ,

태를 나타낸다.

시뮬레이션 분석자의 목적은 시뮬레이션 시간에 따른 상태변수의 응답을 결정하는 것이다.

어떤 경우 미분 방정식의 상태변수를 분석적으로 표현 가능할 때가 있다 하지만 대개의, . .

경우 그렇지 못하고 식 와 같은 방정식을 시간에 따라 적분함으로써 응답을 얻어야, (3-2)

한다.

s(t2)= s(t1)+⌠⌡

t2

t 1

(ds

dt)dt (3.2)

그러나 이러한 적분은 아날로그 컴퓨터를 사용하느냐 디지탈 컴퓨터를 사용하느냐에 따라

그 방식이 달라진다 디지탈 컴퓨터의 경우 근사화 를 하여 스텝의 크기를. . (approximation)

줄임으로써 정확도를 높일 수 있지만 보다 많은 계산 시간이 소요된다.

때로는 연속 시스템이 차분 방정식 을 이용해서 모델화되는데 이 경우(difference equation) ,

의 길이로 시간축을 잘게 자르고 상태변수의 동적특성은 시간 에서의 상태변수로부터t kㅿ

의 상태변수를 계산하는 방정식을 자세히 설명함으로써 얻어진다k+1 .

Page 31: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

Sk+1 = Sk + a× t (3.3)ㅿ

식 에서(3-3) Sk는 Sk+1을 얻는데 이용된다.

디지탈 컴퓨터의 연속 시뮬레이션 언어는 블록 지향적 이거나 방정식 지향적(block oriented)

이다 블록 지향적 언어는 아날로그 컴퓨터의 회로소자를 기능적으로 묘(equation oriented) .

사하는 블록의 집합을 이용한다 현재의 대부분의 연속 시뮬레이션 언어는 방정식 지향적이.

다 이 언어에서는 차분 방정식 혹은 미분 방정식이 코드화되는데 이 언어의 장점은 대수적. ,

이고 논리적인 특징의 제공으로 유연성이 뛰어나다는 것이다.

복합된 이산 연속 모델3. -

시스템은 완전히 이산적이지도 연속적이지도 않으므로 양쪽 측면을 모두 고려해야 할 때가

있다 이와 같이 복합된 모델의 세계관은 각각의 개체와 관련된 속성 그리고 상태변수에 의. ,

해 모델을 기술한다 시스템 모델의 행위는 작은 시간 간격에서의 상태변수의 값을 계산하.

고 사건 시간에서 개체의 속성을 계산함으로써 시뮬레이션 된다 복합 시뮬레이션에서 발생, .

하는 사건은 시간 사건 과 상태 사건 으로 나뉘어진다(time event) (state event) .

시간 사건은 시간의 특정 순간에 발생하도록 예정된 사건을 말하고 상태사건은 계획되는,

것이 아니라 시스템이 특정 상태에 도달할 때 발생되는 사건이다 이는 시스템의 상태에 의, .

해 시작되는 활동 탐사의 개념과 유사하다.

상태 사건의 발생은 시뮬레이션에서 매 시간이 진행될 때마다 검사되어야 한다. FORTRAN

에 기초한 언어는 이산 시스템을 모델화하기 위한 이산 사건 지향성과 연속 시스GASP IV

템 모델링을 위한 상태 변수 방정식 지향성을 복합한 세계관을 제공한다.

이산적으로 변화하고 연속적으로 변화 가능한 상태 변수들 사이에 일어날 수 있는 세 가지

의 기본적인 상호 작용은 다음과 같다.

가 이산 사건은 연속 상태변수의 값을 이산적으로 변화시킬 수도 있다( ) .

나 이산 사건은 어떤 특정 지점에서 연속 상태변수를 변화시키는 요인을 발생시킬 수 있( ) 다.

다 임계값에 도달하는 연속 상태변수는 이 때 이산 사건을 발생시킬 수도 있다( ) .

복합 시뮬레이션 모델을 사용하는 시스템의 분석은 계속해서 연구 개발되고 있기 때문에 적/

용을 위한 풍부한 영역이 되고 있다.

Page 32: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

제 절 컴퓨터 시스템 성능 평가의 목적 및 방법4

컴퓨터 시스템과 같은 복잡한 시스템을 이해하고 개발하는 과정에서 시뮬레이션은 시스템,

의 성능 예측 및 정량적 분석을 통한 시스템의 최적화와 개발 기간의 단축을 위해 필요하다.

컴퓨터 시스템을 시뮬레이션할 때 시스템의 구현에 앞서 시스템의 결과를 예측하여 확률적,

으로 생각해 볼 필요가 있는데 그 과정 동안 많은 예상치 못한 문제가 발생하기도 하고 예, ,

상 경비보다 소요 경비가 과다해지기도 하며 또한 예측된 결과로 인한 시스템 성능의 기대,

이하로 인해 연구가 실패로 돌아가는 경우도 있다 따라서 가능하다면 시스템의 구현 이전. , ,

에 문제점을 예상하고 해결해야 한다 그러나 만일 중요하지도 않고 발생할 것 같지도 않는.

문제에 촛점을 맞추어 버리면 시스템 시뮬레이션이 비효율적이 되기도 하므로 문제점을 정,

확히 알고 시뮬레이션의 목적과 연관시켜 해결하는 것이 중요하다.

일반적으로 컴퓨터 시스템을 시뮬레이션 하는 목적은 다음과 같다.

가 기존의 컴퓨터에서 특정 작업부하 의 실행 가능성을 검토하거나 여러 종류의( ) (workload)

컴퓨터를 비교하여 가장 효과적인 시스템을 선택하거나 또는 시스템의 성능 개선을 위해 이

용한다.

나 새로운 컴퓨터 시스템의 개발에서 시스템의 구현 이전에 성능 분석 및 평가에 이용한다( ) , .

다 컴퓨터 시스템의 소프트웨어와 하드웨어를 설계할 때 여러 설계 대안( ) , (design

을 서로 비교하여 최선의 설계를 선택하도록 한다alternatives) .

한편 컴퓨터의 성능 평가 방법은 다음의 영역으로 나누어진다 성능 측정은 시스템이 먼저, .

구성된 후에 시스템의 성능 측정을 위한 도구가 마련되고 측정 대상이 되는 시스템을 실행,

시킴으로써 도구를 통해 성능의 측정값을 얻는데 이 방법은 실제 시스템의 성능을 측정할,

수 있다는 장점이 있다 그러나 실제 측정 대상이 되는 시스템이 반드시 존재해야 하고 또. ,

한 시스템의 하드웨어 소자의 상태를 얻기 위한 하드웨어 모니터 와 적용(hardware monitor)

프로그램의 성능 데이타를 얻기 위한 소프트웨어 모니터 와 같은 측정 도(software monitor)

구가 필요하고 또한 시스템의 변동에 따른 성능의 평가시 실제로 시스템을 수정해야 하므, ,

로 많은 시간을 필요로 하는 단점이 있다 따라서 설계 기간 전반에 걸쳐 유용하지 못하다. .

최근에는 가상 기계 에뮬레이터 를 이용하여 실행 환경을 실제 시(virtual machine emulator)

스템보다는 목적 시스템과 같은 기능적 동작을 하도록 실행 환경을 조정하기도 하는데 목,

적 시스템의 기능적 동작이 유지된다 하더라도 실제 시스템의 성능이 유지되지 않는 경우도

있다.

Page 33: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

성능 모델링 은 설계 기간과 개발 기간 동안 성능 예측을 위해 분석(performance mode1ing)

적 큐잉 모델에서부터 시뮬레이션 모델에 이르기까지 널리 사용된다 성능 모델링의 잇점은.

정량적 예측을 얻을 수 있고 모델의 개발로부터 시스템의 구조와 행위에 대한 통찰력을 얻,

을 수 있으며 또한 시스템 설계 기간 초기에 설계의 결점을 발견 수정이 가능하다 따라서, , .

성능 모델링은 시스템 개발의 전 기간에 걸쳐 유효하며 설계를 위한 정보가 많을수록 보다,

상세한 모델의 개발이 가능해진다 특히 시뮬레이션 모델은 분석적 모델이 정상 상태의 연. ,

구만 가능한 반면 동적이거나 일시적인 시스템의 행위까지도 연구될 수 있다, .

모델의 세부정도1.

시뮬레이션 모델의 세부 정도의 선택은 주로 연구의 목적에 의존하는데 보다 상세한 시뮬,

레이션은 보다 상세하고 정확한 시스템 서술이 가능할 것이고 적용 범위 또한 넓게 될 것이

다 시스템 내부의 하드웨어 메카니즘을 연구할 때 각 소자의 동작 기능의 시뮬레이션을 통. ,

한 해상도 는 논리 회로 소자의 전달 지연 시간 과 연관(resolution) (propagation delay time)

된다 또 프로세서나 지역 메모리 엑세스에 의한 명령어 페치 와 실행 동. , (instruction fetch)

작 과 같은 소프트웨어 메카니즘의 연구시는 어셈블리 언어 수준의 명(execution operation) ,

령어 실행 사이클 시간 과 관련된다(execution cycle time) .

작업부하 모델2.

시뮬레이션은 모델을 이용하여 시간 영역에서 시스템의 행위를 표현하는,

Page 34: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

평가 기법으로 컴퓨터 시스템은 이산 시간 순간에서 발생하는 시스템 상태의 이산적 변화와

상태 천이 즉 사건 의 발생으로 특정 지어지는 이산 시스템으로 모델화된다( ) .

시스템 성능 측정 연구시 연구의 목적에 부합하도록 시스템 모델의 세부정도를 적절히 선,

택하여 시뮬레이션 할 때 시스템 모델의 구동을 위해 적절한 작업부하가 필요해진다 따라.

서 실제 작업부하를 모델화한 작업부하 모델의 선정은 성능 평가에서 중요한 연구 분야를

차지하며 시스템의 성능은 처리될 작업부하의 하드웨어 자원과 소프트웨어 자원을 위한 요,

구에 의존하게 된다 작업부하 모델을 크게 실행 가능한 작업부하 모델. (executable

과 비실행 가능 작업부하 모델 로 나눌 수workload model) (nonexecutable workload model)

있는데 이러한 형태에 따라 컴퓨터 시스템 시뮬레이터의 분류가 가능해진다, .

실행 가능한 작업부하 모델은 실제의 작업부하로부터 선택된 벤치마크이거나 실제 작업부하

에서 기대되는 어떠한 자원의 이용 패턴을 밝혀내기 위한 합성 프로그램(synthetic

또는 응용문제를 풀기 위한 일련의 어셈블리 프로그램 코드로 모델이 구성된다program), .

따라서 프로그램 구동 시뮬레이터 를 이룬다 벤치마크란 현재 평(program-driven simulator) .

가되는 시스템에서 평가에서 실제로 실행될 프로그램으로 대개는 그 시스템상에서 빈번히,

처리되는 여러 작업들을 대표하는 생산 프로그램 을 말한다 벤치마크(production program) .

를 써서 완전한 시스템의 평가를 하려면 작업의 특성을 전형적으로 나타낼 수(bench mark)

있는 일련의 벤치마크를 선택해야 하는데 이로 인해 객관성이 부족한 단점을 가지고 있다.

한편 합성 프로그램이란 한 시스템의 대표적 프로그램을 이루는 개개 명령의 소요 시간을,

추정하는 커널 프로그램과 벤치마크 기법을 조합한 형태로서 시스템의 특정한 기능(kernel) ,

을 시험해 보기 위해 사용자 환경에 맞도록 설계된 실제의 프로그램이다.

비실행 가능 작업부하 모델은 시뮬레이션 모델이나 확률 모델과 연결되어 사용되는 실제 작

업부하의 매개 변수화된 형태로 나타난다 추적 구동 시뮬레이터 는. (trace-driven simulator)

현존 시스템의 측정으로부터 얻어지는 자원 요구의 시퀀스 또는 추적 데이타에 의해 구동되

거나 시스템의 예상되는 움직임을 반영하도록 경험적으로 유도한 데이타에 의해 구동되는

시뮬레이터를 말한다 반면에 분포 구동 시뮬레이터 는 사용. , (distribution-driven simulator)

자 정의의 확률 분포를 가지는 난수의 시퀀스에 따라 발생되는 사건에 의해 구동되는 시뮬

레이터를 말한다.

Page 35: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

제 절 시뮬레이션 언어의 비교5

이산 사건 모델링은 시스템 상태의 변화가 이산 시간 순간에서 발생하는 시스템에 대해 적

당하다 이산 사건 시뮬레이션에서 시뮬레이션 언어는 사건 계획 방식. (event-scheduling

과 프로세스 상호 작용 방식 에 따라 분류가 가능하approach) (process-interaction approach)

다.

사건 계획 접근은 분석자가 사건에 관심을 두고 어떻게 사건이 시스템 상태에 영향을 미치,

는가를 살펴보는 것이다.

프로세스 상호 작용 방식은 분석자가 하나의 개체에만 관심을 집중시켜 개체가 시스템을,

통해 지나갈 때 개체가 만나게 되는 일련의 사건들과 활동을 살펴보는 방식이다.

범용 언어를 사용할 때 보통 사건 계획 방식을 사용하고 역시 사건 계획 방식을 사, GASP

용한다 반면에 는 프로세스 상호 작용 방식을 이용한다 와 은 두. GPSS . SIMSCRIPT SLAM

가지 방식을 모두 제공한다.

이산 사건 시뮬레이션에서 필요한 용어들을 간단히 정의하면 다음과 같다.

시스템 목적을 달성하기 위해 시간에 따라 상호 작용하는 개체의 모임(system) -○

모델 시스템의 상태 개체 속성 집합 사건 활동 그리고 지연에 의해 시스템(model) - , , , , , ,○

을 서술하는 논리적이고 수학적인 관계를 포함하는 시스템의 추상적 기술

시스템 상태 어떠한 시간에서 시스템을 서술하기 위해 필요한 모든 정(system state) -○

보를 포함하는 변수의 모임

개체 모델의 표현을 위한 시스템의 대상 또는 성분(entity) -○

속성 개체의 특성(attributes) -○

집합 어떤 논리적 방식으로 순서화되는 영구적으로나 일시적으로 관련되는 개체(set) - ( )○

의 모임

사건 시스템의 상태를 변화시키는 순간적인 발생(event) -○

활동 모델에서 한 사건의 발생 순간에 계산되는 시간 길이(activity) -○

지연 사건간의 상호작용에 의한 결과인 어떤 논리 상태가 만족될 때 끝나게 되(delay) -○

는 특별히 정해지지 않는 시간 길이

시뮬레이션 연구 수행의 매우 중요한 문제는 시뮬레이션 언어의 선택인데 잘못된 선택은,

때로 실패를 야기하기도 한다 따라서 범용 언어와 시뮬레이션 전용 언어간의 장단점을 간.

단히 비교하면 다음과 같다.

가 시뮬레이션 언어는 시뮬레이션 모델을 프로그래밍 하는데 필요한 대부분의 특징을 자( )

동으로 제공한다 결과적으로 프로그래밍 시간을 감소시킨다. .

나 시뮬레이션 언어는 시뮬레이션 모델링을 위한 자연스런 기본 골격을 제공한다 이들 언( ) .

어의 기본적인 구성 블록은 범용 언어의 블록보다 시뮬레이션에 더 적합하다.

다 시뮬레이션 모델은 전용 언어로 작성되었을 때 일반적으로 수정하기 쉽다( ) , .

라 대부분의 시뮬레이션 언어는 수행되는 동안 동적 기억 할당( ) (dynamic storage

을 가능하게 한다allocation) .

마 시뮬레이션 언어는 여러 가지 형태의 가능한 오류들이 구별되어 자동으로 검사되기 때( )

문에 오류 검출이 용이하다.

Page 36: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

바 시뮬레이션 언어는 보다 적은 양의 프로그램 코드가 사용되므로 오류의 가능성이 적다( ) .

사 대부분의 사용자들은 범용 언어를 알고 있으나 시뮬레이션 전용 언어에는 익숙하지 못( ) ,

하다.

아 범용 언어는 다양한 컴퓨터 환경에 적용되지만 전용 언어는 특정 컴퓨터에서 이용이( )

불가능할 수 있다.

자 시뮬레이션 전용 언어가 일련의 블록으로 다양한 시스템의 모델화를 위해 설계된 반면( ) ,

범용 언어는 특정 응용에 맞추어 설계되어있으므로 효과적인 범용 언어의 사용은 수행시간

이 적게 걸릴 수 있다.

차 범용 언어는 시뮬레이션 전용 언어보다 유연성이 뛰어나다 그러면 범용 언어와 시뮬레( ) .

이션 전용 언어간의 특징들을 살펴보기로 한다.

일반 범용 언어를 이용한 시뮬레이션1.

일반 범용 언어들도 시뮬레이션에서 널리 쓰이고 있는데 시뮬레이터를 도와 주도록 직접적

으로 의도되는 어떠한 편의 도 제공하지 못한다(facility) .

시뮬레이터 란 시뮬레이션 프로세스를 적용하도록 개발된 프로그램으로 시뮬레이(simulator) ,

션 언어는 일반 목적으로 어떠한 모델에도 편향되지 않기 때문에 시뮬레이터와는 구별된다.

시뮬레이터는 사건 계획 시간 진행 알고리즘의 세부 사항을 프로그램하고 또한 통계 수치의/

수집능력 특정 확률 분포로부터 표본값을 생성 그리고 결과를 통보하도록 의도된다 만일, , .

대규모 모델의 구현시 범용 언어의 사용은 상당히 귀찮은 일이 될 수 있고 조심스레 조직화

하여 접근하지 않고 리스트 처리를 효율적으로 하지 않으면 수정하기도 어렵고 속도 또한,

느린 모델이 되기 쉽다 또한 소규모 모델의 경우 범용 언어의 사용은 사건 계획 시간 진행. , /

알고리즘을 이해하는 학습 수단으로 이용될 수 있다 대개 특정 용도 시뮬레이션 언어는 사.

건 계획의 세부 사항을 겉으로 드러나지 않게 한다.

간단히 범용 언어의 시뮬레이션 사용시의 주의 사항을 살펴보면 반드시 시뮬레이션 시계,

를 설정하여 시간의 진행을 살펴야 한다 시뮬레이션 시계가 일 때 시스(simulation clock) . 0

템 상태를 정의하는 초기화 루틴 을 만들고 다음 발생 사건인 즉각 사건(initial routine) ,

을 미래 사건 리스트 또는 사건 리스트 에서 탐색(imminent event) (FEL: future event list )

하여 즉각 사건의 발생 시간으로 시뮬레이션 시계를 진행시키는 시간 진행 루틴(time

을 작성하고 발생되거나 만들어진 미래 사건을 에 적당히 위치시키는advance routine) , FEL

계획 루틴 을 만들어야 한다 시뮬레이션의 진행 중 발생하는 사건의 각(scheduling routine) .

형태에 따른 사건 루틴 을 만들어 그 사건 루틴을 실행시킬 때 시스템의 상태(event routine)

를 새롭게 한다 확률 변수 발생기 는 확률 분포의 표본값을 발. (random variable generator)

생시키는 루틴이고 결과 통보기 는 현재까지의 통계수치를 계산하여 시뮬, (report generator)

레이션 종료시 그 결과를 출력하는 루틴이다 마지막으로 주 프로그램 은 사. (main program)

건 계획 알고리즘의 제어를 하는 루틴이다.

범용 언어를 사용할 때는 수정과 개발을 용이하게 하기 위해 모듈 별로 나누어서, (module)

서브루틴을 작성하는 것이 편리하다.

Page 37: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

를 이용한 시뮬레이션2. GASP

는 으로 쓰여진 사건 계획 방식을 용이하게 하도록 구성된GASP IV FORTRAN FORTRAN

서브루틴들로 이루어져 있다 는 여개의 서브루틴과 함수로 구성되어 있고. GASP IV 30

라 불리는 시간 진행 루틴 미래 사건 리스트를 조작하는 루틴 집합으로부터 개체를GASP , ,

추가하고 삭제하는 루틴 통계 수치를 수집하는 루틴 난수 발생 루틴 그리고 기본적인 통, , ,

보 발생기를 제공한다.

프로그래머는 메인 프로그램 초기화 루틴 사건 루틴 그리고 만약 필요하다면 통보 발생기, , , ,

와 라 불리는 서브루틴을 제공해야 한다 주 프로그램은 시뮬레이션의 시작을 위해EVNTS .

라고 해야 하며 는 즉각 사건을 결정하고 사용자 정의의 단“CALL GASP" , GASP EVNTS(

사건 종류의 인덱스를 가짐 서브루틴을 호출한다 는 컴파일러가 있) . GASP IV FORTRAN

는 대부분의 컴퓨터상에서 실행 가능하다.

를 이용한 시뮬레이션3. SIMSCRIPT

는 시뮬레이션 모델의 개발을 위해 고안된 고급 프로그래밍 언어로서 사건 계SIMSCRIPT

획 방식과 프로세스 상호 작용 방식을 모두 제공한다 또한 과학용 언어로서 보. FORTRAN

다 많은 프로그램 작업에서 효율적이므로 프로그램 시간을 줄일 수 있다 게다가 자유로운. ,

형태의 구문 은 영어와 유사하여 문서화가 가능하며 전문 프로그래머가 아니더라도(syntax) ,

쉽게 이해할 수 있다.

범용 언어와 달리 는 미래 사건 리스트 와 시간진행 사건계획 알고리즘을, SIMSCRIPT (FEL) /

자동 관리하며 집합으로부터 개체를 추가하고 삭제하는 기능도 자동 관리하고 필요한 통계, ,

수치의 자동 수집과 여러 종류의 확률 분포를 위한 난수 발생기를 제공한다.

는 원래 에서 년에 개발된 에 기초한 언어였SIMSCRIPT RAND corporation 1960 FORTRAN

는데 가 에서 개발되었다 는 사건 계획 방식, SIMSCRIPT II.5 CACI, Inc . SIMSCRIPT II.5

과 프로세스 상호 작용 방식 뿐만(event scheduling approach) (process interaction approach)

아니라 심지어 연속 시뮬레이션까지도 가능하게 한다 의 세계관은 개체 속성. SIMSCRIPT ,

그리고 집합에 기초하며 개체는 영구 개체 와 순간 개체, (permanent entity) (temporary

로 분류한다 영구 개체는 시뮬레이션하는 동안 시스템에 계속 남아 있는 시스템 대entity) .

상을 말하고 순간 개체는 시스템에 도착해서 잠시 머무르고 떠나 버리는 시스템 대상을 말,

한다 영구 개체와 순간 개체의 차이는 영구 개체는 시뮬레이션 동안 그 수가 고정되고 순. ,

간 개체는 그 수가 가변적이다 개체는 속성을 가지며 그 개체는 집합에 속할 수 있다. .

프로그램은 머리말 주 프로그램 사건 루틴 그리고 서브루틴들로SIMSCRIPT (premable), , ,

구성된다 머리말은 모든 개체 그 속성 그리고 개체가 속하는 집합을 정의함으로써 시스템. ,

을 정적으로 기술한다 또한 시스템의 상태를 부분적으로 정의하는데 사용되는 전역 변수.

를 정의하고 통계 수치를 리스트 한다 는 시뮬레이션 시계를 나(global variable) . TIME. V

타내고 만일 가 집합의 이름이라면 는 그 집합에 속하는 개체의 수가 된QUEUE N. QUEUE

다.

Page 38: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

메인 프로그램은 입력 매개 변수를 읽어들이거나 할당하며 시스템의 상태를 초기화하고 첫,

번째 사건을 발생한다 사건 루틴은 자동적으로 시간 진행루틴에서 호출되는데 시간 진행. ,

루틴은 주 프로그램의 이라는 문장으로 활성화된다 일반 서브루"START SIMULATION" .

틴은 사건루틴이나 주 프로그램에서 호출된다 는 이산 사건 시뮬레이션에 강력. SIMSCRIPT

한 언어이고 범용 언어 모델보다 모델의 개발과 수정이 용이하며 적절히 프로세스 상호 작,

용을 이용하면 모델 구성상의 문장 수를 감소시켜서 모델 개발 속도를 가속시킬 수 있다.

를 이용한 시뮬레이션4. GPSS

는 큐잉 시스템에 적합한 프로세스GPSS(General Purpose Simulation System) (queueing)

중심의 시뮬레이션 언어이다 한편 블록 선도는 시스템의 기술을 제공하고 순간 개체는 트.

랜잭션 이라고 하는데 는 개체가 시스템을 통해 지나가는 것으로 생각할(transaction) , GPSS

수 있다 이 때 트랜잭션이 필요로 하는 서비스를 제공하는 영구 개체들을 설비 혹은 저장. ,

이라 한다.

는 순차적 언어가 아니고 어떤 형태의 시스템을 상세히 기술하기 위한 구조화된 방법GPSS

을 제공한다 의 프로세서는 블록선도로 이러한 서술을 함으로써 자동적으로 시뮬레이. GPSS

션을 수행하므로 시간 진행 사건 계획 메카니즘은 겉으로 드러나지 않는다/ .

는 년 이후 가장 널리 사용되는 언어인데 그 이유는 배우기 쉽고 복잡한 모델을GPSS 1960

구성하는데 비교적 짧은 시간이 소요된다는 것이다 그러나 치명적인 단점으로는 프로그래.

머가 분명히 유효한 모델을 구성했는데도 실제는 그 모델이 타당하지 않을 수도 있으며 어,

떤 시스템의 경우에는 모델링이 매우 귀찮은 일이 될 수 있다는 것이다.

Page 39: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

다음은 의 단점을 서술한 것이다GPSS .

가 시뮬레이션 시계 는 단지 이산값만을 가지며 활동 시간이나 시계가 충분히 정확하( ) ACI ,

려면 시간 단위를 작게 선택해야 한다.

나 복잡한 수치연산이나 논리 연산은 어려워서 사용이 곤란하다 특히 대수 삼각함수 지( ) . , ,

수함수 절대값 연산 등을 제공하지 못하고 부분적 선형 함수 나, , (piecewise linear function)

호출 루틴을 블록의 사용으로 대략적으로 구할 수는 있으나 정확FORTRAN GPSS HELP

하지 못하다.

다 는 내장된 난수 발생기를 제공하지 못한다( ) GPSS .

라 명시적으로 다른 씨드 를 각 스트림 을 위해 정의하지 않으면 동일한 시퀀( ) (seed) (stream)

스의 난수가 발생한다.

그러나 위의 대개의 단점은 라는 새로운 버젼에서 상당히 극복되었다GPSS/H .

의 주요 개념인 트랜잭션과 블록에서 블록은 그림으로 나타나는 심볼GPSS , (pictorial

이나 한 문장으로 표현된다 는 약 여개의 기본 블록이 있는데 각 블록은symbol) . GPSS 40

시스템에서 발생 가능한 특정 사건이나 행위를 나타낸다 또한 트랜잭션은 활동적인 개체를.

나타내는데 블록 선도를 통해 진행하게 된다 트랜잭션이 시스템을 통해 지나가는 경로는.

가지 를 가질 수 있다(branch) .

시스템의 제한된 자원 은 미리 한정된 단일 서버 이며 저장은 병렬 서버의(resource) (server) ,

모임이다 통계 수치는 설비와 저장을 활용해서 자동적으로 수집된다. .

프로세스 상호 작용방식의 언어는 대개 적은 수의 문장으로 이용 가능한데 는, GPSS

나 의 프로세스 상호 작용 방식에 비해 강력하지도 유연성이 뛰어나지도SIMSCRIPT SLAM

못하다 또한 제한된 수의 블록으로 복잡한 시스템을 깔끔히 모델화하기가 어렵다. .

Page 40: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

을 이용한 시뮬레이션5. SLAM

은 에 기초한 사건 계획 방식과 프로세스 상호 작용 방식을 모두 제공하SLAM FORTRAN

는 시뮬레이션 언어이다 의 사건 계획 방식은 와 유사하며 프로세스 상호 작. SLAM GASP

용 방식은 와 유사하다GPSS .

프로세스 상호 작용 방식에서 시뮬레이터는 마디 와 가지 로 구성되는 네트워(node) (branch)

크를 개발하는데 네트워크 시스템의 프로세스를 그림으로 나타내는데 사용한다 시스템을.

통과하는 대상은 개체라 하며 의 개체는 의 트랜잭션과 유사하다 시스템을 통SLAM GPSS .

해 흐르는 개체가 만나게 되는 사건과 활동의 시퀀스를 프로세스라 하는데 완전한, SLAM

네트워크 모델은 개체가 흐를 수 있는 모든 경로를 나타낸다 모델을 실행시키기 위해 시뮬.

레이터는 네트워크 표현을 프로세서 의 입력이 되는 컴퓨터 문장으로 번SLAM (processor)

역한다.

은 사건계획 시간진행 알고리즘 개체의 추가와 삭제 같은 집합 또는 파일 의 운영SLAM / , ( ) ,

통계수치의 수집과 난수 표본값의 발생을 자동적으로 다룬다 이런 파일 자동관리로 쉽게.

큐 를 다루고 개체가 우선권 같은 속성에 따라 순서적으로 처리되게 한다(queue) (priority) .

네트워크에서 가지는 시간의 경과 즉 활동 을 나타내고 라는SLAM (activity) “ACTIVITY"

문장으로 코드화 된다 마디는 마디로 도착사건을 마디로 시간 지연. ”CREATE“ , ”QUEUE"

이나 조건적 지연 을 그리고 마디로 떠남 사건을 나타낸(conditional wait) , "TERMINATE"

다.

은 처럼 범용 언어보다 적은 수의 문장으로 모델을 구성할 수 있다 또한 만일SLAM GPSS .

네트워크 표현이 적절하지 못한 경우 같은 모델을 프로세스 상호 작용 방식의 네트, GASP

워크 문장과 복합적으로 구성할 수 있으므로 보다는 더욱 용도가 다양하다GPSS .

Page 41: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

시뮬레이션 언어의 선택 기준과 비교6.

한 프로젝트에서 어떠한 언어를 선택해야 하는가 라는 문제는 효율성 문제에서 중요한 것으

로 다음과 같은 사항을 고려해야 한다.

가 기존 컴퓨터상의 이용 가능한 언어의 종류( )

나 언어를 설치 유지하는데 드는 비용( )

다 수행할 연구의 시뮬레이션 형태( )

라 언어의 문서화 정도( )

마 언어의 습득용이 정도( )

바 언어의 컴퓨터 기억장소 요구량( )

사 언어의 컴퓨터 수행시간의 효율성( )

아 언어의 유연성 및 능력( )

자 모델 특성을 프로그래머 이외의 사람에게 전달하는 언어 능력( )

표 은 범용 언어인 과 시뮬레이션 전용 언어인3.1 FORTRAN GASP, GPSS V, SLAM,

의 간단한 비교를 보인 것이다SIMSCRIPT II.5 .

와 의 프로세스 상호 작용 방식은 배우기 쉽지만 용도가 다양하지 못하고 유연GPSS SLAM

성이 뛰어나지 못하다 특히 와 은 강력한 수학적 지원과 유. GASP SIMSCRIPT II.5 SLAM

연성으로 많은 상황에 대처할 수 있는 언어로 판명된다.

언어는 응용 프로그램 개발에 유용하게 사용되는 범용언어의 하나이며 간략한 표현 현C , ,

대적인 제어흐름 및 데이타 구조기능 그리고 풍부한 연산 로서 자유자재로 다룰 수, (pointer)

있으므로 데이터 처리가 효율적으로 이루어질 수 있다 이는 구조체 나 공용체, . (structure)

같은 복잡한 데이터 구조에 적용함으로써 데이터 관리 기법에 큰 효과를 발휘한다(union) .

또한 언어의 프로그램은 함수라는 블록화된 단위 의 집합이므로 함수가 자기 자신을, c (unit)

부르는 재귀호출이 가능하다.

Page 42: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

표 시뮬레이션을 위한 언어의 비교3. 1

본 연구에서는 이상의 고찰에 기인하여 범용언어 중에서는 언어를 선택하고 전용언어는C

을 선택하여 여러가 개의 프로세서와 버스를 갖는 멀티 프로세서 시스템에 대한 시SLAM

물레이터를 구성하였다.

Page 43: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

제 장 멀티버스 멀티프로세서 시스템4

제 절 멀티프로세서 시스템1

최근 컴퓨터 분야에서는 여러 개의 프로세서로 컴퓨터 시스템을 구성하는 다중 처리 기법을

많이 사용하는 경향이다 다중 처리는 오랫동안 이용되어 왔으나 저렴하고도 부피가 작은. ,

마이크로 프로세서의 등장으로 인하여 하나의 컴퓨터 시스템에 마이크로 프로세서를 두는

것이 가능해졌다.

과거에는 컴퓨터 시스템에서 프로세서를 중요하게 여겨왔으나 현재는 다중 처리에서 고려,

할 중요한 사항은 신뢰성과 병행 계산 최적의 연결 기법 같은 자원을 요구하는 프로세서들, ,

간의 경쟁 등이다.

다중 처리 시스템이 가진 장점중의 하나는 한 프로세서가 고장났을 때에도 나머지 프로세,

서들은 계속 가동할 수 있다는 사실이다 이는 물론 체계적인 설계를 통하여 고장난 프로세.

서가 다른 프로세서들에게 자신이 수행하던 프로세서들을 맡아 주도록 알려야 하며 정상적,

으로 가동되고 있는 프로세서들은 고장난 프로세서를 알아낼 수 있어야 한다 운영 체제는.

어느 프로세서가 고장나서 더 이상의 실행이 불가능한지를 알고 있어야 하낟.

대부분의 다중 처리 시스템이 단위 시간당 처리량을 증대시키는 것을 주 목적으로 하고 있

다 시스템에서 각종 오퍼레이션이 병행 수행되려면 충분히 많은 수의 프로세서들이 있어야.

한다 따라서 여러 프로세서들의 처리 능력을 결합시킴으로써 컴퓨터 능력의 증대가 이루어.

질 수 있고 비싼 프로세서를 사용하지 않고도 대형 컴퓨터에 근접하는 능력을 얻을 수 있,

다.

멀티프로세서는 병행 실행을 가능하게 해주지만 대부분의 프로그램들은 순차 실행을 하도록

작성되어 있다 그러나 병행성이 어떻게 해서든 찾아 내어지면 멀티프로세서는 병행수행이. , ,

가능한 부분을 동시에 실행시킴으로써 병행성을 이용할 수 있다.

Page 44: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

이러한 병행성을 이용할 수 있도록 설계된 다중 처리 시스템에서는 서로 다른 프로세서들이

각 문장을 동시에 실행할 수 있도록 되어 있으며 실행속도는 순차 실행의 경우보다 빠르게

된다.

멀티프로세서의 하드웨어 구조의 설계에 있어서 중요한 문제 중의 한가지는 여러개의 프로

세서들과 입출력 프로세서들을 메모리에 연결시키는 방법이다.

멀티프로세서 시스템의 기능적 구조의 이해를 위하여 멀티프로세서를 위한 프로세서 구조ㅓ

의 기능의 특징을 설명한다 멀티프로세서는 두 가지의 속성으로 크게 특징지어 진다 첫째. .

로 멀티프로세서가 여러 개의 프로세서를 포함하고 있는 하나의 컴퓨터를 지칭하는 경우이,

고 둘째로 프로세서들이 주어진 문제를 해결하기 위해 각기 다른 레벨에서 상호 통신, ,

하고 협동하는 경우이다 이 때 한 프로세서에서 다른 프로세서로 정보를(communi-cation) . ,

보낼 때 또는 공동의 메모리를 공유할 때 통신이 발생될 수 있다, .

멀티프로세서 시스템과 멀티컴퓨터 시스템 간에는 병행 동작 을 지원(concurrent operation)

하고자 한다는 기본적인 목표는 같지만 문제 해결에 있어서 자원 공유 와, (resource sharing)

협동의 정도에 기인한 중요한 차이가 있다 멀티컴퓨터 시스템은 여러 개의 자율적인 컴퓨.

터로 구성되며 이 들은 서로 교신할 수도 있고 하지 않을 수도 있다 멀티프로세서 시스템, , .

은 하나의 운영 체제 에 의해 제어되며 프로세서 데이터 집합 데이터 성(operation system) , , ,

분 등에서 프로세서들과 프로그램들 간에 상호 작용을 하도록 한다.

멀티프로세서에 대한 구조적 모델은 시스템과 시스템의Loosely coupled Tightly coupled

두 가지로 나눌 수 있다 시스템에서는 그림 과 같이 두 개 이상의 독립. Loosely coupled 4.1

된 컴퓨터 시스템들을 통하여 연결시킨다.

Page 45: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

그림 시스템4.1 Loosely coupled

각각의 시스템은 자신의 고유한 운영 체제와 기억 장치를 갖고 있으며 독립적으로 운영되,

고 필요한 경우 통신을 한다 이 시스템들은 통신선을 통하여 서로 다른 시스템의 파일을, .

참조할 수도 있으며 어떤 경우에는 각 시스템의 부하를 조절하기 위하여 부하가 적은 프로,

세서에게 작업을 보낼 수도 있다.

그림 의 시스템에서는 여러 개의 프로세서들 간에 하나의 메모리를 공4.2 Tightly coupled

유하며 하나의 운영 체제가 모든 프로세서들과 시스템 하드웨어를 제어한다 따라서 작은, .

지역 메모리나 고속 버퍼 가 각 프로세서에 존재할 수 있다(high-speed buffer, cache) .

그림 시스템4.2 Tightly coupled

Page 46: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

프로세서들과 메모리 간에는 완벽한 연결성이 존재한다 이러한 연결성은 메모리 간의 상호.

연결 회로망 을 삽입하거나 멀티포트 메모리(interconnection network) (multiported memory)

에 의해 이루어질 수 있다 한편 시스템의 확장에 있어서 제한 요인은 첫. Tightly coupled

째 메모리 경쟁으로 인하여 성능이 떨어지는 것인데 이는 두 개 이상의 프로세서가 같은, ,

메모리 장치를 동시에 억세스하려고 할 때 발생한다 주 메모리 를 몇 개의. (main memory)

독립적인 메모리 모듈 로 분할하여 어드레스를 이 모듈에 걸쳐 분포되게(memory module)

하는 의 정도를 증가시켜서 메모리 경쟁의 정도를 줄일 수 있다 이 때 메모“interleaving" . ,

리 모듈에 데이터 할당은 신중하게 이루어져야 한다 둘째는 프로세서 메모리 상호 연결. , -

회로망 자체에 있다(processor-memory interconnection network) .

시스템은 시스템에서 발생하는 메모리 경쟁이 일반적으로Loosely coupled Tightly coupled

는 잘 일어나지 않는다 이러한 시스템에서 각 프로세서는 한 세트의 입출력 장치와 대부분.

의 명령과 데이터를 억세스하는 큰 지역 메모리를 갖는다 시스템은 작업. Loosely coupled

들 간의 상호 작용이 최소일 때 효과적이다 시스템은 업무들 간의(task) . Tightly coupled

상호 작용에 관하여 고려할 때 성능이 떨어지지 않고 더 많은 상호 작용을 가능하게 해 준,

다 고속 처리나 실시간 처리를 요구할 때는 시스템을 이용할 수 있다. Tightly coupled .

시스템은 프로세서 메모리 입출력 프로세서 그리고 인터럽트Tightly coupled - , - , (interrupt)

신호의 세가지 상호 연결 회로망으로 구성되어 연결되어 있다.

한 메모리 모듈은 단지 한 프로세서의 요구만 만족시켜 주므로 만약 둘 이상의 프로세서가

같은 메모리 모듈을 억세스하려고 하면 메모리 경쟁이 발생하는데 이는 프로세서 메모리, -

상호 연결 회로망에 의해 해결되거나 중재된다 과다한 경쟁을 피하기 위해서는 보통 메모.

리 모듈의 수가 프로세서의 수만큼 커야한다 경쟁을 줄이는 다른 방법은 각 프로세서와 예.

약된 저장 영역을 결합시키는 것이다 이는 지역 메모리 캐시 를 갖지 않는 구조이다. ( )

Page 47: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

제 절 버스 시스템2

시분할 버스 공통 버스1. ( )

복수개의 프로세서 사이의 가장 간단한 상호 연결 구조는 모든 기능 장치가 서로간에 공통

적인 통신 경로를 가지는 것이다 이러한 공통 통신 경로를 이용하는 멀티프로세서의 한 예.

를 그림 에 나타내었다4.3 .

그림 단일버스 멀티프로세서의 구조4.3

이러한 공통 경로를 시분할 버스 혹은 공통 버스 라 한다 이(time-shared bus) (common bus) .

런 구조는 구성하기에 가장 간단하면서 또 가장 덜 복잡한데 스위치와 같은 능동 소자를, ,

가지지 않는 완전히 수동적인 장치이다 전송 동작 은 전송 장치와 수신. (transfer operation)

장치간의 버스 인터페이스로 완벽하게 제어된다 버스는 공유 자원이므로 상충 을. (conflict)

해결할 수 있는 메카니즘이 제공되어야 한다.

버스 중재기 는 비록 경쟁 해결 방법을 단순화시키지만 시스템의 신뢰성과 유연성에(arbiter) ,

역효과를 줄 수도 있다.

Page 48: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

전송을 시작하려는 장치는 먼저 버스의 이용 가능 상태를 결정하고 그런 후 전송을 받을, ,

수 있는 상태를 결정하기 위해 목적지 에 어드레스 한다 목적지에 전송되는 데(destination) .

이터가 어떤 동작을 수행하는지를 알리는 명령 이 발생된 후에 데이터의 전송이(command)

마지막으로 시작된다 수신 장치는 버스에서의 어드레스를 확인하고 송신 장치로부터의 제.

어 신호에 대한 응답을 한다.

시분할 버스의 예로는 의 버스로서 컨트롤과 어드레스 라인 그리고 워드를PDP-11 , , 16bit

전송하는데 필요한 데이터 경로 를 제공하기 위한 개의 신호 라인을 가지고 있다(path) 56 .

단일 버스 구조는 상당히 신뢰할 만하고 저렴하지만 버스 인터페이스 회로 중 하나라도 기,

능이 잘못되면 전체 시스템에 큰 영향을 미칠 수도 있다.

더욱이 프로세서와 메모리를 추가하는 시스템의 확장은 버스의 경쟁을 발생시켜서 시스템,

처리량을 저하시키고 중재논리 를 크게 증가시키기도 한다 시스템의 전(arbittration logical) .

체 전송률 은 이런 신호경로의 대역 폭 과 속도에 의해 제한된다 그(transfer rate) (bandwith) .

림 에서와 같이 단일 경로 구조를 두 개의 단방향성 경로로 확장하여 시스템의 복잡성을4.4

증가시키거나 신뢰성을 떨어뜨리지 않고 위의 문제를 경감시킬 수 있다.

그림 단방향성 버스를 가진 멀티프로세서의 구조4.4

그러나 그러한 시스템의 단일 전송 작용이 양쪽 버스를 둘 다 사용하는 것을 필요로 하므,

로 실제로 그렇게 큰 효과를 거둘 수는 없다.

시분할 버스의 한계를 경감시키는 다음 단계는 복수개의 양방향성 버스를 그(bidirectional)

림 와 같이 사용하여 여러 를 동시에 제공하는 것인다 이런 것은 시스템의4 .5 bus transfer ,

복잡성을 상당히 증가시킨다.

이런 경우 상호 연결 부시스템 은 능동 장치이다 과(interconnection subsystem) . Tandem-16

과 같은 컴퓨터 시스템은 위에서 설명된 시분할 시스템의 변종을 사용한다 일반적Pluribus .

으로 위의 구조들은 작은 시스템에 적당하다.

Page 49: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

그림 멀티버스 멀티프로세서의 구조4.4

중앙 버스 에 부착된 장치의 속도나 개수를 증가시키는 관점에서 보면 버스는(central bus) ,

지나치게 과부하될 수 있으므로 버스는 그 장치의 성능을 손상시킬 뿐 아니라 나아가서 전, ,

체 시스템에도 지장을 줄 수 있다 버스의 성능과 특성에 영향을 주는 몇 가지 요인이 있는.

데 이들은 버스에 있는 능동 장치의 개수 버스 중재 알고리즘 제어의 집중화, , ,

또는 분배 데이터의 폭 데이터 전송의 동기화 그리고 에러 검(centralization) (distribution), , ,

출 등이 포함된다.

버스 중재 알고리즘2.

버스를 사용하기 위해 서로 경쟁하는 장치에 버스를 할당하도록 제어하는 버스 중재 알고리

즘 중 몇 개를 알아보자 현재의 기술은 버스 중재를 위한 비교적 간단한 알고리즘을 요구.

한다 이러한 알고리즘은 대개 하드웨어로 구현된다. .

Page 50: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

가 정적 우선 순위 알고리즘. (static priority algorhythem)

오늘날 많은 디지털 버스는 요구를 발생한 장치에 유일한 정적 우선 순위를 할당한다 많은.

장치가 동시에 버스의 사용을 요구할 때 가장 우선 순위가 높은 장치에게 버스를 제공하게,

된다 이런 방식은 데이지 연결 이라 불리는 구조를 이용하여 구현되는데. “ (daisy chaining)” ,

버스 제공 제어라인에 따른 위치에 따라서 효율적으로 할당된 정적 우선 순위가 주어진다.

중앙 버스 제어장치에 가장 가까운 장치에는 가장 높은 우선 순위가 주어진다. DEC

은 이런 버스 컨트롤 장치를 사용한다 컴퓨터에서 아용되는 또 다른PDP-11 . VAX 11/780

버스는 라 불리우고 병력 우선 순위 해결책DEC synchronous backplane interconnect(SBI) ,

이라 불리는 분산 구조를 사용하여 정적 우선 순위를 구현한다(parallel priority resolution) .

낮은 대기 시간을 가지면 보다 높은 우선 순위를 가지게 되는 것이다.

나 고정 시간 슬라이스 알고리즘. (fixed time slice algorithm)

또다른 버스 중재 알고리즘은 버스들을 고정된 길이의 시간 슬라이스 로 나누어서 라(slice) ,

운드 로빈 방식 으로 각 장치에 제공된다 선택된 장치가 시간 슬라이(round-robin fashion) .

스를 사용하지 않게 된다면 시간 슬라이스는 어떠한 장치에 의해서도 사용되지 않고 남는

다 이러한 기법은 고정 시간 슬라이싱 또는 시분할 멀티플렉싱. (FTS) (time division

이라 불리는데 이용 가능한 시간 슬라이스를 장치에 유연하게 할당하게multiplexing, TDM) ,

한다 이런 구조는 모든 장치가 공통 클럭에 동기화되도록 하는 동기 버스와 사용된다. .

에서 버스에 할당하는 각 장치에 제공되는 서비스는 버스상의 장치의 위치나 정체FTS

에는 무관하다 이런 특징의 구조를 대칭적 이라고 말한다 이는 매우(identity) . (symmetric) .

긴 평균 대기 시간 을 발생하므로 버스 이용률이 낮은 편이다(wait time) .

다 동적 우선 순위 알고리즘. (Dynamic priority algorithm)

동적 우선 순위 알고리즘은 고정시간 슬라이싱과 같은 대칭적 알고리즘의 부하 조절

특성이 높은 대기 시간이라는 손실을 발생시키지 않고도 얻어지도록 한다(load-balancing) .

장치에 고유의 우선 순위가 할당되고 버스를 할당받기 위해 경쟁한다 하지만 우선 순위는. ,

모든 장치에게 공평하게 버스를 할당하기 위한 기회를 주기 위하여 동적으로 변한다 우선.

순위를 바꾸기 위해 사용되는 알고리즘이 어떠한 장치에도 편중되지 않으면 그 때 시스템,

부하는 버스 요구에 대하여 균형을 이룬다 동적으로 우선 순위를 변경하는 알고리즘은.

와 이 있다least recently used (LRU) rotating design chain(RDC)

라. first-come first-serve algorithm (FCFS)

구조에서는 요구는 단지 받아 들여진 순서에 따라 제공된다 이 구조는 버스상의 어FCFS .

느 특별한 장치에게도 편중되지 않으므로 대칭적이라 한다 그러므로 버스 요구에 대하여. ,

균형적이다 고정된 버스 전송 시간에 의하여 서비스 시간을 고정한 상황하에서 는 대. FCFS

기 시간에서 가장 작은 평균과 표준 편차를 제공한다 는 성능 측정으로 보아 최적의. FCFS

버스 중재 알고리즘이지만 불행히도 구현하기 힘들다는 단점을 안고 있다.

Page 51: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

제 장 시뮬레이터의 개발5

제 절 개요1

본 연구에서는 간단한 큐잉 모델 을 이용하여 멀티버스 상호 연결 구조가(queueing model)

비동기 멀티프로세서 시스템 의 성능에 미치는 영향(asynchronous multi-processor system)

에 대하여 고찰해 보고자 한다 각 프로세서는 지역 메모리를 갖고 전역 메모리로부터 응답.

을 기다리는 동안에는 아무것도 처리하지 않는 시스템에 대하여 적합하게 모델을 구성하였

다.

멀티프로세서 시스템에서 프로세서와 메모리 모듈의 상호 연결에 관하여 많은 연구가 되어

왔다 한 요구를 만족시키기 위해서는 메모리 뿐 아니라 버스도 필요하다 구조는 단일 시분. .

할 버스 로부터 메모리 모듈의 수에 맞게 모두 연결된 크로스바(single time-shared bus)

까지 있는데 단일 시분할 버스는 그 중 가장 간단한 접근 방법이(fully conneced crossbar) ,

다 그러나 시스템의 크기가 클 때 단일 시분할 버스는 심한 장애가 발생한다 반면에 크로. , . ,

스바의 구조는 단위 시간에 대하여 가장 높은 처리량 을 제공한다 버스의 수가(througthput) .

메모리 모듈의 수보다 적으면 그 처리량과 비용은 단일 버스 구조와 크로스바 구조의 경우

의 중간에 있게 된다 멀티버스 시스템의 성능에 대하여 여러 사람이 연구를 하여 왔다. .

등 그리고 등 은 전체 시스템이 동기적으로 동작하는 경Lang [12], Bhuyan[13], Mudge [14]

우의 멀티버스 시스템의 성능을 시험하였다 그러한 시스템에서 하나의 전역적 클럭. (global

은 그 동안에 프로세서 메모리 전송이 발생하는 시간 스롯 을 정의하게 된clock) (time slot)

다 비동기 동작에 대해서는 과 그리고 등에 의하여 연구되었다 비. Marson Gerla[15], Irani .

동기 시스템에서 프로세서는 아무 때나 메모리 억세스 요구를 발생하고 메모리 억세스는 가

변적인 지연 시간을 갖게 된다.

Page 52: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

한 프로세서가 어떤 메모리 모듈을 억세스하기 위해 요구를 발생하였을 때 그 요구는 즉각,

적으로 받아 들여지지 않는다 이는 메모리 경쟁 의 결과이다 즉 요구된. (memory conflict) . ,

메모리 모듈이 다른 프로세서와의 전송 작용중에 있는 것이다 만약 모든 버스들이. 'busy'

상태일 때에도 요구는 지연되게 된다 동기 시스템의 경우에 지연 구간은 시간 스롯들의 전.

체수가 된다 이러한 제약이 비동기 시스템에는 존재하지 않는다. .

위에서 언급한 비동기 시스템의 연구는 메모리 모듈로부터 응답을 기다리는 동안 프로세서

들은 상태라는 가정을 기초로 하고 있다 멀티프로세서 시스템에 대하여 제시된 많은‘idle' .

구조에서 각 프로세서는 지역 메모리를 갖추고 있으며 이는 캐시 로 이용된다 이는, (cache) .

방해받지 않는 지속적인 실행을 가능하게 해 준다 전역 메모리를 억세스하는 동안 프로세.

서들이 상태인 경우의 시스템과 비교해 보면 연속적인 실행에서는 처리된 메모리 억세‘idle' ,

스 요구의 통계값에서의 변화가 발생한다.

본 연구에서는 응답을 기다리는 동안 프로세서들은 상태라는 조건에서 비동기 멀티프‘idle'

로세서 시스템의 멀티버스 구조의 성능을 시험해 보고자 한다 그러한 시스템을 나타내는.

큐잉 모델이 소개되고 시뮬레이션의 결과를 구해 본다 이 모델은 버스의 수의 변화와 전역.

메모리 모듈의 수의 변화에 대하여 상호 연결 구조가 시스템에 미치는 영향을 평가할 수 있

게 해 준다.

프로세서 이용도 는 메모리 억세스를 하는 동안 프로세서들이 상태인 시스(utilization) ‘idle'

템에서 성능 평가로 이용되어 왔다 전역 메모리의 평균 억세스 시간도 주된 성능 요소.

이다 이는 전역 메모리 억세스 요구가 발생한 시각부터 요구된 데(performance parameter) .

이터 전송이 완료될 때까지 각각의 프로세서에 의해 관찰된 전체 지연시간이다 메모리 서. “

비스 시간 이란 용어는 메모리 모듈을 억세스하고 데이터 블록을 전(memory service time)"

송하기 위해 요구되는 시간을 나타내는데 이용되며 어떠한 큐잉 지연시간, (queueing delay)

도 포함하지 않는다 따라서 메모리 억세스 시간은 메모리 서비스 시간과 큐잉 지연시간의.

합과 같다.

만약 버스의 수가 메모리 모듈의 수와 같으면 큐잉 지연시간은 메모리 경쟁이 발생할 때만

발생하게 된다 버스의 수가 메모리 모듈의 수보다 적으면 버스 경쟁에 의한 큐잉 지연시간.

이 추가로 도입되게 된다.

본 연구에서 사용한 시뮬레이션 모델은 사건 계획 접근 에 근거- (event scheduling approach)

한다 이러한 접근방식에서 시뮬레이터는 두 가지의 우너리에 의하여 구성된다 첫째는 시. . ,

간 순서로 정렬된 사건리스트 가 구성되며 계속하여 된다 둘째는 각각의(event list) update . ,

사건에 대한 사건루틴이 사건리스트에 의하여 발생되어야 할 다음 사건일 때면 언제나 호출

된다는 것이다 시뮬레이션 제어 루틴은 다음 사건이 발생할 시간으로 시뮬레이션 시계를.

진행시킨다 이 시뮬레이션 시계를 진행시키는 기법을 다음 사건 접근 기법이라고 한다. .

작업부하 에 대한 모델은 시뮬레이션 수행 동안에 컴퓨터 시스템 모델을 구동한(workload)

다 작업부하 모델의 형태에 따른 컴퓨터 시스템 시뮬레이션에는 세 가지형태가 있다. .

가 추적구동 시뮬레이터는 일반적으로 동안에 기록되는 입력사건의( ) measurement session

추적을 구성하는 모델을 사용한다.

나 프로그램구동 시뮬레이터는 특정한 언어를 사용하여 프로그램의 형태로 작업부하를 구( )

현한 모델을 사용한다.

다 분산구동 시뮬레이터는 작업부하의 확률적 모델들에 의하여 구동되는 모든 시뮬레이터( )

를 포함한다.

Page 53: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

본 연구에서 사용하는 시뮬레이터는 분산구동 시뮬레이터이다

제 절 시스템 모델2

본 연구에서 사용된 멀티프로세서 시스템은 많은 수의 프로세서와 전역 메모리 모듈을 갖는

다 프로세서들과 메모리 모듈들은 일련의 전역 버스 들에 의하여 연결된다 여. (global bus) .

기서 각 버스는 모든 프로세서와 모든 메모리 모듈과 연결되어 있다고 가정한다 개의 프, . N

로세서 개의 메모리 모듈 그리고 개의 버스를 가진 멀티프로세서 시스템은 시스, M , b NxNxb

템이라고 불리운다 따라서 그림 의 시스템은 시스템이다. 5.1 4x3x2

그림 멀티버스 멀티프로세서 시스템5.1 4x3x2

멀티버스 시스템을 위한 큐잉 모델은 각 메모리 모듈에 대해 한 개의 큐를 제공하여 구성될

수 있다 특정 메모리 모듈을 그 목적지로 하는 모든 요구들은 해당되는 쿠에 들어 간다 이. .

때 메모리와 버스에 대하여 각각 경쟁이 발생한다 이는 식 을 만족할 때 항상 발생하, . (5.1)

는 현상이다.

Page 54: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

한 요구가 큐의 헤드 에 도착하자마자 다른 메모리 모듈에 대한 요구들과 버스를 이(head) ,

용하기 위해 경쟁한다 이 요구는 버스들 중의 하나가 그것에 할당될 때 마침내 서비스를.

받게 된다 그 요구가 만족되면 그것을 발생한 프로세서는 새로운 활동주기를 시작하게 된.

다 버스에 대한 경쟁이 시스템의 성능에 큰 영향을 미치므로 이를 정확히 모델링하는 것이.

중요하다 개의 큐 각 메모리 모듈당 하나 와 개의 서버 각 버스당 하나 로 구성된 큐잉. M ( ) b ( )

모델은 그림 와 같이 나타낼 수 있다54. .

그림 멀티버스 멀티프로세서 시스템의 모델5. 2 N×M×b

한 요구가 큐의 헤드에 도착하였을 때 거기에서 요구된 데이터의 전송이 끝날 때까지 기다,

린다고 가정한다 따라서 프로세서의 관점에서 찾고자 하는 성능 평가인 메모리 억세스 시. ,

간은 큐에서 머무르는 전체 시간이다.

그림 의 큐잉 시스템에서 도착에 대한 통계값은 프로세서들이 동작 모드에 의해 결정된5.2

다 앞서 언급한 바와 같이 메모리를 억세스 하는 동안 프로세서들은 상태를 유지한다. , ‘idle' .

성능에 대한 많은 연구에서 메모리 서포인 길이를 갖는 데이터의 블록을 전송하게 된다.

Page 55: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

본 연구에서는 멀티프로세서 시스템의 동작에 관하여 다음과 같은 가정을 하기로 한다.

가 다른 프로세서들로부터 발생하는 메모리 요구들은 독립적이고 동일한 분포를 갖으며( ) ,

똑같이 평균 발생율 α를 갖는다.

나 버스 중재기는 읽기와 쓰기 요구를 똑같이 취급하며 이들은 둘 다 같은 서비스 시간( ) ,

분포와 평균을 갖는다.

다 모든 메모리 모듈에 대한 서비스 시간은 독립적이고 동일한 분포를 갖으며 똑같이 평( ) ,

균값 1/ γ을 갖는다.

라 한 프로세서가 상태의 메모리 모듈을 요구하고 버스가 이용 가능할 때 경로는 즉( ) ‘ilde' ,

각적으로 형성된다 진행 지연시간 과 버스에 관련된 중재 시간은 메모리. (propagation delay)

서비스 시간의 일부라고 가정한다.

마 특정 메모리 모듈에 대하여 요구가 즉시 서비스를 받을 수 없을 경우에는 필요한 것들( )

이 이용 가능할 때까지 그 메모리 모듈에 해당하는 큐로 들어간다.

바 메모리 억세스가 완료되면 메모리 모듈과 버스는 지연 시간 없이 해제된다( ) , .

사 버스가 상태가 되었을 때 메모리 큐의 헤드에서 기다리던 요구들 중에서 그들이( ) ‘ilde’ ,

각각의 큐의 헤드에 도착한 시각에 의거한 방식에 의해 다음 요가가 선택된FIFO(FCFS)

다 동시 도착의 경우 임의로 선택하는 경우도 가능하지만 여기서는 큐의 번호 중 앞의 것, ,

을 선택하는 사이클 셀렉션 을 이용한다(cycle selection) .

아 어떤 프로세서가 특정 메모리 모듈에 대하여 메모리 억세스 요구를 발생하는 확률은( )

모든 메모리 모듈에 대하여 똑같이 이며 이 때 은 메모리 모듈의 수이다 따라서 특1/M , M . ,

정 메모리 모듈에 대한 메모리 요구의 도착은 포아송 분포를 따르며 그 평균 방생(Poisson) ,

률은 α 이다N/M .

Page 56: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

제 절 이산사건 시뮬레이터의 구조3

이산 사건 시뮬레이션은 그 응용범위가 방대하며 특히 컴퓨터의 성능평가에 많이 사용되어

왔다 그림 은 이산 사건 시뮬레이션에 대한 프로그램의 개괄적인 구조를 나타낸다 사건. 5.3 .

계획 접근 방식에 근거한 이산 사건 시뮬레이션은 주 프로그램 몇 개의 사(main program),

건 루틴 들 그리고 리포트 발생기 로 구성된다(event routine) , (report generator) .

미래 사건 리스트 는 발생하는 시간을 포함한 미래 사건들을 나타(FEL : Future Event List)

낸다 간단한 실행루프 프로그램이 이 파일 을 조사하고 가장 먼저 계획된 사건을 골라. (file)

그 사건이 수행되도록 만든다 사건이 수행되는 동안 수학적 또는 논리적 연산들이 다른 종.

속사건들을 계획하기 위하여 수행될 수 있다 이러한 방법으로 실제 시스템에서 수행되는.

것과 같은 순서로 사건에서 사건으로 시뮬레이션이 수행된다.

시스템 초기화가 이루어지고 나서 시뮬레이션을 시작하기 위하여 초기 사건이 시뮬레이션

시계의 시각이 즉 일 때 일어나도록 계획된다 그림 에서 시간 진행 루틴은0( , CLOCK=0) . 5.3

로부터 다음 사건이 발생하도록 계획된 사건을 선택해 내고 을 사건 발생 시간FEL CLOCK

으로 진행시킨다 그 후 선택된 사건과 관련된 사건 루틴이 호출된다 사건 루틴의 수행이. , .

끝나기 전에 와 다른 사건들이 필요에 따라 계획되어 에 들어간다 이러, end-of-event FEL .

한 과정이 시뮬레이션이 끝날 때까지 반복된다 시뮬레이션 수행중에 통계값들이 산출되고.

리포트 발생기에 의하여 출력된다,

Page 57: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

그림 사건 계획 시뮬레이션 프로그램의 구조5.3

Page 58: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

제 절 과 의 이산 사건 시뮬레이션의 비교4 SLAM C

의 이산 사건의 구조1. SLAM

을 사용하는 이산 사건 시뮬레이션 프로그램은 주프로그램 서브루틴인SLAM , EVENT(I),

몇 개의 사건 루틴들 그리고 의 입력문 으로 구성된다 시뮬레이션, SLAM (input statement) .

에 대한 실행의 제어는 서브루틴인 에 의하여 제공되는데 이 서브루틴은 사SLAM , SLAM

용자가 작성하는 주프로그램에서 호출된다 서브루틴을 주프로그램이 아니라 서브루. SLAM

틴으로 만드는 것은 사용자로 하여금 의 실행 제어 프로그램을 다시 컴파일하지 않SLAM

고 주프로그램에서 서브루틴의 저장배열 차원의 크기를 지정할 수SLAM (storage array)

있도록 하기 위한 것이다.

을 사용하여 시스템의 이산 사건 모델을 시뮬레이션하기 위하여 분석자는SLAM ,

서브루틴으로서 각각의 이산 사건을 코딩 한다 이 작업을 돕기 위하여FORTRAN (coding) .

은 라이브러리 부프로그램 의 집합을 제공한다 그 부프로그램들은 사건SLAM (subprogram) .

계획 통계값의 수집 그리고 랜덤 샘플의 발생과 같은 일반적으로 이산 사건 시뮬레이션에, ,

서 나타나는 모든 기능을 수행한다 실행 프로그램은 시뮬레이션 시간 을 진. SLAM (TROW)

행시키고 사건루틴들이 처리되는 순서를 정한다 그리하여 시뮬레이션 프로그래머들이 사건.

들을 적절한 순서로 처리하기 위하여 그 사건들의 순서를 정렬하는 작업을 이 대신SLAM

해 주는 것이다.

각각의 사건 루틴은 사건 코드 라고 하는 양의 정수에 의하여 할당된다 서브루(event code) .

틴 는 사건 코드 에 따라 적절한 사건루틴을 호출한다 이 서브루틴EVENT(I) I . EVENT(I)

는 사용자에 의하여 작성되며 값을 참조하는 문으로 이루어지며 이 문, I assigned GO TO ,

장에 의하여 제어를 적절한 사건루틴으로 전송한다.

Page 59: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

사용자가 작성하는 두 개의 추가적인 서브루틴으로 와 가 있는데 이들은 일INTLC OTPUT ,

반적으로 을 이용한 시뮬레이션에 사용되는 루틴들이다SLAM .

서브루틴 는 각각의 시뮬레이션이 수행되기 전에 에 의하여 호출된다INTLC SLAM . INTLC

는 초기조건들을 고정하고 초기 사건을 계획한다 서브루틴 는 각각의 시뮬레이션의. OTPUT

종료시에 호출되며 시뮬레이션이 수행되는 동안의 특정한 결과를 출력하는 등의 시뮬레이션

종료 작업 을 수행한다(end of simulation) .

입력문은 프로젝트의 제목 수행 시간의 길이 파일의 수 파일의 우선순위SLAM , , , (ranking),

통계값의 수집 사건들의 추적 등을 지정한다 이 입력문은 문으로 시작하여, . SLAM GEN

문으로 끝난다FIN .

그림 는 이산사건 모델을 시뮬레이션하는 다음 사건 논리를 나타낸다5.4 .

프로세서는 입력문들을 읽고 변수들을 초기화하는 것으로 그 작업을SLAM SLAM SLAM

시작한다 서브루틴 가 부수적인 초기 조건들을 지정하고 초기 사건을 계회하기 위하. INTLC

여 호출된다 사건이 본 연구에서 논의되는 시뮬레이터에 있어서의 초기 사건이. MEMOREQ

다.

프로세서는 앞 절에서 언급된 인 사건 칼렌더 로부터 첫 번째SLAM FEL (event calendar)

사건을 제거함으로써 시뮬레이션 수행을 시작한다 사건들은 사건 발생시간이 작은 값에 따.

라 칼렌더에 차례로 정렬된다 변수 에 사건 코드와 같은 값이 지정되며 는 다음. I , TNOW

사건이 발생하는 시간으로 진행된다 그리고 은 사용자가 작성한 서브루틴. SLAM

를 호출하며 는 값에 따라 적절한 사건루틴을 호출한다 그 후 사용자EVENT(I) EVENT(I) I .

가 작성된 사건 루틴이 수행되며 프로세서는 시뮬레이션 수행이 끝났는가 조사한, SLAM

다.

Page 60: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

그림 이산사건 모델들의 시뮬레이션에 대한 다음 사건 논리5.4 SLAM

Page 61: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

이산 사건 시뮬레이션은 다음의 조건 중 한 가지가 만족하면 종료된다.

가 가 시뮬레이션 종료시간을 나타내는 과 같거나 더 큰 값을 갖게 된다( ) TNOW TTFIN .

나 사건 칼렌더에 처리해야 할 사건이 남아 있지 않다( ) .

다 사용자가 작성한 루틴에서 변수 이 의 값으로 고정된다( ) SLAM MSTOP -1 .

만일 시뮬레이션 수행이 끝나지 않았다면 다음 사건이 사건 칼렌더에서 제거되고 시뮬레이,

션은 계속 수행된다 시뮬레이션 수행이 완료되었을 때 서브루틴 가 호출된다. OTPUT .

가 수행된 후 요약 보고서가 출력된다 또한 수행되어야 하는 시뮬레이션이OTPUT , SLAM .

남았는가를 조사한다 만일 더 수행되어야 하는 시뮬레이션이 남아있는 경우에는 제어는 초.

기화로 돌아가고 다음 시뮬레이션 수행이 실행된다 그렇지 않으면 제어가 프로세. , SLAM

서에서 사용자가 작성한 주프로그램으로 되돌아 간다.

지금까지 이산 사건 모델을 시뮬레이션하는데 필요한 구조를 개략적으로 설명하였SLAM

다 이산 사건 시뮬레이션 프로그램을 작성하기 위하여 사용자는 주프로그램 사건코드 를. , I

디코딩 하고 그에 따라 적절한 사건 서브루틴을 호출하기 위한 서브루틴(decoding)

그리고 사건 발생 시간에 그의 활동을 특정짓는 각각의 사건루틴들을 작성한다EVENT(I), .

서브루틴 와 는 특별한 초기조건 또는 시뮬레이션 종료처리가 요구될 경우INTLC OTPUT

작성한다.

에서 제공되는 부프로그램2. SLAM

은 사용자를 보조하기 위하여 다양한 서브루틴들을 제공한다 그 중에 이산 사건 시SLAM .

뮬레이션과 관련된 몇 가지의 서브루틴들을 소개한다.

Page 62: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

가 사건 계획.

서브루틴 을 호출함으로써 사건들이 계획된다 이때SCHDL (KEVENT, DTIME, A) . ,

는 계획되는 사건의 사건 코드를 나타내며 은 현재 시각인 에서KEVENT , DTIME TNOW

시간 단위 후에 사건이 발생함을 나타낸다 의 세 번째 가인수인 버퍼 를DTIME . SCHDL A

전송함으로써 사건과 관련된 속성들이 정해진다.

사건이 계획되는 시간에 버퍼 배열 에 들어 있는 속성들의 값들이 사건과 함께 사건 칼렌A

더에 저장된다 이러한 값들은 에 의하여 사건 칼렌더에서 제거되며 사건이 실행되. SLAM ,

는 시간에 버퍼 배열 속에 복사된다 예를 들어 어떤 사건은 아래와 같이 계획될 수ATRIB . ,

있다.

A(1) = 2.0

DTIME = 5.0

CALL SCHDL(1, DTIME, A)

위의 문장들은 으로 하여금 시간에 과 같은 값과 함께 서브루틴SLAM TNOW+5.0 1 I

를 호출하게 하며 서브루틴 호출에 앞서 의 값을 으로 만든다EVENT(I) ATRIB(1) 2.0 .

나 파일처리.

상호관계로 함께 무리지어지는 개체 들은 파일들로 다루어진다(entity) .

우선순위 판단기준은 파일 내의 개체들의 순서를 정돈하는 절차를 구체화한다 파일들에 대.

한 우선순위 판단 기준은 또한 속성값에FIFO(first-in, first-out), LIFO(last-in, first-out),

근거하여 등이 가능하다 우선순위 판단 기준HVF(high-value-first), LVF(low-value-first) .

은 입력문 중의 하나인 문을 사용하여 정해진다 어떤SLAM (input statement) PRIORITY .

우선순위 판단 기준도 정해지지 않는 경우 로 가정된다FIFO .

에서 파일들은 사용자가 파일에 부여한 번호에 의하여 구별된다SLAM .

Page 63: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

은 자동적으로 각각의 파일들에 대한 통계값들을 수집하고 파일들을 다루는 데에 필SLAM

요한 다음의 서브루틴들을 제공한다.

서브루틴 은 한 개체를 버퍼 배열 에 들어 있는 속성들과 함께(1) FILEM(IFILE, A) A

로 지시되는 파일에 쌓는다 속성들은 엔트리 와 함께 저장되며 엔트리가 파일IFILE . (entry) ,

에서 제거될 때 그 값들이 되돌려진다 예를 들어 다음의 문들은 하나의 엔트리가 현재 시. ,

뮬레이션 시간을 나타내는 첫 번째 속성 집합과 함께 파일 에 들어가도록 한다3 .

A(1) = TNOW

CALL FILEM(3,A)

서브루틴 는 의 우선순위를 갖는 엔트리를 파일(2) RMOVE(NRANK, IFILE, A) NRANK

로부터 제거하고 속성 버퍼 배열 에 그 속성들을 둔다 예를 들면 아래 문들은 파IFILE , A . ,

일 에 있는 첫 번째 엔트리를 제거하고 그 속성을 배열에 넣는다3 ATRIB .

CALL RMOVE(1, 3, ATRIB)

서브 루틴(3) COPY(NRANK, IFILE, A)

서브 루틴 는 파일 에서 의 우선순위를 갖는 엔트COPY(NRANK, IFILE, A) IFILE NRANK

리의 속성들을 파일로부터 엔트리를 제거하지 않고 배열 복사하는 기능을 제공한다AFH .

예를 들어,

CALL COPY(1, 4 ATRIB)

는 파일 에 있는 첫 번째 엔트리에 대한 속성들이 배열 로 복사되게 한다4 ATRIB .

Page 64: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

함수(4) NNQ(IFILE)

함수 은 파일 속에 있는 엔트리들의 현재 개수를 되돌려 준다NNQ(IFILE) IFILE

다 통계값의 수집.

관찰 근거 변수의 통계값(1) (Statistics for variable based on observation)

관찰 통계값들이 모이는 각각의 변수는 사용자에 의하여 입력문에 문으로 지SLAM STAT

시되어야 한다 문의 형식은 다음과 같다. STAT .

STAT, ICLCT, ID :

이 때 는 통계 변수에 관련된 정수 코드이며 는 요약 보고서에 통계 변수, ICLCT , ID SLAM

와 관련된 출력을 지시하기 위하여 출력되는 문자와 숫자의 혼용가능 지시자이다 예를 들.

어 다음의,

STAT,1 PE1 IDLE TIME:

문은 통계값들이 로 번호 붙여진 변수에 수집되며 결과는 으로 표시된다1 , PE1 IDLE TIME

는 것을 나타낸다.

문에 정의된 각각의 변수들에 대한 관찰값들은 사건 루틴들 내의 서브루틴STAT

를 호출함으로써 수집된다 이 때 변수 은 관찰되는 값을 나COLCT(XVAL, ICLCT) . , XVAL

타내며 는 그 변수와 관련된 정수 코드이다 예를 들어 아래의 문은 하나의 관찰값, ICLCT . ,

이 변수형태가 번으로 코딩되는 변수 에 모이게 한다COLCT 1 ITIME .

CALL COLCT(ITIME, 1)

시간 지속성 변수 에 대한 통계값(2) (time-persistent variabie)

의 이산 사건 시뮬레이션에서 시간 지속성 변수들에 대한 통계값들 시간의 주기에SLAM -

걸쳐 그 값들이 정의되는 변수들에 대하여 관리되는 통계값들 은 의 배열변수인- SLAM XX

를 사용함으로써 얻어진다 이 때 배열 변수 는 사용자가 작성한 프로그램들과. , SLAM XX

사이에서 그 값들을 전송하는데 사용되는 변수들 중의 하나이다 이들 변수들은SLAM .

이라고 명명된 블록 속에 있다 를 입력문 속에 포함시킴SCOM1 labeled COMMON . TIMST

으로써 시간 지속성 통계값들은 자동적으로 프로세서에 의하여 임의의 변수에SLAM XX

누적된다 문의 형태는 다음과 같다. TIMST .

Page 65: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

TIMST, XX(N), VARNAME :

단 은 에서 까지의 정수이며 은 출력을 지시하기 위하여 사용되는 변수, N 1 100 , VARNAME

이름이다 예를 들어 출력 형식이 으로 나타나는 변수 에 대한. , PE(1.1) UTILIZATION XX(1)

시간 지속성 통계값을 출력에 포함하기 위하여 사용자는 단순히 입력문 속에 아래, SLAM

문장을 추가하면 된다.

TIMST, XX(1), PE(1.1) UTILIZATION:

언어를 사용하는 이산 사건 시뮬레이션3. C

언어는 일반적인 목적을 위한 범용 언어이므로 이산사건 시뮬레이션과 같은 특정 목적을C

위하여 제공되는 라이브러리 루틴들이 없으므로 사용자가 모든 루틴을 작성하여야 한다 즉. ,

에서의 주프로그램 및 사건 루틴들은 물론이고 루틴 루틴SLAM , SLAM , SCHDL , FILEM

루틴 루틴 루틴 등과 같은 모든 루틴들을 작성해야 한다 또한 그 각, RMOVE , REPORT . ,

각의 루틴은 이산사건 시뮬레이션의 기본 구조를 충분히 보조할 수 있도록 기능적으로 작성

되어야 한다 다음에 몇 가지의 예를 든다. .

가 사건 리스트의 관리.

이산 사건 시뮬레이션의 핵심인 사건 리스트의 관리를 위하여 포인터를 사용하여 그 구조를

만든다 또한 그 사건 리스트는 두 개의 포인터로 이중 결하되도록 만든다 이중 결합 구조. , .

를 갖는 이유는 결합 순서 정렬의 용이성과 결합 구조의 안정성에 있다 즉 이중 결합된 구. ,

조를 그 속성값에 따라 재정렬할 때 양방향으로 정렬할 수 있고 한 개의 결합 정보를 상실,

할지라도 다른 한 개의 결합 정보를 이용해 재결합할 수 있다 이 사건 리스트는 사건 계획.

루틴과 타이밍 루틴에 의하여 관리된다 사건 계획 루틴이 호출되어 한 사건이 계획될 때. ,

그 사건의 발생 시간을 참조하여 적절한 순서로 사건이 일어나도록 사건 리스트를 정렬해야

한다 또한 타이밍 루틴이 호출되어 시뮬레이션 시간이 그 사건의 발생시간으로 진행될 때. , ,

이중결합된 사건리스트에서 그 사건을 제거하는 알고리즘을 결정하여야 한다.

그림 는 이중 결합된 사건 리스트의 구조를 나타낸다5.5 .

Page 66: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

그림 이중 결합된 사건 리스트의 구조5.5

한편 하나의 사건 리스트는 사건 코드 사건 발생 시간 그리고 그 사건과 관련된 기타의, , ,

속성을 가리키는 포인터를 포함한다.

나 파일 리스트의 관리.

큐잉 시스템을 시뮬레이션하기 위하여 파일 리스트를 관리하여야한다.

본 연구에서는 우선순위 판단 기준에 따른 파일 리스트 구조를 관리하므로 단일 결합FIFO

된 큐 리스트의 구조를 사용한다 각각의 큐는 큐 리스트 헤더 를 갖는다 이 큐 리. (header) .

스트 헤더는 파일 구조의 통계값을 관리한다 즉 최대 대기 시간 대기 시간의 누적 최대. , , ,

큐의 길이 현재의 큐의 길이 큐의 길이와 대기시간을 곱하는 누적 최근에 큐의 상태가 변, , ,

화한 시간 등의 값을 큐 리스트에 엔트리가 들어오거나 제거될 때 보완하여 통계값을 관리

한다 이 파일 리스트는 서브루틴 과 에 의하여 관리된다 그림 은 단일 결. filem() rmove() . 5.6

합 구조를 갖는 파일 리스트 구조를 나타낸다.

하나의 큐에 엔트리가 들어오면 그 엔트리는 큐의 맨 뒤에 결합된다.

Page 67: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

그림 단일 결합된 큐 리스트의 구조5.6

다 랜덤 수의 발생.

의사 랜덤 수의 발생 알고리즘을 사용하여 에서 사이의 일양 분포를 갖는 수들을 발생시0 1

킨다 선형합동발생 알고리즘 중에 곱의 알고리. (LCG:Linear Congruential Generation) LCG

즘이 가장 많이 쓰이는데 다음과 같다.

이 때, a=75 = 16807, M = 231 이다 이렇게 발생된 로부터 에서 사이의-1= 2147483647 . Zi 0 1

일양분포를 갖는 변수 는 다음의 방법으로 구한다Ui .

이 를 이용하여 여러 가지의 분포를 갖는 랜덤 수를 발생시킨다 언어로 이와 같은 작업Ui . C

을 수행하기 위하여는 오버플로어를 이용한다.

이와 같이 범용 언어인 언어를 사용하여 이산 사건 시뮬레이션을 수행하는 경우 시뮬레, C ,

이션에 필요한 여러 가지 사건루틴을 개발하는 것보다는 구성하는 사건루틴을 계획하여 실

행하는데 필요한 을 개발하는데 몇 배 이상의 노력이 들며 시행착오를 감수해야 한다tool .

Page 68: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

또한 레벨의 개발환경에서는 전역변수를 크게 잡을 경우 운영체계의 한계로 인하여 오PC ,

류가 발생할 수 있으며 스텍 메모리의 오버플로어도 발생한다 본 연구에서는 마이크로 소.

프트사의 컴파일러 을 사용하여 시뮬레이터의 프로그램 코드를 컴파일하였으며C 5.1

에서 수행하였다 또한 작업부하는 에서 제공하는 난수발생기를 통해 외MS-DOS 3.3 . SLAM

부 파일로 만들어 언어로 개발한 시뮬레이터와 시뮬레이터를 비교하였다C SLAM .

결론적으로 이산 사건 시뮬레이션은 시뮬레이션 전용 언어로 프로그래밍하여 개발하는 것,

이 그 비용과 노력면에서 범용 언어보다 월등히 경제적임을 알 수 있으며 본 연구에서는,

을 이용하여 버스의 수와 메모리 모듈의 수의 변화에 대한 실험을 하기로 한다SLAM .

제 절 을 이용한 시뮬레이터의 구현5 SLAM

멀티버스 멀티프로세서 시스템의 이산 사건 시뮬레이션 모델이 과NxMxb SLAM

을 사용하여 구현된다 시뮬레이터는 멀티버스 상호연결 구조가 시스템 성능FORTRAM 77 .

에 미치는 영향을 조사하는 시뮬레이션을 수행하도록 구현된다 큐의 길이 버스의 이용도. ,

등이 시뮬레이션을 통하여 조사될 수 있다 또한 전역 메모리에 대한 평균(bus utilization) .

억세스 시간이 산출된다.

평균 메모리 억세스 시간 큐의 행위 프로세서와 전역 메모리 및 버스의 이용도와 같은 통, ,

계값들이 출력된다.

사건 루틴 시간 특성 작업부하 모델링 시뮬레이터의 내부구조가 다음에 개략적으로 설명, , ,

된다.

사건 루틴1. (event routines)

멀티프로세서 멀티 버스 시스템에 대한 시뮬레이터는 주프로그램 초기화 루틴 개NxMxb , , 4

의 사건 루틴들 개의 서브루틴 그리고 시뮬레이션에 관한 정보를 프로세서에 제공, 1 , SLAM

하는 입력문들로 구성되어 있다SLAM .

사건 루틴들에 대한 개략적인 설명을 아래에 하고자 한다.

Page 69: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

가 사건 루틴. REQUENBL

그림 사건 루틴의 구조5.7 REQUENBL

사건은 프로세서 중의 하나가 메모리 요구 가능 상태에 있음을 나타내는 사건REQUENBL

이다 즉 프로세서가 시뮬레이션 시작 직후에 지역 메모리의 일련의 명령에 관한 작업을 수. ,

행하고 있는 상태이거나 메모리와의 데이터 전송 작업을 마치고 다시 작업을 수행하고 있는

상태를 나타낸다 이 사건은 다음에 발생할 메모리 요구를 계획하며 그와 동시에 그 사건의. ,

발생시간을 지수분포에 따라 확률적으로 결정하며 또한 원하는 메모리 모듈의 번호도 일양,

분포에 따라 확률적으로 결정한다.

Page 70: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

나 사건 루틴. REQUEST

그림 사건 루틴의 구조5.8 REQUEST

Page 71: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

라 사건 루틴. ENDMACC

그림 사건 루틴의 구조5.10 ENDMACC

Page 72: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

사건은 프로세서와 전역 메모리 사이의 데이터 전송작업이 완료되도록 하는 기ENDMACC

능을 수행한다 이 사건은 메모리 요구와 관련된 모든 플래그들을 으로 만든다 또. ‘busy' 0 .

한 큐에서 그 메모리 요구를 제거한다 이와 동시에 통계값들이 누적된다 메모리 큐의 헤, . .

드 상태에 변화가 있었으므로 각 메모리 큐를 그 헤드에 있는 엔트리의 큐에 들어온 시간을

근거로 하여 우선순위를 다시 결정하게 된다 우선순위가 빠른 큐에서부터 차례로 조사하여.

대기중인 메모리 요구를 적절하게 골라 사건을 계획한다 또한 현재 상태STRMACC . ’idle'

가 된 프로세서에 대하여 메모리 요구를 가능하게 하는 사건을 계획한다REQUENBL .

또한 각 큐의 우선순위를 부여하기 위하여 이라는 서브루틴이 있다SORTING .

마 서브루틴. SORTING

이 루틴은 사건루틴에서 호출된다 이 루틴은 각 큐의 헤드에 있는 엔트리를ENDMACC .

비교하여 그 엔트리들이 큐에 들어온 시간 순서에 따라 우선순위를 재배열한다.

시뮬레이션이 시작되면 서브루틴은 각 상태의 플래그들을 초기화하고 개의INTLC ‘busy' N

프로세서 각각에 대하여 초기 사건( 을 시뮬레이션 개시 시각에 발생하도록 계REQUENBL)

획하는데 이는 시스템에 프로세서가 개 존재함을 나타낸다 사건 루틴은 메, N . REQUENBL

모리 억세스의 종료를 나타내는 사건을 계획하며 사건은 큐에서ENDMACC , ENDMACC

대기중인 엔트리에 대하여 사건을 계획하거나 메모리 억세스가 끝난 프로세서STRMACC

에 대하여 사건을 계획한다 한편 큐에서 대기중인 엔트리를 고르기 위해REQUENBL .

루틴이SORTING 사건 루틴에서 호출된다 사건 루틴들과 서브루틴들 사이의ENDMACC .

사건 계획과 서브루틴 호출 관계가 그림 에 나타난다5.11 .

Page 73: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

그림 각 루틴들 사이의 호출 관계5.11

작업부하2.

본 연구에서 구현한 시뮬레이터는 추정통계적 작업부하 에 의하여 구동(stochastic workload)

되는 분산 구동 시뮬레이터이다 그 작업부하는 그게 두 가지로 볼 수 있다 각 프로세서는. .

캐시 메모리를 갖고 있으면 일련의 명령 코드가 그 캐시 메모리에 로드된 상태라고 가정하

고 있으므로 각 프로세서는 자신의 캐시 메모리의 명령에 따라 차례로 그 처리를 수행하다

가 전역 메모리와의 데이터 교류가 필요하게 되면 그 때 메모리 요구를 발생한다 작업부하.

중 하나는 한 프로세서에서 발생된 메모리 요구의 처리가 완료된 뒤 다음 메모리 요구 시,

간까지의 시간간격이다 다른 하나의 작업부하는 발생된 메모리 요구에 따른 메모리 서비스.

시간인데 그것은 한 번에 처리되는 데이터의 길이에 의존된다, .

메모리 요구 발생 시간 간격과 메모리 서비스 지연 시간은 모두 지수분포를 확률분포로 갖

는다 이 때 변수는 각각의 지수분포 난수 발생시에 요구되는 그 평균값인데 그 값은 임의.

적이다 본 연구에서는 메모리 요구 발생 시간 간격과 메모리 시간 지연과의 상대적인 비율.

로 그 평균값을 정한다.

Page 74: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

시뮬레이터 내부구조3.

가 메모리 요구.

각각의 프로세서에 대하여 실제의 메모리 요구는 사건루틴에서 이루어진다REQUEST .

사건루틴은 현재 프로세서가 자신의 캐시 메모리에서 일련의 명령에 따라 작REQUENBL

업을 수행하고 있으며 전역 메모리를 필요로 하지 않고 있음을 나타낸다 그리하여.

사건루틴은 그 프로세서가 다음의 메모리 요구가 발생할 시간을 예측하여 그REQUENBL

시간에 사건이 발생하도록 사건을 계획한다REQUEST .

한 프로세서가 전역 메모리를 요구하였을 때 즉각적으로 그 메모리를 억세스 할 수 있는 것

이 아니다 만일 그 메모리가 다른 프로세서에 의하여 점유되고 있으면 이 프로세서가 발생.

한 메모리 요구는 원하는 전역 메모리 모듈이 풀려질 때까지 메모리 큐에서 기다리게 된다.

또한 원하는 메모리가 상태인 경우라도 버스의 수가 메모리의 수보다 작은 경우에는’idle'

모든 버스가 프로세서들에 의하여 점유당하고 있을 수 있다 이 때에도 프로세서가 발생한.

메모리 요구는 큐에서 기다리게 된다.

메모리 요구가 받아 들여져 메모리 억세스가 끝나게 되었을 때 위의 이유로 인하여 큐에서,

기다리고 있던 메모리 요구들 중에 하나가 받아 들여질 수 있게 된다 또한 메모리 억세스.

가 끝난 프로세서는 계속하여 캐시 메모리를 참조하여 작업을 속개하는데 이는 다음의 메모

리 요구를 발생할 수 있음을 의미한다.

Page 75: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

나 큐의 관리.

시뮬레이터에서 큐들은 파일들로 표현된다 각각의 파일은 구별가능한 정수로 나타낸다 각. .

각의 큐의 엔트리들은 버퍼 배열에 쓰여지며 의 서브루틴인 을 호출함으로써, SLAM FILEM

그에 관련된 파일 속에 저장된다 예를 들어 메모리 요구가. , 사건루틴에서 메모REQUEST

리 큐로 들어갈 때 엔트리들을 배열에 저장한다 그리고ATRIB . CALL FILEM(NMQ,

문으로 서브루틴을 호출함으로써 의 내용이 로 번호가 매겨진 파일에ATRIB) ATRIB NMQ,

저장된다.

다 사건계획.

하나의 사건 루틴이 다른 사건을 계획할 대 그 사건은 속성 배열 을 통하여 정부를ATRIB

전달한다 사건이 계획되는 시간에 배열 속의 값이 사건 코드와 사건 발생시간과. ATRIB

함께 속에 저장된다 사건이 실행될 대 값들은 배열속에 다시 복사된다FEL . ATRIB .

배열의 엔트리들은 다음과 같이 할당된다ATRIB .

메모리 요구가 발생한 시간ATRIB(1) :

프로세서의 번호ATRIB(2) :

메모리 모듈의 번호ATRIB(3) :

점유하는 버스의 번호ATRIB(4) :

구성요소의 다른 배치에 관한 시스템 변수4.

시뮬레이터를 다양한 조건하에서 멀티버스 멀티프로세서 시스템의 행이에 대한 고NxMxb

찰에 사용하기 위해 구현되었으므로 시뮬레이터는 시뮬레이션되는 시스템의 설계 파라미터

를 쉽게 수정할 수 있도록 하여 주는 다음의 변수들을 포함한다.

가 는 프로세서의 수를 나타낸다 본 연구에서는 멀티버스 구조가 전체의 시스템에 끼( ) NP .

치는 영향에 대하여 조사하므로 프로세서의 수는 변화하지 않고 개의 프로세서에 대하여4

분석하였다.

나 는 메모리 모듈의 수를 나타낸다 이 값은 에서 까지의 값을 갖는데 메모리 모듈( ) NM . 3 5

의 수가 멀티버스 멀티프로세서 시스템에 미치는 영향을 조사하기위하여 외부의 파일에서

얻어진다.

다 는 버스의 수를 나타낸다 메모리 모듈의 수에 따라 버스의 수를 에서 메모리 모듈( ) NB . 1

의 수까지 증가시키며 실험한다 이 값 역시 외부의 파일에서 얻어진다. .

Page 76: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

제 장 시뮬레이션 수행 결과 및 고찰6

제 절 시스템에 대한 과 의 비교고찰1 4x3x2 SLAM C

을 이용한 시뮬레이션 결과1. SLAM

을 이용하여 개의 프로세서 개의 메모리 모듈 개의 버스가 결합된 멀티버스 멀티SLAM 4 , 3 , 2

프로세서 시스템을 구성화하였다 이때 작업부하로는 일반적인 시간 단위를 요구하지 않고. ,

평균 메모리 요구 시간간격과 평균 메모리 서비스 지연시간을 단위 시간으로 가정하여1.0

시뮬레이션하였다 은 관찰 근거 변수의 통계값으로서 프로세서가 발생한 메모리 요. SLAM

구가 처리되는 시간을 제공 해준다 또한 각 프로세서와 메모리 그리고 버스의 이용도에. , ,

관한 통계값을 제시하여 준다 그리고 각 큐에 대한 평균 길이 및 평균 대기 시간등을 출력.

한다 그림 에 의 시뮬레이션 결과 출력이 나타난다 이와 같이 수행된 의. 6.1 SLAM . SLAM

시뮬레이션 결과는 그림 과 같은 형태로 출력된다6.1 .

그림에서 시스템의 총 시뮬레이션 시간은 시뮬레이션MBMP(multi-bus multi-processor)

시계가 에서 시작하였으므로 이 이에 해당한다 는 메모리0 CURRENT TIME . TIME IN SYS

요구가 발생하여 완료될 때까지의 시간을 나타내며 평균 단위 시간이 걸렸다 이 때1.69 . ,

그 표준 편차가 인데 이는 메모리 요구시간이 변화한다는 것을 알 수 있다 또한 각각1.47 . ,

의 구성요소에 대한 이용도가 나타나며 각 큐의 행위도 나타나 있으므로 세 번째의 메모리,

큐에서의 평균 큐의 길이가 가장 길다는 것을 알 수 있다.

Page 77: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

그림 시스템에 대한 의 출력6.1 4x3x2 SLAM

은 원하는 통계값에 대한 히스토그램 을 제공한다 그림 에서는 관찰 근SLAM (histogram) . 6.2

거 변수에 대한 통계값이 나타난 것을 보여준다 는 빈도를 나타낸 데 절대 빈도와. FREQ ㄴ

상대 빈도로 나누어 나타낸다 히스트그램에서 로 표시된 것은 누적값이다 예를 들면 프. * . ,

로세서가 메모리 요구를 발생하였을 때 처리되는 시간이 단위시간에서 단위 시간사이0 0. 5

에 처리된 메모리 요구의 수는 개이다 또한 단위에서 단위시간 사이에 처리된220 . 0. 5 1. 0

메모리 요구의 수는 개이다 또한 상대빈도는 단위시간에서 단위시간 사이에 처194 . , 0. 0 0. 5

리된 메모리 요구의 수는 전체 발생된 메모리 요구의 수인 개와 비교하여 의 비1000 0. 220

율이다.

Page 78: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

그림 시스템의 메모리 억세스 시간에 대한 히스토그램6.2 4x3x2

그림 은 첫 번째 메모리 큐의 행위에 관하여 그의 히스토그램을 제공한다 첫 번째 메모6.3 .

리 큐의 길이가 이었던 시간은 단위 시간동안이었으며 각각의 셀 타임0 311 (CELL TIME)

을 모두 더하면 총 시뮬레이션 시간이 된다.

그 우측에 상대 빈도를 나타내는데 즉 첫 번째 메모리 큐의 길이가 이었던 시간 구간은, 0

전체 시뮬레이션 시간의 의 비율임을 알 수 있다 그림 부터 까지 각각의 메모리0.48 . 6.3 6.5

큐에 대한 통계값이 히스토그램으로 나타난다.

Page 79: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

그림 첫 번째 메모리 큐의 길이에 대한 히스토그램6.3

그림 두 번째 메모리 큐의 길이에 대한 히스토그램6.4

Page 80: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

그림 세번째 메모리 큐의 길이에 대한 히스토그램6.5

언어를 이용한 시뮬레이션 결과2. C

언어를 이용하여 동일한 시뮬레이터를 구성하였다 시뮬레이터의 타당성을 조사하기 위하C .

여 시스템에 에서 제공하는 난수 발생기가 발생시킨 메모리 요구 시간 간격과4×3×2 SLAM

메모리 서비스 지연 시간을 작업부하로 주어 시뮬레이션 하였다 그 결과를 그림 에 나타. 6.6

내었다 결과에서 알 수 있듯이 같은 사건루틴으로 시뮬레이터를 작성하였으므로 그 결과들.

은 같다 시뮬레이션 결과를 비교하는데 필요한 통계값을 나타내었다. SLAM .

Page 81: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

그림 언어를 이용한 시뮬레이션 결과6.6 C

Page 82: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

제 절 작업 부하 및 시스템 변수에 따른 시뮬레이션 결과 및 고찰2

시스템에서 프로세서의 수는 개로 고정시키고 메모리 모듈의 수는 에서 까지N×M×b 4 3 4

변화시키고 그 각각에 대하여 버스의 수를 에서 메모리 모듈의 수까지 변화시키며 시뮬레1

이션하였다 평균 메모리 시간을 단위 시간 평균 서비스 지연 시간을 단위 시간으로. 1.0 , 1.0

작업 부하를 주었을 때 메모리와 버스의 수의 변화에 따른 프로세서 메모리 버스의 이용, , ,

도가 그림 의 와 같이 나타난다 또한 이 때의 메모리 요구가 처리되는 평균6.7 (a), (b), (c) .

메모리 억세스 시간은 표 의 이다 표 표 표 표 은 여러 가지 작업 부6.2 (d) . 6.3, 6.4, 6.5, 6.6

하에 따른 시뮬레이션 결과를 표시한다 각각의 작업 부하관계를 표 에 나타내었다. 6.1 .

표 표에 따른 작업 부하6.1

표 6.2 표 6.3 표 6.4 표 6.5 표 6.6

평균 메모리요구시간 간격

1.0 1.0 1.0 2.0 4.0

평균 서비스시간 지연

1.0 2.0 4.0 1.0 1.0

표 에서 보듯이 작업부하로 단위시간의 평균 메모리 요구시간간격과 단위시간의6.2 1.0 1.0

평균 메모리 서비스 시간지연을 주었을 때에는 메모리 모듈의 수가 증가하더라도 버스의 수

가 에서 로 증가할 때 시스템의 성능에 가장 큰 영향을 줌을 알 수 있다 즉 프로세서가1 2 .

개일 때 의 수는 모듈의 수와는 무관하게 개일 때가 이상적인 것을 나타냈4 bus memory 2

다 이는 표 부터 표 까지의 결과에서도 마찬가지이다. 6.3 6.6 .

Page 83: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

또한 시스템 파라미터를 고정시킨 관점에서 본다면 평균 메모리 요구 시간간격이 평균 메,

모리 서비스 시간지연에 비하여 그 값이 클수록 평균 메모리 억세스 시간이 줄어듬을 알,

수 있다 즉 각각의 그림의 를 살펴 보면 표 에서의 평균 메모리 억세스 시간이 가장. (d) 6.6

적고 표 에서의 평균 메모리 억세스 시간이 가장 크다 표 는 평균 메모리 요구 시간6.4 . 6.4

간격으로 단위시간 평균 메모리 서비스 시간지연으로 단위시간을 작업부하로 할당1.0 , 4.0

한 것이며 표 은 평균 메모리 요구 시간간격으로 단위시간 평균 메모리 서비스 시간, 6.6 4.0 ,

지연으로 단위시간을 준 것이다1.0 .

Page 84: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

표 평균 메모리 요구 시간간격으로 단위시간 평균 메모리 서비스 시간으로6.3 1.0 ,

단위시간을 작업부하로 주었을 때 시스템 파라미터의 변화에 따른 시뮬레이션 결과2.0

Page 85: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

표 평균 메모리 요구 시간간격으로 단위시간 평균 메모리 서비스 시간으로6.4 1.0 , 4.0

단위시간을 작업부하로 주었을 때 시스템 파라미터의 변화에 따른 시뮬레이션 결과

Page 86: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

표 평균 메모리 요구 시간간격으로 단위시간 평균 메모리 서비스 시간으로6.5 2.0 , 1.0

단위시간을 작업부하로 주었을 때 시스템 파라미터의 변화에 따른 시뮬레이션 결과

Page 87: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

표 평균 메모리 요구 시간간격으로 단위시간 평균 메모리 서비스 시간으로6.6 4.0 , 1.0

단위시간을 작업부하로 주었을 때 시스템 파라미터의 변화에 따른 시뮬레이션 결과

Page 88: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

제 장 결론7

본 연구에서는 대형 시스템 개발 과정에서 필수적인 시스템 성능의 예측 설계 보완 및 성,

능 개선을 위한 도구로서 시뮬레이션을 이용하기 위해 구현 기법에 대한 조사와 분석을 통,

하여 언어와 을 이용한 멀티버스 멀티프로세서 시스템에 대한 시뮬레이터를 구현하C SLAM

고자 하였다.

얻어진 결과는 다음과 같다.

멀티버스 멀티프로세서 시스템에 대하여 비교적 우수한 언어와 전용언어 을 이1) C SLAM

용하여 동일한 수행 절차와 결과를 나타낼 수 있도록 시뮬레이터를 구현하였다.

동일한 시스템에 대한 범용언어와 전용언어인 시뮬레이터의 개발에서 범용언어는 전용언2)

어에 비하여 프로그램의 길이가 약 배 정도로 훨씬 길어졌는데 이는 전용언어에서 제공되3 ,

는 서브루틴을 범용언어에서는 일일이 개발해야 하기 때문이다 결과적으로 길어진 프로그. ,

램으로 인하여 잘못된 결과에 대한 디버깅이 매우 어렵다.

은 시뮬레이션 전용 언어 중에서도 그 출력 형식이 우수하여 얻어진 통계값을 고3) SLAM

찰하기가 용이하다.

여러가지 시스템 파라미터와 다양한 작업 부하에 따라 으로 시뮬례이션하여 간단4) SLAM

히 통계값을 고찰함으로써 실제 시스템 구현을 위하여 이용할 수 있다.

Page 89: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 91 -

부 록

언어를 이용한 시뮬레이터 구성A, C

Page 90: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 92 -

Page 91: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 93 -

Page 92: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 94 -

Page 93: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 95 -

Page 94: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 96 -

Page 95: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 97 -

Page 96: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 98 -

Page 97: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 99 -

Page 98: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 100 -

Page 99: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 101 -

Page 100: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 102 -

Page 101: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 103 -

Page 102: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 104 -

Page 103: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 105 -

Page 104: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 106 -

Page 105: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 107 -

Page 106: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 108 -

Page 107: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 109 -

Page 108: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 110 -

Page 109: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 111 -

Page 110: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 112 -

Page 111: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 113 -

을 이용한 시뮬레이터 구성B. SLAM

Page 112: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 114 -

Page 113: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 115 -

Page 114: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 116 -

Page 115: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 117 -

Page 116: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 118 -

Page 117: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 119 -

Page 118: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 120 -

Page 119: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 121 -

참고 문헌

[1] J. H. Katz. "Simulation of a multiprocessor computer system,” in proc. AFIPS Spring

joint Computer Conf. May 1966, pp. 127-139

[2] F. C. Holland and R. A. Merikallio, "Simulation of a multiprocessor system using

GPSS," IEEE trans. Systems Science and Cybernetics, Vol. SSC-4, pp. 395-400, Nov.

1968.

[3] F. C. Holland and R. A. Merikallio, "Simulation design of a multiprocessing system,"

in proc. AFIPS Fall Joint Computer Conf, Nov. 1968. pp. 1399-1410.

[4] P. Navaux et al. "SSIP-A processor interconnection simulator." in proc. 10th IMACS

world congress on system simulation and scientific computation, Aug. 1982. pp. 329-332

[5] A. Gottlieb. "PLUS : A PL/I based UItracomputer Simulator I," Courant Inst. New

york Univ. New York. UItracomputer Note 10. 1980

[6] A. Gottlieb. "PLUS : A PL/I based UItracomputer Simulator II," Courant Inst. New

york Univ. New York. UItracomputer Note 10. 1980

[7] A. Gottlieb et al. "Simulating shared-memory parallel computers." Courant Inst. New

york Univ. New York. UItracomputer Note 70. 1984.

[8] T. S. Axelrod et al. "A Simulator for MIMD performace prediction-Application to the

S-I Mk a multiprocessor." In Proc. IEEE Int. Conf. Parallel Processing. Aug. 1983.pp.Ⅱ

350-358.

Page 120: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 122 -

[9] B. E. Corrigan and E. L. Johnson, "An evaluation of 8085-based multiprocessing on

a time shared bus." IEEE Micro, Vol. 7, pp.11-21, Jun. 1985.

[10] J. E. Smith et al. "A Simulation study of decoupled architecture computers." IEEE

Trans. Comput. Vol. C-35, pp. 692-702, Aug. 1986.

[11] J. H. Kim, "Simulation and performance analysis of interprocessor communication

mechanism for MIMD system," Ph. D. Dissertation. Arizona State Univ. May 1988.

[12] T. Lang, M. Valero, and I. Algre, "Bandwidth of crossbar and multi-bus connection

for multiprocessors," IEEE Trans. Comput., Vol. C-31. pp. 1227-1234. Dec. 1982.

[13] L. N. Bhuyan, "A combination analysis of multibus multiprocessors," in proc. '84

Int. Conf. Parallel Processing, 1984, pp. 225-227.

[14] T. N. Mudge et al., "Analysis of multiple bus inter connection networks," in Proc.

'84 Int. Conf. Parallel Processing. 1984, pp. 228-232.

[15] M. A. Marsan and M. Gerla, "Markov model for multiple bus multiprocessor

systems," IEEE Trans. Comput. Vol. C-31, pp. 239-248, Mar. 1982.

[16] J. Banksand J. S. Carson, Discrete event system simulation, Englewood Dliffs,

Prentice-Hall, 1984.

[17] T. E. Bell, "Objectives and problems in simulating computers," Proc. AFIPS, Fall

Joint Computer Conference. pp.287-297,Dec. 1972.

Page 121: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 123 -

[18] D. Ferrari, Computer system performance evaluation, Englewood Cliffs,

Prentice-Hall, 1978.

[19] L. R. Huesmann, "Evaluating computer system through simulation," Computer

Journal, Vol. 10, pp. 150-156, Aug. 1967.

[20] M. H. Macdougall, "Computer system simulation : An introduction," Computing

surveys, Vol. 2, pp. 191-209, Sep. 1970.

[21] P. Roth, "Simulation of computers : a tutorial introduction," Proc. Symp. on

simulation of computer systems , pp. 3-5, Aug. 1975.Ⅲ

[22] J. H. Kim," Program listings for H/V-bus system simulator," PPSP Note No.7,

Arizona State Univ., Tempe, AZ, 1988.

[23] A. B. Pritsker, Introduction to simulation and SLAM . New York NY : John wileyⅡ

& Sons, 1984.

[24] J. Misra, "Distributed discrete-event simulation," Computing Surveys, Vol. 18. No. 1,

March 1980.

[25] Kai Hwang," Advanced parallel processing with supercomputer architectures," Proc.

IEEE, Vol. 75, No. 10. October. 1987.

[26] E. F. Gehinger et al, " A survey of commercial parallel processors," ACM

SIGARCH, Aug. 1988.

[27] P. J. Fortier," A general simulation model for the evaluation of distributed

processing systems," Annual Simulation Symposium.

[28] N. R. Nielsen," Computer systems," Communication of the ACM, Vol, 10. No. 7,

July, 1967.

Page 122: 시뮬레이션을이용한시스템성능분석 기법에관한연구 - ITFIND · 2012-06-13 · 요약문 1. :제목 시뮬레이션을이용한시스템성능분석기법에관한연구

- 124 -

[29] Kai Hwang, Computer architecture and parallel processing, McGraw-Hill, 1984.

[30] CACI, PC SIMSCRIPT . 5, 1986.Ⅱ

[31] Y. Chu, Digital simulation of continuous systems, McGraw-Hill, 1969.

[32] J. Reitmann Computer simulation application, John Wiley & Sons, 1971.

[33] G. R. Dosrochers, Principles of parallel and multi-processing, McGraw-Hill, 1988.

[34] M. L. James et al., Analog Computer simulation of engineering systems,

International Textbook Company, 1966.

[35] H. M. Deitel, An introduction to operating system, Addison-Wesley, 1984.

[36] A. Ralston, Encyclopedia of computer science engineering, 2nd Ed., Van Nostrand

Reinhold, 1983.

백두권 이영해 시스템 시뮬레이션 경문사[37] , , , , 1988.

[38] Q. Yang and S. G. Zaky," Communication performance in multiple bus systems,"

IEEE Trans. Comput., Vol. 37, No. 7, July, 1988.

[39] Don Towsley," Approximate models of multiple bus multiprocessor systems," IEEE

Trans. Comput,. vol. 35, No. 3, Mar., 1986.