JMS 토크 기반 워크플로우 관리 시스템

JMS 토크 기반 워크플로우 관리 시스템

초록

JMS는 Torque 배치 시스템과 연동되는 웹 기반 워크플로우 관리 도구로, 사용자가 그래픽 인터페이스에서 다단계 파이프라인을 설계·제출하고 결과를 자동 회수할 수 있게 한다. 현재 루디스 대학의 구조생물정보학 파이프라인에 적용 중이며, 오픈소스로 공개되어 있다.

상세 분석

JMS는 현대 과학 연구에서 필수화된 복잡한 계산 파이프라인을 클러스터 환경에 효율적으로 배치하기 위한 전용 프론트엔드로 설계되었다. 핵심 설계는 Torque 자원 관리자를 그대로 활용하면서, 웹 UI와 RESTful API를 추가해 사용자 친화성을 높인 점이다. 시스템은 크게 세 층 구조를 가진다. 첫 번째는 데이터베이스 계층으로, 사용자 계정, 작업 정의, 실행 로그 등을 MySQL 혹은 PostgreSQL에 영구 저장한다. 두 번째는 비즈니스 로직 계층으로, 파이프라인 단계별 의존성 그래프를 파싱하고, 각 단계에 필요한 입력·출력 파일을 자동 매핑한다. 이 계층은 Python 기반의 워커 프로세스를 통해 Torque qsub 명령을 호출하고, 작업 ID를 추적한다. 세 번째는 프레젠테이션 계층으로, React.js와 Bootstrap을 이용한 반응형 웹 인터페이스를 제공한다. 사용자는 드래그‑앤‑드롭 방식으로 단계들을 연결하고, 각 단계에 스크립트·명령어·환경 변수를 지정할 수 있다. 또한, 작업 제출 시 자동으로 PBS 스크립트를 생성하고, 필요 시 사용자 정의 템플릿을 적용한다.

보안 측면에서 JMS는 Django 인증 시스템을 기반으로 LDAP 연동을 지원하며, 작업별 권한 제어를 통해 특정 사용자만 특정 파이프라인을 수정·실행하도록 제한한다. 데이터 전송은 HTTPS를 통해 암호화되며, 클러스터와의 통신은 SSH 키 기반 인증을 사용한다. 확장성은 플러그인 구조로 구현되어, 새로운 자원 관리 시스템(SLURM, PBS Pro 등)이나 외부 스토리지(S3, NFS) 연동 모듈을 손쉽게 추가할 수 있다.

성능 평가에서는 단일 노드에서 10개의 독립 작업을 동시에 제출했을 때 평균 대기 시간이 3초 이하였으며, 복합 파이프라인(5단계, 각 단계 2시간 소요)에서도 전체 실행 시간이 기대값과 5% 이내로 일치함을 보고한다. 다만, 현재 구현은 작업 로그를 실시간 스트리밍하지 못하고, 완료 후에만 결과를 제공한다는 제한이 있다. 또한, 대규모 클러스터(수천 노드)에서의 부하 테스트는 아직 수행되지 않아 확장성 검증이 필요하다.

전반적으로 JMS는 Torque 기반 클러스터를 활용하는 연구 그룹에게 저비용·고효율의 워크플로우 관리 솔루션을 제공한다. 오픈소스 라이선스와 모듈식 설계 덕분에 커뮤니티 기반 개선이 기대되며, 향후 실시간 모니터링, 컨테이너화 지원, 클라우드 연동 기능이 추가된다면 더욱 포괄적인 과학 컴퓨팅 플랫폼으로 자리매김할 수 있을 것이다.