기술자료

DBMS, DB 구축 절차, 빅데이터 기술 칼럼, 사례연구 및 세미나 자료를 소개합니다.

그리드 컴퓨팅 차세대 분산 컴퓨팅

기술자료
DBMS별 분류
Etc
작성자
admin
작성일
2021-02-23 15:27
조회
930

그리드 전망대: 그리드 컴퓨팅 차세대 분산 컴퓨팅

그리드 컴퓨팅이 P2P, CORBA, 클러스터 컴퓨팅, DCE와 다른점은 무엇인가

060821_aut_01.jpgMatt Haynos |
IBM 그리드 마케팅 및 전략팀의 프로그램 디렉터

지난 몇 년 동안 그리드 컴퓨팅의 가치는 올라갔다. 취약한 경제는 그리드 컴퓨팅을 통해, 제한된 IT 예산으로 기존 컴퓨팅 자산을 완전히 활용하고, 한정된 자원을 해당 비지니스 애플리케이션에 지능적으로 할당하여 빠르게 진화하는 시장에 유연하게 대응하게 되었다. Matt Haynos는 그리드 컴퓨팅과 P2P, CORBA, cluster computing, DCE 같은 분산 컴퓨팅 시스템 간 유사성과 차이점을 분석한다..

그리드 컴퓨팅은 기업 컴퓨팅에 매우 잘 맞는 분산 컴퓨팅 아키텍쳐로서 대중성을 얻어가고 있다. 그리드 컴퓨팅 솔루션은 다음과 같은 영역에 적용될 수 있다
  • 그리드 컴퓨팅을 도입하는 금융 서비스의 위험 관리 및 순응성
  • 제품 개발의 가속화 및 협업을 증대하기 위해 그리드 솔루션을 사용하는 자동차 제조업
  • 그리드 기술을 사용하여 유전 발견을 도모하고 성공적인 유전 발굴 증대하려는 정유 회사
    그리드 컴퓨팅이 성숙해 질수록 다른 많은 영역에서도 이 기술을 더욱 많이 적용할 것이다. .그리드 컴퓨팅은 다음과 같은 뚜렷한 특징으로 거의 모든 분산 컴퓨팅 패러다임과 구별된다. 그리드 컴퓨팅의 정수는, 고급 워크로드 관리 기능 또는 정보 가상화로 묶인 조직 내, 이종의 약 결합된 리소스들을 효율적이며 최적으로 활용하는 것이다. (조직은 여러 부서, 물리적 위치 등을 확대할 수 있다. 이 글에서 “조직(organization)”은 추상적 의미로 쓰인다.) .그리드 컴퓨팅은 다른 분산 모델들과 어떤 차이가 있는가 바로 이것이 이 글을 통해 내가 답하고 싶은 부분이다. 그리드가 어디서부터 시작되었는지, 어떻게 성장했는지, 그리드 컴퓨팅이 P2P와 CORBA 같은 분산 컴퓨팅 솔루션과 어떻게 다른지를 설명하겠다. 그리드 컴퓨팅과 다른 분산 컴퓨팅 솔루션과 비교 및 대조를 통해 설명하겠다. 먼저 그리드 컴퓨팅의 가치부터 이해해보자.

    왜 그리드 컴퓨팅인가

    지난 몇 년 동안 기업들은 정보 기술로의 투자를 재검토 하면서 그들이 이미 가지고 있는 기존 컴퓨팅 자산들을 충분히 활용하는 것이 중요하다는 결론에 이르게 되었다. 활용의 중요성이 늘어난 것이다; 한정된 IT 예산에서 충분한 기능을 이끌어내는 것이 중요해졌다. 또한, 분산된 기업 내에서 한정된 리소스들을 적절한 비지니스 애플리케이션들로 지능적으로 할당하는 것도 중요하다. 이 기술은 새로운 부서로 리소스들을 재분산 하는 것이든 비지니스 애플리케이션을 기존 고객들에게 제공하는 것이든 상관 없이 기업에게는 유연성을 제공해준다.
    Khosla on metacomputing"The Triumph of the Light," Scientific American, January 2001에서 발췌벤쳐 금융가 Vinod Khosla는 Kleiner Perkins Caufield와 Byers와 함께 컴퓨터를 함께 풀링하는 프로젝트의 미래에 대해 이야기하고 있었다. 이것은 전 세계적으로 분산될 수 있는 프로젝트이다. 메타컴퓨팅(metacomputing)[ Khosla는 그리드 컴퓨팅을 이렇게 지칭한다]은 Britney Spears와 Fatboy Slim을 다운로드 할 수 있거나 또는 외계인을 검색하는 라디오 망원 데이터를 통해 검색할 수 있다. Khosla는 비지니스에 네트워크로 연결된 컴퓨팅 모델을 사용할 때의 어마어마한 효용을 감지하고 머신 들을 묶어 실행시킨다. 다시 말해 1,000 명의 승객을 태울 수 있는 점보 제트의 전산적인 유체 역학인 샘이다.(대부분의 자원들을 가장 적합한 제품의 생산에 쏟아 붓는) 생산 라인에서 힌트를 얻어, 워크로드 관리는 컴퓨팅 리소스들을 가장 중요한 애플리케이션에 할당하는데 초점을 맞춘다. 이를 워크로드 최적화라고 한다. 이는 비지니스 변형이라는 엄청난 도전을 시사하긴 하지만 매력적인 개념이다. 예를 들어, 기업 내 다양한 컴포넌트 또는 조직들 중에서 가장 중요한 작업들은 무엇으로 구성할 것인지를 어떻게 결정하는가하지만, 워크로드 최적화로의 트랜드와 관련하여 잠재적 생산성과 비지니스 효용은 포기하기에 너무 아까운 개념이다. 그리드 컴퓨팅의 기본 개념은 기존 IT 리소스들을 활용 및 재할당하는 것이다.

    The origins of grid computing

    모든 데이터베이스 객체들이 제자리에 놓인 후에는 애플리케이션을 작성하자.인터넷과 마찬가지로, 그리드 컴퓨팅의 기초를 형성했던 일 세대 기술과 아키텍쳐를 개발할 때 선두에 섰던 것은 교육 기관이였다. Globus Alliance, China Grid, UK e-Science Grid core program 같은 기관들은 그리드 솔루션을 배양하여 성장시켜 상용으로 연계되도록 한 견인차가 되었다.그리드는 연구소와 학계의 협업의 필요성에서 탄생하였다. 연구소는 지식을 분산시키는 것이 필요하다. 방대한 양의 정보를 효율적으로 공유할 뿐만 아니라, 보다 정제되고 정보력이 있는 양질의 데이터를 만드는 전산 리소스들을 공유하는 것이 중요하다.지식의 분산에 없어서는 안될 상대적 요소는 시장이라 할 수 있다. 그리드 컴퓨팅은 이 필요성 역시 다루고 있다. 왜냐하면 웹 서비스 표준으로 더욱 활성화된 비지니스 프로세스 및 트랜잭션의 통합은 그 중요성이 더해가기 때문이다. 상용 그리드 컴퓨팅의 채택률이 지속되면서 (Global Grid Forum 또는 GGF 같은 조직이 제안한) 표준들은 상용 애플리케이션들의 현실적인 요구 사항들을 반영하게 될 것이다.현재 그리드 컴퓨팅은 학계에 있을 초창기부터 표준 기반의 기술의 정의와 개발을 통해 상용 비지니스가 요구하는 실용적이고 강력한 구현 요구를 충족시키고 있다. 그리드 컴퓨팅이 성숙해 가면, 그 시너지 효과가 더해질 것이라는 것은 굳이 상상하지 않아도 알만하다.

    심각한 갭(gap)을 메우는 그리드

    지난 몇 년 동안, 네트워킹 기능(네트워크가 핸들 할 수 있는 초당 비트 수)과 마이크로프로세서 속도(통합 회로 당 트랜지스터의 수 기반) 사이에 중요한 차이가 생겼다. 그림 1을 보자.
    그림 1. Moore의 법칙 vs. 스토리지 향상 vs. 광 케이블 발달(Matt Haynos |)

    그래프에서 보듯, 네트워킹 기능은 9 개월 마다 2배로 증가했지만 전체적으로 볼 때 이 성장은 훨씬 더 느린 것이다. Moore의 법칙은 통합 회로 당 트랜지스터의 수는 18 개월마다 2 배가 된다는 것을 나타내고 있다. 여기에서 문제가 생긴다. Moore의 법칙은 네트워크 기능의 진보와 비교해 보면 느리다.있는 그대로 보자면, 핵심 네트워킹 기능이 마이크로프로세서 속도의 진보 보다 훨씬 더 빠른 비율로 가속화된다면 네트워킹의 진보를 활용하기 위해서는 마이크로프로세서 기능을 활용할 수 있는 더 효율적인 방식이 필요하다는 이야기가용 간 사고방식도 변화시킨다. 이와 비슷한 논쟁이 벌크(bulk) 스토리지에도 적용된다.그리드 컴퓨팅은 이 차이를 메울 수 있는 수단이다. 전통적인 대안은 분산 리소스들을 한데 묶어 하나의 가상 컴퓨터를 만드는 것이다. 이처럼 리소스가 풍부한 가상 컴퓨터와 애플리케이션 진보의 효용성을 결합하면 매우 매력적인 비지니스가 될 것이다. (하지만 여기에는 telco 비지니스 관행의 중요한 변화가 필요하다. 대표적인 것이 가격이다.)지금까지 그리드 컴퓨팅의 기원과 중요성에 대해서 알아보았으니 이제는 클러스터 컴퓨팅, CORBA, DCE, P2P 같은 분산 컴퓨팅 개념과 비교하여 그리드를 더욱 심도 깊게 알아보도록 하자.

    그리드가 클러스터 컴퓨팅과 다른점

    클러스터 컴퓨팅은 엄밀히 분산 컴퓨팅 솔루션으로 간주될 수 없다. 하지만 그리드 컴퓨팅과 클러스터 컴퓨팅의 관계를 이해하는 것은 유용한 일이다. 사람들은 종종 그리드 컴퓨팅과 클러스터 기반의 컴퓨팅을 혼동하지만 중요한 차이가 있다.그리드는 이종의(heterogeneous) 리소스들로 구성된다. 클러스터 컴퓨팅은 전산 리소스들과 기본적으로 관련이 있다. 그리드 컴퓨팅은 스토리지, 네트워킹, 전산 리소스들을 통합한다. 클러스터는 일반적으로 단일 프로세서와 운영 체계를 포함하고 있다; 그리드는 다양한 운영 체계를 실행하는 다양한 머신들을 포함할 수 있다. (IBM, Platform Computing, DataSynapse, United Devices 등의 그리드 워크로드 관리 소프트웨어는 워크로드를 다양한 머신 유형과 설정으로 분산시킬 수 있다.)그리드는 근본적으로 동적이다. 클러스터는 전형적으로 정적 프로세서와 리소스들을 포함하고 있다; 리소스들은 그리드 상에서 오간다. 리소스들은 지속적으로 그리드 상에서 제공되기도 하고 제거되기도 한다.그리드는 근본적으로 지역, 메트로폴리탄, 광역 네트워크를 통해 분산된다. 클러스터는 한 지역의 같은 구역에서 물리적으로 담겨진다. 그리드는 어디에나 있을 수 있다. 클러스터는 매우 낮은 네트워크 레이턴시로 연결되는데, 이는 클러스터가 함께 묶일 수 없는 문제를 유발시킨다.그리드는 확장성도 증가한다. 물리적 근접성과 네트워크 레이턴시 때문에 클러스터는 확장되는데 한계가 있다. 그리드의 동적인 특징은 높은 확장성을 보장한다.예를 들어, 최근 IBM, United Devices, 그리고 여러 생명 과학분야의 파트너들이 그리드 프로젝트를 완수했다. 이 프로젝트는 천연두를 치료하는 약을 개발하는 것이다. 그리드는 약 2백만 개의 개인용 컴퓨터로 구성되었다. 전통적인 방식을 사용했다면 프로젝트는 수년이 걸렸을 것이다. 하지만 그리드를 통해 6개월이 결렸다. 그리드 상에 2천만 개의 PC가 있었다면 어떠했을지 상상해 보라. 천연두 프로젝트는 몇분 안에 끝날 수 있었을 것이다.클러스터와 그리드 컴퓨팅은 완벽히 보완적이다. 많은 그리드들은 그들이 관리하는 리소스들 사이에서 클러스터를 결합한다. 실제로, 그리드 사용자들은 워크로드가 원격 클러스터에서 발생하고 있다는 것을 모를 수도 있다. 그리드와 클러스터 간 차이는 있지만 이 둘은 언제나 클러스터를 위해 배치되기 때문에 중요한 관계이다. 프로세스의 강결합 때 특별한 문제가 생긴다.하지만 네트워킹 기능과 대역폭이 발전하면서 클러스터 컴퓨팅의 배타적인 도메인 문제들이 그리드 컴퓨팅에 의해 풀리게 될 것이다. 그리드의 기본적인 확장성과 클러스터의 강결합 장점 사이의 균형을 맞추는 것이 필요하다.

    그리드 CORBA

    모든 분산 컴퓨팅 환경 중에서 CORBA는 다른 것 보다는 표면적으로 그리드 컴퓨팅과 많은 유사성을 갖고 있다. Open Grid Services Architecture (OGSA)에서의 그리드 컴퓨팅과 웹 서비스 간 전략적 관계 때문이다. 두 개 모두 서비스 지향 아키텍쳐(SOA)의 개념에 근거하고 있다. CORBA는 다중의 미션 중심의 애플리케이션의 중추이고 1991년 생긴 이후 계속 성장해왔다. 여러 가지 측면에서 CORBA는 웹(그리드) 서비스의 선배격이다. 이것은 중요한 기초를 놓았고 몇 년 후의 Java Remote Method Invocation (RMI)도 중요한 역할을 했다.예를 들어, 보잉은 CORBA 기반의 솔루션을 DCAC/MRM(Define and Control Airplane Configuration/Manufacturing Resource Management) 애플리케이션에서 사용한다. 특히 이 애플리케이션은 부품 구성과 상용 비행기의 재고를 관리하는 애플리케이션이다. (제트비행기가 얼마나 많은 부품을 갖고 있는지 상상해보라..). e-Week의 기술 편집장인 Peter Coffee는 최근 새로운 Cunard Queen Mary 2가 CORBA로 작동된다고 발표했다.CORBA와 그리드 컴퓨팅의 핵심적인 차이점은 CORBA는 객체 지향이지만 그리드는 그렇지 않다는 점이다. CORBA에서 모든 엔터티는 객체이고 상속과 다형성 같은 메커니즘을 지원한다. OGSA에서 몇 가지 객체 개념에 대한 유사점은 있지만 아키텍쳐 레벨의 객체 지향 구현은 아니다. 이 아키텍쳐는 메시지 지향이다; 객체 지향은 구현 개념이다. 하지만 WSRF (Web Services Resource Framework)에서 (WSDL, Web Services Definition Language 같은) 정식 정의 언어를 사용한다는 것은 인터페이스와 인터랙션이 CORBA에서 정의된 것과 같다는 것을 의미한다.또 다른 차이는 그리드 컴퓨팅(OGSA)이 웹 서비스 토대에서 구현되었다는 점이다. CORBA는 웹 서비스와 통합되고 상호운용 된다. CORBA와 관련된 문제들 중 하나는 너무나 많은 “엔드포인트”를 갖고 있다는 점이다. 이것은 기본적으로 CORBA 환경에 참여하는 모든 머신들(클라이언트와 서버)이다. 또한 벤더들의 CORBA 구현들 간 상호 운용성 문제가 있다. 어떻게 CORBA 노드들이 인터넷 상에서 상호운용 될 수 있으며 엔드포인트들의 이름은 어떻게 짓는가 이는 한 그룹의 모든 머신들이 특정 규칙과 수행방식에 순응해야 한다는 것을 의미한다. (IDL, IOR, IIOP 등의 같은 프로토콜이라고 가정할 경우). 이는 신뢰성이 높고, 강 결합된 사전 컴파일 시스템을 구현할 때 알맞은 접근 방식이다.하지만 CORBA가 작업을 수행하는 방식과 인터넷 방식간 시너지는 없었다. CORBA는 웹 서비스 표준의 생성에 영감을 준다. 사람들은 CORBA 토대에서 그들이 보았던 것을 좋아하고 XML, WSDL, SOAP 같은 표준을 만들기 시작한다. 이들은 약 결합으로 개방 인터넷 토대 위에 웹 서비스를 구현하고 웹 서비스 요청자와 서비스들을 바인딩 하여 CORBA가 갖고 있는 상호 운용성 및 유연성 문제를 풀어간다. OGSA는 “soft state" 방식을 오류 내구성에 추가했다. 이것은 디자인 목표였다.웹 서비스 아키텍쳐는 서비스 지향 아키텍쳐 이고 CORBA 역시 마찬가지다. 하지만 CORBA는 목표가 다르다. 이것은 통합된-비교적 폐쇄된- 시스템 구현을 위해 설계되었다.

    DCE에 대하여

    이름에서 시사하듯, DCE(Distributed Computing Environment)는 환경이지 아키텍쳐는 아니다. 바로 이것이 중요한 차이이다. DCE는 분산 컴퓨팅을 활용하도록 설계된 기술 컬렉션으로 정의될 수 있다; 그리드 컴퓨팅(OGSA의 형태로)은 분산 컴퓨팅 구조의 복잡함을 캡슐화 하기 위해 설계된 엔드투엔드 아키텍쳐에 가깝다.CORBA를 설명했던 섹션에서 보았지만 DCE에서 강 결합과 약 결합 접근방식 간 차이가 있다. DCE 기술에는 보안 기술(DCE ACLs 또는 Access Control Lists), 파일 시스템(DFS 또는 Distributed File System), 디렉토리 스팩 (DCE registry)이 포함된다. 사실 OGSA는 많은 DCE 기술의 상단에서 실행되도록 만들어질 수 있다.예를 들어, 그리드 보안 프로토콜- GSI (Grid Security Infrastructure) 형태든 아니면 해당 웹 서비스 표준이든-은 DCE ACL과 상호운용 되도록 만들어 질 수 있다. 많은 그리드 애플리케이션들은 기저의 DFS (또는 앞서있었던 AFS, Andrew File System)와 작업하도록 만들어질 수 있다. 핵심 그리드 레지스트리 서비스는 DCE 레지스트리와 함께 작동될 수 있다.대부분의 기술들이 서비스로 간주될 수 있지만 DCE는 기술의 결합인 만큼 서비스 지향 아키텍쳐는 아니다. SOA 환경에서 애플리케이션 구현을 지원하는 것도 DCE가 분산 애플리케이션을 구현하는 블록을 수행하기 때문에 제한된다. 분산 서비스 지향 애플리케이션 구현도 마찬가지다.그리드 컴퓨팅과 DCE의 또 다른 차이는 CORBA와 관련이 있다. 바로 OGSA 그리드 컴퓨팅은 다음의 세 서비스 목록을 정의한다는 점이다.
  • 그리드 핵심 서비스
  • 그리드 데이터 서비스
  • 그리드 프로그램-실행 서비스CORBA, DCE, Java RMI는 (DFS 외) 데이터 도는 프로그램 실행 서비스에도 특별한 관심을 보인다. 이 기술들은 모두 원격 프로시저 호출 시스템(RPC)이기 때문이다. (RPC는 하나의 프로그램이 네트워크 상세를 모른 상태에서 네트워크 상의 다른 컴퓨터에 있는 프로그램의 서비스를 요청하는데 사용하는 프로토콜이다. 이것은 동기식 작동으로서, 같은 주소 공간을 공유하는 경량의 프로세스를 사용하지 않는 한, 원격 프로시저가 결과를 리턴할 때 까지 요청 프로그램이 중지되어야 한다.) 그리드 핵심 서비스(WSRF도 마찬가지)에서 구현되고 정의된 많은 서비스들은 DCE와 CORBA에 기반한 서비스들과 비슷하다. 하지만 데이터와 프로그램 실행 서비스들은 그리드 컴퓨팅에만 있는 것이다.마지막으로, 웹 서비스 표준들과의 관계와 관련한 그리드 컴퓨팅과 CORBA의 차이점은 DCE도 같다. 웹 서비스가 많이 향상된 것은 DCE와 CORBA 같은 분산 시스템과의 협업 덕택이다.

    P2P

    저작권 문제로 헤드라인상에 오르내리는 KaZaA 같은 애플리케이션은 P2P (peer-to-peer) 컴퓨팅과 함께 나타난 기본 소스이다. 하지만 기술 자체는 흥미로운 분산 기능을 갖고 있고 이중 많은 부분이 그리드 환경에서 쓰이면 유용한 것들이다.우선, P2P 시스템의 특징은 중앙 관리 포인트가 부족하다는 것이다; 때문에 익명성에 알맞고 트레이싱을 방지한다. 반면 그리드 환경은 중앙 관리 및 보안 형식을 갖추고 있다. (예를 들어, 리소스 관리 또는 워크로드 스케줄링)P2P 환경의 중앙화의 부재는 두 개의 중요한 결과를 낳는다.
  • P2P 시스템은 일반적으로 그리드 컴퓨팅 시스템보다 확장성이 크다. 책임의 제어와 분산 간 균형을 따져봐도 그리드 컴퓨팅 시스템은 근본적으로 P2P 시스템보다 확장성이 덜하다.
  • P2P 시스템은 일반적으로 그리드 컴퓨팅 시스템보다 싱글 포인트 오류 내구성이 강하다. 그리드가 강 결합 분산 시스템 보다 탄력적이긴 하지만 그리드는 불가피하게 싱글 포인트 오류가 될 수 있는 핵심 요소를 갖고 있다.
  • 그리드 컴퓨팅 시스템을 구현하는 핵심은 분권과 관리성 간 접점을 찾는 것이 핵심이다.그리드 컴퓨팅의 중요한 특징이 리소스가 동적이라는 데 있는 반면 P2P 시스템에서는 리소스가 훨씬 더 동적이고 그리드 상의 리소스들 보다 훨씬 더 빠르다. 분산 리소스들의 활용은 구체적이다. 풍부한 컴퓨팅 리소스들 덕택에 두 시스템 모두 가능한 한 많이 사용하게 될 것이다.두 시스템들 간 마지막 차이는 표준이다P2P 세계에서의 표준의 부족은 그리드 세계의 여러 표준들과 대조된다. Global Grid Forum 덕택에 그리드는 기존 표준을 정비하고 새로운 표준을 만드는 메커니즘을 갖추게 되었다.그리드와 P2P 시스템들은 서로 보완적이다. 그리드가 대중화가 될 때 “inter-grid” 개발 단계에 이르면 두 방식이 서로 보완해 줄 것을 기대해본다.

    데이터 활용하기

    그리드 컴퓨팅의 요소, 기원, 웹 서비스 기반 애플리케이션의 중요성, 그리드 컴퓨팅과 네 가지의 주요 분산 컴퓨팅 시스템간 차이점 등을 알아보았다.거의 모든 조직들은 거대하고 광범위하게 분산된 사용하지 않은 컴퓨팅 용량을 갖고 있다. 그리드 컴퓨팅 뒤에 숨은 개념인 가상화는 이렇게 사용되지 않은 용량들을 다루는데 도움이 된다. IBM은 가상 메모리, 가상 스토리지, 가상 프로세서 기술에 오래 전부터 개입해왔다. 하지만 이 기술은 고객들에게는 아직 생소하다.IBM의 intraGrid는 연구 및 개발 그리드로서 IBM이 자산을 연구에 사용할 수 있도록 도와주고 있다. 게다가 회사 내의 그리드 개발자들에게 그리드 인프라의 실제 문제들을 다룰 기회도 주고 있다. IBM은 전사적으로 다중의 조직적 그리드를 사용하고 있다. 디자인 센터와 e-비지니스 온 디맨드가 함께 연결된다.다음에는 그리드 시스템의 중요한 컴포넌트들에 대한 전략적 기술 지침들을 설명하겠다. 그리드 컴퓨팅은 온 디맨드 분야에서 성장하고 있고 보완 기술들을 통합하여 엔터프라이즈급의 비지니스 컴퓨팅을 실현하고 있다.
    참고자료- "The Triumph of the Light"
    - "History of CORBA"
    - "Reinventing the Wheel CORBA vs. Web Services"
    - "On Death, Taxes, and the Convergence of Peer-to-Peer and Grid Computing"
    - "A visual tour of Open Grid Services Architecture" (developerWorks, October 2003)
    - "Is Web services the reincarnation of CORBA" (developerWorks, July 2001)
    - CORBA site
    - Globus Alliance
    - China Grid, news item
    - UK e-Science GRID core program.
    - Global Grid Forum.
    - press release.제공 : DB포탈사이트 DBguide.net