20150723

1. 영어 기사 읽기
1) Appetizers Can Psychologically Spoil Your Appetite, Scientific American
– Researchers call this effect hedonic contrast (hedonic – 쾌락의)
2) Chryslers can be hacked over the Internet, CNN


2. 제2회 Korea ACM SIGARCH 워크샵
1) DRAM Latency Reduction – a circuits perspective, 김이섭
두 가지 연구 결과에 대해 설명해주심. NUAT, multiple clone row dram (MCR).

NUAT: A non-uniform access time memory controller
컴퓨터 성능의 주요 bottleneck은 DRAM latency가 너무 길다는 것이다.
DRAM latency를 줄이려면 생산 비용이 늘어난다는 문제점이 있다.
생산 비용 (회로) 추가 없이도 DRAM latency를 줄여야 한다.
“DRAM latency는 refresh address의 함수”라는 것이 key insight이다.
DRAM latency는 접근하는 주소를 언제 마지막으로 refresh를 했느냐에 따라 결정된다.
Refresh를 한지 얼마 되지 않은 bank일수록 접근 시간이 더 짧게 걸린다.
DRAM controller가 refresh 시간을 인지한다면 더 효과적일 것이다.

DRAM 접근 과정 (수조에 비유하여 설명)
1) Precharge: charge sensing 이전에 bit line을 VDD/2로 유지
2) Charge Sensing: DRAM cell에 들어가있던 값을 확인
3) Amplification: 확인한 값을 증폭한다.
4) Restore: DRAM cell의 값을 원래대로 복구한다.

Observation 1: DRAM cell에 저장된 전하량이 row cycle을 결정한다. (5 cycle 정도 차이)
Observation 2: Refresh 이후로 지난 시간에 따라 DRAM cell 전하량이 결정됨.
(원래 DRAM cell은 64ms마다 refresh)

이 연구에서는 두 가지를 제안한다.
1) refresh한 시간에 따라 paging mode를 결정하자. 최근에 접근한 것은 close page mode, 오래 전에 접근한 것은 open page mode를 적용한다.
2) refresh 시간을 포함한 여러 parameter를 고려해 request에 점수를 매기고, 이에 따라 점수가 높은 request를 우선적으로 처리한다.

NUAT을 사용하면 15%의 latency 감소 가능. Process variations로 인해 latency에 차이가 발생할 수 있으나, 이는 binning으로 해결 가능함.

Multiple Clone Row Dram
Observation 1: DRAM cell의 capacitance가 크면 클수록 더 빠른 sensing이 가능하다.
Observation 2: Cell refresh 간격이 짧을수록 charge leakage를 줄일 수 있다.
(refresh를 자주 하려면, 그만큼 DRAM 명령어를 자주 보내야 한다는 부담이 있음)

이 연구에서는 row를 하나 더 두자고 제안한다.
Row를 하나 더 두면, DRAM cell의 capacitance가 커지므로 더 빠른 sensing이 가능하다. (latency 감소)
물리적인 두 개의 row를 logical하게는 한 개의 row로 동작하도록 하자.
2 배로 row가 늘어났으므로, 두 배의 refresh 효과를 낼 수 있음.

기존 refresh interval이 64ms 이었다면, 32ms가 된다.
이렇게 하는 경우에 referesh 자체도 시간이 짧아질 수 있음.
(referesh에서 채워넣어야 하는 전하가 줄어듦으로 인해)

모든 DRAM cell에 대해 MCR을 적용하는 것이 아니라, 자주 접근하는 데이터를 위해 MCR을 적용하자. 동적으로 MCR을 구성하거나 해제할 수도 있을 것이다.

요점: DRAM 연구에서 circuit에 대한 고민이 필요하다.

2) Processing-in-Memory and Neural Processing Unit, 유승주
크게 두 가지 주제에 대해 이야기해주심. Processing-in-memory (PIM), neural processing unit (NPU)

Processing-in-memory (PIM)
PIM은 30년쯤 전에 한 번 이야기했던 것이다.

PIM Challenges
1) cost-effectiveness: 구현하기에 비용이 크다는 문제가 있었으나, 해결됨.
2) Programming model: 기존의 프로그램을 바꿔야 한다는 문제가 있음.
3) coherence & VM: 기존의 프로그램이 가상 주소 공간을 사용한다는 문제가 있음. (VA-PA translation)

거의 대부분의 프로그램의 경우에는 PIM이 필요없다. 현재의 LLC가 충분히 크기 때문이다.
그래프의 크기가 클 때에는 성능 향상이 있으나, 그래프 크기가 작은 경우에는 성능이 오히려 떨어진다.
(기존의 아키텍쳐를 가정하고 실험)
Working set이 작을 경우에는 cache에 모두 들어가므로, 메모리에 보내 연산할 필요가 없다.

이 연구에서는 두 가지를 제안한다.
1) ISA를 확장해 PIM 연산 인터페이스를 제공
2) Locality을 고려해 동적으로 연산 위치 결정

ISA 확장은 PIM 가능한 명령어를 추가함으로써 해결, locality는 LLC tag들을 갖고 있는 locality monitor를 적용해 해결함. Locality monitor에 해당하는 태그가 이미 들어있다면, PIM을 사용하지 않고 host processor가 연산한다. 자세한 과정은 설명을 들었으나, 설명하기 쉽지 않음. 실제 논문 참고해야 할 듯.

Neural Processing Unit (NPU)
Deep learning을 위한 프로세싱 유닛을 넣어서, 효율을 높이자는 연구 (일종의 가속기)
이미지 분석에서 지금까지는 neural network가 가장 정확하다.
Neural network 가속을 위해 NPU에 대한 연구가 활발히 진행됨.
문제점은 offchip DRAM access가 매우 많이 발생한다는 것이다.
메모리 접근을 줄이고자, 이전에 미리 가져온 값을 사용하자는 연구가 있음.
scalable effort classifier 연구도 있음.
쉬운 것은 적은 연산으로 확인, 어려운 것은 조금 더 연산.

3) On the feasibility of Advanced Cache Indexing for High-Performance and Energy-Efficient GPGPU computing, 백웅기
GPGPU에서 하드웨어 캐시를 적극적으로 활용하기 시작했다.
캐시를 포함한다고 해서 항상 성능 향상을 보장할 수 없다.
너무 많은 thread들이 작은 크기의 캐시를 공유하고 있기 때문이다.
GPGPU에 활용 가능한 advanced cache indexing (ACI) 기법 제시.

CPU cache indexing에 두 종류가 있음.
1) Static: 단순하지만, 실행 시간에 동적인 적응이 어려움
2) Adaptive: [ISPLED’12] Adaptive selection of cache indexing bits (ASCIB)

Cache indexing에 대한 연구가 필요한 이유: 단순한 cache indexing을 사용하면 주소 접근이 고르게 분포하지 않을 수 있음. 캐시 접근이 여러 set에 더 잘 퍼지도록 하는 것이 효율적인 캐시 사용에 중요하다. (contention을 줄이는 것이 목적)

1) Static indexing 기법: 단순히 N bit를 indexing에 사용하는 것이 아니라, 2N bit을 사용하되, 반으로 나누어 xor해서 사용하자는 static 기법 제시.
2) Adaptive indexing 기법: 캐시 접근이 여러 set에 잘 퍼지도록 하는 bit를 선택해 실제 indexing에 적용한다. Entropy, correlation을 기준으로 삼는다.

4) AB(Aldebaran) GPU, 한국형 GHz ULP Superscalar Core, 권영수
GHz로 작동하면서 linux를 돌릴 수 있는 코어를 만들고자 함.
SoC로 넘어가면서 국내 기업들이 더이상 IP를 개발하지 않음.
10년 정도 흐른 지금은 국내 기업이 갖고 있는 IP가 없음. 이 문제를 해결하고자 함.
코어 설계에서 검증이 중요한 이유: 다양한 소프트웨어가 잘 실행되려면 검증이 중요함.
어떤 명령어 순서로 들어올 것인지 모르기 때문에, 검증이 필요하다.
가장 효율적이고 효과적인 것은 시뮬레이션 하는 것.

5) Real-time Ray Tracing HW 소개, 박우찬
현재는 local illumination으로 그래픽 구성하고 있으나, 앞으로는 global illumination으로 갈 것.
Ray tracing은 3중 루프가 있기 때문에, real time으로 처리하기가 쉽지 않다.
Ray tracing은 memory bandwidth 요구량이 많음.


3. Leon3에 리눅스 커널 올리기 위해 grmon 사용하기
Leon3에 리눅스 커널을 올리고, 그 외 여러가지 작업을 하려면 grmon을 사용해야 한다. grmon이 32bit 바이너리로 제공된다는 점, Xilinx USB-UART 설정이 까다롭다는 점에서 어려움을 겪었다.
1) 64bit ubuntu에서 32bit library 설치하기
grmon을 실행했더니 “No such file or directory” 에러가 발생했다. 필요한 라이브러리들이 설치되지 않아서 발생하는 에러라고 한다[1]. 이를 해결하고자 다음 라이브러리들을 설치함

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1

그 외에, 추가로 32bit 버전의 libsnpr4가 필요했다. 패키지명 뒤에 :i386을 붙여 32bit 버전의 패키지를 설치할 수 있다[2].

$sudo apt-get install libnspr4:i386

2) Linux에서 Xilinx USB-UART 사용하기
Linux에서 USB-UART를 사용하려면 CONFIG_USB_SERIAL_CYPRESS_M8=y, CONFIG_USB_ACM=y로 설정한 커널로 부팅해야 한다[3].

References:
[1] “No such file or directory” error when executing a binary, stackoverflow, http://stackoverflow.com/questions/2716702/no-such-file-or-directory-error-when-executing-a-binary
[2] Installing 32-bit libs on a 64-bit Linux system, Humble Support, https://support.humblebundle.com/hc/en-us/articles/202759400-Installing-32-bit-libs-on-a-64-bit-Linux-system
[3] Cypress-USB2UART-Ver1.0G driver for Linux?, ZedBoard, http://zedboard.org/content/cypress-usb2uart-ver10g-driver-linux
[4] Install Xilinx USB cable drivers for Ubuntu, http://elinux.org/Install_Xilinx_USB_cable_drivers_for_Ubuntu

Advertisements
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

누적 방문자 수
  • 101,234 hits
%d bloggers like this: