ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 다중 코어 프로그래밍
    운영체제/스레드 2018. 2. 3. 17:33

    코어가 여러 개인 시스템을 다중 코어 또는 다중 처리기 시스템이라고 부른다.

     

    암달의 법칙 : 처리 코어의 수가 n개가 된다고 해서 처리 속도가 n배가 되지는 않는다.

     

    병렬 실행 : 동시에 하나 이상의 태스크를 수행 있는 시스템을 의미한다.

    병행 실행 : 프로세스들이 빠르게 교체되어 병렬 실행 되는 것처럼 보이게 하는

     

     

    프로그래밍시 극복 과제

    1. 태스크 인식 : 독립된 병행 가능한 태스크로 나눌 있는 영역 찾기
    2. 균형 : 전체 태스크들이 전체 작업에 균등한 기여도를 갖는 것이 중요하다.
    3. 데이터 분리 : 데이터도 개별 코어에서 사용될 있게 분리한다.
    4. 데이터 종속성 : 이상의 태스크가 동시에 접근하는 데이터에 종속성 여부를 검토한다.
    5. 시험 디버깅 : 병렬로 실행되는 다양한 실행 경로로 인해 프로그램의 시험과 디버깅이 어려움

     

     

    병렬 실행의 유형

    데이터 병렬 실행

    동일한 데이터의 부분 집합을 다수의 계산 코어에 분배

    코어에서 동일한 연산 수행

     

    태스크 병렬 실행

    데이터가 아닌 태스크를 다수의 코어에 분배

    코어의 스레드는 각각 고유 연산을 수행

    '운영체제 > 스레드' 카테고리의 다른 글

    스레드와 관련된 문제들  (0) 2018.02.03
    암묵적 스레딩  (0) 2018.02.03
    스레드 라이브러리  (0) 2018.02.03
    다중 스레드 모델  (0) 2018.02.03
    개요  (0) 2018.02.03

    댓글