안녕하세요! Backend.AI 20.09 / 21.03 및 Enterprise R2 의 2021년 5월 업데이트 개선 사항에 대해 알려드립니다!
관리자를 위한 기능
스케줄러 최적화
- 특정 세션의 지속적인 생성 실패로 인해 실제 생성 가능한 다른 세션에 대한 생성 요청이 무한정 대기하는 문제(Head-of-line blocking)를 방지하는 기능이 추가되었습니다.
- 스케줄러 별*로 차순위 세션의 생성을 먼저 시도하도록 우선순위를 낮추기 전까지 대기 큐에서 가장 먼저 선택되는 세션의 생성 시도 횟수를 제한할 수 있습니다.
(*FIFO 스케줄러에 대응하며, 다른 스케줄러로 확장 예정) - 자원 정책을 설정할 때 FGPU 자원에 대해 최소 단위 이상의 소수점을 입력할 수 있습니다.
일반 사용자를 위한 기능
사용성 개선
- Tensorboard 앱의 log path를 실행 중에도 변경할 수 있습니다.
- 하나 이상의 세션에 마운트되어 있는 가상 폴더는 삭제할 수 없도록 제한하였습니다.
- 기존에 종료가 불가능했던
Preparing
,Terminating
,Pending
상태에 대해 강제 종료하는 옵션이 추가되었습니다. - 세션 런처 창에서 최종 할당될 자원을 한 눈에 볼 수 있습니다.
- 특정 사용자에게 그룹 가상 폴더를 공유/공유 해제할 수 있습니다.
(※ 이 기능은 교육기관에서 사용자 레벨의 계정인 강사의 원활한 강의 진행을 위해 추가됨) - 마이너한 UI 최적화로 사용성을 개선하였습니다.
새로운 환경에 대한 지원
- Apple Silicon 기반 Mac에서 동작하는 데스크톱 앱을 지원합니다.
엔진 개선
데이터베이스 성능 개선
- SQLAlchemy 1.4를 도입하여 매니저의 DB 접근 성능이 향상되었습니다.
- 불필요한 DB 업데이트를 최소화하기 위해 사용자 키페어별 API 요청 횟수 카운트를 Redis 기반으로 하도록 변경하였습니다. 이에 따라 기존 요청 횟수 카운터는 0으로 리셋되며, 요청 횟수 기록은 마지막 요청으로부터 최대 1개월간만 보존됩니다. 세션별 API 요청 횟수 카운트 기능은 제거되었습니다.
SSO 플러그인 개선
- 보다 다양한 SSO 플러그인 개발 시나리오에 대응하기 위해
PRE_AUTH_MIDDLEWARE
이벤트 훅이 추가되었습니다.
에이전트의 안정성 및 로깅 기능 개선
- 에이전트의 컨테이너 수명 주기 관리 루틴의 안정성이 개선되었습니다. 특히, 컨테이너 종료 과정에서 Docker의 종료 이벤트 통지와 종료 API의 리턴 시점이 엇갈리는 경우에 대한 동기화 처리가 개선되었습니다.
- 에이전트의 디버그용 로그를 events, alloc-map, kernel-config 카테고리로 구분하여 개별적으로 활성화·비활성화할 수 있습니다.
개발 및 연구 프레임워크 지원
TensorFlow 2.5 버전 정식 지원
- TensorFlow 2.5를 최적화와 함께 자체 빌드한 환경을 제공합니다. TensorFlow 2.5는 TensorFlow 2.4를 기반으로 최적화 및 안정성 강화에 중점을 둔 버전입니다.
PyTorch 1.8 버전 정식 지원
- PyTorch 1.8을 최적화와 함께 자체 빌드한 환경을 제공합니다. PyToch 1.8은 FFT 및 선형대수 지원 함수들의 안정성 및 성능을 강화하고, 분산 훈련에 관련한 에러 처리를 강화한 버전입니다.
NGC 21.04 버전 정식 지원
- CUDA 11.2에 기반한 NVIDIA GPU Cloud의 21.04 환경들을 지원합니다. NGC-TensorFlow 및 NGC-PyTorch를 통해 NVIDIA가 직접 커스텀한 딥러닝 프레임워크들을 사용해보세요.
Keras Visualizer Library 지원 (NGC TensorFlow, TensorFlow 2.5)
- TensorFlow 환경들에서 ANN 모델의 구조 파악을 도와주는 Keras Visualizer Library를 지원합니다.