티스토리 뷰
연구실에서 관심있으면 해보라고 한 프로젝트가 있어서 잠깐 소개하고자 한다. 뭐 대외비는 아니니까...
인텔이 만드는 프로세서는 참 다양하다. 우리가 쓰고 있는 x86의 거의 대부분을 생산하고(물론 AMD가 있긴 하지만...) 개인용 프로세서는 물론 산업용, 군용 프로세서까지 생산하고 있다. 그중 학교에 하나 마련되어 있는 특수 프로세서가 바로 Single Chip Cloud (SCC)라는 것이다. 미국에는 백여개 대학에 배포되어 있지만 한국에는 딱 한대 존재한다.
2010년에 만들어진 프로세서인데 어떤 사람이 느끼기엔 나온지 너무 오래된거 아니냐고 생각할 수 있다. 하지만 이 작은 프로세서 상에 6개의 섹터가 있는데 하나의 섹터당 8개의 core가 달려있다. 즉, 48개의 core가 달린 단일 프로세서인 것이다. 이쯤 되면 이제 Multi core가 아닌 Many Core라는 개념으로 접근해야 된다. 보통 Multicore라고 하면 하나의 다이위에 여러개의 CPU를 올려놓는 형식을 말하지만 Manycore는 그 CPU위에 여러개의 Core를 올린 것이다. 어떻게 보면 기존과는 차원이 다른 프로세서인 것이다. 그래서 보통은 일반 사무용이 아닌 슈퍼컴퓨터의 처리용으로 쓰인다.
그런데 요즘의 Manycore가 추구하는 방향은 초고성능이 아닌 전력소비와 성능의 효율비가 적절하게 나눠지는 것이다. 이렇게 처리요소가 늘어난다는 것은 물론 일을 나눠서 할 수 있기 때문에 일을 더 빨리 처리할 수 있다는 장점도 가지고 있지만, 그만큼 하나의 일을 나눠서 처리할 수 있기 때문에 각 코어의 부하를 줄일 수 있다는 또다른 특징도 가져올수 있다. 더구나 위와 같이 48개의 코어로 나눠서 연산을 처리한다면 그만큼 분산에 따른 효과가 극대화 될 것이다. 물론 이에 따른 Load Balancing이 받쳐줘야하는 것이 필요하겠다.
그냥 위의 내용을 간단하게 말하자면 코어하나당 시스템하나를 구축할 수 있고, 과중한 일이 있으면 나눠서 처리함으로써 전력 소비량을 줄일 수 있다는 것이다. 이 프로세서의 타이틀 처럼 하나의 chip상에서 여러개의 core가 각각의 시스템을 구축함으로써 하나의 cloud computing을 추구하는 것이 궁극적인 목적이 될 것이다. 간단히 동작 영상을 소개하면 다음과 같다.
아무튼 연구실에도 환경이 구축되어 있고, 여기서는 ssh를 통해서 코어를 활성화 시키거나 리눅스를 올리는 작업을 실시한다.
지금 위의 작업은 기존에 생성한 linux 이미지를 바탕으로 core상에 업로드하고 있는 상태이다. 이 과정과 각 Memory bus가 연결되는 과정까지 거치면 비로서 core가 활성화된다.
잘 보면 core의 ID인 PID가 0x00 부터 0x0a까지 생성된 것을 볼 수 있다. 즉 48개의 코어중 11개의 코어를 활성화시키고 각각의 코어에 linux 이미지를 올린 것이다. 재미있는 것은 내부적인 ip 할당이다.
분명 이 기기가 받고 있는 ip는 공인 ip이고, network interface card에 달려있는 MAC Address도 정해져있다. 그런데 코어를 활성화 시킨 상태에서 해당 코어에 올라가 있는 리눅스가 배정받은 ip는 어떻게 될까?
이 확인도 내부적으로 ssh를 통해서 들어가면 가상 ip가 코어당 하나씩 배정되어 있고 각각의 MAC Address가 0으로 설정되어 있는 것을 확인할 수 있다. 이미지가 작은데 누르면 크게 볼 수 있다.
앞에서 말했다시피 core하나당 시스템 하나가 생성되어 있다. 그래서 리눅스와 똑같은 file System을 가지고 내부적으로 들어갈 수 있다.
이게 SCC가 48코어라는 것을 보여주는 단편적인 예이다. ip도 끝자리가 48로 끝나고 접속된 host도 rck47로 되어있다. 참고로 0번 core의 host는 rck00이고 뒷자리가 증가하면서 core의 id도 바뀐다.
아무튼 이 48개 코어를 지금 다뤄보고 있다. 뭐 거창한 것을 할 건 아니지만 아무래도 코어의 숫자가 많아지면서 왠지 마음도 풍족해지는 듯한 느낌이랄까.. 그냥 그렇다. 이걸로 어떤 연구를 지속하고 어떤 공부를 더 해야할 지는 조금더 고민해보려고 한다. 기회가 있으면 또 블로그로 소개할 수도 있을 듯 하다.
'Study > Work' 카테고리의 다른 글
[Optimization] Opensolver 설치 (0) | 2016.09.07 |
---|---|
[work] Workload analysis (0) | 2014.08.05 |
[Work] Tizen 2.0 Emulator Demo (0) | 2013.03.08 |
[Work] VMWare 상에서 Tizen 기기 인식 (0) | 2013.03.08 |
[Work] Tizen 2.0 Magnolia (0) | 2013.03.06 |
- Total
- Today
- Yesterday
- Pipeline
- TensorFlow Lite
- ColorStream
- SketchFlow
- ai
- 강화학습
- Variance
- Kinect SDK
- Windows Phone 7
- 파이썬
- End-To-End
- Kinect for windows
- Expression Blend 4
- Policy Gradient
- Gan
- Off-policy
- 딥러닝
- processing
- Offline RL
- DepthStream
- arduino
- bias
- Kinect
- reward
- RL
- Distribution
- dynamic programming
- 한빛미디어
- windows 8
- PowerPoint
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |