728x90

전체 글 57

Bubble Sort Algorithm

거품 정렬(bubble sort)는 정렬 알고리즘의 하나로, Selection Sort 알고리즘과 유사하다.서로 인접한 두 원소를 비교하고, 조건에 맞지 않다면 자리를 교환하며 정렬하는 알고리즘이다. 거품 정렬은 첫번째 원소와 두번째 원소 → 두번째 원소와 세번째 원소 → 세번째 원소와 네번째 원소 ・・・ 처럼 인접한 두 원소를 비교하며 정렬한다. 마지막 두개의 원소의 크기를 비교하여 정렬을 마치면 1회전이 끝난 것이고, 제일 큰 원소가 맨 마지막에 위치하게 된다. 2회전을 시작할 때는 이미 정렬된 맨 마지막 원소를 제외하고 비교를 시작한다. 이렇게 회전 수가 늘어날 마다 정렬해야하는 배열에서 제외되는 원소 수가 늘어난다. i가 1부터 배열 A의 길이까지 반복하고,j가 배열A의 길이에서 i+1이 될때까지..

Multiplexing 2

CDM(Code Division Multiplexing): 코드 분할 다중화CDM은 각 채널이 고유한 직교함수 또는 코드워드를 사용하여 데이터를 전송하는 방식이다.직교함수(orthogonal function): 서로 다른 채널들이 서로 간섭하지 않도록 하기 위해 사용하는 고유한 코드나 신호 패턴이다. 직교 함수는 서로 독립적이기 때문에, 하나의 채널에서 전송된 신호는 다른 채널에서 전송된 신호와 겹치지 않는다. Hadamard matrix하다마드 행렬은 모든 요소가 +1 또는 -1로 이루어진 정사각 행렬이며, 행과 열이 서로 직교하는 특별한 성질을 가지고 있다.이 직교성은 다음과 같은 조건을 만족한다.$$H_{n}H_{n}^T = nI_{n}$$즉, 하다마드의 행렬의 행과 열은 서로 직교하며, 그 결과 ..

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
728x90