20150702

1. 영어 기사 읽기
1) Marijuana Muddies Memory and Mixes with Alcohol to Make Trouble, Scientific American
2) Why Overtime Pay Doesn’t Change How Much We Work, HBR


2. 반도체 생산 공정의 미세화에 한계에 다다르면 어떻게 될까?
2015/06/30에 CPU 역사에 대해 조사해보았는데, 한 가지 걱정되는 것이 있었다. 반도체 생산 공정의 미세화가 조만간 한계에 다다를 것으로 보이기 때문이다. 현재 반도체 생산 공정이 14nm이고[1,2], 인텔 Tick-Tock 모델에 따르면 5nm 공정도 머지않은 미래이다(2020~2021). 1nm가 원자 3~4개의 크기이므로, 거의 원자 수준에서 반도체 생산을 해야 하는 것이다[3]. 그렇다면 내가 박사 졸업할 무렵에는 반도체 생산 공정의 미세화가 드디어 끝나는 것인가?
몇 가지 뉴스를 보면 더 미세화할 가능성도 있어 보이긴 한다. KAIST의 연구진이 3nm의 크기에서 트랜지스터를 생산해내는 것에 성공했다고 하니, 공정 미세화가 불가능한 것은 아닌 것 같기도 하다[4]. 7nm 이하의 공정에서는 규소가 아닌 다른 물질을 사용할 수도 있다는 뉴스도 있다[5,6].
교수님께 이제 더이상 프로세서의 발전이 불가능한 것인지 여쭤보았더니, 오히려 아키텍쳐를 공부하는 사람들에게는 좋은 일이 될 수도 있다고 하셨다. 그동안 프로세서의 발전은 공정 미세화와 아키텍쳐의 개선 두 가지가 동시에 이끌어왔으나, 앞으로는 아키텍쳐의 개선만으로 성능 개선을 해야 할지도 모르기 때문이다. 그렇다면 아키텍쳐를 잘 만들어내는 것의 중요도가 더 커지게 된다. 한편으로는, 공정 미세화가 더 진행될 가능성도 없지 않다. 아마 먼 과거에는 지금처럼 공정 미세화가 가능하리라고 생각하지도 못했을 것이다. 지금껏 공정 미세화가 끝날 것이라 우려하면서도, 공정 미세화가 진행되었듯이, 지금은 공정 미세화가 끝날 것이라 걱정하지만, 2020년쯤의 미래에도 또다시 공정 미세화가 연장될지도 모른다.

References:
[1] Semiconductor device fabrication, Wikipedia, https://en.wikipedia.org/wiki/Semiconductor_device_fabrication
[2] Intel Tick-Tock, Wikipedia, https://en.wikipedia.org/wiki/Intel_Tick-Tock
[3] 나노기술이란, 나노종합기술원, https://www.nnfc.re.kr/nanotech/nanotechnology.jsp?l_me_seq=51
[4] 5 nanometer, Wikipedia, https://en.wikipedia.org/wiki/5_nanometer
[5] Intel, 7nm부터는 실리콘(규소)을 버릴 것, Gigglehd, http://gigglehd.com/zbxe/12563329
[6] Intel forges ahead to 7nm – without the use of EUV lasers, ExtremeTech, http://www.extremetech.com/computing/190845-intel-forges-ahead-to-7nm-without-the-use-of-euv-lasers


3. Security와 diminishing return의 관계
Security 관련 논문을 읽으면, 피부에 와닿는 것도 있었지만, 그렇지 않은 것도 상당히 많았다. 실제로 공격할 가능성이 거의 없어 보이는 것에 대해 가정하고, 방어하고 있기 때문이었다. 그럼에도 비용이 상당히 많이 든다면 그것이 실용성이 있는지 의문스러웠다. 흔히 투입되는 비용과 그것에서 얻는 이득은 diminishing return graph를 그리게 되는데, 내가 보기에는 security를 위해 투입하는 비용에 비해 그 이득이 적어 보였다. 다른 security hole이 많이 있어서, 굳이 해커는 그것을 공격하지 않을텐데, 막으려고 하는 것이 의미가 있는지 궁금했다.
교수님께 이러한 점에 대해 여쭤보았더니, 다음과 같이 말씀해주셨다. Performance이든, security이든, 항상 diminishing return graph를 그리게 된다. 연구에서는 그 이득이 적더라도 조금 더 끝까지 가보고, 산업계에서는 그 이득이 최적인 지점에서 멈추게 된다. 그렇다고 연구라고 해서 diminishing return 그래프에서 return이 0이 되는 수준까지 연구하는 것은 아니다. 하지만 security는 performance와 조금 다른 측면이 있다. Performance는 return이 적으면 어느 정도에서 비용 투입을 멈추면 되지만, security는 그렇지 않다. Security는 비용이 들더라도 포기할 수 없는 영역이 있기 때문이다 (금융 거래, 또는 중요 기밀을 다루는 경우). 이러한 경우에는 return이 적더라도 비용을 투입하게 될 것이다.
특히 하드웨어 보안은, 기존의 소프트웨어 보안 기법과는 다르게, 상대적으로 적은 성능 손해로도 아주 효과적으로 보안 취약점을 막을 수 있다. 물론 조금 더 실질적으로 공격 가능할 법한 것을 방어하는 것도 중요하지만, 그와 같은 연구는 이미 많이 진행되었다. 뿐만 아니라, 우리는 현재가 아니라 10년 뒤를 바라보고 연구해야 한다. 따라서 그 취약점이 상대적으로 커보이지 않더라도, 연구하는 것은 의미가 있다.


4. [HPCA’15] Heterogeneous memory architectures A HW SW approach for mixing die-stacked and off-package memories 읽기
보경이 누나가 cluster에서 HMA라는 이름의 워크로드를 자주 실행하셔서, 뭔지 궁금해서 찾아 읽어보았다. Die-stacked DRAM에 대한 논문이다. Die-stacked DRAM은 최근에 많이 연구되고 있는 주제인데, 3D stacking 기법을 사용해 DRAM을 쌓아올리는 것이다. 이렇게 했을 때 상대적으로 작은 공간 안에 많은 메모리를 집적할 수 있으며, 상당한 대역폭을 확보할 수 있다. 기존의 DDR3가 12.8GB/s의 대역폭을 제공하는데, HBM을 사용하면 스택 당 128GB/s의 대역폭을 확보할 수 있다 (8개 스택이면 1TB/s). 하지만 latency는 기존과 크게 다르지 않다.
이러한 3D stacked DRAM을 사용하는 것에 대한 연구는 크게 두 가지 흐름으로 나뉜다. 하나는 메인 메모리의 일부로 쓰자는 것이고, 다른 하나는 L4 캐시로 사용하자는 것이다. 지금까지 생산되는 3D stacked DRAM은 수십 GB밖에 되지 않으므로, 수백 GB를 사용하는 서버에는 역부족이다. 캐시로 사용하자는 주장도 있지만, tag를 저장하기 위한 오버헤드, DRAM을 cache로 사용하기 위한 콘트롤러 개발의 필요성, 검증 필요성 등의 문제가 산재하고 있다.
이 논문에서는 die-stacked DRAM을 메인 메모리의 일부로 사용함으로써, heterogeeous memory architecture(HMA)를 구성하자고 주장한다. HMA를 구성하기 위한 HW적인 측면, SW적인 측면에 대해 논의한다. HW적인 측면에서는 packaging은 어떻게 되어야 하는지, 주소 매핑은 어떻게 되어야 하는지, 이를 지원하기 위해서 하드웨어 구조는 어떻게 바뀌어야 하는지 논의한다. SW적인 측면에서는 HMA에서 운영체제가 성능 향상을 위해 어떤 것을 해야 하는지를 논의한다. 당연히 자주 쓰이는 페이지를 HBM에 올리는 것이 성능 향상에 유리하다. 이러한 연구는 기존에 많이 있었으며, 이 방법들을 비교하고 추가로 first-touch hot-page (FTHP) 기법을 제안한다. 기존의 hot-page detection 기법과 FTHP 기법을 비교하고, 성능을 분석한다.


5. SIGOPS ([MICRO’14] Unison Cache: A Scalable and Effective Die-Stacked DRAM Cache)
이 논문에서는 die-stacked DRAM을 캐시로 사용하는 것에 대해 논의한다. Die-stacked DRAM을 캐시로 사용하는 기법도 granularity에 따라 크게 두 가지 연구 흐름으로 나뉘는데, block-based design(64B) 과 page-based design(4KB)으로 나뉜다. Block-based design으로는 대표적으로 Alloy cache가 있고, page-basead design으로는 대표적으로 Footprint cache가 있다. 각각의 design에는 장단점이 있는데, 두 가지의 장점만을 살려서 새롭게 디자인한 3D stacked DRAM cache가 Unison Cache이다.
Block-based cache는 temporal locality를 성능 향상에 이용하고자 하며, 실제로 접근한 데이터만 캐싱함으로써 효율성을 높인다. 하지만 실제로 서버 워크로드는 temporal locality가 적을 뿐 아니라, L4에서는 temporal locality가 낮게 나타나기 때문에 hit rate가 낮다. 그리고 작은 단위로 캐시를 관리하므로, tag를 저장하기 위한 오버헤드가 상당히 커진다. tag lookup과 데이터 접근을 위해 두 번 DRAM에 접근해야 하는 문제점이 발생할 수 있다.
이러한 문제를 해결하고자 Alloy cache에서는 tag-data colocation technique과 miss predictor를 사용한다. Tag와 데이터를 하나의 DRAM row에 저장함으로써, latency를 줄인다. 그리고 miss가 발생할 것으로 예상되는 경우에는 off-chip memory에 동시에 request를 보냄으로써 L4 cache를 critical path에서 빼낸다. 현재의 block-based DRAM cache는 tag-lookup 지연은 효과적으로 줄였지만 여전히 hit rate가 낮다.
Page-based cache는 상대적으로 큰 단위로 데이터를 캐싱한다. 이렇게 함으로써 spatial locality를 이용해 성능 향상을 꾀할 수 있다. 서버 워크로드는 temporal locality는 낮지만 spatial locality는 있기 때문에, 이를 사용해 성능 향상이 가능하다. 하지만 큰 단위의 캐시 블록을 사용하면 메모리 대역폭을 소모하는 단점이 있을 수 있다.
이를 해결하고자 Footprint cache에서는 page-based DRAM cache를 구현하되, 실제로 쓰일 것으로 예상되는 데이터만 상위 레벨로 전송한다. 이 때 사용하는 predictor는 spatial correlation predictor를 사용한다. 이렇게 구현한 block-based DRAM cache는 hit rate가 높고, memory bandwidth 소모도 크지 않은 편이다. 하지만 앞으로 stacked DRAM의 용량이 커질 것을 감안할 때, tag 저장을 위한 오버헤드가 상당해질 것으로 예상된다.
이렇게 block-based design과 page-based design이 각각 장단점이 있는데, 장점만을 살려서 새롭게 디자인한 것이 Unison cache이다. 1) tag와 data를 동시에 접근함으로써 latency를 낮추며, 2) spatial locality를 살려서 hit rate를 높이고, 3) set-associative한 설계로 conflict를 줄인다.

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

누적 방문자 수
  • 96,546 hits
%d bloggers like this: