전체 글 110

Distributed System - 8. Fault Tolerance

1. Introduction* DependabilityComponent가 서비스를 client에게 제공하기 위해, 다른 Component의 서비스에 의존할 수도 있다. 즉, 하나의 component는 완전히 독립적으로 동작하지 않을 수도 있으며, 다른 component와의 상호작용에 따라 동작이 달라질 수 있다.정의 : component C가 component C*에 의존한다고 할 때, C*의 동작이 올바르게 수행하지 않으면 C 역시 장애가 발생한다. (여기서 component는 프로세스나 채널을 의미한다.)=> 이러한 Dependability의 요구사항은 크게 4가지가 존재한다.1. Availability : 시스템의 사용 가능 상태가 얼마나 잘 유지되는지를 의미.(얼마나 준비상태를 유지할 수 있는지...

개인 공부 2024.12.04

Distributed System - 7. Consistency & Replication

1. Reasons for replication복제(Replication)이란 데이터를 여러 복제본(replica)로 분산하여 저장하는 것을 의미한다.복제를 함으로써 얻을 수 있는 효과는 크게 2가지가 있다.1. 성능 : 동일한 데이터에 대해 여러 클라이언트가 동시에 요청을 처리할 수 있어 성능이 향상된다.2. 확장성(Scalability) : replica를 추가함으로써 시스템의 capacity를 확장할 수 있다. (Task 분산) 그러나 복제를 하면 자연스럽게 따라오는 문제가 있는데, 바로 replica 끼리의 consistency 문제이다.replicas consistent를 지키기 위해서, Write 작업과 다른 작업이 동시에 일어날 때 처리를 해줄 규칙이 필수가 된다는 것이다.1. Read-Wr..

개인 공부 2024.12.02

Distributed System - 6. Coordination

1. Clock synchronization분산 시스템을 구축할 때, 각 Autonomous computing element 들은 물리적으로 격리되어있다고 가정한다.따라서 이들은 공통된 Physical global clock을 가지는 것이 불가능하다. 따라서 분산 시스템을 구축하며 coordination의 측면에서 Clock 동기화는 필수이다.위의 사진과 같이 output.c를 컴파일한 결과 output.o가 local clock이 달라 output.o가 먼저 만들어진 것으로 인식될 수가 있다는 것이다. 그렇다면 clock 동기화는 어떻게 하면 될까? 1. Physical clock만약 단순히 선후 관계의 이벤트 순서만이 아니라 해당 이벤트의 정확한 발생 시간이 필요하다고 해보자.(Ex : UTC 등의 ..

개인 공부 2024.12.02

1. Link Layer - 1

- I : Introduction본 글에서는 OSI 7 계층 중 첫번째 계층에 해당하는 Link Layer에 관련한 내용을 다룬다.이더넷과 Wi-Fi Link Layer를 사용하는데 관련된 세부 사항, Point-to-Point Protocol(PPP)가 사용되는 법, 다른 프로토콜(Link Layer의 상위 Layer)에 Link Layer 프로토콜을 포함시키는 tunneling 기술에 대해 알아볼 것이다.대부분의 Link Layer Protocol은 해당 PDU(Protocol Data Unit)가 네트워크 하드웨어를 통해 전송되기 위해 어떻게 구성되어야 하는지를 설명하는 관련 프로토콜 형식이다. Link Layer의 PDU는 일반적으로 Frame(프레임)이라고 부르며, 차후 다루게 될 Packet,..

Computer Network 2024.11.27

Distributed System - 5. Naming

1. Names, identifiers and addresses- Name : entity를 가리키는 bit나 char의 나열- Entity : Name이 붙을 수 있는 모든 것=> Entity에 접근하기 위해서는 Access Point(AP)를 통해야하며, 이 AP도 역시 entity이다.- Address : AP의 Name- Naming system : 어떻게 각 Entity의 name을 결정할 것이며 이러한 name을 가지고 어떻게 해당 entity까지 접근할지, 그리고 그 name 들을 어떻게 관리, 유지할지를 결정할지를 정하는 것이다. - Identifiers(ID)란?1. Pure name : 이름에 아무런 의미가 없는 형태.2. Identifier : entity와 1대1 매칭이 되며, 재사..

개인 공부 2024.10.23

Distributed System - 4. Communication

1. Layered protocols- 기본적인 Layered protocols로써 OSI 7계층이 있다.-> 자세한 것은 네트워크에서 배우기에 가볍게 말하면 물리,데이터링크,네트워크,전송,세션,표현,응용 계층으로 통신 프로토콜을 계층화한 것이다. -> 통신의 본질은 Message를 교환하는 것이고, 해당 Message를 보내고자 할 때, Client의 응용 계층부터 물리 계층 까지 Message가 내려가며 Header를 추가한다. 이후 목적지의 물리 계층부터 응용 계층까지 헤더를 확인하며 최종 Message를 수신 처리하는 것이다. * Distributed System에서의 Layered protocols1. Physical layer : "bit"라는 가장 기본적인 데이터 단위를 실제로 전송하는 방식..

개인 공부 2024.10.20

Distributed System - 3. Processes

1. Threads- Processor : Instruction 집합을 자동적으로 순서대로 실행할 수 있는 것.- Process : SW processor 면서 여러가지 Thread를 실행하는 context를 가진 프로그램 실행의 단위- Thread :  가장 작은 단위의 SW processor. 실행될 수 있는 가장 작은 Instruction 단위. Thread를 저장한다는 것은 현재 실행을 멈추고 그에 관한 레지스터 data들을 다음 stage를 대비하여 저장하는 것을 의미한다. * Context switching- Processor Context : Instruction Series을 실행하기 위해 저장하고 있는 레지스터 값들의 collection. (Stack pointer, addressing ..

개인 공부 2024.10.07

Distributed System - 2. Architectures

1. Architectures- Distributed System의 아키텍처를 나누는 기준으로는 여러가지가 있을 수 있는데, 그 기준은 다음과 같다.1. Replaceable : Component들이 잘 정의된 인터페이스를 가져서 다른 component와 상호작용이 가능한가?2. Connectivity : Component 간의 연결이 어떻게 되어있는가?3. Data exchange : Component 간 데이터 교환법이 어떻게 되는가?4. Mechanism : Component와 Connector들이 시스템 상에서 어떻게 구성되는가?(* Connector : Connector는 Component 간 통신 등을 중재하는 Component이다. 여기서 통신은 procedure call, messaging..

개인 공부 2024.10.01

Distributed System - 1. Introduction

1. What is a distributed system?분산 시스템이란 종단 user들에게 하나의 coherent system으로 보이는 Autunomous computing element들의 collection을 의미한다.Autonomous computing element(node)란 물리적으로 독립된 하드웨어나 프로세스를 의미한다. 즉, 메모리 등 자원 공유가 안되는 상태이다.Single coherent system 이란 하나의 시스템으로 인지되는 시스템을 의미하며, 이를 위해 노드들은 협력이 필요하다.각 노드는 물리적으로 독립되어있으므로 각자의 시간을 가지고 작동하며 phsycal global clock이 없고, 동기화 및 조정 문제를 해결해야한다.즉, Collection of nodes는 어떻게..

개인 공부 2024.09.30

CLIP : Connecting text and images. (기본 개념)

* https://openai.com/index/clip/ 를 읽고 작성한 글입니다. CLIP(Contrastive Language-Image Pre-training) 모델은 자연어를 통해 시각적 개념을 효율적으로 학습할 수 있게 설계된 신경망이다. 이 모델은 GPT-2, GPT-3의 "제로 샷"과 유사하게, 인식해야 할 시각적 카테고리의 이름마 제공하면 어떤 시각적 분류 벤치마크에도 이용할 수 있다. CLIP은 인터넷에서 발견되는 (이미지-텍스트) 쌍을 이용한다. 이 데이터를 이용하여 주어진 이미지에 대해 무작위로 샘플링된 32,768 개의 텍스트 스니펫 세트 중에서 실제로 데이터 세트에서 어떤 것과 쌍을 이루었는지 예측하는 proxy training task를 만든다.더보기Proxy Training ..

개인 공부 2024.06.25