Open Access System for Information Sharing

Login Library

 

Thesis
Cited 0 time in webofscience Cited 0 time in scopus
Metadata Downloads

마이크로벤치마크를 이용한 정확하고 체계적인 시뮬레이터 검증 기법

Title
마이크로벤치마크를 이용한 정확하고 체계적인 시뮬레이터 검증 기법
Authors
조재언
Date Issued
2019
Publisher
포항공과대학교
Abstract
시뮬레이터는 컴퓨터 아키텍처를 연구하고 새로운 아이디어의 효과를 평가하기 위해 가장 널리 쓰이는 유용한 도구이다. 그러나 현재 사용되고 있는 시뮬레이터들은 코드 줄 수가 20만 줄 이상일 정도로 크고 복잡해져서 그 구현을 완벽히 이해하고 사용하기 어렵다. 결국 시뮬레이터에서 자신의 용도와 관련 있어 보이는 일부 모듈만 분석하고 수정하는 관습이 자리 잡았다. 불행히도 시뮬레이터 내의 보이지 않는 설계 사상이나 여러 모듈간의 상호작용 때문에, 이러한 관습은 사용자가 의도한 아키텍처와 시뮬레이터가 모사하는 아키텍처가 서로 다르게 될 위험성을 증가시켰다. 특히나, 시뮬레이터로 평가한 새로운 아키텍처 아이디어의 효과가 왜곡될 수도 있는데, 이럴 경우 후속 연구들이 방향을 잘못 잡고 제품은 시장에서 실패하여 막대한 비용이 발생하게 된다. 본 논문은 시뮬레이터를 정확하고 체계적으로 검증하기 위한 기법인 DiagSim을 제안한다. DiagSim은 사용자가 의도한 하드웨어와 시뮬레이터가 모사하는 하드웨어 간의 간극을 손쉽게 줄여 주는 것을 목표로 한다. 기존의 방법들에 비해 DiagSim은 작고 빠른 진단 프로그램을 돌려서 문제가 있는 부분을 신속하게 잡아낸다. 이로 인해 사용자는 시뮬레이터 전체를 검사할 필요 없이 쉽고 빠르게 조치를 취할 수 있게 된다. 또한, 여러 진단들을 수행하는 순서와 전제조건을 명확히 제시하여 진단 과정 자체의 신뢰도를 높이고, 동일한 진단을 비효율적으로 반복할 필요가 없도록 하였다. 마지막으로, DiagSim을 새로운 시뮬레이터로 쉽게 확장할 수 있도록 진단 프로그램을 만들기 위한 일반화된 아이디어들을 제시하였다. 제안한 DiagSim의 효과를 평가하기 위하여 널리 사용되는 오픈소스 시뮬레이터 세 개를 사용했다. DiagSim을 이용한 결과 시뮬레이터 설명서에는 없는 여러 위험 요인을 찾을 수 있었다. 가령 일부 자원은 특정 용도를 위해 일부가 할당되어서 실질적으로 쓸 수 있는 양이 적었다. 메모리 명령의 경우 메모리 시스템의 수많은 모듈을 거치면서 사용자의 예상보다 처리하는데 오랜 시간이 걸렸다. 마지막으로 몇몇 값은 하드코딩 되어 있어서 사용자가 설정을 변경해도 제대로 반영되지 않았다. 이러한 문제들을 모두 고친 결과 시뮬레이터로 얻은 IPC값이 최대 156%까지 변할 수 있음을 확인했다.
Simulators are the most popular and useful tool to study computer architecture and examine new ideas. However, modern simulators have become prohibitively complex (e.g., 200K+ lines of code) to fully understand and utilize. Users therefore end up analyzing and modifying only the modules of interest (e.g., branch predictor, register file) when performing simulations. Unfortunately, hidden details and inter-module interactions of simulators create discrepancies between the expected and actual module behaviors. Consequently, the effect of modifying the target module may be amplified or masked and the users get inaccurate insights from expensive simulations. In this paper, we propose DiagSim, an efficient and systematic method to diagnose simulators. It ensures the target modules behave as expected to perform simulation in a healthy (i.e., accurate and correct) way. DiagSim is efficient in that it quickly pinpoints the modules showing discrepancies and guides the users to inspect the behavior without investigating the whole simulator. DiagSim is systematic in that it hierarchically tests the modules to guarantee the integrity of individual diagnosis and always provide reliable results. We construct DiagSim based on generic category-based diagnosis ideas to encourage easy expansion of the diagnosis. We diagnose three popular open-source simulators and discover hidden details including implicitly reserved resources, un-documented latency factors, and hard-coded module parameter values. We observe that these factors have large performance impacts (up to 156%) and illustrate that our diagnosis can correctly detect and eliminate them.
URI
http://postech.dcollection.net/common/orgView/200000220727
https://oasis.postech.ac.kr/handle/2014.oak/111929
Article Type
Thesis
Files in This Item:
There are no files associated with this item.

qr_code

  • mendeley

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Views & Downloads

Browse