서지주요정보
공유 메모리 기반 멀티 코어 시뮬레이터 병렬화 = Parallelization of shared memory based multicore simulator
서명 / 저자 공유 메모리 기반 멀티 코어 시뮬레이터 병렬화 = Parallelization of shared memory based multicore simulator / 박현식.
발행사항 [대전 : 한국과학기술원, 2008].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8019262

소장위치/청구기호

학술문화관(문화관) 보존서고

MCS 08010

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Multiple core designs have become commonplace in the processor market, and are hence a major focus in modern computer architecture research. Thus, for both product development and research, multiple core processor simulation environments are necessary. A well-known positive feedback property of computer design is that we use today`s computers to design tomorrow`s. Thus, with the emergence of chip multiprocessors, it is natural to re-examine simulation environments written to exploit parallelism. In this paper we present a programming methodology for directly converting existing uniprocessor simulators into parallelized multiple-core simulators. Our method not only takes significantly less development effort compared to some prior used programming techniques, but also possesses advantages by retaining a modular and comprehensible programming structure. We demonstrate our case by applying this method to existing simulator (the SimpleScalar tool set) and developing simple kernel thread library package for simulated program. And also we demonstrate the upper limit of scalability when using relaxation of synchronization method. Our SimpleScalar-based framework achieves a parallel speedup of 1.44X on a dual-CPU quad-core (4-way) Xeon server. And also present better scalability when using relaxation of synchronization method.

현재의 processor기술은 발열, 전력 문제로 인해서 더 이상 clock수를 높이는 쪽으로 진행되지 않고 칩 안에 들어가는 core의 수를 늘리는 쪽으로 진행 되고 있다. 지금까지 sequential한 프로그램 패러다임에 익숙한 프로그래머는 이런 parallel한 환경이 낯설고 당황스러울 텐데, 그런 문제를 풀기 위해 parallel 컴파일러의 도움이 절실시 되고 있다. parallel 컴파일러의 개발에 큰 도움이 될 수 있는 것이 아키텍처 시뮬레이터이다. 아키텍처 시뮬레이션은 해당 아키텍처가 존재하지 않거나 아키텍처 파라미터 값을 바꾸었을 때 어떤 결과가 생기는지를 알아보는데 아주 유용한 기법이다. 현재 제공되고 있는 멀티코어 아키텍처 시뮬레이터는 하나의 글로벌 타이머를 두고 모든 프로세서에서 이 타이머에 대해 이벤트를 발생시키고 타이머 순서대로 처리하는 방식으로 동기화를 맞추어 준다. 하지만 이 방식은 하나의 프로세서에서 모든 멀티코어를 시뮬레이션 해야 된다는 단점이 있다. 따라서 기존 방식 대신에 각 코어를 하나의 쓰레드에 할당시켜 여러 개의 쓰레드에서 동시에 코어를 시뮬레이션 함으로써 성능을 개선시키는 연구를 본 논문에서 수행하였다. 또한 각 코어 간에 데이터 공유가 발생할 시 서로간의 동기화를 맞춰주어야 하는 기법을 구현하였으며, 실험 환경을 구성하기 위하여 simulated program을 멀티 쓰레드 프로그램화 시켜주는 간단한 Kernel Level Thread library를 구현하였다. 이 모든 것을 simple scalar라는 아키텍처 시뮬레이터 상에서 처리하였다. 실험 결과를 분석하면 1개 코어를 사용하였을 때보다 8개 코어를 사용하였을 때 전체적으로 44%의 향상을 보여주고 있다. scalability 보장 측면에서 더 시도할 기법으로 transactional memory 기법을 선정하였으며 이것의 upper limit를 측정해 본 결과, 전체적인 성능 향상이 56% 정도에 해당하였고 그래프 증가치가 좀더 linear해 지는 것을 볼 수 있었다.

서지기타정보

서지기타정보
청구기호 {MCS 08010
형태사항 vi, 38 p. : 삽화 ; 26 cm
언어 한국어
일반주기 저자명의 영문표기 : Hyun-Sik Park
지도교수의 한글표기 : 한환수
지도교수의 영문표기 : Hwan-Soo Han
학위논문 학위논문(석사) - 한국과학기술원 : 전산학전공,
서지주기 참고문헌 : p. 37-38
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서