분산 컴퓨팅이란 무엇인가요?

폭풍 모양

작성자

Phill Powell

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

분산 컴퓨팅이란 무엇인가요?

분산 컴퓨팅은 하나의 컴퓨팅 목적을 위해 서로 다른 위치에서 운영되는 방대한 컴퓨팅 리소스를 사용합니다.

분산 컴퓨팅 시스템은 거대한 변화를 가져옵니다. 지금 MMO 게임을 하고 있다고 생각해 보세요. MMO를 효과적으로 관리하려면 시스템 전체가 한데 모여 긴밀하게 협력하여 온라인 경험을 원활하게 제공해야 합니다. 그리고 플레이어 수천 명이 실시간 환경에서 이 경험을 동시에 즐길 수 있어야 합니다.

분산 컴퓨팅은 공급자들이 이러한 동기화 및 컴퓨터 처리 능력 조화를 공통의 목표로 삼도록 결집시키는 데 도움이 됩니다.

그리고 이는 현재 사용되고 있는 분산 컴퓨팅 서비스를 위한 다양하고 광범위한 응용 프로그램 중 하나에 불과합니다. 여기에는 비디오 애니메이션을 위한 생생한 3D 그래픽을 만드는 것, 인간의 뇌 기능을 모방하는 신경망을 훈련하는 것, 화학 및 물리학과 관련된 매우 복잡한 방정식을 푸는 것이 포함됩니다.

분산 컴퓨팅 모델은 주로 가장 집약적인 컴퓨팅 작업과 워크로드를 처리하고 가장 심각한 컴퓨팅 관련 문제에 대처하기 때문에 여러 구성 요소와 공유 메모리를 필요로 합니다.

트랙에서 굴러가는 공의 3D 디자인

최신 AI 뉴스+인사이트


주간 Think 뉴스레터에서 전문가들이 선별한 AI, 클라우드 등에 관한 인사이트와 소식을 살펴보세요. 

분산 컴퓨팅은 어떻게 작동하나요?

분산 컴퓨팅은 여러 컴퓨터, 서버, 네트워크를 결합하여 매우 다양한 규모와 목적의 컴퓨팅 작업을 수행합니다. 구성 요소들이 서로 가까이 있는 소규모 분산 컴퓨팅 시스템에서는 근거리 통신망(LAN)을 통해 이 요소들을 연결할 수 있습니다.

구성 요소가 지역별로 분리되어 있는 대규모 분산 시스템에서는 구성 요소가 광연 네트워크(WAN)를 통해 연결됩니다. 분산 시스템의 구성 요소는 사용 중인 네트워크 유형에 관계없이 정보를 공유합니다. 분산 시스템의 가장 잘 알려진 예는 인터넷이며, 아마도 최근 가장 논란이 되고 있는 분산 시스템의 예는 암호화폐일 것입니다.

분산 컴퓨팅 구성 요소

컴퓨팅 관점에서 볼 때 일반적으로 개입되는 구성 요소의 수를 살펴보면, 가장 기본적인 형태의 분산 컴퓨팅은 보통 세 가지 기본 요소로 구성됩니다.

  • 기본 시스템 컨트롤러
  • 시스템 데이터 저장소
  • 데이터베이스

그러나 분산 컴퓨팅의 상황을 구성하는 요소나 그 기능을 구현하는 데 필요한 소프트웨어 구성 요소의 수를 제한하는 엄격하고 빠른 규칙은 없습니다. 해당 체인(또는 네트워크) 내에서 작동하는 소수의 구성 요소가 있을 수도 있고, 인스턴스에 훨씬 더 많은 구성 요소가 통합될 수도 있습니다.

분산 컴퓨팅 시스템의 가장 큰 이점 중 하나입니다. 기계를 더 추가해서 시스템을 확장할 수 있습니다. 이중화 정도가 높아져서, 네트워크를 이루는 컴퓨터 한 대에 어떤 이유로든 장애가 발생하더라도 시스템이 계속 가동될 수 있다는 것 또한 굉장한 이점입니다.

이중화 추가라는 이 개념은 내결함성에 대한 강조와 밀접한 관련이 있습니다. 내결함성은 시스템이 계속 작동하는 동안 OS가 소프트웨어 또는 하드웨어의 장애에 대응하고 수정할 수 있도록 하는 수정 프로세스입니다. 내결함성은 파괴적인 장애 발생 시 지속적인 비즈니스 생존을 위한 일반적인 척도로 사용되고 있습니다.

그래서 분산 컴퓨팅 시스템은 구성 요소의 수에 제한을 받지 않습니다. 이 구성 요소들이 물리적으로 서로 가까이 있거나 로컬 영역 네트워크로 연결되어 있을 필요도 없습니다. 광역 네트워크 기능이 확장된 덕분에, 분산 컴퓨팅 시스템의 컴퓨터들이 서로 다른 대륙에 있어도 운영을 지속할 수 있습니다.

분산 컴퓨팅 네트워크 연결

분산 컴퓨팅 시스템의 목표는 분산 컴퓨팅 네트워크를 규모나 구성 요소의 위치와 관계없이 단일 컴퓨터처럼 작동하게 하는 것입니다. 여러 구성 요소 간의 정교한 메시지 전달 시스템을 통해 이러한 조정을 진행합니다.

통신 프로토콜은 이러한 메시지 교환을 제어하고 이러한 구성 요소 간에 존재하는 일종의 관계를 생성합니다. 이 관계를 “커플링”이라고 하며, 일반적으로 다음 두 가지 형식 중 하나로 표현됩니다.

  • 느슨한 결합: 두 구성 요소가 충분히 약하게 결합되어 있어, 둘 중 하나의 상태에 변화가 생겨도 다른 구성 요소가 영향을 받지 않습니다.
  • 긴밀한 결합: 구성 요소들의 동기화 및 병렬 처리 수준이 매우 높습니다. '클러스터'라는 프로세스에서 구성 요소들을 중복으로 사용해서 시스템이 중단되지 않게 합니다.

분산 컴퓨팅에서는 여러 작동 명령 시퀀스가 동시에 실행되어, 동시성의 긍정적 효과와 부정적 효과가 공존합니다. 가장 큰 긍정적 특성은, 동시성 덕분에 여러 프로세스 스레드의 병렬 컴퓨팅이 이루어진다는 점입니다(병렬 컴퓨팅은 병렬 처리와 다른 개념입니다. 병렬 처리는 런타임 작업을 작은 작업 여러 개로 나누는 프로세스입니다.).

동시성에 따른 단점으로는 지연 시간이 길어지는 것, 구성 요소 요청이 과도하게 생겨 분산 컴퓨팅 시스템에 과부하가 걸리면서 트래픽이 중단에 가까워지는 병목 현상 등이 있습니다.

동시성은 멀티스레딩과는 다른 개념입니다. 멀티스레딩은 백그라운드에서 다른 작업이 수행되는 동안 한 프로그램이 계속 실행되도록 허용한다는 개념입니다. 동시성은 여러 스레드가 동시에 실행되고 공유 리소스에 동시에 액세스하여 리소스가 더 많이 소모되는 상황입니다.

AI 아카데미

하이브리드 클라우드로 AI 지원 실현하기

IBM 사고 리더들이 이끄는 이 커리큘럼은 비즈니스 리더들에게 성장을 촉진하는 AI 투자의 우선순위를 정하는 데 필요한 지식을 제공합니다.

분산 컴퓨팅의 이점

대규모 프로젝트에 적합

처리 워크로드는 대부분의 단일 시스템이 수용할 수 있는 양을 초과하는 방대한 규모인 경우가 있습니다. 분산 컴퓨팅은 이러한 워크로드를 여러 장비와 공유하여 대규모 작업을 훌륭하게 처리할 수 있습니다.

리소스 공유 실현

분산 컴퓨팅은 공유 자산 개념을 바탕으로 분산 컴퓨팅 인스턴스 내의 여러 구성 요소가 데이터, 소프트웨어, 하드웨어 같은 리소스를 공유하도록 지원합니다.

변화하는 트래픽에 적합

많은 조직의 온라인 트래픽이 보고된 소식이나 기타 요인에 따라 급격하고 극적인 변화를 겪을 수 있습니다. 분산 컴퓨팅은 기업이 이러한 트래픽 급증을 감당하는 데 필요한 유연성을 제공합니다.

성능 최적화

분산 컴퓨팅은 대규모 처리 작업을 여러 대의 컴퓨터가 공유하는 소규모 컴퓨팅 작업으로 분할하여 성능 수준을 높입니다. 그래서 누적되는 처리 속도가 빨라지고 총 스토리지가 늘어납니다.

비용 효과성

여러 시스템으로 구성된 분산 컴퓨팅이 중앙 집중식 처리 시스템보다 초기 비용이 크긴 하지만, 상대적으로 대기 시간이 짧고 응답 시간이 빨라 비용 효율이 높습니다. 그래서 시간이 지날 수록 비용이 상쇄되어 결과적으로 분산 컴퓨팅이 중앙 집중식 시스템보다 비용 효율적입니다.

분산 컴퓨팅 유형

분산 컴퓨팅 유형은 각각이 채택하는 분산 컴퓨팅 아키텍처에 따라 분류됩니다.

클라이언트-서버 시스템

클라이언트-서버 시스템은 둘 이상의 시스템과 함께 사용할 수 있는 클라이언트-서버 아키텍처를 사용합니다. 이때 클라이언트는 요청 형태로 서버에 인풋을 지시합니다. 이러한 통신에는 주로 특정 작업을 수행하라는 명령 또는 컴퓨팅 리소스 추가 요청이 수반됩니다. 그러면 서버는 해당 작업을 수행하거나 요청된 리소스를 할당합니다. 작업이 완료되면 서버는 수행한 작업에 관한 메시지로 클라이언트에 응답합니다.

피어 시스템

중앙 집중식 시스템은 클라이언트-서버 아키텍처를 사용하지만 피어 시스템은 피어 아키텍처(주로 피어 투 피어 아키텍처라고 일컬음)에 의존합니다. 피어 시스템은 요구 사항을 식별하고 요청을 발행하거나, 해당 요구 사항을 충족하고 운영 측에 다시 보고하면서 실질적으로 클라이언트 또는 서버 역할을 하는 노드를 활용합니다. 이름에서 알 수 있듯 피어 시스템에는 계층 구조가 없습니다. 그래서 피어 투 피어 시스템에서 작동하는 프로그램들은 서로 자유롭게 통신하고 피어 네트워크를 통해 데이터를 전송할 수 있습니다.

미들웨어

미들웨어는 서로 다른 두 애플리케이션 사이에서 작동하는 일종의 '중개자' 역할을 합니다. 다시 말해 미들웨어 자체가 두 애플리케이션 사이에 상주하면서 두 애플리케이션에 모두 서비스를 제공하는 애플리케이션이라고 할 수 있습니다. 미들웨어는 해석 기능을 하기도 합니다. 서로 다른 시스템에서 실행되는 다양한 상호 운용성 앱들 사이에서 번역을 담당해, 이 앱들이 자유롭게 데이터를 교환하게 합니다.

3계층 시스템

'3계층 시스템'이라는 이름이 붙은 것은 프로그램의 기능을 구현하는 데 3개의 계층이 사용되기 때문입니다. 데이터가 클라이언트 시스템 안에 배치되는 일반적인 클라이언트-서버 아키텍처와 달리, 3계층 시스템은 데이터 계층이라고 하는 중간 계층에 데이터를 저장합니다. 애플리케이션 계층이 한쪽에서 데이터 계층을 둘러싸고, 프레젠테이션 계층이 반대 쪽에서 데이터 계층을 둘러쌉니다. 3계층 시스템은 다양한 웹 애플리케이션에서 일상적으로 사용됩니다.

N계층 시스템

다중 계층 분산 시스템이라고도 하는 N 계층 시스템은 네트워크 기능을 위한 용량에 제한이 없으며 처리를 위해 다른 앱으로 라우팅합니다. N 계층 시스템의 아키텍처는 3계층 시스템에서 볼 수 있는 것과 같으며, N 계층 시스템은 종종 수많은 웹 서비스 및 데이터 시스템의 아키텍처 기반으로 사용됩니다.

기타 분산 컴퓨팅 패러다임

분산 컴퓨팅 방식에서는 다양한 (프로그래밍 스타일이라고 생각할 수 있는) 프로그래밍 패러다임을 사용할 수 있습니다.

  • 블록체인: 블록체인은 네트워크를 구성하는 다양한 컴퓨터에서 복제되고 동기화되는 일종의 분산 데이터베이스 또는 원장입니다. 블록체인은 분산 컴퓨팅의 주된 목표 중 하나인중복성을 실현합니다. 체인 안에 있는 컴퓨터 각각이 원본 소스 원장을 저장하기 때문에 한 군데에서 장애가 생기더라도 데이터가 손실되지 않습니다.
  • 그리드 컴퓨팅: 그리드 컴퓨팅은 비대화형 워크로드를 처리하는 분산 컴퓨팅의 한 유형으로, 일반적으로 그리드 프레임워크와 미들웨어 소프트웨어의 조합을 포함합니다. 사용자 인터페이스를 통해 액세스되는 확장 가능한 그리드는 초대형 파일 시스템과 같은 기능을 합니다.

산업별 분산 컴퓨팅 사용 사례

은행

온라인 뱅킹은 한 번에 여러 장소에서 발생하는 분산 컴퓨팅의 민첩성을 보여줍니다. 보통 핵심적인 서비스 제공(고객 서비스, 보안 및 거래 처리 등) 뒤에 있는 서버들 중 하나를 수용하는 여러 은행 위치에서 발생합니다. 이를 통해 모든 과정이 은행 고객의 기대에 부응하며 즉각적으로 원활하게 처리됩니다.

컴퓨팅

인공 지능(AI)과 머신 러닝(ML)은 많은 기술 분야에 혁명을 일으키고 있지만 현재컴퓨팅 산업에서 특히나 큰 영향을 보이고 있습니다. 두 폭발적인 기술 덕분에 분산 컴퓨팅이 광범위하게 사용되게 되었습니다. AI와 ML을 이루는 알고리즘은 모델 학습에 방대한 데이터를 요하는데, 분산 컴퓨팅은 이 과정에 필요한 처리 역량을 공급합니다.

에너지

분산 컴퓨팅은 이제 에너지 및 환경 부문에서 사용되고 있습니다. 에너지 측면에서 분산 컴퓨팅은 스마트 그리드 기술이 사용량을 조절하고 에너지 소비를 최적화하는 데 도움을 줍니다. 스마트 그리드는 분산 컴퓨팅을 사용하여 센서와 스마트 계량기 같은 다양한 입력 장치에서 환경 데이터를 수집하기도 합니다.

금융

특정 금융 업계에서는 이미 분산 컴퓨팅 시스템을 사용하고 있습니다. 위험 관리 측면에서, 금융 기관은 확률과 위험 평가에 있어 정확한 정보를 바탕으로 더 현명한 결정을 내리기 위해 엄청난 양의 계산을 실행해야 합니다. 그리고 이를 위해서는 방대한 데이터가 필요합니다. 분산 컴퓨팅은 컴퓨팅 부하가 여러 시스템에 균등하게 배분되게 합니다.

과학

분산 컴퓨팅은 수많은 과학 분야를 뒷받침하고 눈부신 과학적 성취에도 기여했습니다. 이러한 예로는 세계에서 가장 강력한 입자 가속기인 대형 강입자 충돌기(Large Hadron Collider)가 있습니다. 이 충돌기를 완성하기까지의 실험에는 어마어마한 양의 데이터 수집과 분석이 수반되었습니다. 여기에는 분산 컴퓨팅이 필요했습니다. 분산 컴퓨팅은 인간 게놈 프로젝트에서 인간 DNA 염기서열 매핑 과정에 일조했습니다. 분산 컴퓨팅은 기상 예측과 기후 모델링에서도 필수적인 역할을 합니다.

관련 솔루션
IBM Cloud Infrastructure Center 

IBM Cloud Infrastructure Center는 IBM zSystems 및 IBM LinuxONE에서 프라이빗 클라우드의 인프라를 관리하기 위한 OpenStack 호환 소프트웨어 플랫폼입니다.

IBM Cloud Infrastructure Center 살펴보기
IT 인프라 솔루션

엔터프라이즈 하이브리드 클라우드 및 AI 전략을 위해 설계된 서버, 스토리지 및 소프트웨어를 살펴보세요.

토목 인프라 솔루션 살펴보기
클라우드 인프라 솔루션

비즈니스 요구에 적합한 클라우드 인프라 솔루션을 찾고 필요에 따라 리소스를 확장하세요.

클라우드 솔루션
다음 단계 안내

IBM의 하이브리드 클라우드 및 AI 지원 솔루션으로 기업 인프라에 혁신을 일으키세요. 비즈니스를 보호, 확장 및 현대화하도록 설계된 서버, 스토리지 및 소프트웨어를 살펴보거나 전문가 인사이트에 액세스하여 생성형 AI 전략을 강화하세요.

토목 인프라 솔루션 살펴보기 eBook 다운로드