Mac M1이 ARM 기반으로 출시되면서, ARM 아키텍처에 대한 관심이 많아졌다.
사실 ARM은 최근에 출시된 CPU 아키텍처가 아니다. 오래전부터 있었지만 지금까지는 저전력을 위한 모바일 기기에 많이 사용했었다.
하지만 지금은 칩 성능이 발전하고 좋아짐에 따라서 저전력 고효율을 추구하는 ARM에서도 충분히 고성능 처리가 가능하기 때문에 PC와 서버에서도 ARM 기반 모델이 많이 출시되었다.
그래서 AMD, ARM에 대한 간단한 비교와 이를 적용한 AWS Graviton EC2 Node에 대해서 알아보자.
잘못된 내용이 있을 수 있습니다 :( 잘못된 내용은 댓글로 말씀해주시면 수정하도록 하겠습니다~
AMD
AMD는 Intel의 x86을 호환해서 CPU를 만드는 회사이자, 아키텍처의 이름이라고 보면 된다.
AMD의 기본 설계 철학은 고성능이다. 그렇기 때문에 지금까지 PC와 서버는 모두 AMD 기반 아키텍처를 채택했다.
그리고 CISC(복잡 명령어 집합)을 사용하기 때문에 복잡한 연산에도 장점이 있다.
ARM
AMD의 대항마이다.
AMD와 Intel과는 전혀 다른 아키텍처를 사용한다. 그렇게 때문에 AMD 기반의 프로그램은 구동이 되지 않는다.
ARM의 기본 설계 철학은 저전력, 고효율이다. 그렇기때문에 지금까지는 저전력이 중요한 모바일, 임베디드에 많이 사용되었다.
하지만 최근 나노단위의 칩이 발전되고, CPU 성능이 좋아짐에 따라서 ARM으로도 충분히 고성능 연산이 가능하다.
그리고 사회적으로 ESG 등이 중요해지면서 지금까지의 성능 중심의 상품에서 효율, 저전력 중심의 상품의 관심이 많아지면서 각광받기 시작했다.
왜 최근들어서 각광받기 시작했지?
CPU 성능 향상
ARM은 위에서 망한것과 같이 저전력과 효율을 중시하는 CPU이다.
과거에는 칩 성능이 좋지 않았기에 효율 중심의 CPU에서는 성능을 끓어내기 어려웠지만, 지금은 상황이 다르다.
삼성전자와 TSMC에서 7나노 등의 칩 경쟁을 하면서 작은 사이즈의 고성능 CPU 개발이 가능해졌다.
라이선싱 모델
그리고 또 다른점에서는 라이선싱 모델이라는것이 특징이다.
AMD는 AMD 회사에서만 독점해서 개발을 한다. 내부 핵심 구성을 공개하지 않는다.
하지만 ARM은 라이선싱 모델을 채택해서 IP를 구매하여, 다양한 기업들이 ARM 기반의 CPU 제조가 가능하도록 한다.
이 덕분에 Apple도 ARM 기반의 자체 제작 M1을 출시하고, AWS에서도 ARM 기반의 Graviton 노드를 출시했다.
AMD가 독점적으로 해서 제작했기에 지금까지는 어쩔수 없이(?) AMD만을 사용해야 했지만,
이제는 다양한 기업에서 고성능의 ARM 기반의 CPU가 제작되기 때문에 소비자 입장에서는 그만큼 선택의 폭이 넓어졌다.
AMD vs ARM 차이점
그렇다면 차이점은 뭘까? 차이점은 여러가지가 있고 깊게 알아볼수록 더더욱 어렵다.
하지만 우리는 CPU 제작자가 아니므로, 자세히 알 필요는 없고 간단한 차이점 정도만 확인하면 된다.
비교 항목 | AMD | ARM |
명렁어 구조 | CISC(복잡 명령어 집합) | RISC(단순 명령어 집합) |
주요 목표 | 고성능 PC, 서버에 사용 | 저전력, 고효율 중심의 단말기에 사용 |
설계 철학 | 고성능 | 고효율 |
CPU 제조 방식 | 직접 CPU 제조 | 라이선싱 모델 |
전력 소모 | 상대적으로 큼 | 낮은 전력 소모 |
CISC와 RISC에 대해서 조금만 비교해보면 CISC의 C는 Complex이다. 그리고 R은 Reduced이다.
CISC는 복잡한 명령어를 위해 만들어진 구조이기 때문에 복잡한 연산을 단순화해서 처리가 가능하고 그만큼 메모리 효율성도 높다.
반면 RISC는 단순한 명령어를 위해 만들어졌기 때문에 복잡한 연산을 위해서는 다수의 명령어 처리가 필요하고 메모리 접근 비율도 높다.
AWS Graviton란?
Graviton은 ARM CPU 기반으로 AWS가 자체적으로 설계하고 개발한 ARM 기반의 CPU이다.
그리고 흔히 AWS Graviton 이라고 하면 이를 이용해서 만들어진 EC2 모델을 뜻한다.
위에서 ARM은 라이선싱 모델 방식의 CPU 조제 방식이기 때문에 AWS에서 자체 제작이 가능한것이다.
그리고 저체제작했기에 그만큼 최적화가 가능한것이고, AMD 보다 가격경쟁력에서 우위에 있을수 있다.
2024.9월 AWS Graviton은 지금 4세대를 뜻하는 Graviton4까지 출시되었다.
- AWS Graviton1은 2018년 출시
- AWS Graviton2는 2019년 출시
- AWS Graviton3는 2022년 5월 출시
- AWS Graviton4는 2024년 7월 출시
위 출시 주기를 보면 거의 2년 단위로 새로운 세대의 모델이 출시된다.
AWS Graviton 장점
Graviton의 가장 큰 장점은 뭐니뭐니해도 동일한 가격 대비 우수한 성능이다.
즉, 저렴하다고 볼 수 있다. 노드를 운영하는 입장에서는 이것만큼 좋은 장점이 없다.
AWS Docs를 보면 모두 동일한 2vCPU 기준으로 했을 때 Graviton(=ARM)을 뜻하는 g 타입의 인스턴스가 가장 저렴하다.
일반적으로 AMD 노드로 운영되는 m5.large 보다 m6g.large는 약 20% 저렴하다.
즉, AMD 노드를 ARM 노드로 전환한다면 약 20%의 노드 운영 비용을 줄일 수 있다는 뜻이다.
물론 AMD 기반의 서비스를 ARM으로 전환하기 위해서는 사전 테스트를 해야하고, 전환 시나리오를 만들어야 하고 성능 테스트도 필요하기에 여기에 들어가는 인력 비용도 무시할 수 있다.
하지만 AWS 비용을 보면 가장 비용이 많이 나가는것이 EC2임을 알 수 있다. 만약 운영하고 있는 서비스 전체를 ARM 노드로 전환할 수만 있다면 아주 큰 금액의 비용을 절약할 수 있다. 그리고 충분히 도전할만한 과제라고 생각한다.
고민
Devops팀에서는 어떻게 하면 동일한 성능을 유지하면서 비용을 줄일 수 있을까? 하는 고민을 많이 하게 된다.
Devops팀에서 가장 쉽게 AWS 비용을 줄이는 방법은 RI, SP를 구매하는 것이다. 이것이 가장 적은 노력으로 가장 큰 효과를 볼 수 있다.
하지만 이것으로만 만족할 수는 없다. 회사마다 다 다르겠지만, 현재 재직중인 회사에서는 Devops팀에서 Finops 역할도 같이 하고 있다.
그렇기 때문에 비용에 민감할 수 밖에 없고, 어떻게하면 비용을 줄일 수 있을까? 많은 고민을 하게 된다.
그리고 Graviton은 EC2에 국한되는것이 아니다. RDS 서비스에도 있으며, Redis 서비스에도 있다.
이번 리서치를 통해서 동일 성능 대비 Graviton을 사용하는것이 우수하다는 사실을 알았으므로 이제 실행을 할 차례다.
AWS Graviton으로 전환하기 위한 전략과 방법에 대해서는 실제 전환을 해보고 정리가 되면 다시 올리도록 하겠다.
어제보다 발전하는 오늘을 위해서, 오늘도 또 하나 배워갑니다. :)
'기술 이모저모 > [Ops] Devops' 카테고리의 다른 글
[AWS][AI] AI Chatbot 구현하기 use Bedrock KnowledgeBase (3) | 2024.10.06 |
---|---|
[AWS][AI] AWS Bedrock KnowledgeBase 사용 방법 (1) | 2024.10.05 |
[AI] 요즘은 안하는 사람이 없다는 Gen AI, 나도 해보자. (0) | 2024.06.30 |
[LGTM] Observability 기술스택 변경 여정 두번째, PLG 스택 배포 (0) | 2024.03.10 |
[LGTM] Observability 기술스택 변경 여정 첫번째 (0) | 2024.03.09 |