Skip to content

클러스터 환경에서의 TPU 작업 효율 향상 스케줄링 기법 연구

Notifications You must be signed in to change notification settings

mooner92/tpuserv

Repository files navigation

TPUServ

이 프로젝트는 쿠버네티스 클러스터 환경에서 TPU(Task Processing Unit) 작업 효율을 향상시키기 위한 스케줄링 기법을 연구하고 구현한 것입니다. 이 프로젝트는 일부 노드에만 TPU가 장착된 환경에서 TPU를 필요로 하는 작업을 적절한 노드에 스케줄링하여 효율적인 자원 활용을 목표로 합니다.

학회 포스터

학회포스터

목차

  1. 프로젝트 설명
  2. 주요 기능
  3. 설치 및 사용 방법
  4. 실험 결과
  5. 노션 페이지

프로젝트 설명

이 프로젝트는 TPU가 장착된 노드로 작업을 스케줄링하여 전체적인 작업 효율을 높이는 방법을 제안합니다. 이를 위해 노드 어피니티(Node Affinity)를 활용하여 TPU 사용 여부에 따라 적절한 워커 노드에 작업을 배치합니다.

주요 기능

  • 노드 어피니티 기반 스케줄링: TPU가 장착된 노드에 작업을 스케줄링하여 자원 효율을 극대화합니다.
  • 고가용성 보장: 레플리카셋(ReplicaSet)을 통해 파드의 고가용성을 유지합니다.
  • 효율적인 리소스 사용: TPU를 사용하여 작업 처리 시간을 단축합니다.

설치 및 사용 방법

사전 요구 사항

  • 쿠버네티스 클러스터
  • TPU 장착 노드
  • Docker
  • kubectl

설치

  1. 저장소를 클론합니다.
    git clone https://github.com/mooner92/tpuserv.git
    cd tpuserv
  2. 필요한 도커 이미지를 빌드합니다.
    docker build -t tpuserv-image .
  3. 쿠버네티스 클러스터에 디플로이합니다.
    kubectl apply -f deployment.yaml
    

실험 결과

200개의 이미지를 대상으로 한 실험 결과, TPU를 사용하는 노드에서의 작업 처리 시간이 CPU만 사용하는 노드에 비해 평균적으로 70% 감소하였습니다.

서비스 이름 파드가 실행된 노드 작업 처리 횟수 평균 작업 처리 시간 (ms)
yes-tpu Node2 7 29,983
yes-tpu Node3 13 30,245
no-tpu Node1 5 305,520
no-tpu Node2 10 30,010
no-tpu Node3 5 30,340
서비스 이름 평균 실행 시간 (ms)
yes-tpu 30,153.56
no-tpu 98,970.09

노션 페이지

Notion Link

About

클러스터 환경에서의 TPU 작업 효율 향상 스케줄링 기법 연구

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published