사망년 16

Synchronization Toole(동기화 도구들)

Background 병렬 수행(Concurrent Execution)은 여러 프로세스가 동시에 실행되는 것이다. 이러한 프로세스는 언제든 인터럽트가 발생할 수 있으며, 이 경우 현재 실행 중인 작업을 부분적으로만 완료하게 된다. 이와 같은 병렬 수행 환경에서는 공유 데이터에 대한 동시 접근이 데이터 불일치를 초래할 수 있다. 이를 해결하기 위해 협력하는 프로세스들 사이에서 순차적 실행을 보장하는 메커니즘이 필요하다. 예를 들어 '생산자-소비자 문제'는 생산자가 데이터를 생성하여 버퍼에 넣고, 소비자가 그 데이터를 사용한다. 이때 모든 버퍼를 채우는 것이 목표라면, 버퍼의 수를 추적하는 정수 카운터를 사용할 수 있다. 카운터는 초기에 0으로 설정되고 생산자가 새로운 데이터를 생성하여 버퍼에 넣을 때마다 증..

CPU Scheduling

Basic Concepts다중프로그래밍(Multiprogramming) 및 최대 CPU 활용다중프로그래밍은 여러 프로세스가 동시에 메모리에 적재되어 CPU를 사용할 수 있는 시스템 기법이다. 이것은 CPU가 놀거나 유휴 상태를 최소화하여 최대한 활용할 수 있는 방법 중 하나이다. CPU-I/O Burst Cycle프로세스 실행은 CPU 실행과 I/O 대기의 주기로 이루어진다.프로세스는 CPU에서 실행되다가 I/O 작업을 위해 기다린다. CPU Burst와 I/O BurstCPU Burst는 CPU에서의 연속적인 실행 시간이다.반면에 I/O Burst는 해당 프로세스가 I/O 작업을 위해 기다리는 시간을 나타낸다. CPU Burst 분포CPU Burst의 길이와 간격은 프로세스 동작의 특성을 결정짓는 요소..

비지도 학습

차원 축소 차원의 저주(Curse of Dimensionality) 고차원 공간에서는 대부분의 데이터가 경계(테두리) 부근에 집중되는 경향이 있다. 데이터의 밀도가 낮아지고 학습이 어려워지는 문제가 발생하며 이를 해결하기 위한 적절한 전처리 기법이나 차원 축소 방법 등을 사용하여 모델을 개선해야 한다. 데이터 희소성 : 고차원 공간에서 데이터 매우 희소하게 분포한다. 데이터 포인트 간 거리 증가 : 데이터 포인트들이 점점 멀어진다. 학습 시간 증가와 모델 복잡성 일반화 성능 감소 이로 인해 모델의 예측 불안정성이 증가하고 과대적합 위험이 커진다. 샘플 분포의 특징 학습 데이터의 분포는 고차원 공간에서 균일하게 퍼져 있는 것이 아니라, 특정한 패턴이나 규칙을 따르는 경우가 많다. 이미지 데이터 같은 경우 ..

분류

(머신러닝 기말고사 공부) 분류를 위한 회귀 분류는 데이터를 정해진 몇 개의 클래스 중 하나로 분류하는 문제이다. 문제를 해결하기 위해 주어진 학습 데이터에서 입력 데이터와 해당하는 출력 레이블 사이의 관계를 찾아내는 것이 목표이다. 보통 분류 작업을 위한 학습 데이터는 쌍으로 이루어져 있다. 각각의 쌍은 입력 데이터(특성들의 값)와 그에 해당하는 출력 클래스(레이블)로 이루어져 있다. 분류기는 이러한 학습된 모델을 이용하여 데이터를 분류하는 프로그램이며, 주어진 입력 데이터를 이용하여 적절한 클래스 또는 레이블을 할당한다. 로지스틱 회귀 로지스틱 회귀는 주어진 입력 특성들을 사용하여 특정 클래스에 속할 확률을 추정한다. 이름에는 회귀라는 용어가 포함되어 있지만, 이진 분류를 위한 모델이다. 로지스틱 함..

버스 중재 방식

병렬식 고정 우선 순위 중앙 집중식 우선순위 중재 방식에서는 모든 버스 마스터가 하나의 버스 중재기에 접속하고, 중재기에 따라 우선순위가 부여된다. 가장 높은 우선순위를 가진 마스터는 버스 사용 가능 신호(BGNT)를 받을 수 있다. 중재기는 한 번에 하나의 버스 마스터에게만 버스 사용 권한을 부여하여, 버스 사용이 가능한 상태일 때 즉시 버스를 사용할 수 있도록 한다. 버스 사용이 끝날 때까지는 다른 마스터가 대기해야 한다. 버스 사용이 끝나면 BBUSY 신호가 해제되어 다른 마스터가 버스 사용을 요청할 수 있다. + BBUSY : 버스가 사용 중임을 알리는 신호 분산식 고정 - 우선순위 중재 방식 우선순위 중재 방식에서는 각 버스 마스터가 자신만의 중재기를 보유하고 있다. 이 중재기는 해당 마스터보다..

CPU의 기본 구조

명령어의 처리 과정은 컴퓨터의 기본 동작 단계로, CPU가 명령어를 가져와 해독하고 실행하는 과정을 포함한다. CPU는 여러 구성 요소와 기능으로 이루어져 있으며, 명령어 처리에는 다양한 단계와 구성 요소들이 관련되어 있다. CPU 구조와 기능: 1. 레지스터: 레지스터는 CPU 내부에 있는 속도가 빠른 메모리로, 명령어를 저장하고 처리하는데 사용된다. 이 중 중요한 레지스터에는 다음과 같은 것들이 있다. 누산기 (Accumulator) 1주소 명령어를 사용하는 시스템에서 연산의 중심이 되는 레지스터이다. 연산 결과를 일시적으로 저장하거나 중앙에서 다른 레지스터로 전송된다. 범용 레지스터 (General-purpose Register) 산술 및 논리 연산, 연산 결과의 임시 저장, 주소 색인 등 다양한 ..

캐시 사상방식

캐시 메모리의 사상 방식은 주기억장치와 CPU 사이에 위치한 캐시 메모리에 데이터를 저장하는 방법을 결정한다. 주로 세 가지 사상 방식에 대해 알아보고자 한다. 1. 직접 사상(Direct Mapping) 주소를 캐시 블록에 직접 매핑하는 방식이다. 메인 메모리 주소를 캐시 주소로 직접 변환하는 것으로 캐시 라인의 인덱스에 주소를 할당한다. 한 주소가 특정 캐시 라인에만 매핑되므로 충돌이 발생할 수 있다. 이 때문에 캐시 매모리에 충돌을 최소화하기 위한 대체 전략(LRU 등)이 필요할 수도 있다. 각 메모리 블록이 캐시 슬롯 하나에만 할당되는 방식으로 간단한 하드웨어 구현이 가능하지만 충돌 발생 시 슬롯을 공유하는 다른 블록이 적재될 때 Swap-Out될 가능성이 있다. 직접 사상 캐시의 예 기억장치 블..

서울시 공공자전거 수요 예측을 위한 데이터 수집 및 통합 과정

모델을 개발하기 위해 2022년을 기준으로 데이터를 수집한다. 관련 논문 및 자료를 참고하여 데이터셋을 만들 것이다. 갈 길이 멀기에 모델 학습을 먼저 한 뒤 결과에 대한 문서화는 추후에 다시 정리할 예정이다. 1. 서울 특별시 공공자전거 이용정보(시간대별) 서울특별시 공공자전거 이용정보(시간대별)로 나와있는 데이터를 2022년 기준으로 달 별로 데이터를 다운받아서 하나로 합쳐야 한다. /data 라는 폴더를 하나 만들고 concat을 사용하여 합친다. (이러고 나니까 데이터가 커져서 오래걸렸다.) 사용하고자하는 칼럼은 대여일자, 대여시간, 이용건수 이기에 인덱스를 재정렬한다. 대여일자가 2022-09-14의 형식으로 이루어져 있기에 년도, 월, 일, 요일(num), 공휴일로 시간 변수를 생성한다. 2...

chapter 03 산술과 논리연산

ALU(Arithmetic and Logical Unit) 산술 논리 연산 장치는 가산기를 중심으로 연산 결과 등을 기억하는 레지스터, 보수 값을 생성하는 보수기, 오버플로를 검출하는 오버플로 검출기 등으로 구성되어 있다. 사칙연산인 산술 연산과 두 수의 크기를 비교하고 판단하는 논리연산의 기능을 한다. 자료의 수가 하나일 경우에는 단항 연산을 두 개의 자료에 대해서는 2진(binary) 연산을 수행한다. 주기억장치에 있는 데이터를 레지스터에 입력한다. 비트들을 좌우로 이동시키는 시프트 레지스터(shift register)와 연산 결과의 상태를 나타내는 플래그를 저장하는 상태 레지스터(status register)가 있다. CPU 연산을 위해서는 Data 정보가 있어야 한다. 레지스터의 개수가 많을 수록..

04_회귀(Regression)

회귀(Regression) 회귀(Regression)는 입력과 출력 값 사이의 관계를 학습하여 주어진 입력에 대한 출력 값을 예측하는 데 사용되는 학습 방법이다. 회귀 모델은 주어진 데이터를 가장 잘 설명하고 근사하는 함수를 찾는 것이 목표이다. 주로 연속적인 값을 예측하고자 할 때 활용된다. 학습 데이터셋 {𝐱₁, 𝑦₁, 𝐱₂, 𝑦₂, … , 𝐱ₘ, 𝑦ₘ}에서 입력 데이터 𝐱와 이에 상응하는 출력 값 𝑦 사이의 관계를 설명하는 함수 ℎ(𝐱)를 찾는다. 예를 들어 자동차의 특성(차종, 제작년도, 주행거리 등)을 이용하여 중고 자동차의 판매 가격을 예측하는 등의 문제에 활용된다. 용어 및 표기법 i번째 샘플 및 레이블 x(i) : i번째 샘플의 특성 값(열) y(i): i번째 샘플에 대한 출력 값(=목표 ..