$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

[국내논문] 공유메모리 다중프로세서 시스템의 다중 프로그래밍 모의실험 기법
Multi-Programmed Simulation of a Shared Memory Multiprocessor System 원문보기

정보과학회논문지. Journal of KIISE. 시스템 및 이론, v.30 no.3/4, 2003년, pp.194 - 204  

최효진 ((주)지씨티리써치) ,  전주식 (서울대학교 컴퓨터공학부)

초록
AI-Helper 아이콘AI-Helper

공유메모리 다중프로세서 시스템의 성능은 하드웨어 구조 뿐 아니라 운영체제의 프로세서 스케줄링 정책 등과 같은 소프트웨어에 의해 큰 영향을 받는다. 하지만, 현재 말이 사용되는 대부분의 모의실험기들은 하나의 벤치마크 응용프로그램의 수행만을 지원하기 때문에 다중 프로그래밍 환경에 대한 모의실험이 불가능하다. 본 논문은 복수개의 응용프로그램들이 프로세서와 기타 시스템 자원을 공유하며 경쟁하는 다중 프로그래밍 환경에 대한 모의실험을 프로그램 구동형 모의실험 환경 하에서 구현하는 기법을 제안한다. 제안하는 기법은 실제 수행환경에 근접한 모의실험을 가능하게 하며, 이를 통해 제한된 시스템 자원에 대한 공유와 충돌의 영향을 자세하게 분석할 수 있다. 또한, 스케줄링 정책의 구현과 분석을 가능하게 함으로써 시스템 구조에 맞는 최적의 정책을 수립할 수 있도록 한다.

Abstract AI-Helper 아이콘AI-Helper

The performance of a shared memory multiprocessor system is dependent on the system software such as scheduling policy as well as hardware system. Most of existing simulators, however, do not support simulation for multi-programmed environment because they can execute only a single benchmark applica...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 본 논문은 기존의 프로그램 구동형 모의실험기 환경을 기반으로, 여러 응용프로그램의 동시 수행과 스케줄링 정책에 대한 모델링을 지원함으로써 하드웨어 시스템과 스케줄링 정책이 통합된 형태의 다중 프로그래밍 모의실험 방법을 소개한다. 벤치마크 프로그램 들을 분기-합류(fork-join) 모델에 기반하여 통합을 하고 간단한 스케줄러용 명령어들을 추가함으로써 전단부 (front-end)는 다중 프로그램 환경과 같은 이벤트를 생성하게 되고, 후단부(back-end)는 응용 프로그램 간, 프로세스 간의 이벤트를 구분할 수 있게 됨으로써 스케줄링 정책에 대한 모델링이 가능하게 된다.
  • 벤치마크 프로그램 들을 분기-합류(fork-join) 모델에 기반하여 통합을 하고 간단한 스케줄러용 명령어들을 추가함으로써 전단부 (front-end)는 다중 프로그램 환경과 같은 이벤트를 생성하게 되고, 후단부(back-end)는 응용 프로그램 간, 프로세스 간의 이벤트를 구분할 수 있게 됨으로써 스케줄링 정책에 대한 모델링이 가능하게 된다. 또한 본 논문은 전단부와 후단부 사이에 프로세서 할당 정책에 관계된 자료구조들을 제공하고 이를 기반으로 스케줄링 정책을 구현하는 구체적인 방법을 설명하고자 한다. 다중프로그래밍 모의실험에 대한 자세한 구조와 구현방안은 2장에서 설명한다.
  • 본 논문에서는, 프로그램 구동형 모의실험기에서 하드웨어 시스템과 함께 스케줄링 정책을 동시에 모의실험하기 위해 기존의 프로그램 구동형 모의살험 환경에 추가적으로 필요한 두 가지 기능을 제안한다. 우선 첫째로, 스케줄링 정책을 모델링 하기 위해서는 여러 개의 벤치마크 웅용프로그램올 동시에 수행할 수 있는 기능이 필요하다 앞에서도 언급했듯이 기존의 프로그램 구동형 모의 실험기는 한번에 단 하나의 프로그램만을 수행 가능하다.
  • 또한 수행되는 응용프로그램의 총 프로세스 개수와 일치하는 시스템 프로세서를 가정한다. 논문은 복수의 벤치마크 응용프로그램을 하나의 응용프로그램으로 통합하고 소스 코드에 간단한 이벤트 발생 코드를 추가하는 방법을 통해 전단부로 하여금 여러 벤치마크웅용프로그램을 동시에 수행시키는 방법을 제공한다. 통합된 옹용프로그램은 여러 벤치마크 프로그램을 하위프로세스로서 동시에 수행함으로써 다중화된 메모리 접근 이벤트를 발생시킨다.
  • 이 장에서는 복수의 프로그램이 동시에 경쟁적으로 수행되는 환경을 구현하기 위해 벤치마크 응용프로그램을 통합하는 방안을 제시한다. 전단부는 프로세스 정보와 함께 메모리 시스템에 대한 접근 이벤트를 발생시칸다.
  • 우리는 전단부로 하여금 복수의 응용프로그램을 동시에 수행할 수 있도록 사용자 정의 이벤트를 발생시키는 방안을 고안했다. 통합된 벤치마크 응용프로그램을 수행하면서 전단부는 사전에 정의된 사용자 정의 이벤트를 발생시키고, 후단부는 이러한 사용자 정의 이벤트를 받아 스케줄러롤 구동 시켜 다중프로그램의 실행과 스케줄링 정책을 구현한다.
  • 주어진 예의 경우, START_PROC는 프로세스의 시작을, ID0는 응용프로그램-0에 속한 프로세스임을 알린다. 프로세스가 종료될 때도 마찬가지로 라인 23에서 보듯이 END.PROC 정보를 통해 해당 프로세스의 종료를스케줄러에게 보고한다.
  • 다중프로그래밍 환경에 대한 모의실험은 복수개의 병렬 응용프로그램이 경쟁적으로 수행될 때의 시스템 성능과 각 시스템 인자의 영향을 조사하는 것이 목적이다. 각 응용프로그램의 초기화 부분은 아직 모든 하위 프로세스들 올 생성하기 이전이므로 경쟁상황이라고 보기 어렵고, 결국 이러한 초기화 부분은 경쟁상황에 대한 정확한 관찰올 방해하는 요인이 된다.
  • 반면에 봉쇄 잠금(blocking lock) 방식을 채택하는 시스템에서는 봉쇄된 프로세스가 자신의 프로세서를 다른 대기 프로세스에게 양보함으로써 프로세서의 활용도를 높이는 스케줄링 정책 수립이 가능하다. 논문에서 다중프로그래밍 모의실험을 구현하는 기반 도구인 AugMint 모의실험기는 기본적으로 스핀잠금을 채택하고 있지만, 다양한 스케줄링 정책을 실험하기 위해 스케줄러에서 봉쇄잠금올 지원하는 방안을 제시한다. 스케줄러는 잠금변수에 대한 접근 시도 이벤트 시 잠금 변수에 대한 대기 프로세스가 존재하는지 확인한다.
  • 논문에서 다중프로그래밍 모의실험을 구현하는 기반 도구인 AugMint 모의실험기는 기본적으로 스핀잠금을 채택하고 있지만, 다양한 스케줄링 정책을 실험하기 위해 스케줄러에서 봉쇄잠금올 지원하는 방안을 제시한다. 스케줄러는 잠금변수에 대한 접근 시도 이벤트 시 잠금 변수에 대한 대기 프로세스가 존재하는지 확인한다. 만약에 현재 다른 프로세스에 의해 점유되고 있는 잠금 변수에 대해 어떤 또 다른 프로세스가 먼저 접근을 시도하고 있다면, 이는 곳 현재 수행 중인 프로세스가 바로 잠금 변수를 획득할 수 없음을 의미한다.
  • 본 논문은 공유메모리 다중프로세서 시스템의 성능평가를 수행함에 있어, 하드웨어 시스템만이 아닌 운영체제의 스케줄링 정책까지 통합 실험함으로써, 다중 프로그래밍 환경을 모의실험하는 방법을 제안했다. 프로그램 구동형 모의실험기를 기반으로 복수의 벤치마크 응용프로그램을 통합하여 다중 프로그래밍 이벤트를 발생시키고, 프로세스 간의 프로세서 할당 알고리즘을 운용하는 스케줄러 구현기법을 제시하였다.

가설 설정

  • 프로그램 구동형 모의실험기는 다양한 구조의 시스템을 모델링 가능하게 해 줄뿐 아니라, 그 사용 간편성에 비해 상대적으로 실제 시스템에 근접한 성능평가 결과를 유도하도록 도와준다 [1, 2, 3, 4, 5], 그러나 프로그램 구동형 모의실험기는 한 번에 단 하나의 웅용프로그램만실행할 수 있다는 한계 때문에 다중 프로그래밍 환경에 대한 성능평가에는 사용될 수 없다는 단점을 가지고 있다. 또한, 프로그램 구동형 모의실험기는 웅용프로그램의 프로세스 개수와 시스템 프로세서 개수가 같다고 가정한다. 이러한 특성들 때문에 사용자는 여러 응용프로그램이 제한된 시스템 자원을 두고 경쟁하는 다중 프로그래밍 환경 하에서의 시스템 성능평가를 할 수 없다.
  • 우선 첫째로, 스케줄링 정책을 모델링 하기 위해서는 여러 개의 벤치마크 웅용프로그램올 동시에 수행할 수 있는 기능이 필요하다 앞에서도 언급했듯이 기존의 프로그램 구동형 모의 실험기는 한번에 단 하나의 프로그램만을 수행 가능하다. 또한 수행되는 응용프로그램의 총 프로세스 개수와 일치하는 시스템 프로세서를 가정한다. 본 논문은 복수의 벤치마크 응용프로그램을 하나의 응용프로그램으로 통합하고 소스 코드에 간단한 이벤트 발생 코드를 추가하는 방법을 통해 전단부로 하여금 여러 벤치마크웅용프로그램을 동시에 수행시키는 방법을 제공한다.
본문요약 정보가 도움이 되었나요?

참고문헌 (14)

  1. E. A. Brewer, C. N. Dellarocas, A. Colbrook, and W. E. Weihl. Proteus: A high-performance parallel-architecture simulator, Technical Report LCS/TR-S16, MIT, Sept. 1991 

  2. H. Davis, S. R. Goldschmidt, and J. Hennessey. Multiprocessor simulation and tracing using tango., In Proc. of International conference on Parallel Processing, 1991 

  3. A-T. Nguyen, M. Michael, A. Sharma, and J. Torrellaz, The Augrnint multiprocessor simulation toolkit for Intel x86 architecture, In Proceedings of the IEEE International Conference on Computer Design, Oct. 1996 

  4. J. E. Veenstra and R. J. Fowler.. Mint tutorial and user manual, Technical Report TR452, The university of Rochester, June 1993 

  5. B. Verghese, A. Gupta, and M. Rosenblum. Performance isolation: Sharing and shared-memory multiprocessors, isolation in Proc. of ASPLOS VIII, Oct. 1998 

  6. A. Gupta, A. Tucker, and S. Urushibara. The impact of operating system scheduling policies and synchronization methods on the performance of parallel applications, In Proc. of SIGMETRICS, 1991 

  7. M. Rosenblum, S. A. Herrod, E. Witchel, and A. Gupta. Complete computer simulation: The simos approach, In IEEE Parallel Distrib. Technol. Winter, 1995 

  8. J. K. Ousterhout. Scheduling techniques for concurrent systems, In Proc. of International Conference on Distributed Computing Systems, 1982 

  9. Y. Zhang, H. Franke, J. E. Moreira, and A. Sivasubramaniam. Improving parallel job scheduling by combining gang scheduling and backfilling techniques, In Proc. of International Parallel and Distributed Processing Symposium, May. 2000 

  10. D. L. Black. Scheduling support for concurrency and parallelism in the mach operating system, In IEEE Transaction on Computer, May 1990 

  11. A. Tucker and A. Gupta. Process control and scheduling issues for multiprogrammed shared-memory multiprocessors, In 12th ACM Symposium on Operating Systems Principles, 1989 

  12. R. Chandra, S. Devine, and B. Verghese. Scheduling and page migration for multiprocessor compute servers, In Proc. of ASPLOS- VI, Oct. 1994 

  13. 윤주범, 장성태, 전주식, 이중 링 CC-NUMA 시스템에서 링 구조 변화에 따른 시스템 성능 분석, 정보과학회 논문지, 시스템 및 이론, 29권 99. 105 115, 2002년 2월 

  14. S. C. Woo, M. Ohara, E. Torrie, J.P. Singh, and A. Gupta. Methodological considerations and characterization of the splash - 2 parallel application suite, In Proc. of 22th Annual International Symposium on Computer Architecture, 1995 

저자의 다른 논문 :

관련 콘텐츠

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로