Amazon Web Services 한국 블로그
AWS Lambda 업데이트 – 최대 10GB 메모리와 6 개 vCPU로 함수 실행 가능
AWS Lambda는 구축하려는 항목에 집중할 수 있도록 가용성과 확장성이 뛰어난 컴퓨팅 인프라에서 프로그램 코드를 실행합니다.
대용량 메모리 또는 컴퓨팅 집약적인 워크로드에 대해 Lambda 함수를 실행할려면, 오늘 부터 최대 10GB의 메모리에서 Lambda 함수를 실행할 수 있으며, 이는 이전 대비 3배 증가 되었습니다. Lambda는 구성된 메모리 양에 비례하여 CPU 및 기타 리소스를 선형으로 할당합니다. 즉, 각 실행 환경에서 최대 6 개의 vCPU 를 할당 받아 실행할 수 있습니다. 이러한 방식으로 다중 스레드 및 다중 프로세스 애플리케이션이 더 빠르게 실행됩니다. Lambda 요금은 구성된 메모리 및 기능 기간 (GB-초)에 비례하므로 더 많은 메모리를 사용하기 위한 추가 비용은 더 빠른 실행 속도로 보상 받을 수 있습니다.
더 많은 메모리와 CPU 성능, AVX2 명령어 세트 지원, 기계 학습 애플리케이션, 일괄 처리 및 추출, 데이터 변환/로드 (ETL) 작업, 유전체학 모델링, 고성능 컴퓨팅 (HPC) 및 미디어 처리 등에 Lambda 함수를 사용할 수 있게 되었습니다.
실제로 어떻게 작동하는지 살펴 보시죠!
메모리 증가에 따른 Lambda 함수 성능
AWS Lambda 함수에 Amazon Elastic File System (EFS)를 제공하는 공유 탑재 기능의 사용 사례 중 하나가 기계 학습 추론을 수행하는 함수였습니다. 새 이미지 분류를 위해 Lambda 함수는 사용하고 PyTorch 기반의 추론을 실행하고 사전 학습 된 기계 학습 모델을 적용할 수 있습니다.
이제 업데이트 된 Lambda 실행 환경에서 동일한 기능을 실행해 보겠습니다. 이를 통해 메모리 증가가 함수 기간에 어떤 영향을 미치는지 살펴 보겠습니다. 다음은 1GB에서 10GB 사이의 메모리 구성을 사용한 결과입니다. 이 숫자를 얻기 위해 각 메모리 구성에 대해 20번의 호출을 실행했습니다. 그런 다음 함수 초기화를 버리고 평균 기간을 계산했습니다. 가능한 이상 값을 피하기 위해보고 된 기간의 상위 및 하위 10%를 평균에서 제외했습니다. 결과를 바탕으로 각 구성에서 백만 번의 호출에 대해 부과될 요금을 추정했습니다.
보시다시피이 Lambda 함수는 더 많은 메모리와 함께 제공되는 추가 CPU 성능을 사용하여 호출 시간을 줄일 수 있습니다. 흥미로운 것은 메모리 증가가 비용에 미치는 영향입니다.
Lambda 요금은 메모리 및 기간과 관련이 있으므로 메모리를 늘리고 이것이 동일한 비율로 기간을 줄이면 전체 요금이 거의 같습니다. 예를 들어 위의 그래프를 보면 5GB의 메모리를 구성 할 때 1GB의 메모리 (백만 호출에 대해 약 61 달러)가있을 때와 동일한 비용이 발생하지만 함수는 5배 더 빠릅니다. 더 짧은 지연 시간이 필요한 경우 메모리를 최대 10GB까지 늘릴 수 있습니다. 여기서 함수는 7.6배더 빨라지고 비용은 조금 만 더 지불합니다 (100만 호출에 80 달러).
코드 및 비즈니스 사례에 따라 비용과 성능간에 최적의 균형을 제공하는 메모리 구성을 확인할 수 있습니다. 이를 돕기 위해 동료이자 친구 인 Alex Casalboni는 AWS Lambda Power Tuning라는 데이터 기반 방식으로 Lambda 함수를 최적화하는 데 도움이 프로젝트 공개했습니다. 이 오픈 소스 도구는 정말 유용하며 많은 기여자의 지원으로 개선되었습니다. 한번 직접 해보세요!
본 테스트에서 PyTorch는 Lambda 실행 환경에서 사용할 수있는 AVX2 (Advanced Vector Extensions 2) 명령어 세트의 최적화를 사용하고 있습니다. AVX2 명령 세트를 사용하면 프로세서에서 특정 작업 세트를 동시에 실행할 수 있습니다. 이것은 행렬 곱셈과 같이 병렬로 실행할 수있는 작업이있는 응용 프로그램에 매우 유용합니다. 결과적으로 AVX2를 사용하면주기 당 CPU 처리량을 늘려 성능을 향상시킬 수 있습니다. 이는 일반적으로 기계 학습 추론, 멀티미디어 처리, 과학 시뮬레이션 및 재무 모델링 애플리케이션과 같은 집약적 인 워크로드를 계산하는 데 도움이됩니다.
정식 출시
이제 AWS Lambda를 사용할 수 있는 모든 리전에서 신규 또는 기존 Lambda 함수에 대해 최대 10GB의 메모리를 구성 할 수 있습니다 AWS Management Console , AWS Command Line Interface (CLI) , AWS SDK 및 Serverless Application Model을 을 통해 사용해 보세요.
다음은 새로운 콘솔 스냅 샷입니다. 슬라이더를 필드로 교체했으며 이제 1MB 단위로 메모리를 구성 할 수 있습니다 (이전에는 64MB 단위로 증가). 이러한 방식으로 콘솔은 항상 1MB 단위로 메모리 구성을 허용하는 Lambda API와 유사하게 작동합니다.
AWS Lambda 요금은 기간 및 요청 및 사용량에 대해 비용을 지불하며, 동시성 프로비저닝는 구성된 메모리 양에 비례하는 비율로 요금이 청구 됩니다.
지금 최대 10GB의 메모리와 6 개의 vCPU로 Lambda 함수를 사용해 보세요!
– Danilo;