일상/IT

ARM 서버를 통한 애플리케이션 비용 절감

얇은생각 2023. 8. 1. 07:30
반응형

ARM 서버에 대해 이야기해 보겠습니다. 파격적으로 보일 수도 있지만, 현재 인텔과 AMD가 서버 하드웨어 시장을 장악하고 있기 때문에 고려해 볼 가치가 있습니다.

ARM 서버와 같은 비정상적으로 보일 수 있는 주제에 대해 설명합니다. 대부분의 개발자에게 ARM은 Intel과 AMD가 지배하는 서버급 하드웨어 세계의 다크호스입니다. 그러나 실제로 ARM 서버는 10년 동안 사용되어 왔으며 낮은 유지보수 비용과 함께 향상된 성능 덕분에 점점 더 인기를 끌고 있습니다. 이러한 기능을 살펴보고 애플리케이션이 이 아키텍처로 마이그레이션할 때 어떤 이점을 얻을 수 있는지 살펴보겠습니다.

 

 

ARM 아키텍처란?

ARM(Advanced RISC Machine) 프로세서는 RISC 명령 집합 아키텍처(ISA)를 기반으로 CPU 제품군을 구성합니다. ISA는 소프트웨어와 하드웨어 간의 인터페이스를 제공하여 소프트웨어가 CPU를 관리하는 방법을 지정합니다. 지원되는 지침, 데이터 유형, 레지스터, 메모리 관리 등을 정의합니다.

RISC ISA는 복잡한 명령어를 사용하는 CISC와 달리 컴퓨터에 주어진 더 작고 간단한 명령어를 사용하여 작업을 수행하는 축소된 명령어 집합 컴퓨터 아키텍처입니다. 결과적으로 각 프로그램은 몇 가지 명령을 사용하여 빠르게 수행되므로 ARM 프로세서는 Intel 프로세서보다 성능이 뛰어나고 전력 효율이 훨씬 높습니다. Intel 및 AMD는 다양한 확장자를 가진 AMD64(또는 x86-64) 명령 집합을 사용합니다. 인텔이나 ARM 프로세서에서 프로그램을 실행하려면 컴파일러로 다시 컴파일해야 합니다. 고급 언어 중 하나로 작성된 코드를 프로세서가 실행할 수 있는 네이티브 시스템 코드로 컴파일하는 관리 런타임에도 마찬가지입니다.

최초의 제대로 작동하는 ARM 프로세서 샘플은 1985년에 등장했습니다. ARM 아키텍처는 빠르게 인기를 얻었습니다. 비교: 2013년에는 300억 개의 프로세서가 출하되었지만, 2022년에는 이 수가 2,300억 개에 달했습니다. 놀랍게도, ARM Ltd.는 칩을 제조하지 않습니다. 대신, 이 설계를 기반으로 자체 제품을 만드는 다른 회사에 제조 권한을 부여합니다.

ARM 프로세서는 전력 소비가 적고 개발 비용이 낮으며 칩 크기가 작기 때문에 주로 스마트폰과 임베디드 시스템에 사용됩니다. 그러나 최근 몇 년 동안 ARM은 다음과 같은 다른 분야를 정복하기 시작했습니다:

  • 개인용 컴퓨터(Apple M1 칩) 및 서버;
  • 고성능 컴퓨팅(후가쿠 슈퍼컴퓨터는 ARM 아키텍처를 기반으로 합니다.);
  • 클라우드 컴퓨팅;
  • 에지 컴퓨팅.

 

 

ARM 진화

ARM 생태계는 정기적으로 확장됩니다. ARM 사양은 확장 기능으로 도입된 새로운 기능으로 지속적으로 강화됩니다. 일부는 사용자가 필요에 따라 CPU를 선택할 수 있도록 선택할 수 있습니다. 동시에 이전 확장도 지원할 수 있습니다. 이러한 유연성은 ARM의 독특한 장점입니다.

아래 그래프는 ARMv8-A 및 v9-A(애플리케이션 아키텍처 프로파일) 사양의 발전을 보여줍니다:

ARM  사양 진행

 

 2021년, 10년 만에 처음으로 새로운 ARM 아키텍처인 차세대 ARM CPU ARMv9가 출시되었습니다. ARM 기밀 컴퓨팅 아키텍처와 향상된 ML 및 AI 기능으로 강화된 보안을 자랑합니다. 새로운 프로세서는 모든 IT 분야에서 범용에서 보다 전문화된 프로세싱으로의 전환을 가속화할 것으로 약속됩니다.

ARM 아키텍처는 다음과 같은 다양한 소프트웨어 기술로 지원됩니다:

운영 체제(Debian, Ubuntu, RHEL, OpenSUSE 및 OEL을 포함한 모든 주요 리눅스 배포판). BellSoft는 현재 3.32MB(최적화된 musl 포함)와 8.4MB(glibc 포함)의 기본 이미지를 가진 미니멀리즘 디스트리뷰터인 Alpaquita Linux에 ARM 지원을 추가하기 위해 노력하고 있습니다;

  • OpenJDK, Elasticsearch, Apache Kafka, Apache Spark 및 Elastic Cassandra와 같은 미들웨어;
  • 컨테이너 기술 — 도커 및 쿠버네티스;
  • 가상화 솔루션(예: KVM);
  • Hadoop, MySQL 및 MariaDB와 같은 데이터 관리 시스템.
  • 그리고 다른 많은 도구들.

 

그러나 가장 중요한 것은 ARM 아키텍처의 클라우드 채택이 비약적으로 진행된다는 것입니다. ARM 기반 시스템은 Amazon, Oracle Cloud, Azure 및 기타 클라우드 환경의 인스턴스를 지원합니다. 암페어에서 개발한 물리 서버를 구매하는 것도 가능합니다. 또한 Kubernetes는 ARM에서 작동하며 이기종 클러스터를 생성할 수 있으므로 비즈니스 요구사항에 따라 워크로드를 다양한 아키텍처로 분산할 수 있습니다.

예를 들어, 확장성이 뛰어나고 지연 시간이 짧은 메시징 플랫폼인 Apache Pulsar는 최근 Linux/arm64용 공식 컨테이너 이미지를 보유하고 있으므로 성능에 영향을 미치는 에뮬레이션을 사용할 필요가 없습니다.

 

 

ARM 서버를 선택해야 하는 이유

기업들이 수십 년 동안 이 분야를 지배해 온 검증된 Intel에서 ARM 기반 서버로 데이터 센터를 마이그레이션하는 데 투자하는 이유는 무엇입니까? 정답은 장기적인 비용 효율성입니다.

대기업에서 처리하는 데이터의 양이 기하급수적으로 증가함에 따라 데이터 센터는 말 그대로 IT 인프라의 핫 스팟이 되고 있습니다. 한편으로는 서버가 더 빠른 속도와 더 강력한 성능으로 더 무거운 부하를 처리하지만, 다른 한편으로는 더 많은 공간과 전력을 소비합니다. 또한 데이터 센터는 냉각 및 유지 관리되어야 하며, 기계의 밀도를 높이면 상황이 악화될 뿐입니다. 이러한 문제로 인해 작고 유연하며 에너지가 낮으면서도 성능이 뛰어난 프로세서에 대한 수요가 증가하고 있습니다.

여기서 ARM은 다음과 같은 상당한 이점을 얻을 수 있습니다:

  • 유사한 Intel 솔루션에 비해 낮은 전력 소비 및 상대적으로 낮은 열 설계 전력(TDP);
  • 다양한 작업에 적합한 최적의 프로세서를 선택할 수 있는 높은 유연성과 특정 워크로드에 맞게 조정된 맞춤형 프로세서를 설계할 수 있는 모듈성. 물리적 서버를 여러 가상 머신으로 분할하거나 클라우드에서 VM을 대여할 수 있기 때문에 공간 절약 효과는 더욱 커집니다;
  • ARM 시장에서의 건전한 경쟁은 혁신을 자극하고 최종 사용자에게 저렴한 기술을 제공합니다;
  • 서버급 ARM 프로세서의 탁월한 성능.

 

마지막 글머리 기호와 관련하여 - ARM 프로세서가 얼마나 강력할 수 있습니까? AmpereOne™ 64비트 멀티 코어 프로세서는 최대 192개의 단일 프로세서 코어를 가질 수 있으며, 세계에서 가장 밀도가 높은 배포 및 가장 까다로운 컴퓨팅 설치를 처리할 수 있습니다. 동시에 이 프로세서 제품군은 랙당 가장 많은 코어를 제공하므로 기업은 공간과 전력을 절약하고 탄소 배출량을 줄일 수 있습니다.

따라서 초저전력 임베디드 시스템, 고성능 컴퓨팅, 통계 및 재무 수학 계산, AI/ML 워크로드 등 모든 요구에 적합한 최적의 ARM 프로세서를 선택할 수 있습니다.

 

 

ARM의 Java

BellSoft 엔지니어들은 ARM에서 Java에 대한 전망을 처음으로 보고 Java를 이 아키텍처에 완벽하게 적합하게 만드는 데 적극적으로 참여했습니다. 즉, 그들은 오픈JDK의 AArch64 포트의 성능을 JEP315: 개선 Aarch64 인트레틱스를 제안하고 통합함으로써 향상시켰습니다. 그리고 오늘날 벨소프트는 AArch64 OpenJDK 포트에 가장 적극적인 기여자 중 하나입니다.

애플리케이션이 Java를 기반으로 하는 경우 Java ARMv8 포트가 안정적이고 운영 등급이기 때문에 ARM 아키텍처로 워크로드를 마이그레이션하는 것을 고려할 수 있습니다. 모든 메인라인 Garbage Collector 및 Shenandah를 포함한 모든 주요 JVM 기능을 지원하므로 Arm 아키텍처에서 Java 애플리케이션을 개발, 배포 및 모니터링하는 데 어려움이 없습니다.

 

 

ARM 서버 성능 

ARM 서버는 각 버전에 따라 점점 더 강력해지고 있습니다. 아키텍처의 진화를 추적하기 위해 AWS에서 제공되는 세 가지 Graviton 세대를 비교해 보겠습니다:

AWS 에서 암 서버의 진화

 

Amazon의 마케팅 이후 연구에 따르면 Graviton3 기반 C7g 인스턴스를 사용하는 고객은 Graviton2에서 실행되는 C6g 인스턴스에 비해 최대 40%의 성능 향상을 보였습니다.

동시에 Java의 성능도 향상되고 있습니다. 가장 인기 있는 버전인 Java 8 이후로 12개의 JDK 릴리스가 있으며, 각 릴리스에는 메모리 소비를 최적화하고 Java 속도를 높이기 위한 새로운 기능이 포함되어 있습니다. 이제 DaCapo 벤치마크를 사용하여 클라우드 ARM 서버에서 JDK 8과 20의 성능을 비교해 보겠습니다:

Arm  서버에서  JDK 8 과  20 을 벤치마킹

 

위의 데이터는 최신 버전의 Java 및 ARM 서버를 사용하여 앱 성능을 30% 이상 향상시킬 수 있음을 보여줍니다.

 

 

ARM으로 클라우드 비용 절감

향상된 성능은 항상 유용하며 전력 효율성은 장기적으로 예산을 절약하는 데 도움이 됩니다. 하지만 기업이 클라우드 비용이 통제할 수 없을 정도로 증가함에 따라 즉각적인 비용 절감을 모색하고 있다면 어떨까요? 이러한 상황에서 ARM 서버는 해결책이 될 수 있습니다.

Amazon 클라우드의 ARM, AMD 및 Intel 비용을 비교 분석한 결과 Graviton2 프로세서는 다른 플랫폼보다 훨씬 더 비용 효율적일 수 있습니다. 이 연구에서는 64-vCPU 수에 대해 m6g(Graviton2, Arm), m5a(EPYC1, AMD) 및 m5n(Xeon Cascade Lake, Intel)을 기반으로 16배 큰 인스턴스를 비교했습니다. Arm 기반 인스턴스는 AMD 및 Intel보다 저렴할 뿐만 아니라 SPEC 테스트 완료 시간을 몇 시간으로 환산하고 결과에 시간당 비용을 곱하면 달러당 40% 더 높은 성능을 달성할 수 있습니다.

 

 

결론

ARM 아키텍처는 매년 번창하고 새로운 수준에 도달합니다.

가장 중요한 것은 ARM에서 일관되게 작동하는 소프트웨어 도구와 플랫폼이 부족하지 않다는 것입니다. 따라서 클라우드 네이티브 Java 애플리케이션을 사용하는 경우 전력 효율적이고 성능이 뛰어난 이 아키텍처로 마이그레이션하는 것을 고려해 보십시오. Java와 ARM은 탁월한 조합을 제공합니다!

반응형