Azure Batch nedir?What is Azure Batch?

Büyük ölçekli paralel ve yüksek performanslı bilgi işlem (HPC) toplu işlerini Azure’da verimli bir şekilde çalıştırmak için Azure Batch’i kullanın.Use Azure Batch to run large-scale parallel and high-performance computing (HPC) batch jobs efficiently in Azure. Azure Batch bir işlem düğümleri (sanal makine) havuzu oluşturup yönetir, çalıştırmak istediğiniz uygulamaları yükler ve düğümler üzerinde çalışacak işleri zamanlar.Azure Batch creates and manages a pool of compute nodes (virtual machines), installs the applications you want to run, and schedules jobs to run on the nodes. Herhangi bir küme veya iş zamanlama yazılımının yüklenmesi, yönetilmesi ya da ölçeklendirilmesi gerekli değildir.There is no cluster or job scheduler software to install, manage, or scale. Bunun yerine, işlerinizi yapılandırmak, yönetmek ve izlemek için Batch API ve araçları, komut satırı betikleri veya Azure portalını kullanırsınız.Instead, you use Batch APIs and tools, command-line scripts, or the Azure portal to configure, manage, and monitor your jobs.

Geliştiriciler, büyük ölçekli yürütmenin gerekli olduğu SaaS uygulamalarını veya istemci uygulamaları derlemek için Batch’i bir platform hizmeti olarak kullanabilir.Developers can use Batch as a platform service to build SaaS applications or client apps where large-scale execution is required. Örneğin, Batch ile bir finansal hizmet şirketi için Monte Carlo risk simülasyonu çalıştırmak ya da çok sayıda görüntüyü işlemek üzere bir hizmet oluşturun.For example, build a service with Batch to run a Monte Carlo risk simulation for a financial services company, or a service to process many images.

Batch kullanımından ek ücret alınmaz.There is no additional charge for using Batch. Yalnızca sanal makineler, depolama ve ağ gibi kullanılan temel kaynaklar için ödeme yaparsınız.You only pay for the underlying resources consumed, such as the virtual machines, storage, and networking.

Batch ve azure'daki diğer HPC çözüm seçenekleri arasında bir karşılaştırma için bkz. yüksek performanslı bilgi işlem (HPC) azure'da.For a comparison between Batch and other HPC solution options in Azure, see High Performance Computing (HPC) on Azure.

Paralel iş yükleri çalıştırmaRun parallel workloads

Batch, doğası gereği paralel ("utandırıcı derecede paralel" olarak da bilinir) iş yükleriyle düzgün çalışır.Batch works well with intrinsically parallel (also known as "embarrassingly parallel") workloads. Doğası gereği paralel iş yükleri, uygulamaların birbirinden bağımsız olarak çalışabildiği ve her örneğin işin bir kısmını tamamladığı iş yükleridir.Intrinsically parallel workloads are those where the applications can run independently, and each instance completes part of the work. Uygulamalar yürütülürken bazı ortak verilere erişebilir, ancak uygulamanın diğer örnekleri iletişim kurmazlar.When the applications are executing, they might access some common data, but they do not communicate with other instances of the application. Bu nedenle doğası gereği paralel iş yükleri, uygulamaları eşzamanlı çalıştırmak için kullanılabilen işlem kaynaklarının miktarına göre belirlenen büyük bir ölçekte çalışır.Intrinsically parallel workloads can therefore run at a large scale, determined by the amount of compute resources available to run applications simultaneously.

Batch ile kullanabileceğiniz doğası gereği paralel iş yüklerinin bazı örnekleri şunlardır:Some examples of intrinsically parallel workloads you can bring to Batch:

  • Monte Carlo simülasyonlarını kullanarak finansal risk modellemeFinancial risk modeling using Monte Carlo simulations
  • VFX ve 3B görüntü işlemeVFX and 3D image rendering
  • Görüntü analizi ve işlemeImage analysis and processing
  • Medya kodlama dönüştürmeMedia transcoding
  • Genetik dizi analiziGenetic sequence analysis
  • Optik karakter tanıma (OCR)Optical character recognition (OCR)
  • Veri alımı, işleme ve ETL işlemleriData ingestion, processing, and ETL operations
  • Yazılım testi yürütmeSoftware test execution

Ayrıca, Batch kullanarak sıkıca bağlı iş yüklerini çalıştırabilirsiniz; bunlar, çalıştırdığınız uygulamaların birbirinden bağımsız çalışmanın aksine birbirleriyle iletişim kurması gereken iş yükleridir.You can also use Batch to run tightly coupled workloads; these are workloads where the applications you run need to communicate with each other, as opposed to run independently. Sıkıca bağlı uygulamalar normalde İleti Geçirme Arabirimi (MPI) API’sini kullanır.Tightly coupled applications normally use the Message Passing Interface (MPI) API. Sıkıca bağlı iş yüklerinizi, Microsoft MPI veya Intel MPI kullanarak Batch ile çalıştırabilirsiniz.You can run your tightly coupled workloads with Batch using Microsoft MPI or Intel MPI. Özel HPC ve GPU bakımından iyileştirilmiş VM boyutları ile uygulama performansını artırın.Improve application performance with specialized HPC and GPU-optimized VM sizes.

Sıkıca bağlı iş yüklerinin bazı örnekleri şunlardır:Some examples of tightly coupled workloads:

  • Sınırlı öğe analiziFinite element analysis
  • Sıvı dinamiğiFluid dynamics
  • Çok düğümlü AI eğitimiMulti-node AI training

Sıkıca bağlı işlerin çoğu, Batch kullanılarak paralel olarak çalıştırılabilir.Many tightly coupled jobs can be run in parallel using Batch. Örneğin, kanal genişlikleri değişen bir kanal içinden sıvı akışının birden fazla simülasyonunu gerçekleştirin.For example, perform multiple simulations of a liquid flowing through a pipe with varying pipe widths.

Ek Batch özellikleriAdditional Batch capabilities

Azure Batch için daha yüksek düzeyli, iş yüküne özel özellikler de kullanılabilir:Higher-level, workload-specific capabilities are also available for Azure Batch:

  • Batch; Autodesk Maya, 3ds Max, Arnold ve V-Ray gibi işleme araçları ile büyük ölçekli işleme iş yüklerini destekler.Batch supports large-scale rendering workloads with rendering tools including Autodesk Maya, 3ds Max, Arnold, and V-Ray.
  • R kullanıcıları, Batch havuzlarında R algoritmalarının yürütülmesini kolayca ölçeklendirmek için doAzureParallel R paketi yükleyebilir.R users can install the doAzureParallel R package to easily scale out the execution of R algorithms on Batch pools.

Azure Data Factory gibi araçlarla yönetilen Batch işlerini, veri dönüştürmeye yönelik daha büyük bir Azure iş akışının parçası olarak da kullanabilirsiniz.You can also run Batch jobs as part of a larger Azure workflow to transform data, managed by tools such as Azure Data Factory.

Nasıl çalışır?How it works

Batch için yaygın bir senaryo, işlem düğümlerinin havuzunda 3B görüntülerin işlenmesi gibi paralel işi aslında ölçeklendirmeyi kapsar.A common scenario for Batch involves scaling out intrinsically parallel work, such as the rendering of images for 3D scenes, on a pool of compute nodes. Bu işlem düğümleri havuzu, işleme işinize onlarca, yüzlerce, hatta binlerce çekirdek sağlayan size ait bir "işleme çiftliği" olabilir.This pool of compute nodes can be your "render farm" that provides tens, hundreds, or even thousands of cores to your rendering job.

Aşağıdaki diyagramda, istemci uygulamasının yanı sıra paralel iş yükünü çalıştıracak Batch’i kullanan barındırma hizmetiyle birlikte yaygın bir Batch iş akışının adımları gösterilmektedir.The following diagram shows steps in a common Batch workflow, with a client application or hosted service using Batch to run a parallel workload.

Batch çözümü incelemesi

AdımStep AçıklamaDescription
1. Giriş dosyalarını ve Azure Depolama hesabınıza bu dosyaları işleyecek uygulamaları indirin.1. Upload input files and the applications to process those files to your Azure Storage account. Giriş dosyaları uygulamanızın işleyeceği herhangi bir veri olabilir; örneğin, finansal modelleme verileri veya dönüştürülecek video dosyaları.The input files can be any data that your application processes, such as financial modeling data, or video files to be transcoded. Uygulama dosyaları, medya kod dönüştürücüsü gibi veri işleyen betik ya da uygulamaları içerebilir.The application files can include scripts or applications that process the data, such as a media transcoder.
2. Batch hesabınızda bir Batch işlem düğümleri havuzu, havuzda iş yükünü çalıştırmak için bir ve iş içinde görevler oluşturun.2. Create a Batch pool of compute nodes in your Batch account, a job to run the workload on the pool, and tasks in the job. Havuz düğümleri, görevlerinizi yürüten VM'lerdir.Pool nodes are the VMs that execute your tasks. Düğümlerin sayısı ve boyutu gibi özellikleri, bir Windows veya Linux VM görüntüsünü ve sonra düğümler havuza katıldığında yüklenecek uygulamayı belirtin.Specify properties such as the number and size of the nodes, a Windows or Linux VM image, and an application to install when the nodes join the pool. Düşük öncelikli VM’ler kullanarak veya iş yükü değiştikçe düğüm sayısını otomatik ölçeklendirerek havuz maliyetini ve boyutunu yönetin.Manage the cost and size of the pool by using low-priority VMs or automatically scaling the number of nodes as the workload changes.

Bir işe görev eklediğinizde, Batch hizmeti havuzundaki işlem düğümlerinde yürütülmesi için görevleri otomatik olarak zamanlar.When you add tasks to a job, the Batch service automatically schedules the tasks for execution on the compute nodes in the pool. Her görev, girdi dosyalarını işlemek için yüklediğiniz uygulamayı kullanır.Each task uses the application that you uploaded to process the input files.
3. Giriş dosyalarını ve uygulamaları Batch’e indirme3. Download input files and the applications to Batch Bir görev yürütülmeden önce, atandığı işlem düğümünde işlenmesi için giriş verilerini indirebilir.Before each task executes, it can download the input data that it is to process to the assigned compute node. Uygulama henüz havuz düğümlerine yüklenmediyse, burada da indirilebilir.If the application isn't already installed on the pool nodes, it can be downloaded here instead. Azure Depolama’dan indirme işlemleri tamamlandığında, görev atanan düğüm üzerinde yürütülür.When the downloads from Azure Storage complete, the task executes on the assigned node.
4. Görev yürütmeyi izleme4. Monitor task execution Görevler çalışırken, işin ve ona ait görevlerin ilerleyişini izlemek için Batch’i sorgulayın.As the tasks run, query Batch to monitor the progress of the job and its tasks. İstemci uygulamanız veya hizmetiniz, Batch hizmetiyle HTTPS üzerinden iletişim kurabilir.Your client application or service communicates with the Batch service over HTTPS. Binlerce işlem düğümünde çalışan binlerce görevi izliyor olabileceğinizden Batch hizmetini verimli şekilde sorguladığınızdan emin olun.Because you may be monitoring thousands of tasks running on thousands of compute nodes, be sure to query the Batch service efficiently.
5. Görev çıkışını karşıya yükleme5. Upload task output Görevler tamamlanınca sonuç verilerini Azure Storage’a yükleyebilirler.As the tasks complete, they can upload their result data to Azure Storage. Dosyaları doğrudan bir işlem düğümündeki dosya sisteminden de alabilirsiniz.You can also retrieve files directly from the file system on a compute node.
6. Çıkış dosyalarını indirme6. Download output files İzleme işleminiz işinizdeki görevlerin tamamlandığını algıladığında, istemci uygulamanız veya hizmetiniz daha fazla işleme için çıktı verilerini indirebilir.When your monitoring detects that the tasks in your job have completed, your client application or service can download the output data for further processing.

Bunun, Batch’i kullanma yollarından yalnızca biri olduğunu ve bu senaryoda yalnızca bazı özelliklerin açıklandığını unutmayın.Keep in mind this is just one way to use Batch, and this scenario describes just some of its features. Örneğin, her işlem düğümünde birden fazla görevi paralel olarak yürütebilirsiniz.For example, you can execute multiple tasks in parallel on each compute node. Veya iş hazırlama ve tamamlama görevlerini kullanarak düğümleri işleriniz için hazırlayabilir, daha sonra temizleyebilirsiniz.Or, use job preparation and completion tasks to prepare the nodes for your jobs, then clean up afterward.

Havuzlar, düğümler, işler ve görevler ile Batch uygulamanızı oluştururken kullanabileceğiniz birçok API özelliği hakkında daha ayrıntılı bilgi için bkz. Geliştiriciler için Batch özelliğine genel bakış.See the Batch feature overview for developers for more detailed information about pools, nodes, jobs, and tasks, and the many API features that you can use while building your Batch application. Ayrıca en son Toplu İşlem hizmet güncelleştirmeleri’ne bakın.Also see the latest Batch service updates.

Sonraki adımlarNext steps

Şu hızlı başlangıçlardan biriyle Azure Batch kullanmaya başlayın:Get started with Azure Batch with one of these quickstarts: