2018.05.23

김진철의 How-to-Big Data | 빅데이터 주요 기술의 조건 (3)

김진철 | CIO KR
LHC 실험의 데이터 그리드 요구 사항
LHC 컴퓨팅 그리드(LHC Computing Grid)를 구축하면서 해결해야 했던 중요한 문제 중 하나는 LHC 데이터 분석 작업을 기관별로 분담한 분석 대상 이벤트에 맞게 각 기관의 그리드 컴퓨팅 자원으로 스케줄링하는 문제와 함께, 컴퓨팅 노드에 스케줄링되어 실행되는 분석 작업들이 분석할 데이터에 어떻게 접근하고 사용하느냐는 것이었다. 어느 그리드 사이트에서도 데이터 접근이 가능하게끔 데이터를 저장, 관리하기 위해 LHC 컴퓨팅 그리드의 데이터 그리드 시스템이 해결해야 했던 기술적인 문제는 다음과 같다.

첫번째로, 컴퓨팅 노드가 전 세계의 고에너지 물리 연구소 데이터센터에 분산되어 있듯이, 실험 데이터를 저장하기 위한 저장 장치 자원도 전 세계의 데이터센터에 분산되어 있고, LHC 컴퓨팅 그리드의 계층적 계산 모델에 따라 저장 장치 자원들도 전세계적인 스케일로 계층화되어 있다는 것이었다.

LHC 컴퓨팅 그리드가 전 지구적으로 자원이 계층적으로 분산되어 있는 시스템이었기 때문에 스토리지도 자연스럽게 계층화될 수밖에 없었다. 이 스토리지 자원 계층화는 CERN에 모든 실험 데이터를 저장해두고 분석할 수 없는 문제 때문이기도 했지만, 여러 공동 연구 기관이 동시에 데이터 분석 작업을 하려다 보니 생기는 문제이기도 했다. LHC 컴퓨팅 그리드 구축 당시의 네트워크 기술이, 대륙을 넘나드는 원거리 지역의 데이터를 가지고 계산을 효과적으로 하기에는 WAN의 대역폭(bandwidth)과 지연(latency) 제약이 컸기 때문에 분석하려는 데이터를 미리 분석하려는 컴퓨팅 그리드 자원 근처로 옮겨 놓을 수밖에 없었기 때문이다. 데이터 분석 작업이 분석할 데이터가 작업이 실행되는 기관의 스토리지 자원에 전송되어 있어야 하는 데이터 지역성(data locality)을 확보해야 했다.



LHC 컴퓨팅 그리드의 저장 장치 자원 티어링(tiering)은 이렇게 그리드 사이트 수준의 계층화뿐만 아니라, 각 데이터센터 내의 데이터 활용 빈도에 따라서도 구성되었다. CERN Tier-0센터에서도 영구 보관하기 위한 원시 데이터는 분석에 자주 활용이 되지 않고 보존(archiving)이 목적인 콜드 데이터(cold data; 사용 빈도가 낮은 데이터)였기 때문에 원시 데이터는 대용량 로봇 테이프 스토리지 장치에 저장되었다. 테이프 스토리지는 I/O 속도가 매우 느리지만, LHC 컴퓨팅 그리드 구축 당시에는 저장 용량당 단가가 가장 쌌고 디스크 어레이나 SAN 스토리지에 비해서 저렴했기 때문에 영구 보존(archiving) 용도로 사용했다.

이렇게 LHC 컴퓨팅 그리드의 계층 구조와 데이터 접근 빈도에 따른 저장 장치 자원의 티어링(tiering)을 고려하여 계층화된 이종(heterogeneous) 저장 장치 자원들을 성능 요구 사항에 맞게 LAN, WAN을 통해 통합하고, 적절하게 데이터를 분배, 배치하는 기술적인 난제를 해결해야 했다.

두번째로, 전지구적으로 계층화된 저장 장치 자원을 하나의 거대한 저장 장치 시스템으로 통합하면서도 데이터 I/O 성능과, 실험하면서 쌓이는 데이터 용량 증가와 함께 스케일 아웃(scale-out) 형태로 데이터 그리드의 용량을 확장할 수 있는 자원 확장성(scalability)이 보장되어야 했다.

LHC 컴퓨팅 그리드의 계층화된 데이터 그리드 모델에서 기관별로 저장 장치 자원을 손쉽게 확장할 수도 있어야 했다. 이에 더해서, 네트워크 인프라의 구조와 정책이 다른 다양한 기관의 저장 장치 자원을 WAN을 통해 원거리로 통합했을 때에도 전체 데이터 그리드의 저장 용량이 확장성 있게 증가되어야 했다. WAN을 통해 컴퓨팅 그리드에서 실행되는 작업의 계산 성능에 영향을 받지 않을 수 있도록 데이터 I/O 성능 또한 보장되어야 했기 때문에 데이터 지역성(data locality)을 적절하게 유지할 수 있는 데이터 관리 모델 또한 필요했다.

세번째로, 각 기관의 데이터센터별로 서로 다른 분산 파일 시스템 기술로 통합된 분산 스토리지 시스템을 단일 인터페이스를 통해 데이터에 접근하고 관리해야 할 필요성이 생겼다. 또한, 데이터의 접근 빈도와 특성별로 Tiering되어 있는 LHC 컴퓨팅 그리드의 저장 장치 자원들을 사용자의 필요에 따라 손쉽게 찾아보고 사용할 수 있도록 하는 열람(lookup) 서비스가 지원되어야 했다.

LHC 컴퓨팅 그리드에 참여하는 기관별로 각 기관의 사정에 따라 저장 장치 자원을 운영하기 위한 분산 파일 시스템이나 저장 장치 미들웨어는 다양한 기술과 제품이 쓰였다. 기관별로 저장 장치 서버에 접근하기 위해 각기 다른 분산 파일 시스템이나 파일 시스템 클라이언트 소프트웨어를 사용하기 때문에, 각 기관에 분산되어 저장된 데이터에 접근하기 위해서는 이렇게 다양한 파일 시스템 클라이언트들을 사용하면서 오는 복잡성을 단순화할 필요가 있었다.

기관별로 저장 장치 자원을 통합하기 위해 디자인하고 구축한 네트워크 패브릭은 수년간의 디자인, 구축 작업과 투자를 통해 만들어진 것이라 LHC 컴퓨팅 그리드 서비스만을 위해서 쉽게 변경되거나 새롭게 구축될 수 없었다. 이렇게 기관별로 다른 네트워크 패브릭의 구조와 네트워크 보안 정책을 존중하면서 WAN을 통해 각 기관에 분산 저장되어 있는 LHC 실험 데이터에 접근하고 사용하려면 추상화된 새로운 계층이 필요하였다.

네번째로, LHC 연구자들은 CERN에 소속된 연구자들도 있지만, 각 국가의 고에너지 물리 연구소나 국립 과학기술 데이터센터에 소속되어 공동 연구를 하는 연구자들이 많았는데, 각 연구자들이 속한 데이터센터의 보안 정책이나 저장 장치 자원 관리 정책이 달라서 오는 접근성 문제가 있었다.

LHC 연구자들이 데이터 분석을 수행할 때는 각 기관 단위로 분석을 하지 않고 각 기관이나 개인이 속한 LHC 실험, 즉 ATLAS, CMS, ALICE, LHCb의 네 개의 검출장치 실험 데이터를 기준으로 가상 조직(virtual organization)을 이루어 데이터를 분석하게 된다. 각 실험에 속한 연구자들이 전 세계의 다양한 지역에 위치한 연구기관에서 일하고 있기 때문에, LHC 컴퓨팅 그리드의 데이터에 접근하는 사람이 적절한 가상 조직에 속하여 접근 권한이 있는 적법한 사용자가 맞는지 인증하는 문제와 함께 데이터 보안을 유지하기 위해서도 많은 정책적, 기술적 문제가 있었다.


LHC 실험의 대용량 데이터 스토리지 기술 – LCG SE, SRM, CASTOR, dCache, DPM, StoRM
이제 LHC 컴퓨팅 그리드에서 사용되는 분산 스토리지 시스템 기술이 어떤 것들이 있는지, 그리고 이 분산 스토리지 시스템 기술들이 어떻게 다양한 그리드 사이트의 저장 장치 자원을 통합하는지 같이 살펴보도록 하자.

LHC 컴퓨팅 그리드 구축 당시에 가장 확장성 있는 스토리지 기술은 SAN 스토리지였지만, SAN 스토리지 장비는 저장 용량당 단가가 가장 비쌌고 구축 비용이 많이 들었기 때문에 분석용 데이터를 위한 모든 스토리지를 SAN으로 구축할 수 없었다. LHC 컴퓨팅 그리드에 참여하는 기관별로 컴퓨팅 및 스토리지 자원에 투자할 수 있는 예산이 달랐기 때문에, 예산이 넉넉하지 않은 공동 연구 기관의 데이터센터에서 SAN으로 그리드 스토리지 시스템을 구성하는 것은 어려웠다.

LHC 컴퓨팅 그리드 구축 당시에는 요즘 기업들이 저지연(low latency) 데이터 I/O를 위해 도입하는 SSD나 플래시 스토리지 시스템이 없었기 때문에, 가장 빠른 데이터 I/O 성능을 보이는 스토리지 제품은 하드 디스크 어레이 스토리지였다. 당시 EMC 및 넷앱 등의 기업은 고성능 디스크 어레이 스토리지 제품을 내놓고 있었다. 예산과 컴퓨팅 시스템의 투자에 여유가 있는 데이터센터에서는 IBM의 HPSS(High-Performance Storage System)와 같은 고가의 스토리지 시스템을 사용하기도 하였다.

디스크 어레이나 서버의 로컬 디스크들을 묶어서 대용량 스토리지를 만들기 위해 당시에는 병렬 클러스터 컴퓨팅을 지원하기 위한 병렬 파일 시스템이 많이 쓰였다. 1994년부터 클러스터 병렬 컴퓨팅 기술이 발전하기 시작하면서 네트워크로 연결된 컴퓨팅 노드에 있는 로컬 스토리지들을 묶어 하나의 대용량 스토리지 시스템으로 만들고, 여러 노드에서 동시에 파일에 접근해도 연산 성능이 보장되도록 하는 병렬 파일 시스템 소프트웨어 기술이 발전하고 있었다. 당시 가장 확장성과 성능이 좋았던 IBM의 상용 병렬 파일 시스템인 GPFS(현재의 스펙트럼 스케일)와 오픈소스로 공개되었던 루스트르(Lustre)가 클러스터 병렬 컴퓨터에서의 병렬 파일 시스템으로 많이 쓰였다.

LHC 실험과 같이 영상 빅데이터가 많은 고에너지 물리학, 천문학, 지구과학 등의 데이터 집중(data-intensive) 과학 실험에서는, 일반 고성능 컴퓨팅과는 다른 저장 장치 요구 사항을 가지고 있었다. 이 때문에 GPFS와 같은 상용 병렬 파일 시스템과 Lustre와 같은 오픈소스 병렬 파일 시스템으로 해결할 수 없는, 데이터 보관의 신뢰성과 확장성(scalability) 요구 사항을 만족하기 위해 고에너지 물리학 연구소 및 국립 데이터센터들을 중심으로 확장성 있는 대용량 분산 파일 시스템 소프트웨어 기술이 개발되었다.
미국 로렌스 버클리 국립 연구소의 과학 데이터 관리 연구그룹(Scientific Data Management Research Group)에서는 확장성 있는(scalable) 데이터 관리를 위한 버클리 스토리지 매니저(Berkeley Storage Manager; BeStMan)를 개발하였다[3]. 로렌스 버클리 연구소의 과학 데이터 관리 연구 그룹은 아래에 설명할 그리드 저장 장치 인터페이스 표준인 저장 자원 관리 인터페이스(Storage Resource Manager; SRM) 표준 제정을 그리드 컴퓨팅 커뮤니티 내에서 주도하기도 했다.

미국의 페르미 국립 연구소(Fermilab), 독일의 국립 전자 싱크로트론 연구소(DESY)와 노르웨이 데이터 그리드 서비스(Nordic DataGrid Facility; NDGF)에서는 단일화된 네임공간(namespace)에서 이종(heterogeneous) 저장 장치 자원에서의 디스크 자원을 통합하고 관리할 수 있도록 하기 위한 분산 저장 장치 관리 시스템인 dCache를 공동 연구개발하였다[5].



dCache는 POSIX API를 비롯한 FTP, Kerberos GSSFTP, GSIFTP, HTTP, dCap, 그리고xRootD등의 다양한 프로토콜을 지원하여, 디스크 어레이 스토리지를 자주 쓰이는 핫 데이터(hot data; 데이터 I/O 빈도가 높은 파일)를 위한 저장 장치 자원으로, OSM, Enstore[6], TSM, HPSS[7], DMF, Castor[4]와 같은 테이프 저장 장치 시스템을 자주 쓰이지 않는 콜드 데이터(cold data; 데이터 I/O 빈도가 낮은 파일들을 말함)의 저장 장치로 하는 계층화된 저장 장치 시스템 구성이 가능하도록 만들어졌다. 이 때문에 LHC 컴퓨팅 그리드에서 다양한 저장 장치 시스템 통합을 위해 새로운 서비스나 데이터 접근 프로토콜을 추가하기에 알맞은 확장성 있는 아키텍처를 가지고 있다.

dCache는 또한 데이터 집중 과학(data-intensive science)에서 자주 요구되는 데이터 저장의 신뢰성(reliability)과 고가용성(high-availability)을 보장하기 위해 부하 분산(load balancing)과 데이터 복제(replication)를 지원한다. 하둡의 분산 파일 시스템인 HDFS가 데이터 복제 기능과 네임 노드 이중화를 통해 신뢰성과 고가용성을 지원하기 시작한 것을 생각해보면 dCache의 데이터 신뢰성, 고가용성 보장 기술은 하둡보다 앞선 것이다.

LHC 컴퓨팅 그리드를 기초로 범유럽 그리드 인프라를 만드는 EGEE 프로젝트에서는 Tier-2 데이터센터에서 디스크 저장 장치 자원을 대용량 저장 장치로 손쉽게 통합할 수 있는 DPM(Disk Pool Manager)이라는 분산 저장 장치 관리 시스템을 개발했다. DPM은 그 이름에서도 알 수 있듯이 테이프 저장 장치가 포함된 계층화된 저장 장치 시스템 구성을 지원하지는 않고, 디스크 저장 장치 자원만을 통합할 수 있다.

DPM은 계층화된 네임공간(hierarchical namespace)을 구성할 수 있도록 지원하며, 물리적인 파일 이름과 경로를 DPM에 저장된 파일의 사이트 파일 이름과 경로(Site File Name)와 매핑하여 관리한다. Globus 그리드 미들웨어의 파일 전송 프로토콜인 GSIFTP를 이용해 데이터를 전송하며, RFIO를 이용해 POSIX 파일 시스템 규약에 준하는 파일 접근과 조작이 가능하다. Xrootd 프로토콜을 지원하여 ROOT에서 DPM 기반의 분산 저장 장치 자원을 손쉽게 통합하여 데이터에 접근할 수 있도록 한다.



StoRM(Storage Resource Manager)은 이탈리아 국립 핵물리 연구소(Istituto Nazionale di Fisica Nucleare(Italian Institute for Nuclear Physics); INFN)와 UN 산하 UNESCO와 IAEA의 후원을 받는 압두스 살람 국제 이론 물리 연구소(The Abdus Salam International Centre for Theoretical Physics; ICTP)에서 경제학과 재무 연구를 위한 EGRID 프로젝트를 지원하기 위해 만든 SRM 2.2 표준을 구현한 분산 저장 장치 관리 소프트웨어이다. Storm은 IBM의 GPFS와 루스트르(Lustre)와 같은 최신 병렬 파일 시스템 기술을 지원할 수 있도록 개발되었다.


2018.05.23

김진철의 How-to-Big Data | 빅데이터 주요 기술의 조건 (3)

김진철 | CIO KR
LHC 실험의 데이터 그리드 요구 사항
LHC 컴퓨팅 그리드(LHC Computing Grid)를 구축하면서 해결해야 했던 중요한 문제 중 하나는 LHC 데이터 분석 작업을 기관별로 분담한 분석 대상 이벤트에 맞게 각 기관의 그리드 컴퓨팅 자원으로 스케줄링하는 문제와 함께, 컴퓨팅 노드에 스케줄링되어 실행되는 분석 작업들이 분석할 데이터에 어떻게 접근하고 사용하느냐는 것이었다. 어느 그리드 사이트에서도 데이터 접근이 가능하게끔 데이터를 저장, 관리하기 위해 LHC 컴퓨팅 그리드의 데이터 그리드 시스템이 해결해야 했던 기술적인 문제는 다음과 같다.

첫번째로, 컴퓨팅 노드가 전 세계의 고에너지 물리 연구소 데이터센터에 분산되어 있듯이, 실험 데이터를 저장하기 위한 저장 장치 자원도 전 세계의 데이터센터에 분산되어 있고, LHC 컴퓨팅 그리드의 계층적 계산 모델에 따라 저장 장치 자원들도 전세계적인 스케일로 계층화되어 있다는 것이었다.

LHC 컴퓨팅 그리드가 전 지구적으로 자원이 계층적으로 분산되어 있는 시스템이었기 때문에 스토리지도 자연스럽게 계층화될 수밖에 없었다. 이 스토리지 자원 계층화는 CERN에 모든 실험 데이터를 저장해두고 분석할 수 없는 문제 때문이기도 했지만, 여러 공동 연구 기관이 동시에 데이터 분석 작업을 하려다 보니 생기는 문제이기도 했다. LHC 컴퓨팅 그리드 구축 당시의 네트워크 기술이, 대륙을 넘나드는 원거리 지역의 데이터를 가지고 계산을 효과적으로 하기에는 WAN의 대역폭(bandwidth)과 지연(latency) 제약이 컸기 때문에 분석하려는 데이터를 미리 분석하려는 컴퓨팅 그리드 자원 근처로 옮겨 놓을 수밖에 없었기 때문이다. 데이터 분석 작업이 분석할 데이터가 작업이 실행되는 기관의 스토리지 자원에 전송되어 있어야 하는 데이터 지역성(data locality)을 확보해야 했다.



LHC 컴퓨팅 그리드의 저장 장치 자원 티어링(tiering)은 이렇게 그리드 사이트 수준의 계층화뿐만 아니라, 각 데이터센터 내의 데이터 활용 빈도에 따라서도 구성되었다. CERN Tier-0센터에서도 영구 보관하기 위한 원시 데이터는 분석에 자주 활용이 되지 않고 보존(archiving)이 목적인 콜드 데이터(cold data; 사용 빈도가 낮은 데이터)였기 때문에 원시 데이터는 대용량 로봇 테이프 스토리지 장치에 저장되었다. 테이프 스토리지는 I/O 속도가 매우 느리지만, LHC 컴퓨팅 그리드 구축 당시에는 저장 용량당 단가가 가장 쌌고 디스크 어레이나 SAN 스토리지에 비해서 저렴했기 때문에 영구 보존(archiving) 용도로 사용했다.

이렇게 LHC 컴퓨팅 그리드의 계층 구조와 데이터 접근 빈도에 따른 저장 장치 자원의 티어링(tiering)을 고려하여 계층화된 이종(heterogeneous) 저장 장치 자원들을 성능 요구 사항에 맞게 LAN, WAN을 통해 통합하고, 적절하게 데이터를 분배, 배치하는 기술적인 난제를 해결해야 했다.

두번째로, 전지구적으로 계층화된 저장 장치 자원을 하나의 거대한 저장 장치 시스템으로 통합하면서도 데이터 I/O 성능과, 실험하면서 쌓이는 데이터 용량 증가와 함께 스케일 아웃(scale-out) 형태로 데이터 그리드의 용량을 확장할 수 있는 자원 확장성(scalability)이 보장되어야 했다.

LHC 컴퓨팅 그리드의 계층화된 데이터 그리드 모델에서 기관별로 저장 장치 자원을 손쉽게 확장할 수도 있어야 했다. 이에 더해서, 네트워크 인프라의 구조와 정책이 다른 다양한 기관의 저장 장치 자원을 WAN을 통해 원거리로 통합했을 때에도 전체 데이터 그리드의 저장 용량이 확장성 있게 증가되어야 했다. WAN을 통해 컴퓨팅 그리드에서 실행되는 작업의 계산 성능에 영향을 받지 않을 수 있도록 데이터 I/O 성능 또한 보장되어야 했기 때문에 데이터 지역성(data locality)을 적절하게 유지할 수 있는 데이터 관리 모델 또한 필요했다.

세번째로, 각 기관의 데이터센터별로 서로 다른 분산 파일 시스템 기술로 통합된 분산 스토리지 시스템을 단일 인터페이스를 통해 데이터에 접근하고 관리해야 할 필요성이 생겼다. 또한, 데이터의 접근 빈도와 특성별로 Tiering되어 있는 LHC 컴퓨팅 그리드의 저장 장치 자원들을 사용자의 필요에 따라 손쉽게 찾아보고 사용할 수 있도록 하는 열람(lookup) 서비스가 지원되어야 했다.

LHC 컴퓨팅 그리드에 참여하는 기관별로 각 기관의 사정에 따라 저장 장치 자원을 운영하기 위한 분산 파일 시스템이나 저장 장치 미들웨어는 다양한 기술과 제품이 쓰였다. 기관별로 저장 장치 서버에 접근하기 위해 각기 다른 분산 파일 시스템이나 파일 시스템 클라이언트 소프트웨어를 사용하기 때문에, 각 기관에 분산되어 저장된 데이터에 접근하기 위해서는 이렇게 다양한 파일 시스템 클라이언트들을 사용하면서 오는 복잡성을 단순화할 필요가 있었다.

기관별로 저장 장치 자원을 통합하기 위해 디자인하고 구축한 네트워크 패브릭은 수년간의 디자인, 구축 작업과 투자를 통해 만들어진 것이라 LHC 컴퓨팅 그리드 서비스만을 위해서 쉽게 변경되거나 새롭게 구축될 수 없었다. 이렇게 기관별로 다른 네트워크 패브릭의 구조와 네트워크 보안 정책을 존중하면서 WAN을 통해 각 기관에 분산 저장되어 있는 LHC 실험 데이터에 접근하고 사용하려면 추상화된 새로운 계층이 필요하였다.

네번째로, LHC 연구자들은 CERN에 소속된 연구자들도 있지만, 각 국가의 고에너지 물리 연구소나 국립 과학기술 데이터센터에 소속되어 공동 연구를 하는 연구자들이 많았는데, 각 연구자들이 속한 데이터센터의 보안 정책이나 저장 장치 자원 관리 정책이 달라서 오는 접근성 문제가 있었다.

LHC 연구자들이 데이터 분석을 수행할 때는 각 기관 단위로 분석을 하지 않고 각 기관이나 개인이 속한 LHC 실험, 즉 ATLAS, CMS, ALICE, LHCb의 네 개의 검출장치 실험 데이터를 기준으로 가상 조직(virtual organization)을 이루어 데이터를 분석하게 된다. 각 실험에 속한 연구자들이 전 세계의 다양한 지역에 위치한 연구기관에서 일하고 있기 때문에, LHC 컴퓨팅 그리드의 데이터에 접근하는 사람이 적절한 가상 조직에 속하여 접근 권한이 있는 적법한 사용자가 맞는지 인증하는 문제와 함께 데이터 보안을 유지하기 위해서도 많은 정책적, 기술적 문제가 있었다.


LHC 실험의 대용량 데이터 스토리지 기술 – LCG SE, SRM, CASTOR, dCache, DPM, StoRM
이제 LHC 컴퓨팅 그리드에서 사용되는 분산 스토리지 시스템 기술이 어떤 것들이 있는지, 그리고 이 분산 스토리지 시스템 기술들이 어떻게 다양한 그리드 사이트의 저장 장치 자원을 통합하는지 같이 살펴보도록 하자.

LHC 컴퓨팅 그리드 구축 당시에 가장 확장성 있는 스토리지 기술은 SAN 스토리지였지만, SAN 스토리지 장비는 저장 용량당 단가가 가장 비쌌고 구축 비용이 많이 들었기 때문에 분석용 데이터를 위한 모든 스토리지를 SAN으로 구축할 수 없었다. LHC 컴퓨팅 그리드에 참여하는 기관별로 컴퓨팅 및 스토리지 자원에 투자할 수 있는 예산이 달랐기 때문에, 예산이 넉넉하지 않은 공동 연구 기관의 데이터센터에서 SAN으로 그리드 스토리지 시스템을 구성하는 것은 어려웠다.

LHC 컴퓨팅 그리드 구축 당시에는 요즘 기업들이 저지연(low latency) 데이터 I/O를 위해 도입하는 SSD나 플래시 스토리지 시스템이 없었기 때문에, 가장 빠른 데이터 I/O 성능을 보이는 스토리지 제품은 하드 디스크 어레이 스토리지였다. 당시 EMC 및 넷앱 등의 기업은 고성능 디스크 어레이 스토리지 제품을 내놓고 있었다. 예산과 컴퓨팅 시스템의 투자에 여유가 있는 데이터센터에서는 IBM의 HPSS(High-Performance Storage System)와 같은 고가의 스토리지 시스템을 사용하기도 하였다.

디스크 어레이나 서버의 로컬 디스크들을 묶어서 대용량 스토리지를 만들기 위해 당시에는 병렬 클러스터 컴퓨팅을 지원하기 위한 병렬 파일 시스템이 많이 쓰였다. 1994년부터 클러스터 병렬 컴퓨팅 기술이 발전하기 시작하면서 네트워크로 연결된 컴퓨팅 노드에 있는 로컬 스토리지들을 묶어 하나의 대용량 스토리지 시스템으로 만들고, 여러 노드에서 동시에 파일에 접근해도 연산 성능이 보장되도록 하는 병렬 파일 시스템 소프트웨어 기술이 발전하고 있었다. 당시 가장 확장성과 성능이 좋았던 IBM의 상용 병렬 파일 시스템인 GPFS(현재의 스펙트럼 스케일)와 오픈소스로 공개되었던 루스트르(Lustre)가 클러스터 병렬 컴퓨터에서의 병렬 파일 시스템으로 많이 쓰였다.

LHC 실험과 같이 영상 빅데이터가 많은 고에너지 물리학, 천문학, 지구과학 등의 데이터 집중(data-intensive) 과학 실험에서는, 일반 고성능 컴퓨팅과는 다른 저장 장치 요구 사항을 가지고 있었다. 이 때문에 GPFS와 같은 상용 병렬 파일 시스템과 Lustre와 같은 오픈소스 병렬 파일 시스템으로 해결할 수 없는, 데이터 보관의 신뢰성과 확장성(scalability) 요구 사항을 만족하기 위해 고에너지 물리학 연구소 및 국립 데이터센터들을 중심으로 확장성 있는 대용량 분산 파일 시스템 소프트웨어 기술이 개발되었다.
미국 로렌스 버클리 국립 연구소의 과학 데이터 관리 연구그룹(Scientific Data Management Research Group)에서는 확장성 있는(scalable) 데이터 관리를 위한 버클리 스토리지 매니저(Berkeley Storage Manager; BeStMan)를 개발하였다[3]. 로렌스 버클리 연구소의 과학 데이터 관리 연구 그룹은 아래에 설명할 그리드 저장 장치 인터페이스 표준인 저장 자원 관리 인터페이스(Storage Resource Manager; SRM) 표준 제정을 그리드 컴퓨팅 커뮤니티 내에서 주도하기도 했다.

미국의 페르미 국립 연구소(Fermilab), 독일의 국립 전자 싱크로트론 연구소(DESY)와 노르웨이 데이터 그리드 서비스(Nordic DataGrid Facility; NDGF)에서는 단일화된 네임공간(namespace)에서 이종(heterogeneous) 저장 장치 자원에서의 디스크 자원을 통합하고 관리할 수 있도록 하기 위한 분산 저장 장치 관리 시스템인 dCache를 공동 연구개발하였다[5].



dCache는 POSIX API를 비롯한 FTP, Kerberos GSSFTP, GSIFTP, HTTP, dCap, 그리고xRootD등의 다양한 프로토콜을 지원하여, 디스크 어레이 스토리지를 자주 쓰이는 핫 데이터(hot data; 데이터 I/O 빈도가 높은 파일)를 위한 저장 장치 자원으로, OSM, Enstore[6], TSM, HPSS[7], DMF, Castor[4]와 같은 테이프 저장 장치 시스템을 자주 쓰이지 않는 콜드 데이터(cold data; 데이터 I/O 빈도가 낮은 파일들을 말함)의 저장 장치로 하는 계층화된 저장 장치 시스템 구성이 가능하도록 만들어졌다. 이 때문에 LHC 컴퓨팅 그리드에서 다양한 저장 장치 시스템 통합을 위해 새로운 서비스나 데이터 접근 프로토콜을 추가하기에 알맞은 확장성 있는 아키텍처를 가지고 있다.

dCache는 또한 데이터 집중 과학(data-intensive science)에서 자주 요구되는 데이터 저장의 신뢰성(reliability)과 고가용성(high-availability)을 보장하기 위해 부하 분산(load balancing)과 데이터 복제(replication)를 지원한다. 하둡의 분산 파일 시스템인 HDFS가 데이터 복제 기능과 네임 노드 이중화를 통해 신뢰성과 고가용성을 지원하기 시작한 것을 생각해보면 dCache의 데이터 신뢰성, 고가용성 보장 기술은 하둡보다 앞선 것이다.

LHC 컴퓨팅 그리드를 기초로 범유럽 그리드 인프라를 만드는 EGEE 프로젝트에서는 Tier-2 데이터센터에서 디스크 저장 장치 자원을 대용량 저장 장치로 손쉽게 통합할 수 있는 DPM(Disk Pool Manager)이라는 분산 저장 장치 관리 시스템을 개발했다. DPM은 그 이름에서도 알 수 있듯이 테이프 저장 장치가 포함된 계층화된 저장 장치 시스템 구성을 지원하지는 않고, 디스크 저장 장치 자원만을 통합할 수 있다.

DPM은 계층화된 네임공간(hierarchical namespace)을 구성할 수 있도록 지원하며, 물리적인 파일 이름과 경로를 DPM에 저장된 파일의 사이트 파일 이름과 경로(Site File Name)와 매핑하여 관리한다. Globus 그리드 미들웨어의 파일 전송 프로토콜인 GSIFTP를 이용해 데이터를 전송하며, RFIO를 이용해 POSIX 파일 시스템 규약에 준하는 파일 접근과 조작이 가능하다. Xrootd 프로토콜을 지원하여 ROOT에서 DPM 기반의 분산 저장 장치 자원을 손쉽게 통합하여 데이터에 접근할 수 있도록 한다.



StoRM(Storage Resource Manager)은 이탈리아 국립 핵물리 연구소(Istituto Nazionale di Fisica Nucleare(Italian Institute for Nuclear Physics); INFN)와 UN 산하 UNESCO와 IAEA의 후원을 받는 압두스 살람 국제 이론 물리 연구소(The Abdus Salam International Centre for Theoretical Physics; ICTP)에서 경제학과 재무 연구를 위한 EGRID 프로젝트를 지원하기 위해 만든 SRM 2.2 표준을 구현한 분산 저장 장치 관리 소프트웨어이다. Storm은 IBM의 GPFS와 루스트르(Lustre)와 같은 최신 병렬 파일 시스템 기술을 지원할 수 있도록 개발되었다.


X