본문 바로가기

IT 기술/용어 및 개념

Distributed System 기초

반응형

Distributed System?

  1. A collection of scalability
  2. Independent computers that heterogeneity : 각각의 OS를 가진 컴퓨터들이 같이 묶여있는 것
  3. Appears to its users as a single coherent system(transparency) : 사용자가 마치 하나의 시스템을 쓰는 것처럼 사용자가 느끼게 하는 것, 즉 시스템의 모든 파일에 대하여 사용자가 동일한 방법으로 접근할 수 있도록 하는 것

Distributed System과 Parallel System의 차이는?

  • Distributed System은 OS가 분리되어있고 Parallel System은 하나
  • Distributed System은 동시에 수행되는 여러 프로세스간에 데이터를 주고 받기 위해 message passing을 사용하고 Parallel System은 shared memory를 사용함

     

Distributed System을 사용하는 이유는?

  • 다중 시스템의 경우 시스템이 많을수록 performance는 떨어지기 마련인데 Distributed System은 지수함수적으로 올라감
  • 계속해서 시스템을 확장할수록 퍼포먼스가 올라가기 때문에 이것은 Scalbility가 좋다고 할 수 있음
  • 독립된 OS들이 모여있는 것이기 때문에 문제가 발생하더라도 다른 machine이 대체할 수 있음
  • 또한, 시스템 구성 자체를 flexible하게 할 수 있음

Distributed System 구성

위의 그림에서 보면 Distributed system(이하 DS)은 Middleware에 위치하게 된다. 그림에서 알 수 있듯이, DS는 서로 Machine A, B, C의 독립된 OS를 연결한다. 당연히 발생하는 문제는 Local OS의 Heterogeneity인데 이는 Object Oriented Concept로 해결하였다. 아래 그림을 보면 각 server를 Object Oriented Concept을 이용하여 추상화하여 Heterogeneity를 극복하는 것을 알 수 있다. 이러한 방식으로 DS는 무한 확장성(Scalability)을 가진다.

Transparency를 위해서, 다시 말해 하나의 시스템처럼 보이기 위해서 DS는 다음과 같은 특징들을 숨겨야 한다.

  • Access, Location, Migration, Relocation, Replication, Concurrency, Failure, Persistence

여기서 Concurrency는 특정 자원에 여러 사용자가 동시에 접근하는 것을 막아야 한다는 것이고 Persistence는 리소스들이 메모리든 디스크든 어디에 저장되어있는지를 숨겨야 한다는 것이다.

반응형

'IT 기술 > 용어 및 개념' 카테고리의 다른 글

Massively Distributed Database Systems(Transaction Management)  (0) 2014.04.23
Massively Distributed Database Systems(Replication vs Partitioning)  (0) 2014.04.23
핵티비즘(Hacktivism)  (0) 2012.03.05
DHCP  (0) 2012.01.25
SCADA  (0) 2012.01.25