728x90

2024/09 15

Multiplexing

Mulitplexing 이란?멀티플렉싱은 다수의 시그널들을 결합하는 메서드이다. 아날로그 시그널, 비트 스트림, 패킷 스트림이 멀티플렉싱의 대상이다.통신 미디어를 공유하고 있을 때 이들을 결합하여 전송한다. 노드의 개수가 n개이면, 노드끼리 이어주는 링크의 개수는 $\frac{n(n-1)}{2}$개가 필요하다. 노드의 개수가 조금만 늘어나도 굉장히 많은 링크가 필요하게 된다. 그래서 멀티 플렉싱을 사용하는건데, 다수의 저속 신호 채널들을 결합시켜 하나의 고속 통신회선을 통해 전송하는 것이니 전송 효율이 매우 높아진다고 할 수 있다. Multiplexer & Demultiplexer멀티플렉서란 멀티플렉싱 기능이 있는 기기이다.디멀티플렉서는 결합된 시그널들을 다시 분해하는 기기이다.Frequency divi..

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

Growth of Functions

Gorwth of Functions: 함수의 성장함수의 행동을 한계에서 설명하는 방식을 asymptopic effciency(점근적 효율성)이라고 한다.이 방식에서는 저차항과 상수계수를 무시하고 중요한 부분에 집중하여 알고리즘의 실행시간을 나타낸다.알고리즘의 실행시간으로는 함수의 크기(알고리즘의 성능)를 비교할 수 있다. 위 사진은 $\Theta, O, \Omega$ 표기법의 그래프 예시다.각 부분에서, $n_0$의 값은 가능한 작은 값이며, 이보다 더 큰 값도 동일한 역할을 할 수 있다.여기서 역할이란, f(n)과 g(n)을 비교하는 임의의 시작점이다. (a) 빅세타(Big Θ) 표기법양의 상수 $n_{0}, c_{1}, c{2}$가 존재하며, $n_0$의 오른쪽에서 $f(n)$의 값이 항상 $c_{1..

Merge Sort Algorithm

합병 정렬(merge sort)알고리즘이란, 분할 정복(divide and conquer) 기반인 정렬 알고리즘이다.쉽게 말하자면, 더 이상 쪼개질 수 없을 정도의 단위로 쪼갠 후에, 합병하면서 정렬하는 것이다. 일단 합병 정렬 알고리즘의 실행시간은 재귀적 표현을 가지고 있기 때문에, 값을 직접적으로 알 수 없다는 특징이 있다.e.g. T(n) = T(n-1) + 2 자, 먼저 배열을 최소 단위로 먼저 쪼개는 방법이다.배열 A가 p부터 r까지의 원소를 가진다면, 그 중간값인 q를 먼저 찾는다.⌊⌋이런 기호가 보이는데, floor연산이며 안의 값보다 크지 않는 최대의 정수(내림)값을 찾는 연산이다.그리고 나눠진 배열에서의 각각 중간값을 찾는 과정을 반복한다(재귀). $n_1$에는 배열A의 처음 원소부터 중..

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

Insertion Sort Algorithm

삽입 정렬 알고리즘은 주어진 배열의 2번째 요소부터 앞의 모든 요소들과 비교하여 알맞은 곳에 삽입시키는 알고리즘이다. 배열 A = {5, 2, 4, 6, 1, 3} 이 주어졌다고 가정하자.회색 칸은 이미 정렬이 된 원소이고, 검은색 칸은 현재 정렬해야할 key값이다. 흰색 칸은 각 단계에서 사용할 필요가 없는 원소이다.흰색 칸을 아직 정렬되지 않은 칸으로만 볼 수 있지만, 그림(c)를 보면 이미 정렬된 2, 4 또한 흰색으로 칠해져 있다. key값인 6이 5와 비교되면 바로 자리에 삽입되기 때문에 2, 4와 비교될 필요가 없다. 이처럼 삽입 정렬 알고리즘에서의 비교횟수는 불규칙적이다. 2번째 요소부터 마지막 6번째 요소까지 비교 반복을 해주면, (f)그림처럼 잘 정렬된 배열이 완성된다.나는 수도 코드 읽..

Getting Started

알고리즘 공부 좀 미리 해둘걸ㅠㅅㅠ 이 과목은 철저한 복습과 암기가 살 길이라는 것을 2주차에 직감했다... 진짜 행복하네수업시간에 모르는 것들이 나오면 따로 공부해서 추가적인 포스팅을 하도록 하겠슴미다. Insertion Sort: 삽입 정렬삽입 정렬 알고리즘이란 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입하고 정렬하는 알고리즘이다.쉽게 말하자면, 카드 정리라고 할 수 있다. 나는 원카드 게임을 할 때 패를 받으면 오름차순으로 정렬을 한다(2, 5, 8, 9). 또 새로운 카드를 손에 넣었을 때 숫자 크기를 비교하여 알맞은 위치에 카드를 꽂아넣는다(2, 5, 7(new!), 8, 9). 이게 삽입 정렬이다.  삽입 정렬 알고리즘의 알맞게 수행..

728x90