The Korean Meteorological Society 1

Current Issue

Atmosphere - Vol. 34 , No. 1

[ Technical Note ]
Atmosphere - Vol. 29, No. 1, pp. 75-86
Abbreviation: Atmos
ISSN: 1598-3560 (Print) 2288-3266 (Online)
Print publication date 31 Mar 2019
Received 17 Nov 2018 Revised 09 Jan 2019 Accepted 29 Jan 2019
DOI: https://doi.org/10.14191/Atmos.2019.29.1.075

대용량 기후모델자료를 위한 통합관리시스템 구축
이재희1), * ; 성현민1) ; 원상호2) ; 이조한3) ; 변영화1)
1)국립기상과학원 기후연구과
2)(주)미래기후
3)국립기상과학원 지구시스템연구과

Development of Climate & Environment Data System for Big Data from Climate Model Simulations
Jae-Hee Lee1), * ; Hyun Min Sung1) ; Sangho Won2) ; Johan Lee3) ; Young-Hwa Byun1)
1)Climate Research Division, National Institute of Meteorological Sciences, Jeju, Korea
2)Mirae Climate, Seoul, Korea
3)Earth System Research Division, National Institute of Meteorological Sciences, Jeju, Korea
Correspondence to : * Jae-Hee Lee, Climate Research Division, National Institute of Meteorological Sciences, 33 Seohobuk-ro, Seogwipo-si, Jeju 63568, Korea. Phone: +82-64-780-6669, Fax: +82-64-738-9072 E-mail: jhlee0@korea.kr

Funding Information ▼

Abstract

In this paper, we introduce a novel Climate & Environment Database System (CEDS). The CEDS is developed by the National Institute of Meteorological Sciences (NIMS) to provide easy and efficient user interfaces and storage management of climate model data, so improves work efficiency. In uploading the data/files, the CEDS provides an option to automatically operate the international standard data conversion (CMORization) and the quality assurance (QA) processes for submission of CMIP6 variable data. This option increases the system performance, removes the user mistakes, and increases the level of reliability as it eliminates user operation for the CMORization and QA processes. The uploaded raw files are saved in a NAS storage and the Cassandra database stores the metadata that will be used for efficient data access and storage management. The Metadata is automatically generated when uploading a file, or by the user inputs. With the Metadata, the CEDS supports effective storage management by categorizing data/files. This effective storage management allows easy and fast data access with a higher level of data reliability when requesting with the simple search words by a novice. Moreover, the CEDS supports parallel and distributed computing for increasing overall system performance and balancing the load. This supports the high level of availability as multiple users can use it at the same time with fast system-response. Additionally, it deduplicates redundant data and reduces storage space.


Keywords: CMIP, database, metadata, big data, quality assurance

1. 구축배경

세계기상기구(World Meteorological Organization, WMO)와 유엔환경계획(United Nations Environment Programme, UNEP)에 의해 설립된 기후변화에 관한 정부 간 협의체(Intergovernmental Panel on Climate Change, 이후 IPCC)에서는 기후변화 영향요소들을 고려하여 온실가스 배출에 의한 잠재적인 미래 기후변화 시나리오를 산출하였고 이를 평가보고서에 활용하였다(IPCC, 2013). 다양한 커뮤니티에서 기후변화에 대한 이해증진을 위해 연구들을 수행하였고, 기후모델링 커뮤니티에서는 세계기후연구계획(World Climate Research Programme, WCRP)의 결합모델 상호비교 프로젝트(Coupled model intercomparison project, 이후 CMIP)를 통해 기후변화 시나리오들의 산출에 힘써왔다. 또한, CMIP을 통해 생산되는 시나리오들은 기후변화와 관련하여 제기된 주요 이슈를 밝혀내기 위해 지역기후, 인위적 강제력, 사회·경제적 발전에 따른 영향 등 점점 더 많은 영향요소들이 고려되고 있는 추세이다.

시나리오 산출에 사용되는 영향요소들이 다양해질수록 기후모델에 사용되는 입·출력 자료들의 종류와 자료형식이 다양해지고, 산출되는 시나리오의 용량도 큰 폭으로 증가하게 되었다. 예를 들어, CMIP5에 제출된 기후변화 시나리오의 용량은 약 2Petabyte이며, 이것은 CMIP3 (20Terabyte)와 비교하여 약 100배정도 증가하였음을 확인할 수 있다. 뿐만 아니라, IPCC 6 차 평가보고서에서는 기후과정 진단을 위한 다양한 실험들이 증가되어, 생산되는 기후변화 시나리오의 자료용량은 더욱 늘어날 것으로 보여진다. 이 외에도, 정책·교육·연구 등의 지원을 위한 시나리오의 후처리 결과물도 사용자의 편의에 따라 다양성을 요구하기 때문에 생산·활용되는 총 자료용량은 더 크게 증가할 전망이다(Meehl et al., 2005; Guilyardi et al., 2011; Eyring et al., 2016).

그에 따라, 산출되는 시나리오의 효율적인 활용을 위한 전반적인 관리체계가 필요하지만 체계적으로 구축·활용되는 자료관리시스템은 부족한 실정이다. 또한, 현재의 관리방법은 산재되어 저장된 자료의 활용이나 관리에 있어 비효율적이며, 중복에 의한 저장공간의 낭비로 이어질 가능성이 매우 크기 때문에 관리시스템의 필요성이 요구되고 있다. 이에 국립기상과학원에서는 기후모델자료 통합관리시스템(Climate & Environment Data System, 이후 CEDS)을 구축하였다. CEDS는 여러 실험을 통해 산출되는 대용량의 기후모델 자료를 체계적으로 저장한다. 또한 CMIP에 대응하기 위해 기후모델 출력자료에 대한 국제표준자료로의 변환 및 품질 보증(Quality Assurance) 과정을 수행하며 결과를 데이터베이스에 저장하는 일련의 과정을 진행하도록 설계되었다. 이후 CEDS가 갖는 기능에 대하여 자세히 알아보고, 이러한 기능이 여러 실험을 통해 산출된 대용량 기후모델 자료의 활용을 위해 어떻게 적용되는지 살펴본다.

2장에서는 타 기관의 자료관리시스템 구축 현황을 고찰하여 CEDS의 필요성과 구축된 시스템 기능을 비교하여 살펴보고, 3장에서는 CEDS의 개요와 구성을 설명하고, 시스템의 특징 및 자료 저장 프로세스 및 자료관리 방법, 검색을 위한 메타정보 저장에 관하여 논의하였다. 4장에서는 CEDS를 활용을 돕는 사용자 인터페이스 구현에 대한 세부 내용을 설명하고, 5장에서는 정확하고 신속하게 검색 결과를 반환하는 시스템의 성능을 확인하며 마지막으로 6장에서 요약 및 결론을 제시하였다.


2. 시스템 구축 사례

대용량 기후자료를 생산하는 여러 기관에서는 자료저장 및 접근 시스템을 운용하며 체계적인 관리를 진행 하고 있다. 이번 장에서는 타 기관의 시스템 운용사례를 살펴보고 자료관리시스템의 필요성을 논의한다. 영국기상청(Met Office)에서는 테이프 저장장치 기반의 자료 저장 시스템인 MASS (Met Office Managed Archive Storage System)를 운용하고 있으며, 자료의 저장, 삭제, 검색 등의 간편한 서비스를 제공한다. MASS는 MOOSE (Met Office Operational Storage Environment)로 알려진 사용자 인터페이스를 통해서 접근할 수 있다. 영국기상청에서는 MOOSE를 이용하여 자료에 대한 체계화 및 관리를 수행하고 있다. 또한 MOOSE의 자원 관리 기능을 통해 사용자들의 작업 처리량이나 저장공간을 적절하게 분배하는 작업이 이루어진다. 이러한 서비스를 통해 사용자는 기후자료에 접근하여 편리하게 이용할 수 있다. 미국 국립대기연구센터(National Center for Atmospheric Research, NCAR)에서는 HPSS (High Performance Storage System) 자료 저장 시스템을 운용하고 있는데, 이는 320Petabyte 이상의 저장 용량을 가진 테이프 라이브러리로 구성되어 있다. 중앙집중형 파일 서비스인 GLADE (Globally Accessible Data Environment)를 이용하여 HPSS 및 다른 자료 저장 스토리지에 접근 할 수 있고 자료 분석, 가시화, 과학 자료 제공의 서비스를 받을 수 있다. 유럽중기예보센터(European Centre for Medium-Range Weather Forecasts, 이후 ECMWF)의 ECFS (ECMWF's File Storage System)는 HPSS와 같은 대용량 저장 장치에 접근하여 자료를 보관하거나 검색하는데 있어 용이성을 제공하는 클라이언트-서버 어플리케이션이다. ECFS는 유닉스 스타일의 인터페이스를 채택하여 잘 알려진 유닉스 명령어와 유사한 시스템 명령어를 입력하면 비교적 손쉽게 자료를 관리할 수 있다. 또한 ECMWF에서는 MARS (Meteorological Archival and Retrieval System)을 운용하며 30년 이상 수집, 생성된 기상 데이터를 저장하고 활용할 수 있도록 하고 있다. MARS는 웹이나 CLI (Command Line Interface)를 통하여 접근할 수 있다. ESGF (Earth System Grid Federation)에서는 대규모의 과학적인 데이터에 대한 전세계적인 접근이 용이하도록 분산 데이터 및 연산 플랫폼을 제공하고 있다. 앞서 설명한 타 기관의 기후자료 관리시스템의 특징을 Table 1에 정리하였다. 이처럼 대용량의 데이터를 지속적으로 생산하며 활용하는 경우 자료관리 시스템은 필수불가결한 요소라고 볼 수 있으나, 국립기상과학원에서는 아직까지 체계적인 통합관리시스템이 존재하지 않아 시스템을 필요로 하고 있다. 이러한 요구사항에 의해 구축된 CEDS도 기후모델을 사용하는 실험자들에게 익숙한 유닉스 스타일의 CLI를 제공하여 자료를 관리할 수 있도록 하였다. 또한 웹을 통한 접근도 가능하며, 가시화 등을 통하여 자료 분석을 돕는다. 다음 장에서는 CEDS에 구현된 주요기능에 대하여 자세히 살펴본다.

Table 1. 
Climate model data management system of other institutions.
System Institution Description
MASS UK Met Office Tape-based archiving system
Provide the user-interface ‘MOOSE’ for access to MASS
Offer the resource management to help ensure fair distribution of throughput and storage
GLADE National Center for Atmospheric Research (NCAR) Centralized file storage and the tape-based archiving system
Provide the data analysis, visualization and science gateway resource
ECFS European Centre for Medium-Range Weather Forecasts (ECMWF) Data management using UNIX-like command line interface
MARS Provide accessing the meteorological data that has been collected or generated for more than 30 years
MARS provides the Web UI and CLI
ESGF Peer-to-Peer (P2P) enterprise system
Provide the distributed data and computation platform
Enable the world wide access to Peta/Exa-scale scientific data


3. 기후모델자료 통합관리시스템의 구성
3.1 시스템의 개요

기후모델 실험을 통해 산출된 대용량 기후변화 시나리오 자료의 체계적인 관리와 활용을 위하여 구축된 CEDS는 다음과 같은 기능을 갖도록 설계되었다.

  • - 여러 운영체제에서 다양한 옵션을 이용한 검색 및 관리 기능 구현
  • - 오픈 소스 기반 소프트웨어를 사용한 자료 저장·추출·백업
  • - 국제표준 포맷 기반 메타정보 구성과 자료변환 및 품질 보증
  • - 기후자료의 특성을 반영한 데이터 정렬 및 포맷변환 기능

기후변화 시나리오 산출과 관련하여 수치모델의 수행 및 모의 결과 분석, 재분석자료를 사용한 연구는 대부분 슈퍼컴퓨터 및 공용서버 등에서 리눅스 운영체제를 활용하여 수행된다. 이는 기후모델자료 후처리와 저장의 관점에서 효율적이기 때문이다. 따라서, CEDS는 리눅스 환경에 최적화시켰으며, 일반적으로 알려진 윈도우 환경에서도 이미지 변환 등의 작업이 가능하도록 구축하였다. 또한, Helper utilities 기능을 이용하여 UM모델 출력 포맷인 FieldsFile (ff)의 자료를 Post-Processiong (pp), Gridded Binary (grib), NetCDF(Rew and Davis, 1990) 형식으로의 변환이 가능하도록 하였다. Figure 1은 CEDS의 기능 흐름도를 보여주고 있다.


Fig. 1. 
Functional flow chart of CEDS (Climate & Environment Data System).

CEDS는 검증된 오픈 소스 기반 소프트웨어를 기반으로 구축되었다. 기후모델에서 산출되는 자료는 40 Petabytes의 대용량 NAS 스토리지에 저장되고, 이 자료에 대한 메타정보를 별도로 저장하는 데이터베이스를 두었다. 이러한 메타정보는 자료 검색 시 사용자가 필요로 하는 자료를 빠르게 반환하도록 돕는다. 데이터베이스로는 카산드라가 이용되었다. 분산 시스템으로 구성된 CEDS 적합하며, 장점인 Memory Mapping 기능으로 데이터 처리속도를 상향하고자 하였다(Lakshman and Malik, 2010). 이와 더불어, 강력한 검색기능을 가지고 있는 검색엔진 소프트웨어 엘라스틱서치(Elasticsearch)를 사용하였다. 엘라스틱서치는 데이터베이스 시스템에서는 다루기 어려운 전문(Full Text) 검색이 가능하다(Gormley and Tong, 2015). 전문검색은 데이터의 전체 문장에서 검색어를 추출하여 저장하고 이를 이용하여 검색하는 기능이다. 또한 추후에 시스템의 규모가 늘어나더라도 쉽게 시스템을 확장할 수 있으며, 데이터 유실을 방지하는 장점을 가지고 있다. 정확하고 빠른 검색 결과를 반환하는 엘라스틱서치는 검색 시스템에 널리 사용되고 있어 그 성능이 이미 검증된 소프트웨어이다. 카산드라와 더불어, 기후모델자료의 특성과 통합관리시스템의 목적에 잘 부합되며, 동반상승효과를 가져올 수 있는 조합으로 판단된다.

3.2 국제 표준 자료 변환 및 품질 보증 과정의 적용

CMIP에 참여하는 각 연구기관에서 생산·제출한 기후변화 시나리오 자료는 ESGF (Earth System Grid Federation) 분산 데이터저장소에 저장된다. 여기에 저장된 시나리오 자료는 다양한 목적을 위해서 참여한 기관에 공유하게 된다. 이에 각 기관에서 제출하는 자료는 국제표준자료 포맷의 기준에 적합해야 하며(Williams et al., 2011), 자료의 품질 보증 과정을 통한 검증이 필요하다. CEDS에서는 이러한 CMIP6 자료 제출에 필요한 후처리 과정과 품질 보증 과정을 시스템에 연동하여, CEDS 자료 업로드 명령의 옵션으로 추가하였다.

CMOR (Climate Model Output Rewriter, https://cmor.llnl.gov/) 라이브러리를 이용하여 개발된 후처리 과정은 CMIP에서 정한 규칙에 따라 제출 변수를 NetCDF 형식의 국제 표준 자료로 변환할 수 있도록 해준다. 변환된 자료는 국제 표준 규격 및 각 프로젝트 규칙을 준수하고 있음을 검사하는 품질 보증 과정을 거쳐야 자료에 대한 신뢰성을 확보할 수 있다. 품질 보증 과정에 사용한 도구는 독일의 기후컴퓨팅센터에서 개발한 유틸리티인 QA-DKRZ (Quality Assurance-Deutsches Klima Rechen Zentrum)이며, 변환자료의 메타정보를 검증하는 역할을 한다. 이러한 과정을 CEDS에 연동함으로써 자료 산출에서의 사용자 개입을 최소화 하여 사용의 편의성을 개선하고 발생 가능한 오류 및 불편함을 해소할 것으로 보여진다. 사용자가 환경설정을 통해서 지정할 수 있도록 시스템을 구축함으로써, 제출목적의 시나리오 자료뿐만 아니라 연구목적으로 수행되는 모델자료들도 CEDS를 통하여 관리·활용될 수 있도록 실용성을 향상시켰다.

3.3 디렉토리 구조 및 메타정보 설계

시스템 사용자가 자료를 저장하고 활용하는데 있어 효율성을 주기 위해 디렉토리 구조를 체계화하였다(Table 2). CEDS에 저장되는 자료를 CMIP 제출 자료와 실험 자료로 구분하고, CMIP 제출 자료는 publish/으로 지정한 후 그 하위에 CMIP5/, CMIP6/, CORDEX/를 두어 자료가 저장되도록 하였다. CMIP에 제출되는 자료는 자료 제출에 있어 준수해야 하는 명명규칙이 존재한다. 이에 하위에 입력되는 자료는 CMIP에서 요구하는 디렉토리 명명규칙 및 파일명 규칙을 이용하여 저장되도록 하였다. 실험자료는 자료를 산출하기 위하여 구동되는 모델명인 KACE/, UKESM/, HadGEM3-RA/를 최상위 디렉토리로 하여 분류하였다. 그 하위에는 실험자에 의해 지정되는 [Job id]로 구분하였고, 그 하위의 자료는 a(대기자료)/, o(해양자료)/, i(해빙자료)/로 분류하였다. 모델 수행에 필요한 자료는 work/에 저장된다. 디렉토리 구조는 사용자가 직관적으로 판단가능 하도록 하여 자료의 저장 및 사용에 있어서 혼동을 주지 않도록 설정하였다.

Table 2. 
Directory structure of CEDS. [Job-id] is generated by each user.
Directory Description
publish/ CMIP5/
CMIP6/
CORDEX/
Data for submission to the projects CMIP5, CMIP6 and CORDEX
KACE/ [Job-id]/ a/ Atmosphere region data of KACE model output
o/ Ocean region data of KACE model output
i/ Sea ice region data of KACE model output
work/ Data for KACE model run
UKESM/ [Job-id]/ a/ Atmosphere region data of UKESM model output
o/ Ocean region data of UKESM model output
i/ Sea ice region data of UKESM model output
work/ Data for UKESM model run
HadGEM3-RA/ [Job-id]/ a/ Atmosphere region data of HadGEM3-RA model output
o/ Ocean region data of HadGEM3-RA model output
i/ Sea ice region data of HadGEM3-RA model output
work/ Data for HadGEM3-RA model run

이에 추가하여, CEDS에서는 각 파일이나 디렉토리에 대한 메타정보를 저장해 활용함으로써 자료 활용에 도움을 주고, 다양한 기후자료들의 특성에 맞게 자료를 관리할 수 있도록 하였다. 대용량의 데이터에서 필요한 자료를 검색하는 일반적인 방법은 파일이나 디렉토리 명을 구분하여 키워드로 사용하는 것이다. 그러나 정확한 이름을 구분하지 못한다면 요청하는 자료를 검색하는데 많은 시간과 노력이 요구된다. 이러한 경우 메타정보를 이용한다면 사용자는 원하는 정보를 손쉽게 반환 받을 수 있다. 기후모델자료는 CMOR 과정을 통해 국제표준 포맷의 기준에 해당하는 메타정보가 입력되기도 하나(Taylor et al., 2012), CMOR 과정을 거치지 않는 실험자료의 경우에는 별도의 정보가 파일에 입력되지는 않는다. 전자의 경우 CEDS에서는 파일이 저장될 때 시스템이 자동으로 읽어서 메타정보를 저장하고, 후자의 경우는 사용자가 직접 입력할 수 있도록 하였다. 이미 입력된 메타정보를 삭제하거나 추가하는 기능도 있으며, 이 기능을 활용해 메타정보의 설계 및 구성이 가능하다. 기후모델자료는 실험 기간과 같은 정보 이외에도 모델의 해상도, 사용된 기후강제력, 하위 시뮬레이션 규정 복사강제력, 하위 시뮬레이션 규정 사회경제 강제력, 자료산출기관 등 실험을 구분할 수 있는 다양한 메타정보가 사용될 수 있다. 다양한 자료가 갖는 많은 정보를 일일이 메타정보로 구분하는 것은 어려운 작업이다. 이에 기후자료의 메타정보에 대한 내용을 분류하여 세분화 하였다. Table 3은 모델자료의 메타정보를 범용성과 필수성에 따라 총 4가지로 구분한 내용이며, 각 타입별로 여러 개의 key (property)와 value를 지정할 수 있도록 설계하였고, 국립기상과학원의 CEDS에 적용한 내용을 Table 4에 표기하였다. 표에 나타나는 속성 이외에도 추후에 실험에 따라 필요한 메타정보는 추가될 수 있다. 시스템 사용자가 기후 분석에 필 요한 자료를 추출하기 위해서 이러한 잘 정의된 메타정보를 이용한다면 대용량 데이터베이스에서도 신속하고 정확한 결과의 반환이 가능함을 알 수 있다.

Table 3. 
Classification of variables properties into four types.
Type Essential Optional
Single Essential properties of a single file Optional properties of a single file
Multiple Essential properties of multiple files Optional properties of multiple files

Table 4. 
Metadata classification for attributes of CEDS input/output files.
Type Property Values
SE (Single & Essential) Frequency yr, mon, day, 6hr
Variable name tas, ts, tasmin
SO (Single & Optional) Owner esm, gdhong
Date created YYYY-MM-DD (year, month,day)
Comment Additional information about the data or method
History An audit trail for modifications to the original data
Title Name of experiment
Reference List of published or web-based references
ME (Multiple & Essential) Activity CODEX,CMIP5,CMIP6
Product Output, input
Model HadGEM2-AO, HadCM3
Experiment rcp45, rcp85, historicalGHG
Modeling realm Atmos, ocean, land
File type pp, ff, dump, nc
Ensemble member r3i1p2
MIP tables Amon, LImon, Lmon
Version number Version used to generate the output
Global/regional Global, regional
MO (Multiple & Optional) Institute KMA-NIMS, UKMO
Forcing SD, SS, SI

3.4 분산 병렬 처리 시스템

CEDS는 3대의 서버를 클러스터로 구성하여 운영하는 분산 시스템으로 구축하였고, 카산드라 데이터베이스, 검색 서버, 웹 서버의 세가지 요소를 병렬화 하여 구동되도록 구성하였다. 병렬화는 하나의 컴포넌트에 문제가 발생할 경우 전체 서비스에 문제가 생기는 SPOF (Single Point of Failure)를 방지하여 시스템의 안정성을 높이고, 시스템의 성능을 향상시키기 위한 방안으로 적용되었다. CEDS는 하나의 서버에서 세션에 데이터를 저장하면 클러스터 내의 다른 서버로 데이터가 자동 복제되어 데이터 손실을 방지할 수 있으며, 서버에 문제가 생겼을 경우 다른 서버를 통해 작업을 복구하여 계속 진행할 수 있는 장점이 있다.

저장되는 데이터의 증가와 시스템에 접근하는 사용자의 증가되는 경우 I/O요청에 대한 응답 시간이 길어지게 된다. 이에 소프트웨어 로드 밸런서를 두어 시스템의 성능을 높이고자 하였다. HAproxy는 고가의 하드웨어 로드밸런서를 대체하기 위한 오픈소스 로드 밸런싱 소프트웨어로 시스템의 오류 없이 오랜 시간운영 가능한 고가용성을 위해 설계되었다. CEDS에서는 이를 이용하여 많은 사용자들이 동시에 접근하여 작업을 수행하는 경우 발생 가능한 서비스 지연에 대비하고자 한다. 적절한 로드 밸런싱 알고리즘을 사용하여 유휴중인 서버에 사용자를 배치하여 응답시간을 단축시킨다. CEDS 내 서버들의 작업을 가능한 한 균등하게 분배되도록 하고, 이는 적절한 분산 처리를 통해 전체적인 시스템의 성능을 높일 수 있다.


4. 사용자 인터페이스 구현

CEDS는 명령줄(Command line)이나 웹페이지에 접속하여 사용하도록 구성하였다. 기후모델자료의 생산 및 활용을 위해서 많은 사용자들이 리눅스 시스템을 이용한다. 이러한 사용자의 환경을 고려하여 명령줄에 요청하는 명령어를 입력하여 필요한 작업을 수행할 수 있도록 설계하였다(Fig. 2). 모든 명령어는 ceds라는 키워드로 시작하고 그 다음에 subcommand가 오며 복수개의 인자를 갖도록 하였다. 인자는 subcommand에 대한 파라미터이고 옵션은 각 subcommand의 동작을 조금씩 변형하는 역할을 가진다. 명령어는 사용자가 직관적으로 사용 방법을 알 수 있도록 지정하여 시스템에 익숙하지 못한 사용자도 쉽게 알 수 있도록 작성하였다. 명령어는 사용자 관리, 파일 관리, 메타정보 관리, 자료 검색의 주요 기능을 수행한다. 시스템의 최상위관리자는 사용자를 root, admin, 일반 사용자의 세가지 역할(role)로 구분하여 관리한다. 각 역할에 따라 권한을 다르게 설정하여 사용자 관리가 이루어지고, 허가 받은 사용자는 디렉터리 생성, 삭제, 파일의 저장 및 삭제, 메타정보의 관리 등 획득한 권한을 이용하여 시스템을 사용한다. 사용자는 명령줄에서 인터렉티브하게 사용하는 방법 외에도 스크립트를 작성한 후 스크립트 파일 내에 CEDS 명령어를 입력하고 대량의 자료를 업로드 및 다운로드 하는 것도 가능하도록 하였다.


Fig. 2. 
Initial screen of the CEDS command line interface.

CEDS는 사용자 인증이 필요한 시스템이므로 스크립트를 사용하는 경우는 이러한 인증처리에 어려움이 발생한다. 이에 authkey를 이용한 로그인 기능을 두어 배치작업 수행이 가능하도록 하였다. 사용자는 관리자로부터 발급 받은 authkey를 이용하여 로그인 한 것과 동일한 환경에서 작업을 진행할 수 있다(Fig. 3a). 정보 검색을 위해 작성된 ‘find’ 명령어는 한 개 이상의 단어를 키워드로 사용하여 자료를 검색한다. 다양한 옵션을 지정하여 정확한 자료의 검색이 가능하다(Fig. 3b).


Fig. 3. 
Various functions of CEDS. (a) Login to CEDS using ‘authkey’ generated by the administrator when working with the script. (b) The result of ‘find’ command using the option to specify the exact file name.

CMIP에 제출하기 위한 자료에 대해서는 추가적인 옵션을 지정하여 국제 표준 변환 작업(CMORization)과 품질 보증 과정을 수행할 수 있다. CEDS의 자료 업로드 명령어 실행 시 이러한 옵션을 이용하여 CMORization과 QA를 수행하도록 하였다. 각 옵션에 대한 매개변수 값으로 CMORization을 구동할 수 있는 스크립트의 위치와 QA에 필요한 task 파일의 위치를 지정한다(Fig. 4). CMORization 작업이 완료된 파일은 QA의 입력으로 사용되고 이러한 작업이 모두 성공하는 경우 CEDS에 업로드 된다.


Fig. 4. 
CEDS provides an option of ‘put’ command to automatically operate the CMORization and QA processes for submission of CMIP6 variable data.

웹페이지는 사용자나 관리자에게 간단하고 편리한 인터페이스를 제공한다. 웹 대시보드를 통해 시스템 모니터링도 가능하다(Fig. 5). 모니터링 요소는 시스템상태, DB 및 디스크 현황, 파일 목록, 메타정보 조회, 로그, 작업 히스토리 등이 있다. 이외에도 웹 환경에 IRIS와 NCL을 사용한 모델 결과자료 변환 유틸리티를 추가하여 그래픽 가시화 기능을 사용할 수 있도록 하였다.


Fig. 5. 
Dashboard page for system monitoring and management of CEDS.


5. 시스템 성능 검증
5.1 병렬화 적용에 따른 시스템 성능

CEDS는 시스템 안정성과 성능 향상을 위하여 3대의 서버를 클러스터로 구성한 분산 병렬 처리 시스템 이다. 본 논문에서는 하나의 노드로 구성된 병렬화 이전 시스템과 3대의 노드로 구성된 병렬화 이후 시스템의 성능을 비교하는 실험을 설계하고 결과를 고찰하여 시스템의 성능 및 신뢰도 향상을 가져오는 병렬화의 효과에 대하여 살펴보았다. Table 5는 성능 측정을 위한 실험환경을 보여준다. 각 노드는 버추얼박스를 이용하여 구성하였고, 정확한 측정을 위해 별도의 독립된 환경에서 구동되었다. 성능 측정을 위한 도구로는 아파치 JMeter를 사용하였다. JMeter는 10여년 이상 사용되고 있는 오픈소스 소프트웨어로 CEDS에서 사용하는 HTTP(S), TCP 등의 프로토콜을 모두 지원한다. 사용방법이 많이 복잡하지 않아 적용에 어려움이 없고, 여러 어플리케이션, 서버들을 지원하여 성능테스트를 수행할 수 있다(Halili, 2008). 서버의 부하테스트 수행을 위해서는 옵션 값의 설정이 필요하다. 전체 Thread가 모두 실행되는데 필요한 시간인 ‘Ramp-up Period’와 실행하고자 하는 Thread의 개수값 ‘Number of Threads’, 사용자가 요청하는 반복 작업의 수를 나타내는 ‘Loop Count’를 설정하고, 대량의 검색 요청을 전송하여 성능 차이를 확인하였다. 이 실험은 클러스터로 구축된 병렬화 시스템의 에러율이 0%인 최대 수용량을 기준으로 모의 환경을 구성하였기에 이에 맞추어 ‘Ramp-up Period’와 ‘Number of Threads’를 설정하였다. Figure 6은 실험 결과를 보여주고 있다. 성능평가 결과, 평균 응답 속도는 병렬화 이전의 1,142.75 ms에서 병렬화 이후에는 629.25 ms로 약 81% 향상을 보여주었고, 서버가 처리하는 초당 요청 수를 나타내는 처리량은 304.8건에서 468.3건으로 약 34% 이상 향상됨을 보여주었다. 이러한 개선된 성능은 시스템을 사용하는 사용자의 만족도를 높여 결과적으로 병렬화가 시스템의 안정성, 성능뿐만 아니라 사용자 서비스 면에서도 우수하다는 것을 확인할 수 있다. 성능 개선에 대한 비율은 (p1p2)/p2 수식을 이용하였다(p1 병렬화 이전의 성능, p2 병렬화 이후의 성능).

Table 5. 
Simulation parameters.
Processor Intel i5 7200 K
RAM 32 GB
OS Windows 10 Pro
Memory per each node 6 GB
OS for node Ubuntu 16.04
Number of threads 650
Ramp-up period 15


Fig. 6. 
Performance comparison between before and after the construction of parallel and distributed systems (a) Average response time (b) Throughput.

5.2 검색 요청에 대한 성능 검증

체계적으로 저장된 자료를 활용하는 경우 자료를 새로 생성하는데 필요한 시간과 비용을 줄일 수 있다. 또한 이러한 정보는 사용자의 필요에 맞게 가공되어 가치 있는 정보의 산출도 가능하게 한다. 잘 보관된 자료의 활용을 돕기 위해서는 원하는 자료를 손쉽게 찾을 수 있어야 한다. 자료의 양이 증가할수록 요청자료를 찾아내는 것은 많은 시간을 요구한다. 이에 CEDS는 메타데이터를 활용하는 것뿐만 아니라 검색엔진을 구동하여 필요한 데이터를 빠르게 반환 받을 수 있도록 하였다.

본 논문에서는 CEDS에 구현된 검색 기능을 이용하여 쿼리를 처리하고 이를 사용자에게 반환하는데 걸리는 시간을 평가하였다. 동일한 키워드를 이용하여 자료의 개수가 106 인 경우와 자료의 양을 10배 증가시킨 107 인 경우의 검색요청에 대한 반환 속도를 비교하였다. 실험은 CEDS가 설치되어 있는 서버에서 수행하였고, 3대의 서버는 인텔 Xeon E5-2690V4 @ 2.6 GHz 서버로 140 GB의 메모리로 구성되어 있으며, CentOS Linux 7 OS가 설치 되어 있다. 3대의 서버 모두 동일한 컴퓨팅 환경을 갖추고 있다. Figure 7은 20개의 쿼리를 이용하여 200회 반복 수행한 후 요청 반환 시간의 평균을 내어 비교한 결과를 보여주고 있다. CEDS는 다중 키워드를 이용한 검색이 가능하며 사용된 키워드의 수는 한 개에서부터 최대 13개로 구성하여 성능을 확인하였다. 요청된 쿼리에 의해 의해 반환되는 결과가 많을수록 속도가 느리게 나타나기는 하지만 대체적으로 1초(1,000 ms) 이내의 반환 속도를 보이며, 데이터양이 10배 늘어났음에도 큰 차이를 보이지 않고, 비슷한 속도로 반환하는 좋은 결과를 보였다. Figure 8은 반환되는 결과와 반환 시간의 상관도를 보여주는 산점도 그래프이다. 요청 쿼리에 대한 결과 개수에 의해 응답 시간이 영향을 받는 것을 볼 수 있다. 저장 자료의 개수에 의해 반환하는 결과가 다르지만, 그 차이는 앞서 설명한 것과 같이 최대 1.5초 이내의 빠른 응답시간을 갖는다. 100만개 이하의 검색 결과를 나타내는 경우는 0.8초 이내의 짧은 응답 시간을 보여주고, 1초 이상의 반환 시간이 나타나는 경우는 100만개 이상의 결과를 반환하기 때문인 것으로 나타났다. 따라서 CEDS를 이용하는 이용자가 실험명, 변수명, 기간 정보 등 찾고자 하는 정보에 대한 보다 세분화된 검색어를 이용한다면 반환되는 결과의 개수가 줄어들고, 이에 짧은 시간 내에 정확하게 원하는 정보를 찾아내어 연구에 활용할 수 있을 것이다.


Fig. 7. 
Return time comparison between Million dataset and 10 million dataset.


Fig. 8. 
The scatter plot of the correlation between numbers of results and return time.


6. 요약 및 결론

국립기상과학원에서는 산재되어 관리되던 기후모델자료를 통합하여 효율적으로 관리하기 위해 기후모델자료 통합관리시스템(CEDS)을 구축하였다. 중복 자료를 없애고 쉬운 사용자 인터페이스를 이용하여 자료를 활용할 수 있도록 함으로써 업무 효율을 높이고자 하였다. CMIP6 변수자료 제출에 필요한 국제표준자료변환 과정과 품질 보증 단계를 연동하여, CEDS 자료 업로드 명령어의 옵션으로 실행 가능하도록 하였다. 이는 중간에 발생되는 사용자 개입을 줄임으로 작업속도를 높이고 사용자 실수에 의해 발생될 수 있는 오류를 최소화하여 자료의 신뢰도를 높인다.

실제 파일은 NAS 스토리지에 저장되고 데이터베이스에는 파일의 메타정보가 저장된다. 메타정보는 파일을 업로드 할 때 자동입력 되거나, 사용자가 직접 입력하는 방법으로 생성되어 저장된다. 사용자의 요청에 대하여 유사한 파일들 사이에서 요청 파일을 정확하고 신속하게 반환하는 것은 중요한 일이다. 이를 위해 시스템에서 사용되는 입출력 파일의 정보를 파악하고 특징을 분석한 후, 메타정보로 분류하여 체계화하였고 검색에 활용하였다. 또한 간편한 명령어를 사용하여 데이터베이스에 대하여 전문적인 지식이 없는 사용자도 쉽게 이용 가능하도록 설계하였다. 부하균형을 위한 분산 병렬화의 적용으로 시스템의 안정성을 보장한다. 이는 다수의 사용자에 의한 접근 시에도 빠른 응답이 가능하며, 시스템의 고장 허용 및 고가용성 갖게 되어 전체적인 시스템 성능을 높이는 역할을 한다.

본 논문에서 기술한 CEDS의 사용으로 저장 공간의 낭비를 줄이고 자료의 재활용으로 시간과 노력을 절약할 수 있다. 연구자는 필요한 자료를 손쉽게 획득하여 연구에 활용하고 많은 성과를 얻을 수 있을 것으로 기대된다. 추후 CEDS의 성능 향상을 위해 더 나은 검색 알고리즘을 고려하여 적용시키고자 한다. 또한 업로드 자료에 대한 다양한 가시화 기능을 추가하여, 사용자들에게 편리한 자료 분석 도구를 제공할 예정이다.


Acknowledgments

이 연구는 기상청 국립기상과학원「기후변화 예측기술지원 및 활용연구」 “AR6 기후변화시나리오개발·평가(KMA2018-00321)”의 지원으로 수행되었습니다. 본 논문의 개선을 위해 좋은 의견을 제시해 주신 두 분의 심사위원께 감사를 드립니다.


References
1. Eyring, V., S. Bony, G. A. Meehl, C. A. Senior, B. Stevens, R. J. Stouffer, and K. E. Taylor, (2016), Overview of the Coupled Model Intercomparison Project Phase 6 (CMIP6) experimental design and organization, Geosci. Model Dev., 9, p1937-1958.
2. Gormley, C., and Z. Tong, (2015), Elasticsearch: The Definitive Guide: A Distributed Real-Time Search and Analytics Engine, O'Reilly Media, p724.
3. Guilyardi, E., and Coauthors, (2011), The CMIP5 model and simulation documentation: a new standard for climate modelling metadata, CLIVAR Exchanges, 56, p42-46.
4. Halili, E. H., (2008), Apache JMeter: A practical beginner’s guide to automated testing and performance measurement for your websites, Packt Publishing, p141.
5. IPCC, (2013), Climate Change 2013: The Physical Science Basis. Contribution of Working Group I to The Fifth Assessment Report of The Intergovernmental Panel on Climate Change, Stocker, T. F., et al., Eds., Cambridge University Press, p1535.
6. Lakshman, A., and P. Malik, (2010), Cassandra: A decentralized structured storage system, ACM SIGOPS Operating Systems Review, 44, p35-40.
7. Meehl, G. A., C. Covey, B. McAvaney, M. Latif, and R. J. Stouffer, (2005), Overview of the coupled model inter-comparison project, B. Am. Meteorol. Soc., 86, p89-93.
8. Rew, R., and G. Davis, (1990), NetCDF: An interface for scientific data access, IEEE Comput. Graph., 10, p76-82.
9. Taylor, K. E., V. Balaji, S. Hankin, M. Juckes, B. Lawrence, and S. Pascoe, (2012), CMIP5 data reference syntax (DRS) and controlled vocabularies, p16, [Available online at https://cmip.llnl.gov/cmip5/docs/cmip5_data_reference_syntax.pdf.].
10. Williams, D. N., K. E. Taylor, L. Cinquini, B. Evans, M. Kawamiya, M. Lautenschlager, B. Lawrence, D. Middleton, and E. Contributors, (2011), The Earth System Grid Federation: Software framework supporting CMIP5 data analysis and dissemination, CLIVAR Exchanges, 56, p40-42.