YARN에서 FPGA 사용하기
YARN에서 FPGA 사용하기 (Using FPGA On YARN)
이 문서는 YARN에서 FPGA(Field-Programmable Gate Array) 리소스를 사용하는 방법을 설명합니다. FPGA는 확장 가능한 리소스 모델을 통해 YARN 리소스로 추적되고 할당되는 개수 가능한 리소스입니다.
출처: 문서
본문
FPGA 리소스 정의
YARN에서 FPGA를 사용하려면 GPU와 마찬가지로 FPGA를 커스텀 리소스 유형으로 등록해야 합니다. ResourceManager는 yarn.resource-types 로 FPGA 리소스를 인식합니다.
<property>
<name>yarn.resource-types</name>
<value>yarn.io/fpga</value>
</property>
<property>
<name>yarn.resource-types.yarn.io/fpga.units</name>
<value>G</value>
</property>
NodeManager 구성
각 노드가 제공하는 FPGA 수를 node-resources.xml에 설정합니다.
<configuration>
<property>
<name>yarn.nodemanager.resource-type.yarn.io/fpga</name>
<value>1G</value>
</property>
</configuration>
FPGA 자동 감지
yarn.nodemanager.resource-plugins에 yarn.io/fpga를 추가하면 NodeManager가 로컬 FPGA 디바이스를 자동 감지합니다.
<property>
<name>yarn.nodemanager.resource-plugins</name>
<value>yarn.io/fpga</value>
</property>
컨테이너가 FPGA를 요청하는 방법
애플리케이션이 리소스 요청에 yarn.io/fpga를 포함하면, 스케줄러는 FPGA를 가진 노드에 컨테이너를 배치하고 컨테이너에 FPGA 디바이스를 제공합니다. 리소스 플러그인이 FPGA 디바이스의 격리와 할당을 관리합니다. FPGA의 동적 이미지 리프로그래밍/관리는 인프라에 따라 다르게 구성될 수 있습니다.
참고: FPGA 지원은 GPU 지원과 유사한 메커니즘(ResourcePlugin)을 사용하며, 하드웨어와 드라이버에 따라 자동 감지 및 디바이스 격리 세부사항이 달라질 수 있습니다.
더 알아보기 (Learn more)
- 원문: 문서