간단한 배치 정책을 사용하여 지연 시간 감소

이 문서에서는 압축 배치 정책을 지정하여 작업의 VM 간에 네트워크 지연 시간을 줄이는 방법을 설명합니다.

영역 내에서 VM 호스트를 서로 물리적으로 더 가깝게 배치하면 VM 간의 네트워크 지연 시간을 줄일 수 있습니다. 이러한 성능상의 이점은 MPI 라이브러리를 사용하여 통신하는 작업과 같이 긴밀하게 결합된 태스크가 있는 작업에 특히 유용합니다. 작업을 만들 때 원하는 경우 압축 배치 정책을 지정하여 작업의 VM이 서로 더 가까이 위치하도록 요구할 수 있습니다. 그렇지 않으면 기본 VM 배치는 일반적으로 전원 장애의 영향을 최소화하기 위해 별도의 호스트에 VM을 분산합니다.

압축 배치 정책에 관한 자세한 내용은 Compute Engine 문서의 배치 정책 정보를 참고하세요.

시작하기 전에

  1. Batch를 사용한 적이 없으면 Batch 시작하기를 검토하고 프로젝트 및 사용자 기본 요건을 완료하여 Batch를 사용 설정하세요.
  2. 작업을 만드는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

    역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

    커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

제한사항

압축 배치 정책의 일반적인 제한사항 외에도 배치에는 다음과 같은 제한사항이 있습니다.

  • 작업에 압축 배치 정책을 사용하도록 지정하면 Batch가 작업의 VM에 관한 압축 배치 정책을 자동으로 만들고 삭제합니다. 작업에 기존 압축 배치 정책을 지정할 수 없습니다.
  • 압축 배치 정책의 VM 수는 지정할 수 없습니다. 작업의 압축 배치 정책은 작업이 실행되는 VM 수와 관계없이 적용됩니다.

배치 정책을 사용하는 작업 만들기 및 실행

gcloud CLI 또는 Batch API를 사용하여 collocation 필드COLLOCATED로 설정하여 작업에 압축 배치 정책을 사용하도록 지정할 수 있습니다.

gcloud

  1. 작업의 구성 세부정보를 지정하고 collocation 필드를 COLLOCATED로 설정하는 JSON 파일을 만드세요.

    예를 들어 압축 배치 정책을 지정하는 기본 스크립트 작업을 만들려면 다음 콘텐츠가 포함된 JSON 파일을 만듭니다.

    {
      "taskGroups": [
        {
          "taskSpec": {
            "runnables": [
              {
                "script": {
                  "text": "echo Hello world from task ${BATCH_TASK_INDEX}"
                }
              }
            ]
          },
          "taskCount": 3
        }
      ],
      "allocationPolicy": {
        "placement": {
          "collocation": "COLLOCATED"
        }
      },
      "logsPolicy": {
        "destination": "CLOUD_LOGGING"
      }
    }
    
  2. 작업을 만들고 실행하려면 gcloud batch jobs submit 명령어를 사용합니다.

    gcloud batch jobs submit JOB_NAME \
      --location LOCATION \
      --config JSON_CONFIGURATION_FILE
    

    다음을 바꿉니다.

    • JOB_NAME: 작업의 이름입니다.

    • LOCATION: 작업의 위치

    • JSON_CONFIGURATION_FILE: 작업의 구성 세부정보가 포함된 JSON 파일의 경로

API

collocation 필드를 COLLOCATED로 설정하는 jobs.create 메서드에 대해 POST 요청을 실행합니다.

예를 들어 압축 배치 정책을 지정하는 기본 스크립트 작업을 만들려면 다음 요청을 실행합니다.

POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME

{
  "taskGroups": [
    {
      "taskSpec": {
        "runnables": [
          {
            "script": {
              "text": "echo Hello world from task ${BATCH_TASK_INDEX}"
            }
          }
        ]
      },
      "taskCount": 3
    }
  ],
  "allocationPolicy": {
    "placement": {
      "collocation": "COLLOCATED"
    }
  },
  "logsPolicy": {
    "destination": "CLOUD_LOGGING"
  }
}

다음을 바꿉니다.

다음 단계