20160202

1. [ASPLOS’15] More is Less, Less is More: Molecular-Scale Photonic NoC Power Topologies 읽기 (paper)
2015/04/02, 2015/04/17에 읽었던 논문. 내용이 잘 기억나지 않고, 예전에 읽었을 때에는 이해도가 떨어졌기에 다시 한 번 읽어봄.
– Photonic NoC에서 전력 소모를 줄이기 위한 power topology를 설계하는 기법에 대한 내용이다. molecular-scale NoC (mNoC) crossbar는 quantum dot LED를 광원으로 사용하고, chromophore를 수신기로 사용하는 NoC이다. NoC에서는 latency와 power가 중요한데, photonic NoC를 사용하면 latency의 문제는 해결됨. 따라서 전력 소모의 문제를 해결하는 것이 중요하다. 이 논문에서는 photonic NoC에서 전력 소모를 줄이고자 함. 전력을 기준으로 destination을 일정한 그룹으로 묶을 수 있는데, 더 많이 통신하는 그룹에 적은 전력을 소모하도록 설계하겠다는 것이다. 그리고 추가적으로 통신이 잦은 thread를 network의 중앙에 mapping시킴으로써 전력 소모를 줄이자는 것.
– 그동안 photonic NoC에 대한 연구는 많이 있었음. 이전까지는 ring resonator를 사용한 photonic NoC에 대한 연구가 많았음. 하지만 ring resonator는 둥글게 생겼기 때문에, scalable하지 않음. 최대 64X64까지만 scalable함. 그리고 thermal tuning에 전력 소모가 발생하여, 전력 소모도 크다. 새롭게 등장한 molecular scale NoC에서는 ring resonator가 아닌 quantum dot LED를 사용함. 따라서 256X256까지 scale 가능함.
– mNoC에 대한 구조와 동작 방식이 2.1에 설명되어 있음. 추가로, rNoC와 mNoC에 대한 비교도 있음.
– 어쨌든 핵심 아이디어는 더 자주 일어나는 통신은 더 적은 전력을 쓰도록 하겠다는 것.
– Power topology에서 중요한 것은 같은 power mode를 공유하는 노드들이 네트워크 상에서 물리적으로 연속하지 않아도 된다는 점이다. 그리고 더 높은 power mode는, 더 낮은 power mode 그룹에도 접근 가능하다. 이는 splitter의 원리에서 발생하는 성질이다. 낮은 power mode에서 작동하는 splitter는 waveguide에서 상대적으로 많은 빛을 split한다. 높은 power mode에서 작동하는 splitter는 waveguide에서 상대적으로 적은 빛을 split한다. 따라서 더 높은 power mode에서는 더 낮은 power mode의 그룹에 자연스럽게 접근 가능하다.
– 한편, 최적의 power topology를 찾는 것은 NP-hard이다. 이 논문에서는 heuristic하게 이를 찾아낸다. 2개의 power mode가 있는 경우, 4개의 power mode가 있는 경우로 한정하여 heuristic하게 power topology를 찾아낸다. 2개의 power mode가 있는 경우에는 모든 가능한 경우의 binary partition을 찾아서 전력 소모를 확인해본다. 4개의 power mode가 있는 경우에도 heuristic하게 경우를 확인해 탐색 (몇 번을 읽어도 제대로 이해하기 어려움). 어쨌든 전반적으로 heuristic하게 탐색해 좋은 성능을 내는 topology를 찾겠다는 것이다.
– 그리고 추가로 thread mapping에 대해 제안함. 한 개의 power mode 안에서도, source와 destination까지의 거리에 따라 전력 소모가 달라짐. 가까운 곳이라면 전력을 적게, 먼 곳이라면 전력을 많이 써야 함. 따라서 평균적으로는 네트워크 중앙에 위치한 노드가 더 적은 전력을 소모한다. 이러한 점에 착안해 통신이 많은 thread를 네트워크 중앙에 배치하고자 하는 것이 thread mapping 기법이다. 한편 thread mapping 문제도 NP-hard 문제이기 때문에, 이미 존재하는 solver를 사용함.
– Photonic NoC에서 전력을 사용해 topology를 구성하고, 이 경우에 전력 소모를 줄이는 방법을 제안했다는 점에서 신선함. 그리고 같은 mode 안에서도 노드의 위치에 따라 전력 소모가 다르다는 점을 파악하고, thread mapping을 사용한 것도 좋음. 하지만 단점은 이렇게 구성한 power topology가 static하다는 점이다. 따라서 한 개의 application에 맞추어 power topology를 구성했다 하더라도, 다른 경우에 해당 power topology가 비효율적일 수 있음. Thread mapping의 경우에는 power topology만큼 static하지는 않을 것으로 예상함. 그래도 여전히 profiling은 필요할 것.


2. [MICRO’14] DaDianNao: A machine-learning supercomputer 읽기 (paper, slides)
– 2015/05/08에 SIGARCH에서 선영 누나가 발표했던 논문. 잘 기억이 나지 않아서 다시 읽어봄. 링크 걸어둔 슬라이드도 선영 누나가 만든 것이다. 그 때에는 논문은 읽지 않고 발표만 들었고, 핵심 개념밖에 이해하지 못했던 것 같음.
– 이 논문에서는 neural network를 위한 가속기인 DaDianNao를 제안한다. 현재 많은 서비스에서 기계 학습을 사용하고 있고, 이러한 기계 학습에서 neural network를 사용하는 경우가 많음. 이러한 neural network를 가속하기 위한 연구는 많이 있었으나, 연산할 수 있는 neural network의 크기에 제약이 있다. Neural network는 점점 더 많은 neuron을 요구하고 있는데, 현재까지 제안된 가속기로는 한계가 분명하다. 이러한 한계를 극복하기 위해 이 논문에서는 DaDianNao를 제안함.
– 기계 학습에서 Convolutional Neural Network(CNN), Deep Neural Network(DNN)이 많이 쓰이고 있음. CNN은 이미지 처리에 많이 쓰이고, DNN의 경우에는 더 복잡하며 일반적인 경우에 많이 쓰인다.
– Neural network는 네 단계로 진행된다. Convolutional layers(CONV), Pooling layers(POOL), Local response normalization layers(LRN), Classifier layers(CLASS)로 이루어진다. CONV에서는 입력 데이터의 특징을 추출해내는 여러 개의 필터를 가지며, 이를 사용해 특징을 추출해낸다. 그리고 POOL에서는 이렇게 추출한 이웃값들에 대해 최대 또는 평균값을 구해 차원 축소한다. LRN에서는 같은 위치의 다른 feature map의 neuron을 경쟁시킨다. CLASS에서는 LRN의 결과를 받아 구분해내는 역할을 한다.
– 일반적으로 nerual network의 가속에 GPU를 많이 사용하는데, GPU는 58.82배의 가속을 이룰 수 있지만 소요 면적이 넓고, 실행 시간이 길고, 에너지 효율성이 떨어진다는 문제가 있음. 이를 해결하고자 가속기를 적용할 수 있음. 가속기는 GPU 면적의 0.53%만 사용하고도 GPU의 47.91%의 성능을 달성할 수 있음. Accelerator를 사용해도 메모리 대역폭이 문제가 됨. 16개의 입력과 16개의 출력 neuron을 가질 때, 총 256개의 synapse가 생성된다. 467.30 GB/s의 대역폭이 요구되는데 실제로 메모리 대역폭은 208GB/s밖에 되지 않으므로 대역폭이 부족하게 됨. 이 논문에서는 이러한 메모리 대역폭 부족 문제를 해결하려 함.
– Synapse에 대한 storage를 neuron과 가까운 곳에 배치한다. 이렇게 함으로써 데이터를 가져오는데 소요되는 전력과 시간을 줄인다. 그리고 synapse의 저장에 SRAM보다 저장 밀도가 높은 eDRAM을 사용한다. 한편 eDRAM의 단점을 해결하기 위해 eDRAM을 네 개의 bank로 나누어 사용한다.
– wire congestion을 제거하고자 tile-based로 설계. Tile들은 fat tree switch로 연결되어 있음.
– NFU pipeline은 연산 단계에 따라 설정 가능하다.
– 아마 두 번째 읽는 것으로 기억하는데, 그래도 잘 이해되지 않음. 기계 학습에 대한 배경 지식이 부족하고, 가속기에 대한 배경 지식이 부족해서 그런 것 같음. 우선 CNN, DNN에 대한 이해가 부족함. 그리고 eDRAM에 대한 내용이 갑자기 중간에 나오는 것이 잘 이해되지 않음. Wire congestion이 발생하는 원인에 대한 설명도 없음. 아직 읽어보지는 않았지만 아마 DianNao에 관련 내용이 있을 것 같기도 하다.
– 이 논문에서 가장 중요한 것은 synapse에 대한 정보를 eDRAM에 저장하는 것, 그리고 tile-based 설계를 통해 내부 대역폭을 높이고자 하는 시도인 것 같다.

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 )

Google+ photo

You are commenting using your Google+ 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 )

Connecting to %s

Recent Posts
누적 방문자 수
  • 144,076 hits
%d bloggers like this: