728x90

DKU/분산처리 19

Distributed System 9

Naming분산 시스템에서 Name이란, 엔티티의 참조로 사용되는 비트나 문자 스트링이다.많은 수의 노드의 ip 관리가 어렵기 때문에, name을 붙이기 시작했다.네트워크 주소, 프로세스 식별자, 파일 이름, 유저 이름, 서비스 이름, 클래스 식별자 등이 있다. 네임은 공유를 가능하게 한다. 네임은 다른 오브젝트와 통신하기 위해서 흔히 쓰이는 것이며, 싱글 네임은 같은 일을하는 다수의 오브젝트를 대표할 수 있다. 또한, 네임은 큰 집합에서 특정 구성원을 고유하게 식별할 수 있다.네임은 명명된 객체가 수행하는 역할을 나타낼 수 있으며, 위치에 대한 힌트를 줄 수 있고, 수행할 수 있는 작업을 나타낼 수 있다. 네임의 유형주소: IP주소나 포트같이 특정 엔티티에 연결된 접근 지점을 나타내는 네임이다. 하나의..

DKU/분산처리 2024.10.14

Distributed System 8

오늘은 교수님의 늦잠 이슈로 수업을 30분 늦게 시작했다는 럭키비키한 날교수님의 랩에도 불구하고 진도는 얼마 나가지 못했지만 생각보다 엄청난 과제를 받아버렸다.. 이건 또 언제 공부해서 구현하나 ...전 수업에 RPC에 대해 배웠다.rpcgen이라는 코드 자동 생성 기능으로 simple하게 RPC를 구현할 수 있다. 하지만 RPC에도 단점이 존재하는데,서로 다른 언어를 사용하는 이질적 시스템을 지원하는 것은 어렵고,중간에 네트워크를 껴서 작동하기 때문에 네트워크에 문제가 생겨버리면 프로시저 콜에 대한 리턴을 보장하기 어렵다. RPC 구현을 위해 소켓을 쌍으로 연결하여 사용하는 ZeroMQ가 기억나는가?세 가지 통신 패턴을 제공함으로써 소켓 프로그래밍보다 쉽게 접할 수 있었다.각각의 패턴들이 어떤 상황에 ..

DKU/분산처리 2024.10.07

Distributed System 7

추석도 그렇고, 국군의 날도 그렇고 뭔가 중간에 뜨문뜨문 쉬는 날들이 껴있어서 분산 처리 복습을 수월하게 처리 중이랄까...감사합니다 공휴일님 ㅠㅅㅠ이번에 듣는 수업 중 가장 어려운 수업.. 내용이 방대해서 그런 것 같다.Application-level Multicasting분산시스템의 첫 시작부터 강조되었던, 분산 시스템의 노드들은 오버레이 네트워크를 조직한다는 사실!노드들은 데이터를 전파시키기 위해 이 오버레이 네트워크를 사용한다. 트리 구조를 통해 고유한 경로로 데이터를 전송하는 방식과,메시 네트워크를 통해 데이터를 라우팅하여 전송하는 방식이 있다.플러딩 기반(Flooding-based) 멀티캐스팅은 네트워크의 모든 노드에 데이터를 전송하는 방식이다. (= broadcasting) Epidemic ..

DKU/분산처리 2024.09.30

Distributed System 6

분산 시스템에서의 모든 통신의 기반은 메시지 송수신이다.컴퓨터 그룹이 네트워크를 통해 통신하려면, 통신에 사용될 프로토콜에 대해 모두 동의해야만 한다.기본 네트워크 모델레이어드 프로토콜 OSI 7계층은, 메시지 패싱에 집중한 오픈 시스템 상호연결 관련 모델이다.하위 계층에서 수행되는 작업이 상위 계층에 투명하게 처리된다. 낮은 레벨의 계층에는 Pysical, Data-link, Network 계층이 포함된다.Pysical layer는 bit의 설명과 구현을 담당하고 있으며, 송신자와 수신자에게 bit를 전송하는 역할이다.Data-link layer는 에러와 흐름제어를 허용하기 위해 전송되는 bit 그룹들을 frame으로 바꾸라는 지시를 내리는 역할이다.Network layer(Internet Protoc..

DKU/분산처리 2024.09.30

Distributed System 5

5년간 쓴 아이패드가 깨져서 유리조각을 흘리고 다니길래, 새로운 아이패드를 구매했다.아직 필름이 도착을 안해서 애플펜슬 펜촉을 기본으로 사용하니.. 미끌미끌 필기가 힘드러요각설하고, 오늘도 진도 팍팍 나가신 교수님을 위해 복습 스따또System Architectural Styles시스템 아키텍처 스타일은 소프트웨어 아키텍처가 실제로 어떻게 구현되고 배치되는지에 따라 여러 유형으로 나뉜다. Centralized Architecture(중앙 집중식 아키텍처)중앙 집중식 아키텍처는 클라이언트-서버 아키텍처 모델이 대표적이다.서버는 특별한 서비스를 구현하는 프로세스고, 클라이언트는 서버에 서비스를 요청하는 프로세스다.클라이언트가 요청을 전송한 후에, 서버에서 응답을 받을 때까지 기다림이 발생한다. (blocki..

DKU/분산처리 2024.09.23

Distributed System 4

소프트웨어 아키텍처 스타일 (이어서)Resource-based Architecture(리소스 기반 아키텍처)리소스 기반 아키텍처는 객체 기반 아키텍처의 하위 아키텍처라고 생각하면 된다.분산 시스템을 리소스의 모음으로 보고, 각 리소스는 컴포넌트에 의해 개별적으로 관리된다. 리소스 기반 아키텍처의 대표적인 예시로 RESTful 아키텍처가 있다.아래는 RESTful 아키텍처의 특징이다.리소스는 단일 명명 스킴을 통해 식별된다. 모든 리소스는 고유한 식별자를 가지고 있다. (e.g. URL)모든 서비스는 동일한 인터페이스를 제공한다. RESTful 아키텍처에서는 HTTP 메서드가 인터페이스 역할을 한다.서비스로부터 보내지거나 서비스로 보내지는 메시지는 완전히 자기 설명적이다(self-desribed). 각 메..

DKU/분산처리 2024.09.20

Distributed System 3

나는 보았다 약 80분 동안 피피티 35장의 진도를 나가시는 교수님을.분명 피피티엔 적힌게 많은데 말 한두마디 하시고 넘어가시는 교수님을 ....잠시 원망 좀 하고 복습 들어가겠습니다. 왜그러셨어요?분산 시스템 설계 원칙가용성을 높이기 위한 복제: 복제를 통해 가용성을 높일 수 있지만, 일관성을 유지하는데 어려움이 생길 수 있다.가용성과 일관성 간의 Trade off: 시스템 설계 시 가용성과 일관성 중 하나를 선택해야 하는 상황이 발생할 수 있다. 가령, 네트워크 이름 서비스(가용성 필요)와 은행 거래(일관성)을 예시로 들 수 있다.캐시 힌트: 캐시는 분산 시스템 설계와 구현에서 높은 성능을 구사할 수 있게 해준다. 자율적인 운영을 위한 Stashing: 스태싱 기법을 사용하여 네트워크와의 연결 없이도..

DKU/분산처리 2024.09.18

Distributed Systems 2

Considerations of Distributed Systems1. Heterogeneity(이질)분산 시스템의 각각의 노드들이 동일한 OS나 하드웨어 등을 쓸 필요가 없다. 분산되어 있으니까!그래서 다양한 네트워크, 하드웨어, OS, 프로그래밍 언어가 사용된다.  그렇다면 이질적인 것들을 위한 서포트가 있어야하는데,미들웨어: 프로그래밍 추상화를 제공하는 소프트웨어 레이어이다. DCE, CORBA, DCOM 등모바일 코드: 한 컴퓨터에서 다른 컴퓨터로 이전되어 실행될 수 있는 프로그램 코드. JVM 등2. Openness(개방성)개방성이란 시스템의 확장성이나 재구성을 판단하는 기준이다.기존 환경에서의 이질과 관계없이 다른 서비스의 요소와 상호작용을 허용한다.핵심 요소는 coherence(일관성)인데,..

DKU/분산처리 2024.09.09

Distributed Systems

분산 시스템먼저, 네트워크 시스템은자율성을 가진다.자원들을 소유한다.정보 처리를 수행할 수 있다.다른 시스템들과 통신할 수 있다.분산 시스템은시스템의 집합이다.요소들 사이에서 명확한 통신이 필요하다.네트워크 시스템은 자율 시스템으로 컴퓨터 네트워크에서 명확하게 보이는 시스템이다.분산 시스템은 여러 자율 시스템의 존재가 투명하게 보이는 시스템이다. 여기서 투명하게 보인다는 것은, 시스템이 분산되어 있는 것을 보이지 않게 하는 것이다. 따라서 사용자는 여러 개의 자율 시스템이 사실상 하나의 시스템으로 보이게 된다. 따라서 분산 시스템이란,autonomous computing elements(노드)의 집합이며, 사용자에게 일관성 있는 단일 시스템으로 보여지게 된다.일관성 있는 시스템은 전체 동작 방식에 거스르..

DKU/분산처리 2024.09.05
728x90