그리드 컴퓨팅

그리드 컴퓨팅()은 분산 병렬 컴퓨팅의 한 분야로서, 원거리 통신망(WAN, Wide Area Network)으로 연결된 서로 다른 기종의(heterogeneous) 컴퓨터들을 하나로 묶어 가상의 대용량 고성능 컴퓨터()를 구성하여 고도의 연산 작업(computation intensive jobs) 혹은 대용량 처리(data intensive jobs)를 수행하는 것을 일컫는다. 모든 컴퓨터를 하나의 초고속 네트워크(광통신)로 연결하여 계산능력을 극대화시키는 차세대 디지털 신경망 서비스이다. 여러 컴퓨터를 가상으로 연결해서 공동 작업(연산)을 수행하게 하는 것이며 분산 컴퓨팅이라고도 한다. 

그리드는 대용량 데이터에 대한 연산을 작은 소규모 연산들로 나누어 작은 여러대의 컴퓨터들로 분산시켜 수행한다는 점에서 클러스터 컴퓨팅의 확장된 개념으로 볼 수 있으나, WAN 상에서 서로 다른 기종의 머신들을 연결한다는 점으로 인해 클러스터 컴퓨팅에서는 고려되지 않았던 여러 가지 표준 규약들이 필요해졌고, 현재 글로버스(Globus) 프로젝트를 중심으로 표준들이 정립되고 있는 중이다. 또한 다양한 플랫폼을 서로 연결한다는 점에서 클러스터 컴퓨팅과 차이가 있다.

개요 
그리드 컴퓨팅은 그리드 상의 모든 관련 컴퓨터의 계산능력을 결합하여 가상의 슈퍼 컴퓨터를 구축하려고, 지리적으로 멀리 떨어진 컴퓨터를 하나의 네트워크로 연결하는 것이다. 그리드 컴퓨팅은 미국에 있는 대부분의 컴퓨터에서 중앙처리장치가 다른 처리 작업에 사용 가능한 여유 자원을 남겨둔 채, 할당된 작업에는 평균적으로 25%의 시간밖에 사용되지 못한다는 사실을 활용한 것이다. 그리드 컴퓨팅은 기업이 초고속 인터넷 접속을 통해 원거리의 컴퓨터를 경제적으로 연결하고 엄청난 양의 데이터를 다룰 수 있기 전까지는 불가능 하였다. 그리드 컴퓨팅에서 그리드상의 자원을 통제하고 할당하려면, 글로버스얼라이언스나 개인 제공자가 제공하는 공개소스 소프트웨어 같은 소프트웨어 프로그램이 필요하다. 클라이언트 소프트웨어는 서버의 응용 프로그램과 통신한다. 이런 서버 소프트웨어는 데이터와 응용 프로그램 코드를 일정 단위로 분할한 뒤, 분할된 코드를 그리드상의 컴퓨터에 배분한다. 클라이언트 컴퓨터는 뒤편에서 그리드 응용 프로그램을 실행시키면서 기존에 수행했던 유형의 작업도 수행할 수 있다. 그리드 컴퓨팅을 사용하는 비즈니스는 비용절감, 계산속도 증가, 민첩성 등의 효과를 보여준다.

기원 
인터넷과 마찬가지로, 그리드 컴퓨팅은 상용이 아닌 과학 프로젝트들을 지원하기 위해 개발되어 진화하고 있다. 인터넷은 처음에 미국 연방정부의 지원을 받는 컴퓨팅 연구소들을 통신 연결하여 정보의 공유를 수월하게 하려는 필요성에 의해 개발이 되었는데, 그리드 컴퓨팅 또한 이러한 노력의 연장선상에 있는 더욱 포괄적인 자원의 공유를 위한 프레임워크로 볼 수 있다.

그리드의 개념은 소위 "그리드의 아버지들"이라 불리는 Ian Foster, Carl Kesselman, Steve Tuecke가 시작하였으며, 그들은 CPU 관리 (클러스터링, 사이클 훔쳐오기) 이외에도 저장소 관리, 보안 조항, 데이터 이동, 모니터링, 그리고 그 밖의 다른 서비스들을 개발하는 데 필요한 도구들을 한데 모은 글로버스 툴킷(Globus Toolkit)을 개발하였다.

그리드 컴퓨팅은 원래 1990년대 초반에 파워 그리드에서 유래된 것으로, 전기처럼 쉽게 어디서나 컴퓨팅을 할 수 있게 한다는 개념에서 비롯되었다.

1998년 개인의 참여가 가능하도록 설계된 세계최초의 컴퓨팅프로젝트인 외계 지적생명체 탐사계획의 세티앳홈(SETI@home)이 시작됐다.

그리드의 응용 
그리드 컴퓨팅은 네트워크에 연결된 수많은 사용되지 않고 있는 자원들 (예를 들면, 데스크톱 컴퓨터의 CPU 사이클, 디스크 저장장치 등)을 활용함으로써 대규모 연산이 필요한 문제들을 해결할 수 있게 해준다. 이는 개인의 참여가 가능한 최초의 컴퓨팅으로 유명한 외계 지적생명체 탐사계획의 세티앳홈(SETI@home)이 시작됐으며, 재정 모델링(financial modeling)부터 단백질 접힘(protein folding), 지진 시뮬레이션(earthquake simulation), 기후 변화 모델링(climate, weather modeling)과 같은 자연과학 문제 해결에 이르기까지 매우 복잡한 연산이 필요한 문제를 해결 가능하게 해주는 컴퓨팅 자원을 제공해준다.

그리드는 기능 면에서 다음과 같이 분류될 수 있다.

 컴퓨팅 그리드(Computational Grid): CPU나 GPU등의 기능을 이용해 복잡한 연산을 수행하는 것.
 데이터 그리드(Data Grid): 대용량의 분산 데이터를 공유하고 관리하는 것.
 액세스 그리드(Access Grid): 지리적으로 떨어진 곳에 있는 사용자들 간에 오디오와 비디오를 사용하여 업무 협력을 가능하게 하는 것.
 장비 그리드(Equipment Grid) 망원경등의 주요 장비를 원격 조정하며 장비로부터 얻은 데이터를 분석하는 것.

각주

참고 문헌

외부 링크 
 뉴스 & 정보
 GridsWatch
 IEEE Distributed Systems Online, Grid Computing Section
 Grid Computing - Google News
 Primeur magazine - HPC and Grid computing news
 GRIDtoday
 UtilityComputing.com 
 LinuxHPC.org Linux High Performance Computing and Clustering Portal
 WinHPC.org  Windows High Performance Computing and Clustering Portal
 Science Grid This Week
 Grid Computing Info Center

 네트워크, 연합
 The Globus Alliance
 Global Grid Forum
 ApGrid: Asia Pacific Grid
 US NSF TeraGrid
 EU DataGrid project Complete, succeeded by EGEE
 Enabling Grids for E-sciencE (EGEE)
 The LHC Computing Grid
 The Israeli Association of Grid Technologies (IGT)
 ThaiGrid
 NorduGrid
 Grid Computing Reference Guide
 Open Science Grid
 D-Grid

 포털 사이트
 SETI@home website
 EnterTheGrid directory on Grid computing 
 IBM Grid Computing website
 GridComputing.com
 GridSphere Portal Framework (JSR-168 compliant)
 GridSummit.com
 GridsWatch, Georgetown University
 Gridalogy
 BigBlueRiver

분산 컴퓨팅
정보기술 용어