09 TLP

초강송·2026년 4월 10일

고급컴퓨터구조

목록 보기
9/11

09 TLP

Parallelism vs Concurrency

Parallelism

  • 같은 시간에 많은 일을 하는 것
  • 여러 HW resource (cores, pipeline, SIMD)가 필요
  • Instruction-level parallelism / Data-level parallelism / Task-level parallelism

Concurrency

  • 많은 일들을 한꺼번에 하는 것 (동시에 X)
  • 하나의 cpu core로도 달성 가능 (context switching)
  • Fine-grained multithreading / OS scheduler

Security Issues in Concurrency/Parallelism

Dirty COW (Concurrency)

  • copy를 하고, write를 해야 하는데, madvise가 자꾸 mapping을 끊어서, 원본 file에 write 하게 됨
  • root 권한을 가져올 수 있음

side-channel attack

  • watch the side effects (발열, 지연 시간) of computation

Dirty COW

Side-channel attack

PortSmash (Parallelism)

  • a side-channel attack, Simultaneous Multithreading + Intel 시스템에서 뚫림
    • Simultaneous: parallel 하게 여러 thread를 동시에 실행시키는 것을 의미
  • ex) thread 0이랑 1을 일부러 같은 port에서 돌리면서 latnecy 증가 여부를 보고 어떤 instr을 수행 중인지 유추

Thread/task-level parallelism

  • MIMD → multiprocessor, multithreaded processor
  • 같은 작업이라 해도 여러 core에 나눠서 동시에 처리하면 각 core에 freq를 낮추는 만큼 전압도 낮출 수 있어서 전력 소모가 줄어듦 → 전력 효율 개선 (reduce power consumption)

Multiprocessor Types

  • Loosely coupled multiprocessor
    • shared global memory가 존재하지 않음
    • 각자 자신만의 address space가 존재함
    • 각 노드는 서로 msg를 주고받으며 소통
  • Tightly coupled multirocessor
    • shared global memory가 존재함
    • 각 processor는 같은 address space를 공유
    • Sync / cache coherence / memory consistency / shared resource management / Interconnection / Thermal coupling / load imbalance / contention 문제가 존재

Multithreaded Categories

  • superscalar → 한 cylce에 여러 instr을 issue, 근데 그 instr은 모두 같은 thread로부터 옴 (ILP)
  • SMT → 같은 코어에서 여러 thread가 동시에 issue. superscalar issue slot을 여러 thread가 공유

Superlinear Speedup

  • 자원을 P개 투자했을 때 speedup이 P보다 크다면 superlinear speedup이라고 함

Utilization, Redundancy, Efficiency

  • Utilization: P들이 최대로 낼 수 있는 성능 대비 얼마나 성능을 기록했는지 (operation 수 비교)
  • Redundancy: best single processor 대비 parallel로 실행했을 때 얼마나 일을 더 했는지 (op 비교)
  • Efficiency = U/R, single seq이 걸린 시간 / paralle에서 걸린 시간 * 프로세서 수

Amdahl’s Law

  • 자원을 아무리 투자해도 sequential bottleneck이 존재하기 때문에 최대 성능 향상에 제한 O
  • crticial section, lock, barrier, load imbalance, resource contention

  • 그러나 heterogeneous/asymmetric multi-core를 사용하면 극복할 수 있다.

Heterogeneous/Asymmetric Multi-core

  • serialized code sectoin → one powerful large core
  • parallel code section → many wimpy small cores
  • 단순히 크기만 차이 나는 게 아니라 코어 내부 hw 요소 차이나 내부 동작 방식에도 차이가 존재
  • Asymmetric Chip Multiprocessor (ACMP)
  • ACMP vs Parallelism
  • ACMP에서의 Amdahl’s Law

0개의 댓글