반응형

전체 글 100

GEM5, NVMain 설치

1. GEM5 설치 GEM5는 이전에 설치한 방법과 같이 설치하도록한다. 대신 NVMain에서 지원하는 GEM5를 설치하고자 한다. $ yum groups mark install "Development Tools" $ yum groups mark install "Development Tools" $ yum groups mark convert "Development Tools" $ yum group install "Development Tools" $ yum install mercurial zlib-devel $ git clone https://github.com/cyjseagull/gem5-nvmain-hybrid-simulator $ cd gem5-stable $ scons build/X86/gem5...

LAB/GEM5 2021.03.16

Centos 7, gcc 버전 업데이트

현재 서버의 gcc version 확인[ryotta205@compasslab3 ~]$ gcc --versiongcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)Copyright (C) 2015 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 직접 gcc를 업데이트하기위해서는 번거롭고 컴파일, 종속성 문제를 해결해야 할 수 있기 때문에, Developer Toolset을 설치해서 지원하는 gcc version을..

Centos 7, SPEC2006 설치 - 1

sjp38.github.io/ko/post/spec_cpu2006_install/ 블로그 참조 https://github.com/SangJe/spec2006 github 참조 환경 Intel(R) Xeon(R) Gold 6226R CPU @ 2.90GHz x2 CentOS Linux release 7.9.2009 (Core) Linux 3.10.0-1160.el7.x86_64 gcc version 8.3.0 (GCC) (scl enable devtoolset-8) 소스코드 spec_cpu2006.iso를 연구실에서 구매후 설치를 준비한다. 벤치마크 소스와 컴파일, 수행, 검증을 위한 tool 프로그램들의 기본 바이너리 파일 및 소스가 존재하며 벤치마크 실행을 위한 규칙파일, 도큐먼트들이 존재한다. $ m..

LSP Collective Cross-Page Prefetching for NVM

Abstract -NVM은 DRAM에 비해 Row activation latency가 대략 10x 정도로 매우 크다. -따라서 미리 NVM의 Row를 정확하게 Open 한다음 적은 오버헤드로 Open된 Row에서 데이터 블록을 Prefetch할 수 있는 Collective cross-page prefetching을 제안한다. -Memory Access 패턴을 식별하고 Ladder stream prefetcher(LSP)를 제안한다. -Collective Prefetch Table는 Memory Queue의 상태에 따라 Prefetch를 추측적으로 스케쥴링하여 Prefetch Request로 인한 Demand Request와의 충돌을 피한다. Intro 문제점 -Optane DC PMM가 Memory Mo..

메모리 타이밍

Refresh : DRAM이 Idle일때 Memory cell을 이루고있는 Capacitor에서전하가 채워져 있는 상황(논리 1의 상태)을 유지하고 있을 때, 방전에 의하여 채워진 전하가 조금씩 소진되므로, 이를 보상하기 위하여 주기적으로 재충전 시키는 것. Precharge : Refresh가 Idle일때의 전하 방전을 보상하기 위한 주기적인 충전과정이라고 한다면, Precharge는 데이터 read시 감쇄되는 전하(destructive read)를 보상하기 위하여 read후 재충전하는 과정을 의미함. CAS(Columm Assress Strobe) Latency (tCL/tCAS): 줄여서 CAS Latency, 더욱 줄여 "CL" 이라 부르는 값. CAS 대기 시간. 명령이 메모리로 전송 된 후 응..

메모리 기초

SRAM = Static RAM 전원이 공급되면 데이터는 유지 DRAM = Dynamic RAM 만약 아무것도 하지않는다면 데이터 손실 SRAM: 6T per bit 일반적인 고속 CMOS 기술로 구현 DRAM: 1T per bit (+1 capacitor) Density에 최적화된 DRAM process DRAM의 Low-Level Organization은 SRAM과 유사하다. Read의 경우 매우 파괴(Destructive)적이며, Read에 의해 내용이 지워진다. Row buffer는 Read Data를 유지한다. - Row buffer의 Data를 DRAM Row라고 한다 - 종종 Page 라고 불리운다. (Virtual Memory의 Page와 혼동) - Block Read는 항상 Row buf..

GEM5 Tutorial 6 - 간단한 SimObject 제작

gem5의 거의 모든 객체는 SimObject로 부터 상속된다. SimObject는 모든 객체에 대해 기본 인터페이스를 제공한다. SimObject는 Python에서 Access가능하도록한 Wrapped 된 C++ 객체들이다. SimObject는 Python Config를 통해 설정되는 많은 매개 변수들을 가질 수 있다. 이 글에서는 간단한 "HelloWorld" SimObject를 만드는 과정을 설명한다. 1. 새로운 SimObjec를 위한 Python Class 생성 각 SimObject에게는 연관된 Python Class가 존재한다. 이 Python Class는 Config에서 제어할 수 있는 SimObject의 Paramter를 설명한다. 해당 SimObject의 경우 Parameter 없이 시작..

LAB/GEM5 2021.03.09

Towards Efficient NVDIMM-based Heterogeneous Storage Hierarchy Management for Big Data Workloads

Abstract -NVDIMM 기반 아키텍처에 비추어 스토리지 데이터 관리의 솔루션을 제공 -특히 NVDIMM을 메모리버스에 배치함으로 발생하는 Bus Contention문제를 해결하기 위함 -Memory Traffic interferences사용으로 인한 부작용을 최소화 하기위해 NVDIMM-based Lazy Migration 을 소개 Intro 문제점 -Big data applications는 memory 와 storage 간의 I/O에 높은 성능을 요구 -보통 VMDK로(Virtual Machine Disks)로 사용되며, 여러 물리적 디바이스에 분산되어 있다. -NVDIMM 장치의 I/O 성능을 예측하기 어렵다.(분리된 I/O 경로가 아닌 DIMM 형식이므로 Memory Traffic도 고려해야..

The gem5 Simulator

Abstract M5 : Simulation frame work multiple ISA GEMS : flexible memory system gme5 : M5 + GEMS (ARM, ALPHA, MIPS, Power, SPARC, x86 1. Intro 기존의 시뮬레이터들은 라이센스 문제 및 코드의 퀄리티 때문에 협업이 힘들었다. GEM5에서는 BSD 라이센스를 사용하고 CPU mode, Execution Mode, Memory systems의 다양한 옵션을 주어 Flexibility, Modular simulation system을 지원한다. 2. Overall Goals Flexible modeling, Broad range of users, Wide avialability and utility 2...

반응형