[OS] 멀티코어 프로그래밍 MulticoreProgramming, 병렬 실행Parallelism
·
Computer Science/Operating System
멀티코어 or 멀티프로세서에서의 극복해야 할 도전과제 5개 태스크 인식 IdentifyingTasks 병렬 처리가 가능한 태스크로 나눌 수 있는 영역을 찾는 작업 필요 균형 Balanace 전체 작업에 균등한 기여도록 가지도록 태스크를 나눠야 함 데이터 분리 DataSplitting 처리하는 데이터들이 분리된 개별 코어에서 수행해도록 나눠야 함 데이터 종속성 DataDependency 데이터 의존성을 조정하기 위한 태스크 실행 동기화 필요 시험 및 디버깅 Testing & debugging 병렬로 실행되기 때문에, 단일 스레드 응용보다 Testing 및 Debugging이 어려움 병렬 실행Parallelism의 유형 데이터 병렬 실행 DataParallelism 데이터(D..
[OS] 스레드Thread란?
·
Computer Science/Operating System
스레드 개발 동기 DB 서버의 요구 처리 과거 서버는 클라이언트 요구가 도착할 때마다, 새로운 프로세스를 생성 - fork 단점 프로세스 생성에 대한 오버헤드 프로세스간 통신 비용 큼, 네트워크와 같은 자원 공유가 어려움 프로세스를 처리기에 전달하고, 결과를 다시 수집하는 오버헤드 전통적인 PCBProcessControlBlock 구성 스레드 Threads CPU 이용의 기본단위 경량 프로세스 LWP:LightWeightProcess 애플리케이션 내에서 실행 커널은 일반적으로 다중 스레드MultiThread 프로세스 생성은 무겁고, 스레드 생성은 가벼움 구성 고유한 스레드 ID, 프로그램 카운터, 레지스터 집합, 스택 등 같은 프..
HaSeon9