대규모 시뮬레이션 자동화와 데이터 분석을 위한 OMNeT++ 활용 방안
초록
본 논문은 네트워크 모델의 복잡도와 노드 수가 급증함에 따라 발생하는 OMNeT++ 기반 대규모 시뮬레이션의 성능·관리 문제를 진단하고, 시뮬레이션 실행·결과 수집·분석 자동화를 위한 통합 소프트웨어 아키텍처를 제안한다. 기존 OMNeT++ 도구들의 한계와 병목을 정량적으로 평가한 뒤, 모듈화된 파이프라인, 분산 실행 엔진, 데이터 스트리밍 저장소, 플러그인형 결과 시각화 모듈을 설계·구현하였다. 실험을 통해 제안 시스템이 시뮬레이션 시간·메모리 사용량을 평균 35 % 이상 절감하고, 결과 재현성과 확장성을 크게 향상시킴을 확인하였다.
상세 분석
OMNeT++는 네트워크 토폴로지를 NED 파일로 정의하고, INI 파일로 파라미터를 조정하며, IDE와 커맨드라인 도구를 통해 시뮬레이션을 실행하는 일련의 워크플로우를 제공한다. 그러나 논문은 대규모 시뮬레이션 상황에서 다음과 같은 구체적인 문제점을 지적한다. 첫째, 파라미터 스위프가 수천 개에 달할 경우 INI 파일을 일일이 생성하고 관리하는 것이 비효율적이며, 파일 입출력 오버헤드가 전체 실행 시간의 10 % 이상을 차지한다. 둘째, 시뮬레이션 결과가 수백 기가바이트 규모로 누적될 때, 기본적인 결과 파일(.vec, .sca) 포맷은 디스크 I/O와 메모리 매핑에 큰 부담을 주어 분석 단계에서 병목이 발생한다. 셋째, OMNeT++ IDE는 다중 노드 분산 실행을 공식적으로 지원하지 않으며, 사용자는 외부 스크립트나 배치 시스템에 의존해야 하는데, 이 과정에서 오류 전파와 로그 관리가 복잡해진다.
이에 저자들은 “통합 자동화 아키텍처”를 제시한다. 핵심 구성요소는 (1) 파라미터 관리 레이어로, CSV 혹은 JSON 기반 메타데이터를 사용해 동적으로 INI 파일을 생성하고, 파라미터 조합을 그래프 기반 DAG(Directed Acyclic Graph) 형태로 표현한다. (2) 분산 실행 엔진은 Docker 컨테이너와 SLURM 같은 클러스터 스케줄러와 연동하여, 각 시뮬레이션 인스턴스를 독립적인 작업으로 배치하고, 실행 결과를 중앙 메시지 큐(RabbitMQ)로 전송한다. (3) 데이터 스트리밍 저장소는 Apache Parquet 형식으로 결과를 실시간 압축·분할 저장하고, Spark 혹은 Dask와 같은 빅데이터 프레임워크를 통해 즉시 집계·통계 분석이 가능하도록 설계한다. (4) 플러그인형 시각화 모듈은 Grafana 대시보드와 연동해 시뮬레이션 진행 상황과 주요 KPI를 실시간으로 모니터링한다.
실험에서는 10 000 노드, 5 000 파라미터 조합, 1 TB 결과 데이터를 대상으로 기존 OMNeT++ 워크플로우와 제안 아키텍처를 비교하였다. 파라미터 자동 생성 단계에서 파일 I/O를 78 % 감소시켰으며, 분산 실행을 통해 전체 시뮬레이션 완료 시간을 42 % 단축했다. 또한 Parquet 기반 저장소는 동일한 분석 쿼리를 수행할 때 메모리 사용량을 63 % 절감하고, 결과 집계 속도를 3배 가속화했다. 이러한 정량적 결과는 제안 시스템이 대규모 네트워크 연구에서 재현성, 확장성, 효율성을 동시에 만족시킬 수 있음을 입증한다.
마지막으로 저자들은 현재 구현이 주로 Linux 기반 HPC 환경에 최적화되어 있다는 점을 인정하고, 클라우드 네이티브 서비스(AWS Batch, Azure Batch)와의 연동, 시뮬레이션 결과에 대한 자동 메타데이터 추출 및 머신러닝 기반 이상 탐지 모듈 추가 등을 향후 연구 과제로 제시한다.
댓글 및 학술 토론
Loading comments...
의견 남기기