플릿 워크로드
IBM Cloud® Code Engine 는 차량 워크로드를 포함한 컨테이너화된 워크로드를 실행하는 완전 관리형 서버리스 플랫폼입니다. 운영 차량에 대한 자세한 내용은 Code Engine 에서 확인하세요.
플릿이란 무엇인가요?
서버리스 플릿이라고도 하는 플릿은 하나 이상의 사용자 코드 인스턴스를 병렬로 실행하여 컴퓨팅 집약적인 대규모 작업 대기열을 완료하는 Code Engine 컴퓨팅 구성 요소입니다. 플릿은 가상 프라이빗 클라우드에 연결하여 다른 서비스에 연결할 때 사용자 데이터를 안전하게 교환할 수 있습니다. 배치 작업과 달리 플릿은 동적 작업 대기열과 단일 테넌트 격리를 제공하며 vCPU 및 GPU와 모두 호환됩니다.
플릿은 어떻게 작동하나요?
플릿에는 작업, 인스턴스, 워커 노드라는 세 가지 주요 요소가 있습니다. 단일 작업은 워커 노드에서 실행되는 사용자 코드의 단일 인스턴스에 의해 완료됩니다. 각 워커 노드는 여러 작업을 동시에 실행할 수 있으므로 여러 작업을 동시에 완료할 수 있습니다. 작업이 완료되면 작업자 노드에서 새 인스턴스가 스핀업되어 대기열에서 사용 가능한 다음 작업을 완료합니다. 이 프로세스는 모든 작업이 완료될 때까지 각 워커 노드에서 반복되며, 이 시점에서 워커 노드는 자동으로 프로비저닝이 해제됩니다.
차량은 직업과 어떻게 다른가요?
주로 중소규모 작업을 위한 배치 작업과 달리, 플릿은 대규모의 컴퓨팅 집약적인 작업을 완료하도록 설계되었습니다. 아래 표에서 직종과 차량 간의 구체적인 차이점을 확인하세요.
| 특성 | Fleet | 작업 |
|---|---|---|
| 격리 | 싱글 테넌트 | 다중 테넌트 |
| 작업 크기 | 대규모 작업 | 중소규모 작업 |
| 구현 | 동적 큐 | 정적 배열 |
| 시스템 구성 | 머신 프로필에 대한 완벽한 제어 | 머신 프로파일에 대한 제어 없음 |
| VPC 연결 | 기존 VPC에 기본적으로 연결 | 비공개 경로가 필요합니다 |
Code Engine 플릿 작업의 주요 기능은 무엇인가요?
다음 항목을 검토하여 Code Engine 에서 플릿 작업에 대해 자세히 알아보십시오.
자동 스케일링
플릿을 사용하면 대규모 병렬 처리를 활용하여 대규모 컴퓨팅 집약적인 작업을 완료할 수 있습니다. Code Engine 리소스 요구 사항을 가장 효율적으로 충족하도록 플릿의 워커 노드를 자동으로 확장합니다. Code Engine 에서 배포되는 워커의 프로필을 결정하도록 하거나 GPU 유형과 같은 특정 프로필을 선택할 수 있습니다. 두 경우 모두 Code Engine 에서 자동으로 작업자 수를 조정하여 효율성을 극대화합니다.
배포되는 작업자 수는 완료해야 할 작업 수, 코드 인스턴스에 필요한 리소스, 한 번에 실행하려는 최대 동시 인스턴스 수에 따라 결정됩니다. 이러한 설정을 조정하여 최소 1건에서 최대 수백만 건의 작업을 완료하도록 팀을 확장할 수 있습니다.
예를 들어 완료해야 할 작업이 4개 있다고 가정해 보겠습니다. 작업을 완료하기 위한 각 코드 인스턴스에는 1 vCPU and 2 GB memory, 총 요구 사항은 4 vCPU and 8GB memory 입니다. 최대 동시 인스턴스 수를 2개로 설정한 경우 Code Engine 는 2 vCPU and 4 GB memory 로 워커 노드 1개를 배포하여 한
번에 2개의 인스턴스를 실행할 수 있습니다. 최대 동시 인스턴스 수를 4개로 설정하면 Code Engine 에서 동일한 작업자 노드 2개를 배포하여 두 작업자에서 동시에 4개의 인스턴스를 모두 실행할 수 있습니다. 두 번째 시나리오에서는 차량이 더 빨리 완료되지만 더 많은 작업자를 배치해야 합니다. 자동 워커 노드 배포를 위한 조합은 무한히 많으며 다양한 프로필의 워커 노드가 배포될 수 있다는 점에 유의하세요.
GPU에는 자동 크기 조정 기능을 사용할 수 없습니다. 플릿에 GPU를 배포하려면 배포할 GPU 워커의 유형을 지정해야 합니다.
작업 및 인스턴스 사양
플릿을 배포할 때 사용자는 완료할 작업 수, 한 번에 실행할 인스턴스 수, 작업이 완료되는 순서를 지정할 수 있습니다. 플릿은 여러 인스턴스를 동시에 시작하여 여러 작업을 동시에 처리할 수 있습니다. 모든 인스턴스는 차량 사양과 동일한 양의 vCPU 및 메모리로 생성됩니다. 또한 사용자는 작업 사양 파일을 만들어 각 작업에 대한 특정 명령과 인수를 제공하거나 사용자 지정 작업 인덱스를 만들 수 있습니다.
COS의 작업 저장소
플릿을 생성할 때 영구 데이터 저장소와 버킷 하위 경로를 지정하여 COS 버킷을 사용하여 플릿에 작업을 제공할 수 있습니다. COS 버킷의 각 개체는 하나의 작업을 나타냅니다.
격리
배치 작업과 달리 플릿은 단일 테넌트 격리를 제공합니다. 차량 작업자는 다른 사용자와 공유되지 않습니다.
재시도
각 함대 인스턴스는 완료될 때까지 실행됩니다. 그러나 오류가 발생하면 Code Engine 인스턴스가 다시 시작됩니다. 최대 재시도 횟수를 제한하여 실패한 인스턴스를 다시 시작하지 않도록 할 수 있습니다.
상태
하나 이상의 워커 노드가 프로비저닝되면 플릿은 Running 상태입니다. 플릿이 더 이상 실행되지 않으면 모든 작업이 성공적으로 완료된 경우 Succeeded 상태가 되고, 하나 이상의 작업이 실패한 경우 Failed 상태가 됩니다. 플릿을 취소할 수도 있습니다.
자세한 내용은 차량 상태 이해를 참조하세요.
작업자 프로필
차량 작업자의 프로필을 선택적으로 선택할 수 있습니다. 프로필을 지정하지 않으면 Code Engine 에서 프로필을 선택해 드립니다.
Code Engine 플릿은 다음 프로필 제품군을 지원합니다:
| 인스턴스 프로파일 |
|---|
| bx2-2x8 |
| bx2-4x16 |
| bx2-8x32 |
| bx2-16x64 |
| bx2-32x128 |
| bx2-48x192 |
| bx2-64x256 |
| bx2-96x384 |
| bx2-128x512 |
| bx2a-2x8 |
| bx2a-4x16 |
| bx2a-8x32 |
| bx2a-16x64 |
| bx2a-32x128 |
| bx2a-48x192 |
| bx2a-64x256 |
| bx2a-96x384 |
| bx2a-128x512 |
| bx2a-228x912 |
| bx2d-2x8 |
| bx2d-8x32 |
| bx2d-16x64 |
| bx3d-2x10 |
| bx3d-4x20 |
| bx3d-8x40 |
| bx3d-16x80 |
| bx3d-24x120 |
| bx3d-32x160 |
| bx3d-48x240 |
| bx3d-64x320 |
| 인스턴스 프로파일 |
|---|
| cx2-2x4 |
| cx2-4x8 |
| cx2-8x16 |
| cx2-16x32 |
| cx2-32x64 |
| cx2-48x96 |
| cx2-64x128 |
| cx2-96x192 |
| cx2-128x256 |
| cx3d-2x5 |
| cx3d-4x10 |
| cx3d-8x20 |
| cx3d-16x40 |
| cx3d-24x60 |
| cx3d-32x80 |
| cx3d-48x120 |
| cx3d-64x160 |
| 인스턴스 프로파일 |
|---|
| mx2-2x16 |
| mx2-4x32 |
| mx2-8x64 |
| mx2-16x128 |
| mx2-32x256 |
| mx2-48x384 |
| mx2-64x512 |
| mx2-96x768 |
| mx2-128x1024 |
| mx2d-16x128 |
| mx2d-64x512 |
| mx2d-96x768 |
| mx3d-2x20 |
| mx3d-4x40 |
| mx3d-8x16 |
| mx3d-16x160 |
| mx3d-24x240 |
| mx3d-32x320 |
| mx3d-48x480 |
| mx3d-64x640 |
| 인스턴스 프로파일 |
|---|
| gx3-16x80x1l4 |
| gx3-32x160x2l4 |
| gx3-64x320x4l4 |
| gx3-24x120x1l40s |
| gx3-48x240x2l40s |
| gx2-8x64x1v100 |
| gx2-16x128x1v100 |
| gx2-16x128x2v100 |
| gx2-32x256x2v100 |
| gx3d-24x120x1a100p |
| gx3d-48x240x2a100p |
| gx3d-160x1792x8h100 |
| gx3d-160x1792x8h200 |
| gx4d-232x3840x8b300 |
| 인스턴스 프로파일 |
|---|
| nxf-2x1 |
| nxf-2x2 |
| bxf-2x8 |
| bxf-4x16 |
| bxf-8x32 |
| bxf-16x64 |
| bxf-24x96 |
| bxf-32x128 |
| bxf-48x192 |
| bxf-64x256 |
| cxf-2x4 |
| cxf-4x8 |
| cxf-8x16 |
| cxf-16x32 |
| cxf-24x48 |
| cxf-32x64 |
| cxf-48x96 |
| cxf-64x128 |
| mxf-2x16 |
| mxf-4x32 |
| mxf-8x64 |
| mxf-16x128 |
| mxf-24x192 |
| mxf-32x256 |
| mxf-48x384 |
| mxf-64x512 |
일부 프로필은 모든 VPC 네트워크 영역에서 사용 가능하지 않을 수 있습니다. 다음 CLI 명령을 사용하여 지역의 Code Engine 서버리스 플릿에서 지원하는 작업자 프로필을 나열할 수 있습니다.
ibmcloud ce fleet worker profiles
- H100 및 L40s 와 같은 특정 프로필의 영역별 가용성 및 용량을 알고 싶은 경우 지원 케이스를 열고 주제로 "가상 프라이빗 클라우드(VPC)"를 선택합니다.
- 현재 플릿에서 지원되지 않는 특정 VPC 프로필이 필요한 경우 지원 케이스를 열고 " Code Engine "를 주제로 선택하세요.
플릿을 시작하려면 어떻게 해야 하나요?
icr.io/codeengine/helloworld 샘플 이미지로 간단한 Code Engine 플릿을 만들고 실행하려면 첫 번째 Code Engine 플릿 실행하기를 참조하세요.