병렬 태스크를 실행하도록 Azure Batch 작업을 디자인합니다.
Azure Batch는 컴퓨팅 노드에서 작업을 분할하는 데 병렬 태스크를 사용합니다.
비영리를 위한 솔루션 설계자로서 먼저 Azure Batch 작업을 설계하는 방법과 병렬 처리를 사용하도록 설정하는 방법을 이해하려고 합니다. 그런 다음 OCR(광학 문자 인식) 시나리오에 이러한 기능을 사용할 수 있습니다.
여기서는 Batch 병렬 작업의 핵심 요소를 알아봅니다.
Azure CLI와 함께 Azure Batch 사용
Azure Batch 및 CLI를 사용하여 비영리 단체가 임무를 수행하는 데 도움이 되는 솔루션을 만들기로 결정했습니다. 빠르게 프레임워크를 마련한 후, 모든 기초 코드를 만드는데 시간을 들이지 않고 점진적으로 개선하려고 합니다. .NET 및 Node.js 같은 Azure Batch 솔루션을 만드는 다른 방법은 Batch 및 기타 Azure API에 대한 보다 풍부하고 세부적인 제어를 제공하는 것이 사실입니다. 그러나 CLI에서 명령을 실행하고 결과를 관찰하여 얻을 수 있는 민첩성 및 즉각적인 피드백과 일치하는 메서드는 없습니다.
샘플 병렬 태스크
Azure Batch와 CLI를 이용하기 위해 다른 노드가 병렬로 함께 작동한다는 것을 보여주는 간단한 개념 증명을 선택했습니다. CLI에서 여러 번 반복하고, 루프 반복당 번호가 매겨진 작업을 추가하고, 나중에 각 태스크가 생성하는 메타데이터를 다운로드하여 살펴볼 계획입니다. 이 메타데이터는 순차적으로 다른 노드에 생성될 때 Azure Batch 서비스 일정 예약 작업을 표시하여 모든 작업을 병렬로 실행합니다.
이러한 유형의 개념 증명은 실제로 Azure Batch의 많은 애플리케이션의 기저가 됩니다. 예를 들어 OCR 시나리오에서 태스크는 Imagemagick과 같은 소프트웨어를 설치하여 업로드된 정수 이미지를 TIF 형식으로 변환한 다음 Tesseract를 설치하여 변환 작업을 수행합니다. 이러한 작업은 각 작업자 노드가 OCR 작업의 일부를 다른 작업과 병렬로 수행하여 작업을 더 빠르게 완료할 수 있도록 분할됩니다.
이러한 개념 증명조차도 함께 작동하는 Azure Batch의 중요한 구성 요소를 보여 줍니다. Azure CLI를 사용하여 풀을 만들고, 작업자 노드를 만들고, 작업을 만들고, 명령을 실행하고 즉각적인 피드백을 받습니다.
Azure Batch 사용의 장점
Azure Batch는 특히 대규모 병렬 및 HPC(고성능 컴퓨팅) 배치 작업을 실행하는 데 적합합니다. 서비스는 시나리오를 실행하는 데 필요한 모든 노드와 애플리케이션을 관리하고 예약하는 모든 작업을 처리합니다. 이는 또한 무료 서비스이므로 사용하는 기본 컴퓨팅, 스토리지 및 네트워킹 리소스에 대해서만 비용을 지불하면 됩니다.