DrawingProcess
드프 DrawingProcess
DrawingProcess
전체 방문자
오늘
어제
«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
  • 분류 전체보기 (964)
    • Profile & Branding (22)
      • Career (15)
    • IT Trends (254)
      • Conference, Faire (Experien.. (31)
      • News (187)
      • Youtube (19)
      • TED (8)
      • Web Page (2)
      • IT: Etc... (6)
    • Contents (97)
      • Book (66)
      • Lecture (31)
    • Project Process (94)
      • Ideation (0)
      • Study Report (34)
      • Challenge & Award (22)
      • 1Day1Process (5)
      • Making (5)
      • KRC-FTC (Team TC(5031, 5048.. (10)
      • GCP (GlobalCitizenProject) (15)
    • Study: ComputerScience(CS) (72)
      • CS: Basic (9)
      • CS: Database(SQL) (5)
      • CS: Network (14)
      • CS: OperatingSystem (3)
      • CS: Linux (39)
      • CS: Etc... (2)
    • Study: Software(SW) (95)
      • SW: Language (29)
      • SW: Algorithms (1)
      • SW: DataStructure & DesignP.. (1)
      • SW: Opensource (15)
      • SW: Error Bug Fix (43)
      • SW: Etc... (6)
    • Study: Artificial Intellige.. (149)
      • AI: Research (1)
      • AI: 2D Vision(Det, Seg, Tra.. (35)
      • AI: 3D Vision (70)
      • AI: MultiModal (3)
      • AI: SLAM (0)
      • AI: Light Weight(LW) (3)
      • AI: Data Pipeline (7)
      • AI: Machine Learning(ML) (1)
    • Study: Robotics(Robot) (33)
      • Robot: ROS(Robot Operating .. (9)
      • Robot: Positioning (8)
      • Robot: Planning & Control (7)
    • Study: DeveloperTools(DevTo.. (83)
      • DevTool: Git (12)
      • DevTool: CMake (13)
      • DevTool: NoSQL(Elastic, Mon.. (25)
      • DevTool: Container (17)
      • DevTool: IDE (11)
      • DevTool: CloudComputing (4)
    • 인생을 살면서 (64)
      • 나의 취미들 (7)
      • 나의 생각들 (42)
      • 여행을 떠나자~ (10)
      • 분기별 회고 (5)

개발자 명언

“ 매주 목요일마다 당신이 항상 하던대로 신발끈을 묶으면 신발이 폭발한다고 생각해보라.
컴퓨터를 사용할 때는 이런 일이 항상 일어나는데도 아무도 불평할 생각을 안 한다. ”

- Jef Raskin

맥의 아버지 - 애플컴퓨터의 매킨토시 프로젝트를 주도

인기 글

최근 글

최근 댓글

티스토리

hELLO · Designed By 정상우.
DrawingProcess

드프 DrawingProcess

Study: Software(SW)/SW: Language

[C++] 병행 컴퓨팅: 순차, 병렬, 병행의 차이

2022. 7. 1. 20:52
반응형

순차(sequential) / 병렬(parallel) / 병행(concurrent)


  • 순차 처리 (sequential): 복수의 업무를 순서대로 하나씩 처리.
  • 병렬 처리 (parallel): 복수의 업무를 "동시에" 처리.
  • 병행 처리 (concurrent): 병렬에 비해 추상도가 높은 표현. 한 개의 업무를 어떠한 순서로 처리하든 상관 없는 여러 개의 작업으로 분할하여 처리.
    • 멀티쓰레드 프로그램의 경우 병행 처리를 의미하며,
    • 작업자가 한 명이라면 분할된 작업들을 순차적으로 처리하게 되지만, 두 명이라면 같은 작업을 병렬적으로 처리할 수 있다.

멀티쓰레드 프로그램


  • 만약 CPU가 한 개 뿐이라면 병행처리를 순차적으로 실행할 테고, CPU가 여러개라면 병행처리를 병렬적으로 실행할 수 있다.
  • 만약 CPU가 한 개 뿐이라면 병행처리 과정은...? 
    • 1) 첫번째 쓰레드가 조금 작동하다가 멈춘다.
    • 2) 두번째 쓰레드가 조금 작동하가 멈춘다.
    • 3) 첫번째 쓰레드가 조금 작동하다 멈춘다.
    • 4) ....
  • 이처럼 실제 작동하는 쓰레드가 바뀌면서 병행처리가 순차적으로 이뤄진다.
    • 즉 "동일한 시간", "어떤 한 순간"에는 오직 하나의 쓰레드만 실행이 된다.
    • 하지만 여러개의 쓰레드가 무작위로 번갈아가면서 실행됨으로서 "동시에" 처리되는 것처럼 보일 뿐이다.

쓰레드의 개수를 2배로 늘리면 처리량(throughput)도 2배로 늘어날까?

일반적으로 그렇지 않다. 그 이유는..

  • 쓰레드 개수가 늘어났다고 해도, CPU 개수에 제약이 있다면 쓰레드들이 병렬로 동작한다고 보장할 수 없다. 그리고 쓰레드간 컨텍스트 스위칭 오버헤드가 발생한다.
  • 처리하는 업무를 모든 쓰레드에게 균일하게 분담시키는 것이 가능하다고 장담할 수 없다.
  • 하드웨어의 제약이 없어 2배의 쓰레드가 병렬로 동작했다고 하더라도, 쓰레드간 mutual exclusion을 수행하기 위한 오버헤드가 있다.

참고


  • 순차(sequential) / 병렬(parallel) / 병행(concurrent) 처리방식 차이: https://soy.me/17

반응형
저작자표시 비영리 변경금지 (새창열림)

'Study: Software(SW) > SW: Language' 카테고리의 다른 글

[C++] 함수형 프로그래밍(feat. lambda function)  (0) 2022.07.06
[C++] 조건부 컴파일 매크로(전처리기 지시어): Header Guard (#if, #ifdef, #elif, #else, #endif...)  (0) 2022.07.04
[C++] 객체지향 프로그래밍: special member function (feat. L-value, R-value, std::move)  (0) 2022.06.30
[C++] 객체지향 프로그래밍: Effective Modern C++ 정리  (0) 2022.06.27
[C++] 객체지향 프로그래밍: static, explicit, mutable, default, delete...  (0) 2022.06.22
    'Study: Software(SW)/SW: Language' 카테고리의 다른 글
    • [C++] 함수형 프로그래밍(feat. lambda function)
    • [C++] 조건부 컴파일 매크로(전처리기 지시어): Header Guard (#if, #ifdef, #elif, #else, #endif...)
    • [C++] 객체지향 프로그래밍: special member function (feat. L-value, R-value, std::move)
    • [C++] 객체지향 프로그래밍: Effective Modern C++ 정리
    DrawingProcess
    DrawingProcess
    과정을 그리자!

    티스토리툴바