20140711

1. VM과 native의 workload 성능 차이를 분석했다.
한 가지 이상한 점이 있었는데, VM에서의 commit rate가 더 높았다.


2. DRAM에 대해 공부함.
1) Main Memory (Onur Mutlu, Main Memory)

DRAM은 시스템에서 위 그림과 같이 상호작용한다.

Bank interleaving은 위와 같이 이뤄진다. Bank0, bank1 모두 32bit의 출력을 낸다. 하지만 bus는 32bit의 data만 전송 가능하므로, 한 번에 한 개의 bank만 데이터를 내보낼 수 있다. Gate 0 또는 gate 1 중에 하나만 enable되어야 한다.

사실 위 그림에서 bank 자체도 추상화된 것이다. 실제로는 bank는 여러 개의 칩으로 구성되어 있다.

이처럼 여러 개의 칩으로 구현하는 이유는, 한 개의 칩에 8개의 pin을 쓰는 것이 32개의 pin을 쓰는 것보다 더 저렴하기 때문이다.

DRAM controller는 DRAM이 잘 동작할 수 있도록 보장해준다. (refresh and timing)

2) DRAM Tutorial (Vivek Seshadri, DRAM Tutorial)
이 강의에서는 DRAM을 이해하는 것이 목표이며, DRAM을 bottom-up 방식으로 이해하겠다.


위 사진은 DIMM이고, 그 중 하나의 칩을 보면 사진과 같다.


사진에서 보이는 블록 하나하나가 bank이다.



조금 더 아래에서부터 bottom-up으로 알아보자. Sense amplifier는 위와 같은 구조를 가지며, 장점은 두 가지의 안정적인 상태를 갖는다는 점이다. 이러한 특성을 DRAM에서 활용하고 있다.


한편, DRAM은 capacitor를 사용해 정보를 저장한다. 여기에 두 가지 문제가 있다. 1. Capacitor는 작으므로 회로를 구동할 수 없다. 2. 읽기가 capacitor를 방전시켜 상태를 변화시킨다.


이를 해결하고자 DRAM 제조사에서는 capacitor의 각 상태를 위와 같이 매핑한다. 구체적으로는 아래 그림처럼 회로를 만든다.


여기에서 capacitor의 switch를 닫으면 아래와 같이 된다.



Capacitor에 들어있던 전하가 방전되며, 연결된 회로의 전압이 약간 증가한다. 이 상태에서 sense amplifier가 enable된다고 해보자.


Sense amplifier가 enable되면, sense amplifier의 위쪽 전압이 약간 더 높으므로 sense amplifier의 위쪽 전압이 Vdd, 아래쪽 전압이 0가 된다.



동시에 capacitor도 충전된다. 따라서 두 가지 목적을 달성할 수 있다. Capacitor에 있는 소량의 전하로 안정된 상태를 만들 수 있다. 그리고 capacitor를 재충전할 수 있다.

이렇게 구현했을 때 문제점은 sense amplifier가 매우 크다는 것이다. Capacitor가 sense amplifier보다 수백 배 작다. DRAM cell을 가능한 한 작게 만들어야 한다. 이를 위해 한 개의 sense amplifier에 여러 개의 capacitor를 연결한다.




결과적으로 다음과 같은 그림이 된다.


이를 사용해 하나의 bank를 구성한다.


여러 bank를 합해 칩으로 만들면 다음과 같다.


bank IO는 64bit인데 memory channel이 8bit이다. 왜 그럴까? 두 가지 가정 때문이다. 1) DDR RAM 가정. (2bit-prefetch) 2) CPU의 Hz가 DRAM Hz의 네 배. 따라서 bit 수에서 8배의 차이가 나는 것이다.

References :
[1] Lecture 22. Main Memory – Carnegie Mellon – Computer Architecture 2014 – Onur Mutlu, http://www.youtube.com/watch?v=U2W72IaGW4Q
[2] Onur Mutlu, Computer Architecture Lecture 22: Main Memory, http://www.ece.cmu.edu/~ece447/s14/lib/exe/fetch.php?media=onur-447-spring14-lecture22-main-memory-afterlecture.pdf
[3] Lecture 23 i) DRAM and RowClone ii) TL-DRAM – CMU – Computer Architecture 2014 – Onur Mutlu, http://www.youtube.com/watch?v=M6Zi6P5JAj0
[4] Vivek Seshadri, DRAM Tutorial, http://www.ece.cmu.edu/~ece447/s14/lib/exe/fetch.php?media=447-lecture-dram-operation.pdf


3. cacloud에 Xen을 새로 설치하고 vpmu를 활성화했다. (cacloud 01, 02, 03, 04, 06, 07, 08)

#!/bin/bash
#Xen install
cd ~/KISTI2011
git clone git://xenbits.xen.org/xen.git
mv xen xen-4.5
cd xen-4.5
apt-get install libglib2.0-dev libaio-dev libyajl-dev libpixman-1-dev
./configure
make install-xen -j12
make install-tools -j12
update-rc.d xencommons defaults 19 18
update-rc.d xendomains defaults 21 20
update-rc.d xen-watchdog defaults 22 23

#VM Image Download
cd ~
mkdir gumdaeng_vm_image
cd gumdaeng_vm_image
scp root@cacloud20.kaist.ac.kr:/root/sw_testing/xen/gumdaeng.cfg .
scp root@cacloud20.kaist.ac.kr:/root/sw_testing/xen/ubuntu-10.04.4-desktop-amd64.iso .
scp root@cacloud20.kaist.ac.kr:/root/sw_testing/xen/gumdaeng.img .

#grub configuration
vim /boot/grub/menu.lst

실험 환경을 native와 최대한 비슷하게 하고자 메모리를 많이 줬는데, cacloud02와 08에서는 그러지 못했다. cacloud02에서는 guest에 vnc 접속이 불가능했다. (이유를 알 수 없었다. blocked state가 되어버림.) cacloud08에서는 guest에 vnc 접속하자 흰 화면만 보이고 아무것도 되지 않았다.


4. Vdd
DRAM을 공부하는데 Vdd라는 용어가 나와 찾아보았다. 평소 Vcc를 + 전원으로 생각하고 있었는데, Vdd라는 용어는 처음 봤기에 궁금했다. [2]에 설명이 잘 되어 있다.

Vcc, Vdd, Vee, Vss을 라는 용어를 자주 볼 수 있다. “V”라는 것을 보면 전압전원 임을 알 수 있다. 그러면 cc,dd,ee,ss는 무엇일까? 용어를 풀어내면 collector, drain, emitter, source를 나타내는 말이다. 이 용어들은 어디서 많이 듣던 말일 것이다. BJT(Bipolar Junction Transistor)의 collector, emitter전원 그리고 FET(Field Effect Transistor)의 drain, source 전원을 말하는 것이다.

References :
[1] IC power-supply pin, Wikipedia, http://en.wikipedia.org/wiki/IC_power_supply_pin
[2] Vcc, Vdd의 차이점은?, Withrobot, http://www.withrobot.com/technicalreport15/


5. DDR4
낮은 전력 소비량, 더 빠른 전송 속도.
Point-to-point 접속, 스위치 패브릭, 스택 DRAM.

References :
[1] 더 빨라지고, 더 오래 쓴다…저전력 고성능 DDR4의 미래, ITWorld, http://www.itworld.co.kr/tags/26098/DDR4/88240
[2] 4Gbps 시대의 차세대 메모리 DDR4, gigglehd, http://gigglehd.com/zbxe/newsreport/4412437
[3] DDR4, TSV 3DS 메모리 기술 개요, gigglehd, http://gigglehd.com/zbxe/newsreport/6456800
[
4] 차세대 고급형 DRAM, DDR4, gigglehd, http://gigglehd.com/zbxe/index.php?mid=infoboard&page=5&document_srl=9399967


6. DRAM Cache
DRAM Cache는 말 그대로 DRAM을 cache로 사용하는 것을 말한다. 아직 자세히 읽어보지는 않았으나, “Exploring DRAM Cache Architectures for CMP Server Platforms(ICCD’07)”을 읽어보면 대강의 흐름을 이해할 수 있을 것 같다.


7. cacloud에서 Xen guest를 끄지 않고 재부팅하면 제대로 켜지지 않는다.

Advertisements
Tagged with: , , , , , , , , , , , , ,
Posted in 1) Memo

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

누적 방문자 수
  • 88,610 hits
%d bloggers like this: