2017.11.08

김진철의 How-to-Big Data | 빅데이터와 클라우드 기술 (2)

김진철 | CIO KR
LHC 빅데이터와 LHC Computing Grid의 계층 구조
LHC 빅데이터를 해결하기 위한 분석 인프라로 LHC Computing Grid가 오늘날 클라우드 컴퓨팅의 주요 기술 중 하나인 가상화를 이종 자원에서 작업 실행 환경의 다양성을 극복하는 기술로 쓰면서 현재의 클라우드 컴퓨팅이 시작되었다고 지난번 아홉 번째 글에서 소개하였다. 오늘은 빅데이터 인프라 구축 시 해결해야 하는 중요한 문제 중 하나인 자원 계층(resource hierarchy) 문제를 LHC Computing Grid에서는 어떻게 해결하고 있는지 살펴보면서 빅데이터 인프라 구축에서 자원 계층 문제의 중요성을 같이 생각해보자.

1992년 LHC 실험에서 1PB 이상의 데이터가 생성된다는 결론을 얻었을 때, CERN의 과학자들은 근본적으로 당시의 기술과 컴퓨터 아키텍처로는 이 많은 데이터를 위한 컴퓨터를 만들 수 없음을 깨달았다. 하지만, 전혀 희망이 없었던 것은 아니었다. LHC 가속기가 건설된 20여년 동안에는 어떤 식으로든 컴퓨터 기술은 발전할 테니, LHC 가속기를 건설하는 동안 발전하는 컴퓨터 기술을 잘 활용한다면 해결할 수 있을 것으로 생각했다. 더군다나 당시에는 VLSI 기술이 무어의 법칙에 따라 급격하게 발전하던 시기였기 때문에 전혀 근거 없는 생각은 아니었다.

하지만, 20여 년 후 미래에 더 좋은 기술이 나와 LHC 빅데이터 문제를 모두 다 해결해줄 것이라고 막연하게 생각할 수는 없었다. LHC 빅데이터가 가진 근본적인 문제가 무엇인지, 기술의 발전으로도 쉽게 해결이 되지 않는 문제가 있다면 그것이 무엇인지는 먼저 파악해야 했고 이에 대한 해결 방법은 찾아야 했다.

LHC 검출기들이 만드는 빅데이터의 근본적인 특성은 CERN의 데이터센터에 원시 데이터부터 분석이 끝난 모든 데이터를 한꺼번에 다 담아 놓을 수 없다는 것이었다. 그렇다면, CERN에 얼마나 큰 데이터센터를 지어야 할 것인가? LHC 가속기와 검출기를 건설하는데 만도 천문학적인 액수의 비용이 드는데, 과연 데이터센터를 무한정 크게 지을 수 있을 것인가?

LHC 빅데이터를 담고 분석할 수 있는 큰 컴퓨팅 인프라를 운영할 데이터센터를 짓는 것의 문제는 단순한 비용만의 문제는 아니었다. 데이터를 담을 수 있는 모든 컴퓨팅 자원을 두고 운영할 수 있는 데이터센터를 CERN에 짓더라도 여러 가지 현실적인 문제가 산적했다. 그 어마어마한 컴퓨팅 자원이 쓸 전기는 어디서 공급할 것인가? 컴퓨팅 자원이 내는 열을 식힐 수 있도록 하려면 냉각 장치 운영에도 큰 비용과 전력이 필요할 텐데 이런 냉각 비용과 전력을 LHC 가속기를 운영하면서 과연 부담할 수 있을 것인가? 데이터센터에 들어가는 컴퓨터들이 하나의 큰 컴퓨터같이 작동하려면 각 컴퓨터 간에 네트워크로 연결되어야 할 텐데, 당시의 네트워크 기술은 대역폭과 지연(latency)이 현재의 네트워크 기술에 비교하면 형편없었다. 컴퓨터 소자 기술과 함께 네트워크 기술도 LHC 가속기를 건설할 20여 년 동안 비약적으로 발전하여 문제가 되지 않을 수 있을까?

  많은 고민과 연구 끝에 CERN의 과학자들은 IT 자원이 가지는 근본적인 물리적 한계 때문에 LHC Computing Grid 자원 또한 CERN의 데이터센터에 모두 둘 수 없다는 것을 깨달았다. 당시 지구상 어느 데이터센터에서도 하나의 데이터센터에 모든 원시 데이터를 두고 데이터를 가공하고 분석하며 분석된 데이터까지 보관할 수는 없었다.

지난 아홉 번째 글에서도 살펴보았듯이 LHC 데이터 분석의 또 하나 중요한 문제는 데이터 분석을 수행할 물리학자들이 전 세계 다양한 지역에서 살면서 연구한다는 것이었다. CERN에 상주하는 물리학자들만으로는 방대한 데이터를 신속하게 분석할 수 없었기 때문에 국제 협력은 반드시 필요한데, 이렇게 막대한 양의 데이터를 과연 어느 정도까지 각 물리학자들이 일하는 지역까지 어떻게 전송해줄 것인가?

위와 같이 막대한 양의 원시 데이터와 분석용 데이터를 저장, 가공, 분석하는 데 필요한 컴퓨팅 자원을 하나의 데이터센터에 모두 수용할 수 없다는 것과, 분석을 수행할 물리학자들이 전 세계 여러 지역에서 일하는 문제로 전 지구적인 분산 컴퓨팅 시스템이 필요하다는 요구 사항 때문에 LHC 실험에서 그리드 컴퓨팅을 적극적으로 채택하게 되었다는 것은 이미 언급한 바 있다. LHC Computing Grid 인프라의 또 하나의 중요한 특징은 바로 계층 구조다.



CERN은 LHC 실험을 위한 그리드 컴퓨팅 인프라를 데이터의 특성과 가공 정도, 분석 필요성에 따라 크게 세 개의 계층(tier)으로 구분하고, 이에 맞는 컴퓨팅 서비스를 제공하는 계층 구조(tier structure)의 그리드 컴퓨팅 모델을 고안해냈다. <그림 1>에서처럼 CERN의 LHC Computing Grid는 크게 세 개의 계층으로 구성된다[2].

LHC Computing Grid의 Tier-0 계층의 그리드 컴퓨팅 자원은 CERN에 위치하며, LHC 검출기에서 취득된 가공되지 않은 원시 데이터와 기초적인 메타데이터가 덧붙여진 1차 가공 데이터, 그리고, 원시 데이터 및 분석 데이터의 백업본이 보관된다. 전 세계 데이터 분석 작업을 위한 계산 자원의 약 20%를 제공하여 대량의 배치 데이터 분석과 데이터 재처리(reprocessing)를 수행한다.

LHC Computing Grid의 Tier-1 계층의 그리드 컴퓨팅 자원은 각 국가별 주요 고에너지 물리 국립 연구소나 국립 컴퓨팅 센터들이 해당 국가의 물리학자들이 분담하여 분석하기로 한 원시 데이터와 1차 가공 이벤트 데이터의 상당량을 CERN의 Tier-0 그리드 자원에서 전송받아 보관한다. 이와 함께, 데이터 분석에 사용될 이벤트 시뮬레이션 데이터를 각 Tier-2 그리드 자원으로부터 받아 향후 데이터 분석을 위해 보관하면서 분석을 수행하는 물리학자들에게 제공한다. 대량의 배치 데이터 분석과 데이터 재처리에 사용되는 상당량의 컴퓨팅 자원도 제공한다. Tier-1 그리드 컴퓨팅 자원은 현재 전 세계의 13개 국립 컴퓨팅 센터에서 제공되고 있다.

LHC Computing Grid의 Tier-2 계층의 그리드 컴퓨팅 자원은 실제 분석을 수행하는 물리학자들이 연구하는 연구소나 대학 연구실에 위치하게 된다. Tier-2에서 실질적인 입자 물리학적인 이벤트 데이터 분석이 수행된다. Tier-2 그리드 컴퓨팅 자원의 또 하나의 중요한 역할은 이벤트 데이터의 자동 분류 및 메타데이터 추가 작업을 위한 이벤트 시뮬레이션 데이터를 가능하면 많이 생성하는 데 있다. Tier-2 그리드 컴퓨팅 자원은 전 세계에 약 160여 개가 운영되고 있다.

위에 더해 각 물리학자 개인이나 대학, 연구소 연구팀이 개별로 사용하면서 LHC Computing Grid에 접속할 수 있는 컴퓨팅 자원을 Tier-3로 분류하기도 한다. 하지만, Tier-3는 LHC Computing Grid 미들웨어로 통합 운영되지 않기 때문에 보통 LHC Computing Grid 자원이라고 하면 Tier-2 그리드 컴퓨팅 자원까지 말한다.

현재의 컴퓨터 기술이 무한정의 컴퓨팅 자원을 제공할 수 없고, 전 세계 다양한 지역에서 다양한 분석 작업을 분담하여 동시에 분석을 수행해야 한다는 요구사항 때문에 생긴 LHC Computing Grid의 계층 모델은 빅데이터 처리를 위해 컴퓨팅 자원의 계층 구조를 해결하려는 문제의 특성에 맞게 디자인하여 해결해야 한다는 교훈을 우리에게 보여준다. 데이터의 생성 빈도 및 크기, 그리고 데이터 자체의 특성과 데이터에 접근하여 사용하는 사용자들, 그리고 사용자가 수행하는 분석 작업의 특성을 고려한 LHC Computing Grid의 잘 짜인 계층 모델은 전 세계에 걸쳐 연중무휴(24/7)로 운영되는 LHC Computing Grid가 LHC 실험을 시작한 지 불과 4년 만에 목표로 했던 힉스 보존을 발견하는 데 크게 공헌하였다.


빅데이터 인프라 구축에서의 자원 계층 문제 - 빅데이터 기술의 시작과 끝
빅데이터 문제가 최근 생겨난 것처럼 크게 주목받았는데, 사실은 컴퓨터 과학의 역사가 빅데이터 문제를 해결해온 역사라고 생각할 수 있다. 빅데이터 문제는, 빅데이터라는 말을 쓰지 않았을 뿐이지, 컴퓨터 기술의 역사에서 컴퓨팅 파워가 비약적으로 향상할 즈음 등장한 문제였다. 다만, 그 당시에는 컴퓨팅 파워가 비약적으로 향상된다고 해도 여러 대의 컴퓨터를 묶어 분산 컴퓨팅 시스템으로 구성하여 부족한 컴퓨팅 자원 문제를 해결한다기보다는 단일 컴퓨터의 성능을 최대한으로 높이는 쪽으로 발전해 왔기 때문에 컴퓨터 기술 발전에의 영향이 최근 빅데이터 문제로 생기는 컴퓨팅 기술의 변화보다는 눈에 띄지 않았던 것뿐이다.

빅데이터 문제는 바로 컴퓨팅 시스템의 물리적인 유한성 때문에 생긴다. 우리가 물리적 법칙에 지배받는 물질을 이용해 유한한 크기와 용량을 가지는 컴퓨터를 만들 수밖에 없다 보니, 하나의 컴퓨터에서 단위 시간당 처리할 수 있는 데이터의 양에는 언제나 제약이 있을 수밖에 없다. 20세기 들어 정보기술의 발전 속도가 빨라지고 사회가 복잡해지면서, 데이터의 생성 속도가 하나의 컴퓨터에서 처리할 수 있는 데이터의 양보다 더 빠르게 기하급수적으로 증가하다 보니 빅데이터 문제가 생기는 것이다. 이런 측면에서 보면 컴퓨터 과학과 기술의 역사는 곧 빅데이터 문제를 해결해온 역사라고도 볼 수 있다.

비즈니스를 수행하기 위해 빅데이터를 다루어야 하는 기업이라면 반드시 이런 자원 계층성 문제를 해결해야 할 것이다. 빅데이터를 효과적으로 다루어야 하는 시스템이란 결국 해결하고자 하는 비즈니스 요구사항과 문제에 맞게 처리해야 하는 데이터의 양과 생성 속도에 맞는 확장성(scalability)을 갖는 시스템을 적절하게 설계, 구현한 시스템이다.

이런 자원 계층성 문제는 사실 모든 종류의 IT시스템에서 근본적으로 생기는 문제다. 하지만, 이러한 자원 계층성 문제에는 현재 정답이 없다. 이 자원 계층성 문제를 어떤 요구사항에 따라 어떻게 풀어내었는가에 따라 다양한 빅데이터 기술들이 나올 수 있다는 점에서 빅데이터 문제 해결의 근본이라고 할 수 있다.

한때 하둡만 있으면 모든 것이 다 해결될 것 같은 분위기였다. 그러다 요즘은 아파치 스파크나 SAP HANA 등과 비슷한 다른 종류의 인메모리 빅데이터 기술로 옮겨가는 분위기다. 하지만, 그 어떤 기술도 모든 종류의 빅데이터 문제를 근본적으로 해결하지는 못한다. 오히려 해결하려는 비즈니스 문제에 성능과 기능 측면에서 다소 부족한 소프트웨어 도구라 할지라도, 자원 계층 문제를 소프트웨어로 해결할 수 있다면 효과적으로 빅데이터 처리, 분석 시스템을 구축할 수 있다. 이 때문에 빅데이터 소프트웨어와 기술을 컨설팅하고 비즈니스 도메인에 맞게 솔루션과 기술 지원 서비스를 제공하는 비즈니스가 가능한 것이다.

참고로 한 가지 더 언급하자면, 최근 컴퓨터 기술은 미세한 소자부터 거대한 엑사스케일 수퍼컴퓨팅 아키텍처에 이르기까지 전 영역에서 혁신이 일어나고 있다. 특히, 서버 단위의 노드(node), 랙(rack), 복수의 랙으로 구성된 클러스터(cluster), 그리고 다양한 클러스터 및 분산 컴퓨팅 시스템으로 구성된 분명한 물리적 계층을 가지는 데이터센터 IT 자원이 노드와 랙 간의 계층 구조가 점차 허물어지는 추세다. 이런 경향은 인피니밴드 EDR, 인텔 옴니패스, 100Gbps 이더넷 등의 초저지연, 고대역폭 고성능 네트워크 기술의 발전과 GPU와 같은 매니코어 프로세서 기술의 발전, 엔비디아의 NV링크(NVLink)와 같은 단일 노드 내의 CPU-램-디스크 간 자원 계층 구조를 허무는 고성능 데이터 버스 기술의 발전으로 점점 더 심화되고 있다.



위와 같이 노드와 랙 간의 자원 계층이 허물어지고 있는 최근 컴퓨터 아키텍처 변화의 추세, 발전하는 분산 컴퓨팅 소프트웨어 기술, 그리고 점점 더 높아지고 있는 단위 면적당 데이터 저장 용량의 증가와 SSD, 인텔의 3D 크로스포인트 기술과 같은 데이터 스토리지 나노 기술 발전의 영향으로 현재 페타스케일에서 엑사스케일의 빅데이터 문제는 머지않은 시기에 좀더 단순하고 적은 컴퓨팅 시스템으로 어렵지 않게 해결될 수 있을 것으로 보인다. 필자가 LHC Computing Grid를 연구하던 2005년에서 2008년에만 해도 1TB의 저장용량을 만들려면 72GB에서 146GB의 하드 디스크 10개에서 20개를 가격이 아주 비싼 디스크 어레이를 통해 묶어야 했다. 하지만 요즘은 16TB 하드디스크도 있고, 16~60TB인 SSD도 나오고 있다.

위에 더해 SSD는 3차원으로 회로 패턴을 적층해 만드는 NVMe나 인텔의 3D 크로스포인트 기술, PCIe버스에 연결하는 M.2 SSD 제품들이 등장하면서 I/O 성능도 크게 향상되어 이제 수십 TB 정도의 빅데이터를 하나의 서버에 보관하고 처리하는 것은 어렵지 않은 문제가 되었다. 이런 추세를 보더라도 빅데이터 문제는 각 시대의 컴퓨터 기술 특성과 데이터 증가 속도에 따라 계속해서 나타나는 현상이지 요즘 들어 처음 등장한 현상이 아니라는 것을 다시 한번 확인할 수 있다.

CERN이 LHC 빅데이터 문제를 해결하기 위해 20년 후에 나타날 새로운 컴퓨팅 기술을 고려하여 LHC Computing Grid 시스템을 설계하고 미들웨어를 개발하였지만, 사용하는 물리학자들이 일하는 방식과 데이터의 전송 특성, 분석 작업의 특성을 고려한 그리드 컴퓨팅 자원의 계층 모델이 없었다면 오늘날과 같이 효과적으로 동작하는 LHC Computing Grid는 없었을 것이다. 이와 같이 반드시 첨단 기술이 아니라고 해도 빅데이터 문제를 잘 이해하고, 데이터를 사용하고 분석할 사용자의 작업 패턴과 유형 그리고 데이터의 특성을 잘 이해하며, 이러한 요구 조건에 맞게 빅데이터 시스템을 구축하는 것이 중요하다는 교훈을 LHC Computing Grid를 통해 다시 배울 수 있다.

[참고문헌]
[1] 김진철, “LHC에서 배우는 빅데이터와 machine learning 활용 방안”, 2016년 9월 28일, A CIO Conversation for Technology Leadership – Breakfast Roundtable 발표 자료
[2] WLCG Tier centres, http://wlcg-public.web.cern.ch/tier-centres.
[3] 김진철, “Towards Singularity: Computing Technology Advances for Artificial Intel ligence
- Trends in H/W, S/W and TensorFlow -,” 2017 Global Mobile Vision Conference, KINTEX, 2017.
[4] 인텔® Rack Scale Architecture in Action, https://goo.gl/MxP5gY .

*김진철 박사는 1997년 한국과학기술원에서 물리학 학사, 1999년 포항공과대학교에서 인공신경망에 대한 연구로 석사 학위를, 2005년 레이저-플라즈마 가속기에 대한 연구로 박사 학위를 받았다. 2005년부터 유럽입자물리학연구소(CERN)의 LHC 데이터 그리드 구축, 개발에 참여, LHC 빅데이터 인프라를 위한 미들웨어 및 데이터 분석 기술을 연구하였다. 이후 한국과학기술정보연구원(KISTI), 포항공과대학교, 삼성SDS를 거쳐 2013년부터 SK텔레콤에서 클라우드 컴퓨팅과 인공지능 기술을 연구하고 있다. 빅데이터와 인공지능 기술의 기업 활용 방안에 대해 최근 다수의 초청 강연 및 컨설팅을 수행하였다. ciokr@idg.co.kr
 
2017.11.08

김진철의 How-to-Big Data | 빅데이터와 클라우드 기술 (2)

김진철 | CIO KR
LHC 빅데이터와 LHC Computing Grid의 계층 구조
LHC 빅데이터를 해결하기 위한 분석 인프라로 LHC Computing Grid가 오늘날 클라우드 컴퓨팅의 주요 기술 중 하나인 가상화를 이종 자원에서 작업 실행 환경의 다양성을 극복하는 기술로 쓰면서 현재의 클라우드 컴퓨팅이 시작되었다고 지난번 아홉 번째 글에서 소개하였다. 오늘은 빅데이터 인프라 구축 시 해결해야 하는 중요한 문제 중 하나인 자원 계층(resource hierarchy) 문제를 LHC Computing Grid에서는 어떻게 해결하고 있는지 살펴보면서 빅데이터 인프라 구축에서 자원 계층 문제의 중요성을 같이 생각해보자.

1992년 LHC 실험에서 1PB 이상의 데이터가 생성된다는 결론을 얻었을 때, CERN의 과학자들은 근본적으로 당시의 기술과 컴퓨터 아키텍처로는 이 많은 데이터를 위한 컴퓨터를 만들 수 없음을 깨달았다. 하지만, 전혀 희망이 없었던 것은 아니었다. LHC 가속기가 건설된 20여년 동안에는 어떤 식으로든 컴퓨터 기술은 발전할 테니, LHC 가속기를 건설하는 동안 발전하는 컴퓨터 기술을 잘 활용한다면 해결할 수 있을 것으로 생각했다. 더군다나 당시에는 VLSI 기술이 무어의 법칙에 따라 급격하게 발전하던 시기였기 때문에 전혀 근거 없는 생각은 아니었다.

하지만, 20여 년 후 미래에 더 좋은 기술이 나와 LHC 빅데이터 문제를 모두 다 해결해줄 것이라고 막연하게 생각할 수는 없었다. LHC 빅데이터가 가진 근본적인 문제가 무엇인지, 기술의 발전으로도 쉽게 해결이 되지 않는 문제가 있다면 그것이 무엇인지는 먼저 파악해야 했고 이에 대한 해결 방법은 찾아야 했다.

LHC 검출기들이 만드는 빅데이터의 근본적인 특성은 CERN의 데이터센터에 원시 데이터부터 분석이 끝난 모든 데이터를 한꺼번에 다 담아 놓을 수 없다는 것이었다. 그렇다면, CERN에 얼마나 큰 데이터센터를 지어야 할 것인가? LHC 가속기와 검출기를 건설하는데 만도 천문학적인 액수의 비용이 드는데, 과연 데이터센터를 무한정 크게 지을 수 있을 것인가?

LHC 빅데이터를 담고 분석할 수 있는 큰 컴퓨팅 인프라를 운영할 데이터센터를 짓는 것의 문제는 단순한 비용만의 문제는 아니었다. 데이터를 담을 수 있는 모든 컴퓨팅 자원을 두고 운영할 수 있는 데이터센터를 CERN에 짓더라도 여러 가지 현실적인 문제가 산적했다. 그 어마어마한 컴퓨팅 자원이 쓸 전기는 어디서 공급할 것인가? 컴퓨팅 자원이 내는 열을 식힐 수 있도록 하려면 냉각 장치 운영에도 큰 비용과 전력이 필요할 텐데 이런 냉각 비용과 전력을 LHC 가속기를 운영하면서 과연 부담할 수 있을 것인가? 데이터센터에 들어가는 컴퓨터들이 하나의 큰 컴퓨터같이 작동하려면 각 컴퓨터 간에 네트워크로 연결되어야 할 텐데, 당시의 네트워크 기술은 대역폭과 지연(latency)이 현재의 네트워크 기술에 비교하면 형편없었다. 컴퓨터 소자 기술과 함께 네트워크 기술도 LHC 가속기를 건설할 20여 년 동안 비약적으로 발전하여 문제가 되지 않을 수 있을까?

  많은 고민과 연구 끝에 CERN의 과학자들은 IT 자원이 가지는 근본적인 물리적 한계 때문에 LHC Computing Grid 자원 또한 CERN의 데이터센터에 모두 둘 수 없다는 것을 깨달았다. 당시 지구상 어느 데이터센터에서도 하나의 데이터센터에 모든 원시 데이터를 두고 데이터를 가공하고 분석하며 분석된 데이터까지 보관할 수는 없었다.

지난 아홉 번째 글에서도 살펴보았듯이 LHC 데이터 분석의 또 하나 중요한 문제는 데이터 분석을 수행할 물리학자들이 전 세계 다양한 지역에서 살면서 연구한다는 것이었다. CERN에 상주하는 물리학자들만으로는 방대한 데이터를 신속하게 분석할 수 없었기 때문에 국제 협력은 반드시 필요한데, 이렇게 막대한 양의 데이터를 과연 어느 정도까지 각 물리학자들이 일하는 지역까지 어떻게 전송해줄 것인가?

위와 같이 막대한 양의 원시 데이터와 분석용 데이터를 저장, 가공, 분석하는 데 필요한 컴퓨팅 자원을 하나의 데이터센터에 모두 수용할 수 없다는 것과, 분석을 수행할 물리학자들이 전 세계 여러 지역에서 일하는 문제로 전 지구적인 분산 컴퓨팅 시스템이 필요하다는 요구 사항 때문에 LHC 실험에서 그리드 컴퓨팅을 적극적으로 채택하게 되었다는 것은 이미 언급한 바 있다. LHC Computing Grid 인프라의 또 하나의 중요한 특징은 바로 계층 구조다.



CERN은 LHC 실험을 위한 그리드 컴퓨팅 인프라를 데이터의 특성과 가공 정도, 분석 필요성에 따라 크게 세 개의 계층(tier)으로 구분하고, 이에 맞는 컴퓨팅 서비스를 제공하는 계층 구조(tier structure)의 그리드 컴퓨팅 모델을 고안해냈다. <그림 1>에서처럼 CERN의 LHC Computing Grid는 크게 세 개의 계층으로 구성된다[2].

LHC Computing Grid의 Tier-0 계층의 그리드 컴퓨팅 자원은 CERN에 위치하며, LHC 검출기에서 취득된 가공되지 않은 원시 데이터와 기초적인 메타데이터가 덧붙여진 1차 가공 데이터, 그리고, 원시 데이터 및 분석 데이터의 백업본이 보관된다. 전 세계 데이터 분석 작업을 위한 계산 자원의 약 20%를 제공하여 대량의 배치 데이터 분석과 데이터 재처리(reprocessing)를 수행한다.

LHC Computing Grid의 Tier-1 계층의 그리드 컴퓨팅 자원은 각 국가별 주요 고에너지 물리 국립 연구소나 국립 컴퓨팅 센터들이 해당 국가의 물리학자들이 분담하여 분석하기로 한 원시 데이터와 1차 가공 이벤트 데이터의 상당량을 CERN의 Tier-0 그리드 자원에서 전송받아 보관한다. 이와 함께, 데이터 분석에 사용될 이벤트 시뮬레이션 데이터를 각 Tier-2 그리드 자원으로부터 받아 향후 데이터 분석을 위해 보관하면서 분석을 수행하는 물리학자들에게 제공한다. 대량의 배치 데이터 분석과 데이터 재처리에 사용되는 상당량의 컴퓨팅 자원도 제공한다. Tier-1 그리드 컴퓨팅 자원은 현재 전 세계의 13개 국립 컴퓨팅 센터에서 제공되고 있다.

LHC Computing Grid의 Tier-2 계층의 그리드 컴퓨팅 자원은 실제 분석을 수행하는 물리학자들이 연구하는 연구소나 대학 연구실에 위치하게 된다. Tier-2에서 실질적인 입자 물리학적인 이벤트 데이터 분석이 수행된다. Tier-2 그리드 컴퓨팅 자원의 또 하나의 중요한 역할은 이벤트 데이터의 자동 분류 및 메타데이터 추가 작업을 위한 이벤트 시뮬레이션 데이터를 가능하면 많이 생성하는 데 있다. Tier-2 그리드 컴퓨팅 자원은 전 세계에 약 160여 개가 운영되고 있다.

위에 더해 각 물리학자 개인이나 대학, 연구소 연구팀이 개별로 사용하면서 LHC Computing Grid에 접속할 수 있는 컴퓨팅 자원을 Tier-3로 분류하기도 한다. 하지만, Tier-3는 LHC Computing Grid 미들웨어로 통합 운영되지 않기 때문에 보통 LHC Computing Grid 자원이라고 하면 Tier-2 그리드 컴퓨팅 자원까지 말한다.

현재의 컴퓨터 기술이 무한정의 컴퓨팅 자원을 제공할 수 없고, 전 세계 다양한 지역에서 다양한 분석 작업을 분담하여 동시에 분석을 수행해야 한다는 요구사항 때문에 생긴 LHC Computing Grid의 계층 모델은 빅데이터 처리를 위해 컴퓨팅 자원의 계층 구조를 해결하려는 문제의 특성에 맞게 디자인하여 해결해야 한다는 교훈을 우리에게 보여준다. 데이터의 생성 빈도 및 크기, 그리고 데이터 자체의 특성과 데이터에 접근하여 사용하는 사용자들, 그리고 사용자가 수행하는 분석 작업의 특성을 고려한 LHC Computing Grid의 잘 짜인 계층 모델은 전 세계에 걸쳐 연중무휴(24/7)로 운영되는 LHC Computing Grid가 LHC 실험을 시작한 지 불과 4년 만에 목표로 했던 힉스 보존을 발견하는 데 크게 공헌하였다.


빅데이터 인프라 구축에서의 자원 계층 문제 - 빅데이터 기술의 시작과 끝
빅데이터 문제가 최근 생겨난 것처럼 크게 주목받았는데, 사실은 컴퓨터 과학의 역사가 빅데이터 문제를 해결해온 역사라고 생각할 수 있다. 빅데이터 문제는, 빅데이터라는 말을 쓰지 않았을 뿐이지, 컴퓨터 기술의 역사에서 컴퓨팅 파워가 비약적으로 향상할 즈음 등장한 문제였다. 다만, 그 당시에는 컴퓨팅 파워가 비약적으로 향상된다고 해도 여러 대의 컴퓨터를 묶어 분산 컴퓨팅 시스템으로 구성하여 부족한 컴퓨팅 자원 문제를 해결한다기보다는 단일 컴퓨터의 성능을 최대한으로 높이는 쪽으로 발전해 왔기 때문에 컴퓨터 기술 발전에의 영향이 최근 빅데이터 문제로 생기는 컴퓨팅 기술의 변화보다는 눈에 띄지 않았던 것뿐이다.

빅데이터 문제는 바로 컴퓨팅 시스템의 물리적인 유한성 때문에 생긴다. 우리가 물리적 법칙에 지배받는 물질을 이용해 유한한 크기와 용량을 가지는 컴퓨터를 만들 수밖에 없다 보니, 하나의 컴퓨터에서 단위 시간당 처리할 수 있는 데이터의 양에는 언제나 제약이 있을 수밖에 없다. 20세기 들어 정보기술의 발전 속도가 빨라지고 사회가 복잡해지면서, 데이터의 생성 속도가 하나의 컴퓨터에서 처리할 수 있는 데이터의 양보다 더 빠르게 기하급수적으로 증가하다 보니 빅데이터 문제가 생기는 것이다. 이런 측면에서 보면 컴퓨터 과학과 기술의 역사는 곧 빅데이터 문제를 해결해온 역사라고도 볼 수 있다.

비즈니스를 수행하기 위해 빅데이터를 다루어야 하는 기업이라면 반드시 이런 자원 계층성 문제를 해결해야 할 것이다. 빅데이터를 효과적으로 다루어야 하는 시스템이란 결국 해결하고자 하는 비즈니스 요구사항과 문제에 맞게 처리해야 하는 데이터의 양과 생성 속도에 맞는 확장성(scalability)을 갖는 시스템을 적절하게 설계, 구현한 시스템이다.

이런 자원 계층성 문제는 사실 모든 종류의 IT시스템에서 근본적으로 생기는 문제다. 하지만, 이러한 자원 계층성 문제에는 현재 정답이 없다. 이 자원 계층성 문제를 어떤 요구사항에 따라 어떻게 풀어내었는가에 따라 다양한 빅데이터 기술들이 나올 수 있다는 점에서 빅데이터 문제 해결의 근본이라고 할 수 있다.

한때 하둡만 있으면 모든 것이 다 해결될 것 같은 분위기였다. 그러다 요즘은 아파치 스파크나 SAP HANA 등과 비슷한 다른 종류의 인메모리 빅데이터 기술로 옮겨가는 분위기다. 하지만, 그 어떤 기술도 모든 종류의 빅데이터 문제를 근본적으로 해결하지는 못한다. 오히려 해결하려는 비즈니스 문제에 성능과 기능 측면에서 다소 부족한 소프트웨어 도구라 할지라도, 자원 계층 문제를 소프트웨어로 해결할 수 있다면 효과적으로 빅데이터 처리, 분석 시스템을 구축할 수 있다. 이 때문에 빅데이터 소프트웨어와 기술을 컨설팅하고 비즈니스 도메인에 맞게 솔루션과 기술 지원 서비스를 제공하는 비즈니스가 가능한 것이다.

참고로 한 가지 더 언급하자면, 최근 컴퓨터 기술은 미세한 소자부터 거대한 엑사스케일 수퍼컴퓨팅 아키텍처에 이르기까지 전 영역에서 혁신이 일어나고 있다. 특히, 서버 단위의 노드(node), 랙(rack), 복수의 랙으로 구성된 클러스터(cluster), 그리고 다양한 클러스터 및 분산 컴퓨팅 시스템으로 구성된 분명한 물리적 계층을 가지는 데이터센터 IT 자원이 노드와 랙 간의 계층 구조가 점차 허물어지는 추세다. 이런 경향은 인피니밴드 EDR, 인텔 옴니패스, 100Gbps 이더넷 등의 초저지연, 고대역폭 고성능 네트워크 기술의 발전과 GPU와 같은 매니코어 프로세서 기술의 발전, 엔비디아의 NV링크(NVLink)와 같은 단일 노드 내의 CPU-램-디스크 간 자원 계층 구조를 허무는 고성능 데이터 버스 기술의 발전으로 점점 더 심화되고 있다.



위와 같이 노드와 랙 간의 자원 계층이 허물어지고 있는 최근 컴퓨터 아키텍처 변화의 추세, 발전하는 분산 컴퓨팅 소프트웨어 기술, 그리고 점점 더 높아지고 있는 단위 면적당 데이터 저장 용량의 증가와 SSD, 인텔의 3D 크로스포인트 기술과 같은 데이터 스토리지 나노 기술 발전의 영향으로 현재 페타스케일에서 엑사스케일의 빅데이터 문제는 머지않은 시기에 좀더 단순하고 적은 컴퓨팅 시스템으로 어렵지 않게 해결될 수 있을 것으로 보인다. 필자가 LHC Computing Grid를 연구하던 2005년에서 2008년에만 해도 1TB의 저장용량을 만들려면 72GB에서 146GB의 하드 디스크 10개에서 20개를 가격이 아주 비싼 디스크 어레이를 통해 묶어야 했다. 하지만 요즘은 16TB 하드디스크도 있고, 16~60TB인 SSD도 나오고 있다.

위에 더해 SSD는 3차원으로 회로 패턴을 적층해 만드는 NVMe나 인텔의 3D 크로스포인트 기술, PCIe버스에 연결하는 M.2 SSD 제품들이 등장하면서 I/O 성능도 크게 향상되어 이제 수십 TB 정도의 빅데이터를 하나의 서버에 보관하고 처리하는 것은 어렵지 않은 문제가 되었다. 이런 추세를 보더라도 빅데이터 문제는 각 시대의 컴퓨터 기술 특성과 데이터 증가 속도에 따라 계속해서 나타나는 현상이지 요즘 들어 처음 등장한 현상이 아니라는 것을 다시 한번 확인할 수 있다.

CERN이 LHC 빅데이터 문제를 해결하기 위해 20년 후에 나타날 새로운 컴퓨팅 기술을 고려하여 LHC Computing Grid 시스템을 설계하고 미들웨어를 개발하였지만, 사용하는 물리학자들이 일하는 방식과 데이터의 전송 특성, 분석 작업의 특성을 고려한 그리드 컴퓨팅 자원의 계층 모델이 없었다면 오늘날과 같이 효과적으로 동작하는 LHC Computing Grid는 없었을 것이다. 이와 같이 반드시 첨단 기술이 아니라고 해도 빅데이터 문제를 잘 이해하고, 데이터를 사용하고 분석할 사용자의 작업 패턴과 유형 그리고 데이터의 특성을 잘 이해하며, 이러한 요구 조건에 맞게 빅데이터 시스템을 구축하는 것이 중요하다는 교훈을 LHC Computing Grid를 통해 다시 배울 수 있다.

[참고문헌]
[1] 김진철, “LHC에서 배우는 빅데이터와 machine learning 활용 방안”, 2016년 9월 28일, A CIO Conversation for Technology Leadership – Breakfast Roundtable 발표 자료
[2] WLCG Tier centres, http://wlcg-public.web.cern.ch/tier-centres.
[3] 김진철, “Towards Singularity: Computing Technology Advances for Artificial Intel ligence
- Trends in H/W, S/W and TensorFlow -,” 2017 Global Mobile Vision Conference, KINTEX, 2017.
[4] 인텔® Rack Scale Architecture in Action, https://goo.gl/MxP5gY .

*김진철 박사는 1997년 한국과학기술원에서 물리학 학사, 1999년 포항공과대학교에서 인공신경망에 대한 연구로 석사 학위를, 2005년 레이저-플라즈마 가속기에 대한 연구로 박사 학위를 받았다. 2005년부터 유럽입자물리학연구소(CERN)의 LHC 데이터 그리드 구축, 개발에 참여, LHC 빅데이터 인프라를 위한 미들웨어 및 데이터 분석 기술을 연구하였다. 이후 한국과학기술정보연구원(KISTI), 포항공과대학교, 삼성SDS를 거쳐 2013년부터 SK텔레콤에서 클라우드 컴퓨팅과 인공지능 기술을 연구하고 있다. 빅데이터와 인공지능 기술의 기업 활용 방안에 대해 최근 다수의 초청 강연 및 컨설팅을 수행하였다. ciokr@idg.co.kr
 
X