Vina-FPGA2: 모듈 간 파이프라인 기반 고수준 병렬 하드웨어 가속 분자 도킹 도구

Ming LING ,  

Shidi TANG ,  

Ruiqi CHEN ,  

Xin LI ,  

Yanxiang ZHU ,  

Abstract

AutoDock Vina(Vina)는 널리 사용되는 분자 도킹 도구로, 많은 연구에서 분자 도킹 결과의 표준으로 활용되고 있습니다. 그러나 계산 과정이 매우 시간이 많이 소요됩니다. Vina는 현장 프로그래머블 게이트 어레이(FPGA)를 기반으로 하는 가속기인 Vina-FPGA를 최초로 도입하여 도킹 과정을 가속화하는 높은 에너지 효율 솔루션을 제공합니다. 하지만 Vina-FPGA 설계에서 계산 모듈은 효율적으로 활용되지 않고 있습니다. 이는 Vina가 중첩 루프 내에서 불규칙한 동작을 보이며, 상한선이 계속 변경되고 제어 흐름이 다양하기 때문입니다. 다행히 Vina에서 사용하는 몬테카를로 반복 탐색 방법은 서로 다른 무작위 초기 입력에 대해 독립적인 계산을 요구합니다. 이 특성은 병렬 계산 설계를 위한 기회를 제공합니다. 이에 본 논문에서는 모듈 간 파이프라인 설계 방안인 Vina-FPGA2를 제안하여 Vina-FPGA의 실행 효율성을 향상시키고자 합니다. 먼저 계산 작업(Task)을 계산 모듈에 순차적으로 채워 작업의 독립성을 확보했습니다. 그 후 태그 검사 모듈과 아키텍처 조정을 통해 모듈 간 파이프라인 병렬 설계를 구현하였으며, 이를 Vina-FPGA2-Baseline이라 명명했습니다. 자원 효율적인 하드웨어 구현을 위해 해당 설계를 최적화 문제로 변환하고 강화 학습 기반 해결사를 개발했습니다. 이 해결사는 Xilinx UltraScale XCKU060 플랫폼을 대상으로 더 효율적인 가속기 설계를 실현했으며, Vina-FPGA2-Enhanced라는 이름으로 불립니다. 최종적으로 실험을 통해 Vina-FPGA2-Enhanced는 중앙처리장치(CPU) 대비 평균 12.6배, Vina-FPGA 대비 3.3배 성능 향상, Vina-GPU 대비 에너지 효율은 7.2배 향상됨을 증명했습니다.

Keywords

AutoDock Vina (Vina); 하드웨어 가속기; 프로그래머블 게이트 어레이; 하드웨어-소프트웨어 공동 설계

READ MORE