아주대학교에서 진행한 유명환 님의 세미나를 바탕으로 작성되었습니다. (동아리 Do-IT 주최)
ARM(Advanced RISC Machine)
RISC = (Reduced Instruction Set Coputer) 의 약자
ARM 을 한국말로 직역하면 고급 축소 명령어 세트 컴퓨터 기계이다.
ARM 은 일반 인텔 CPU계열의 CISC라는 명령어 구조보다는 간단한 RISC라는 명령어 구조 CPU 체계의 한 형식이며 사물인터넷이나 모바일 안드로이드, 랩탑, 인터넷 모뎀, 디지털카메라, 닌텐도 등에 사용되는 CPU 체계이다.
다시 말하면 일반적인 데스크톱 PC에는 인텔 CPU나 AMD CPU에 대응해서 x86(32비트), x64(64비트), AMD64(64비트) 등의 CPU 명령체계가 들어가게 되고, ARM용 기기들에는 RISC 명령체계가 들어가게 된다.
ARM 서버란?
스마트폰 등에 사용되는 저전력 저발열 프로세서인 ARM 프로세서를 탑재한 서버로 소모 전력은 낮추고 성능은 인텔 서버만큼 높인 안정적인 서버
적용 사례
- 아마존
- 컨퍼런스에서 아마존이 최초로 cloud 서버에서 arm 기반 칩을 만들었다.
- 최초의 클라우드 서비스를 런칭했다.
- 애플
- 20시간.
- 이제는 노트북을 들고 다니는 사람들이 어댑터는 들고 다니지 않는다.
- unified memory architecture
- 20시간.
- 마이크로소프트
- 데이터센터 서버용 arm 칩을 만들 것이다. 개발 중이고, 내년에 나올 예정이다.
- 그날 인텔 주가가 6.3% 떨어졌다.
- 퀄컴
- 윈도우즈가 돌아가는 arm 노트북 용 칩을 만들려고! 기업을 인수함
- 오라클
- arm 기반 컴퓨팅 프로세서
- 후치쯔
- arm칩은 서버로 쓰기에는 성능이 나쁘지 않을까?
- arm 기반 슈퍼컴퓨터, top500 경연대회에서 1위 수상
- 엔비디아
- gpu 회사.
- 애플이 전용 arm칩을 만들 때 하나의 칩에 cpu와 gpu가 같이 들어있다.
- 칩 하나가 엄청 크다!
- 구글
- arm 기반 vm 공개
- azure
- 전세계 azure 서비스에 arm 서버 클라우드
- 글로벌 빅테크 기업은 다 arm칩을 개발하고 있다.
- cpu를 만들 때 10조원 정도는 있어야 칩 하나를 만든다.
ARM 서버가 뜨는 이유?
1) 소모전력
- 데이터센터 전기요금은 우리나라가 전세계에서 가장 낮다.
- 1997년~1998년 이때 인터넷 기업들이 나올락말락
- 정부가 지원해줌.
- 해외에서도 우리나라에 데이터센터를 만들고 싶어한다.
- 서버 자체 전기소비량 + 냉각을 위해 투입되는 전력
- 빅테크 기업은 데이터센터를 직접 설계한다.
- 우리나라는 그렇지 않다…
- 데스크탑도 직접 설계하지 않는다.
- 최적화된 컴퓨터를 만들어야 최적화된 소프트웨어가 나온다.
- 소프트웨어는 cpu. 메모리. 디스크. 인터페이스 …
- 해외에서만 전기요금이 문제가 될까?
- 전기요금 인상 문제
- 2분기 전기가스요금 5.3% 인상. kWh당 8원.
- 데이터센터 문제점 : 수도권 집중 (전력 문제)
- 정부, 공공과 민간 센터를 포함한 모든 데이터센터의 거의 70%가 수도권에 위치
- 데이터센터는 1990년대부터 지어짐. 수도권에 공급되는 전기의 총량이 바뀌지 않았다.
- 전기의 양이 바뀌려면 발전소가 만들어져야 하는데 만들지 않음
- 삼성 평택에서는 반도체 센터 만들고 있다. 전기의 양이 국민이 쓰는 양보다 많음
- 옆에 발전소를 같이 만듦
- 전기의 양이 바뀌려면 발전소가 만들어져야 하는데 만들지 않음
- 빠른 서비스를 위해 기업 근처에 데이터 센터를 지어서…
- ARM 서버가 해결해줄텐데
2) 데이터
- 데이터센터 문제점: 데이터에 비해 현저히 부족한 데이터센터
- 5G가 없었다.
- 5G는 요금제
- 유선통신, 무선통신, 이동통신
- 무선통신과 이동통신의 차이점 → 움직이는 속도 차이
- 와이파이 무선통신은 끊기고 이동통신은 KTX에서도 안끊긴다.
- KTX에 이동통신이 되어있고 와이파이 공유기로 무선통신
- 춘천 데이터센터
- 서버 데이터센터 240PB
- 2025년에 네이버 데이터센터가 몇개 필요할까
- 175ZB/240PB = 720,000개 데이터센터 필요
- 현재 데이터센터 총 200개가 조금 안된다…
- 병목이 생긴다. 5g 같은 통신속도도 떨어진다.
- 5G가 없었다.
- 사물인터넷에 따른 센서와 센서 데이터 급증
- IoT, cloud, 빅데이터는 모두 다른 기술인가?
- IoT와 같은 기술 = 유비쿼터스 센서 네트워크(이건 망함)
- IoT가 살아남는 이유
- 산업표준 itf. 인터넷 표준을 정할 때 다수결로 한다. 업계가 간다면 간다.
- IoT 단말기는 중소기업이 만든다. 큰 기업에 팔아야 한다.
- 요즘은 큰기업이 중소기업에 부탁한다. 등장하는 기술이 클라우드와 빅데이터.
- 데이터가 많아야 함.
- facebook같이 대박치는 기업이 많지 않다.
- 눈을 돌린게.. 냉장고에 lan을 꽂으면 데이터가 나온다!
- 데이터가 많아야 함.
- IoT 데이터를 cloud에 넣고 빅데이터로 의미있는 패턴을 찾아낸다.
- IoT가 살아남는 이유
- 네이버 클라우드, 아마존 : Cloud IoT Core
- IoT로 돈을 번다.
- SaaS 기업들. IoT Core 메시지 처리 비용이 낮으면 좋음.
- 이때 필요한 기술이 Edge Computing이다.
- 중앙 클라우드에 보내기 전에 작은 컴퓨터 서버가 있어서 무선으로 데이터를 받고 1차적으로 압축하거나 처리한다. 센서 데이터 값 변화는 급변하지 않는다. 그리고 패턴이 있다. 패턴 데이터만 보내면 90%까지 IoT Core 메시지 처리 비용을 줄일 수 있다.
- Edge Computing을 구현하려면 클라우드 기술과 임베디드 기술을 모두 갖추어야 한다.
- IoT와 같은 기술 = 유비쿼터스 센서 네트워크(이건 망함)
- IoT, cloud, 빅데이터는 모두 다른 기술인가?
왜 ARM 서버일까? (1) 저전력 고성능
- 반도체 미세 공정(나노 공정) 기술력 향상으로 인텔 서버에 비해 ARM 서버가 상대적으로 낮은 나노 공정으로 전력은 낮추고 성능과 CPU 코어 수는 증가 → 클라우드에 적합한 서버
- nm : 나노 공정
- 반도체는 웨이퍼로부터 시작해요. 웨이퍼에 전류가 흐르는 길인 회로를 새긴 다음 칩 단위인 다이(Die)로 쪼개고 후공정을 거쳐요. 여기서 나노 공정은 웨이퍼 위에 새긴 회로의 선폭을 의미합니다. 10나노는 회로의 선폭이 10나노미터라는 뜻이에요. 칩 크기를 나타내는 게 아닙니다.
- 회로의 선폭이 좁으면, ‘집적도’를 높일 수 있어요. 집적도란 반도체 칩을 구성하는 반도체 소자를 얼마나 많이 넣었는지를 나타내는 용어에요. 선폭을 줄이면 트랜지스터와 같은 반도체 소자를 더 많이 넣을 수 있어요. 트랜지스터는 반도체 성능과 직결된 중요한 소자인데요. 동일한 면적에 더 많은 트랜지스터를 넣을 수 있게 되는 겁니다.
- 즉 미세한 공정을 사용할수록 반도체 성능이 높아져요. 트랜지스터를 집약하면 전력 효율도 좋아집니다. 전력 효율이 높아지니 발열도 줄어들게 되고요. 그러다 보니 업체들은 좋은 반도체를 생산하기 위해 미세 공정 경쟁을 펼치게 되고, 뉴스에 자주 언급되는 겁니다.
- nm : 나노 공정
- 성능이 좋으면 칩사이즈가 작아진다. 물리적으로 전기를 덜 먹는다.
- 지금 메모리 카드가 작아졌다.
왜 ARM 서버일까? (2) 자유로운 칩 설계 SoC
- SoC: System on Chip
- CPU 안에 10GBps network 카드 2개를..!
- 인텔은 내부 구조를 공개하지 않는다.
- BlueShift
- xslab에서 openstack 환경으로 체험 환경 제공
- 가상 머신을 만들고 인스턴스 생성 등..
- 저전력 인공지능 칩 기반 솔루션 확보
질문
1. 컴파일(빌드)된 실행 파일은 왜 디스크에서 메모리로 올라가서(로딩) 실행이 되나요?
- NVM 디스크가 있다.
- 컴퓨터 버스 interface 중 pci interface로 돌아간다.
- CPU보다 훨씬 빠르다. 오히려 CPU가 병목이다.
- 그럼 왜??
- 저장은 되어 있지만 CPU는 기계라서 기계가 이해할 수 있는 영역이 필요하다.
2. 리눅스 커널 소스에 있는 함수를 어플리케이션 소스에서 호출할 수 있나요?
- 실행 안됨
3. 운영체제 스케줄러 역할인 context switching에서 context가 무엇인가?
- 컨텍스트 스위치는 한 프로세스로부터 CPU를 다른 프로세스로 넘겨주는 행동이다!
- Context는 CPU가 해당 프로세스를 실행하면서 가지는 정보등을 뜻 하는데, 이를 다른 프로세스로 바꾸겠다는 뜻이다.
- 초당 100번에서 1000번까지 일어나는 매우 빈번한 동작이기 때문에 성능에 매우 민감하다!
4. tcp/ip 프로토콜은 소프트웨어인가?
- 맞다
- 오늘 칩을 보여줄 것이다.
5. goto 쓰는 이유
- 모든 언어를 c, c++로 구현할 수는 없으므
6. CPU 내부 구조 및 동작 원리 분석 방법 : 심볼(Symbol)