컴퓨터공학 (23) 썸네일형 리스트형 블록체인이란 “인터넷에서 자 거래를 처리하기 위해 믿을 수 있는 중재자 역할을 하고 있는 금융 기관에 거의 의존하다시피 하고 있다. 대부분의 거래에서이 시스템은 상대적으로 잘 작동하지만, 신뢰를 기반으로 한 시스템이라는 점에서 내재적인 약점을 지니고 있다.” - 사토시 나카모토 이는 사토시 나카모토란 가명으로 알려진 단체 (또는 사람)가 비트코인을 처음 만들 때 내놓은 글의 소개부분에 나온 문단입니다. DLT (Distributed Accounting Technology) 또는 블록체인은 경제 분야 뿐만 아니라 다른 여러 분야의 비즈니스에 접목시킬 수 있는 하나의 트랜드입니다. 현재, 가장 핫한 응용 분야로 IoT, 공급 과정 관리등을 들 수 있겠습니다. 너무 기술적으로 다가가지 않으면서 이야기하자면, 블록체인은 은.. 네트워크 크기에 따른 분류 LAN (Local Area Network) 소규모 네트워크 WAN (Wide Area Network) 대규모 네트워크 MAN (Metropolitan Area Network) 중규모 네트워크 프로토콜: https://terms.naver.com/entry.nhn?docId=2271799&cid=51207&categoryId=51207 IP 주소에서 192.168.0 까지 네트워크 주소 .1 은 호스트주소이다. MAC 주소에서 00:60:97 까지 제조사번호이고 :8F:4F:86 은 제품특정번호이다. 분산시스템의 결함 허용 (Fault Tolerance) Fault Tolerance Basic Concepts ○ Fault Tolerance: 분산시스템상 어느 정도 Fault가 발생해도 시스템이 Crash 되지 않음 ○ Fault Tolerance의 Dependability (Fault Tolerance의 요소) - 가용성(Availability) - 신뢰성(Reliability) - 안정성(Safety) - 유지보수성(Maintenance) Failure Models ○ Failure의 유형 - CrashFailure: 한 시스템 또는 전체가 중단됨 - OmissionFailure: 생략, 요청에 대한 응답 실패 • Receive Omission: 메시지 수신 실패 • Send Omission: 메시지 전송 실패 - Timing Failure: 시간 초.. 분산시스템의 일관성 및 복제(Consistency & Replication) 복제 이유 (신뢰성/성능) 시스템의 신뢰성을 높이기 위해 데이터가 복제됩니다. (백업) 성능을위한 복제 (병렬처리) - 숫자의 크기 조정 - 지리적 영역의 확장 (거리가 먼 경우 근거리에 복제해서 해시처럼 사용) 경고 -실적 향상 -복제 유지 비용 증가 대역폭 단, 갱신이나 업데이트가 되면 일관성의 문제가 된다. ○ Replication(복제): 분산시스템에서 성능(Performance)과 신뢰성(Reliability)을 확보하는 방법 - 성능: 병렬처리, Caching, 지리적 한계 탈피 - 신뢰성: 자료의 Backup ○ 복제의 문제점 - 데이터의Consistency(일관성)이깨질수있음 - 시스템 운영/관리비용의 증가 ○ Consistency Model(일관성 유지 모델) - Data-Centric(.. 분산시스템의 동기화(synchronization) 컴퓨터 또는 시스템간 동기가 필요하다. 서로 다른 프로그램 (컴파일러와 에디터)끼리의 로컬클록이 다르기에 동기가 필요하다. 컴파일러를 (A)머신, 에디터를 (B)머신에서 동작한다고 한다 A와 B머신의 로컬클럭은 2초차이가 난다. A의 로컬클럭은 2144 , 2145, 2146... B의 로컬클럭은 2142, 2143, 2144... A가 2초 늦다. B의 컴퓨터에서 2143초에 에디터를 사용하였다. 2143= B의 로컬클록 A는 2144에서 아웃풋을 하지만 되지 않는데. 2144초로써 더 이전이기 때문이다. ○ 시간(Clock or Time)의 중요성 - 컴퓨터에서 일어난 이벤트 발생시간 파악 - Data Consistency 유지 등 각종 시스템 알고리즘 구현에 이벤트 시간이 중요 ○ Clock Syn.. 분산시스템의 네이밍 Names, Identifiers, and Addresses ○ Name(이름) - 임의의 실체(Entity, Object 등)에 부여 - 실체를 구분하고 원하는 대상을 찾기 위함 ○ Identifier(ID, 식별자) - 동일한 이름을 가지는 실체를 구분 - 식별자와 실체는 1:1 관계 - 동일한 식별자는 항상 동일한 실체를 가리켜야 함 ○ Address(주소) - 실체에 Access 하는 방법 - Access Point Naming 방법 ○ Flat - Forwarding Pointer - HBA(Home-Based Address) - DHT(Distributed Hash Table) - HA(Hierarchical Approach) ○ Structured - NS(Name Space): File S.. 분산시스템의 커뮤니케이션 프로세서간의 커뮤니케이션(통신모델)이 필요하다. 통신모델 ○ RPC(Remote Procedure Call): 원격 프로시저 호출 ○ MoM(Message Oriented Middleware): 메신저 ○ Streaming: Audio, Video 전송/처리 ○ MC(Multi Casting) Layered Protocols ○ OSI 7 Layer - 통신모델의 표준으로 채택 - 동등한 레벨끼리 통신 - 실제에서는 사용하지 않음 - 다른 모델의 참고(Reference) 모델 ▲ 7계층의 헤더 (식별필요) Encapsulation - 통신모델의 각 Layer별 데이터 구분/처리를 위해 Header 사용 - Header에서 가장 중요한 정보는 주소 - DataLink 계층은 데이터 오류검출을 위해 Trai.. 분산시스템에서의 프로세스 Process는 분산시스템에서 중요환 관점이 될 수 있다. 클라이언트/서버 구조를 효율적으로 구현하기 위해서는 3가지 관점에서 보아야한다. 1. thread 2. 가상화 3. Client-Server 구성 Thread Usage in Non-distributed Systems ▲ 비분산시스템에서의 쓰레드사용 (Thread Usage in Non-distributed Systems) -A에서 작업하던 단일코어가 B로 할당: A에서 작업을 하다가 B로 넘어가기전 기존 A Context를 스택에 저장. 나중에 사용할 때 Restore 기존 프로세스는 서로 다른 Process간 전환 시(또는 정보교환시) Context Switching Overhead가 발생한다. Process 전환에 따른 PCB의 Load/S.. 이전 1 2 3 다음