Skip to main content

27 posts tagged with "pe/computer-architecture"

기술사 컴퓨터 아키텍처 토픽

View All Tags

병렬컴퓨팅, 병렬 프로세서

· 3 min read

병렬 컴퓨팅 개념

  • 프로그램 내 계산 영역을 여러 개로 나누어 각 계산을 여러 프로세서에서 동시 수행하는 기술
  • 생성형 AI 발전, GPU 품귀, 단일 프로세서 한계

병렬 컴퓨팅 특징

구분특징설명
목적실행시간 단축Wall clock time 단축
-작업 동시 수행HW, SW 측면 작업 분할
유형작업 단위 병렬성다수 독립 작업 프로그램
-태스크 단위 병렬성서로 다른 기능 태스크
-스레드 단위 병렬성동시 처리 스레드
-명령어 단위 병렬성어셈블리 명령어

병렬 프로세서의 분류

Flynn의 분류

SISD

  • 명령어 순차처리
  • 단일 프로세서 시스템

SIMD

  • 하나의 제어 유닛으로 동기화
  • 벡터, 행렬 연산 처리

MISD

  • 프로세서 처리 결과로 연산 수행
  • 실제 구현 불가

MIMD

  • 각 프로세서가 비동기적 처리
  • 강결합시 공유메모리 사용
  • 약결합시 분산메모리와 메시지 패싱 기법 사용

시스템 구성 방법에 따른 분류

SMP

  • 프로그래밍 용이
  • 메모리 접근 병목

MPP

  • 프로그래밍 복잡
  • 낮은 가용성

NUMA

  • 장점 결합
  • 분산 로컬 메모리, 글로벌 메모리 사용
  • 다양한 프로세서 사용 가능

HBM

· 3 min read

HBM 개념

  • 3D TSV 기술을 사용하여 여러 개의 DRAM 칩을 수직으로 쌓고, 초고속 인터커넥트를 통해 각 층을 연결함으로써 높은 대역폭과 낮은 전력 소비를 실현한 고대역폭 메모리
  • 기존 DDR 램의 대역폭, 레이턴시의 한계와 AI 학습으로 대량 데이터 처리 수요 증가로 저전력 고속 연산 메모리 필요성 증가

HBM 구성도, 구성요소, 비교

HBM 구성도

  • 수직 적층, TSV, 인터포저 등 기술을 통해 고성능 컴퓨팅 분야에서 핵심적인 역할을 하는 메모리 아키텍처

HBM 구성요소

구분기술요소상세 설명
메모리 적층 구조TSVDRAM Die 를 뚫어 전도성 재료를 채운 수직 실리콘 관통 전극
-DRAM DieDRAM Cell 그룹, 패키징 단위
-Logic Die다른 칩셋 및 PHY 와 DRAM die 연결
프로세스 유닛PHY물리계층 인터페이스, Logic Die - Process Die 간 연결
-CPU/GPU그래픽, 명령어 처리 위한 프로세서
칩셋Silicon InterposerLogic Die (CPU, GPU 등)와 HBM 칩 사이의 연결
-Package SubstrateSilicon Interposer 과 그래픽카드 연결하는 PCB 기판

HBM과 DDR6 비교

구분HBMDDR6
용도AI 학습용그래픽 카드, AI 추론용
Pin Data Rate6.4 Gbps16 Gbps
Pin1,024개32개
Bandwidth819 GB/s64 GB/s

CXL, Compute Express Link

· 4 min read

CXL 개념

  • 프로세서와 메모리 사이의 고속, 고용량 연결의 위한 개방형 표준 인터페이스
  • PCIe 인터페이스의 메모리 일관성과 공유 기능 부족, 고성능, 저지연 데이터 전송과 메모리 일관성 제공, 효율성 향상

CXL 구성도, 구성요소, 적용사례

CXL 구성도

CXL 구성요소

구분내용비고
CXL.io초기설정, 가상화, 장치 연결 등 입출력 프로토콜PCIe 호환
CXL.cache메모리 캐시 일관성 제공, CPU와 가속기 간의 빠른 데이터 전송 가능낮은 지연, 고속 전송, MESI 프로토콜
CXL.mem메모리 공유 및 풀링 기능 제공, 여러 장치 간의 메모리 자원 공유 가능고대역폭 메모리 접근, 메모리 풀링

CXL 적용사례

구분사례비고
데이터 센터고성능 컴퓨팅, AI 가속기와 CPU 간의 고속 데이터 전송높은 대역폭과 낮은 지연 시간 요구 환경
클라우드 서비스클라우드 기반의 자원 효율적인 데이터 처리, 메모리 풀링을 통한 자원 공유유연한 자원 할당 및 확장성 제공
스토리지 시스템고속 NVMe SSD와 CPU 간의 데이터 전송 최적화데이터 액세스 속도 향상, 스토리지 병목 현상 해결

CXL 유형, PCIe 비교

CXL 유형

유형 참조

구분내용비고
CXL Type 1메모리 일관성 없이 I/O 가속기를 연결하여 고속 데이터 전송을 지원단순 I/O 연결, 낮은 지연 시간
CXL Type 2메모리 일관성을 유지하며 CPU와 가속기 간의 데이터 전송을 지원CPU와 가속기 간의 일관성 유지
CXL Type 3메모리 풀링을 통해 여러 장치 간의 메모리 자원을 공유하고 관리메모리 공유 및 풀링 기능

CXL PCIe 비교

구분PCIeCXL
기능데이터 전송, I/O 장치 연결데이터 전송, 메모리 일관성, 메모리 공유
지연 시간낮은 지연 시간매우 낮은 지연 시간
호환성다양한 I/O 장치와 호환PCIe와 호환되며, 추가 메모리 및 가속기와도 호환
메모리 일관성없음보장
메모리 공유없음메모리 풀링 및 자원 공유 가능
주요 사용처일반적인 컴퓨터 및 서버의 I/O 장치 연결데이터 센터, 고성능 컴퓨팅, 클라우드 컴퓨팅
버전PCIe 5.0CXL 3.0

CXL 고려사항

  • 다양한 벤더의 하드웨어 간의 호환성 확보 필요

암달의 법칙

· 2 min read

암달의 법칙 개념

  • 컴퓨터 시스템의 일부를 개선할 때 전체적인 성능향상의 최대 폭이 제한된다는 법칙
  • 병렬 컴퓨팅에서 멀티프로세서 사용시 성능향상의 최대폭이 순차적인 프로그래밍 때문에 제한되는 것을 증명

암달의 법칙 개념도, 구성요소, 활용 예시

암달의 법칙 개념도

암달의 법칙 구성요소

1(1P)PS\frac{1}{(1 - P) - \frac{P}{S}}
  • P = 전체 작업시간의 부분
  • S = 성능 향상
  • 반비례 관계로 최대 성능의 향상폭 제한

암달의 법칙 활용 예시

구분예시내용
설계CPU 설계시 최대 트랜지스터 제한트랜지스터 수를 늘려 단위시간 당 최대 성능향상 지점 파악
-GPU 설계시 FPU, ARU 갯수 조정FPU, ALU의 갯수를 조정하여 병렬 컴퓨팅 최대효과 추적
분석하드웨어 규모산정CPU, 메모리 등 시스템 규모산정시 스케일업 규모 파악
최적화멀티쓰레딩 최적화쓰레드의 수를 증가시켜 병렬 처리의 이점을 극대화하면서 병목 현상 분석

인터미턴트 컴퓨팅

· 3 min read

인터미턴트 컴퓨팅의 개념

  • 전원이 불안정하거나 간헐적으로 공급되는 환경에서 컴퓨팅 시스템이 작업을 지속적으로 수행할 수 있도록 하는 기술
  • IoT 확산, 에너지 비용 절감, 안정성 향상, 에너지 제약환경, AI 모델 학습 전력 사용량 증가

인터미턴트 컴퓨팅 개념도, 핵심요소, 기술 동향

인터미턴트 컴퓨팅 개념도

인터미턴트 컴퓨팅 핵심요소

구분핵심요소내용
컴퓨터 내부FRAM비휘발성 저전력 램 사용, 단전시 저장 바이트 복구
-Data Deduplication중복 데이터를 포인터로만 저장하여 실시간 백업 처리
-메인보드 비상전력 공급기존 5V 건전지 대체 파워시스템 구현
컴퓨터 외부축전기단전시 비상전력 가동
-재생가능에너지전력 소스를 다각화하여 재해복구성 확보
-ESS수집한 에너지를 저장하여 필요시 사용

인터미턴트 컴퓨팅 기술 동향

구분내용비고
국내--
국외--

인터미턴트 컴퓨팅 발전 방향

  • 뉴로모픽 칩과 멤리스터 소자의 개발로 저장과 연산을 초저전력으로 처리하여 전력 공급 내성을 가질 것 으로 예상

3-상태 버퍼

· 3 min read

3-상태 버퍼의 개념

  • 디지털 회로에서 사용되는 논리게이트의 한 종류로, 일반적인 0과 1의 논리 상태 외에 High Impedance (Z) 상태를 가질 수 있는 버퍼게이트로 고 임피던스 상태에서는 회로에서 연결이 끊어진 것처럼 동작하여, 다른 장치 출력에 영향을 주지 않고 버퍼의 출력을 Floating 상태로 제어
  • 회로 간 전기적 분리가 가능하므로, 여러 장치가 동일한 데이터 버스를 효과적으로 제어 가능

3-상태 버퍼의 구성도, 구성요소, 적용방안

3-상태 버퍼의 구성도

            Enable
|
v
+---------+
Input ---->| |----> Output
| 3-State |
| Buffer |
| |
+---------+

3-상태 버퍼의 구성요소

구분내용비고
입력입력 신호를 받는 단자입력 신호 인입
출력입력 신호를 출력으로 내보내는 단자출력 신호 출력
제어버퍼의 상태를 제어하는 단자High/Low Impedance

3-상태 버퍼의 적용방안

구분내용비고
데이터 버스 제어여러 장치가 공유하는 데이터 버스에 연결하여 특정 시간에만 데이터 전송버스 충돌 방지
메모리 인터페이스메모리 칩 선택 및 데이터 입출력 제어주소 디코더와 함께 사용하여 특정 메모리 칩만 활성화
주변장치 인터페이스주변 장치가 데이터를 보낼 준비가 되었을 때만 버퍼 활성화주변 장치와의 데이터 수신

3-상태 버퍼 고려사항

  • 고임피던스 상태일 때 전류 소모가 적지만, 활성화 상태에서는 전류 소모가 발생할 수 있으므로 전력 관리가 필요

실시간 스케줄링, 우선순위 역전

· 3 min read

Realtime Scheduling의 개념

  • 실시간 스케쥴링은 특정 태스크가 주어진 데드라인 내에 완료되도록 프로세싱을 보장하는 스케줄링 방법
  • 시스템 제약 만족, 예측 가능성, 응답성, Mission Critical 프로세스 처리

우선순위 기반 스케줄링 기법

RM, Rate Monotonic

비율 단조

  • 태스크의 주기가 짧을 수록 높은 우선순위로 스케줄링
  • 스케줄링 예상 가능, 단순 구현, 고정 우선순위, 제한적 CPU 활용, Soft RTOS

EDF, Earliest Deadline First

최단 마감시간 우선

  • 태스크의 데드라인이 가까울 수록 높은 우선순위로 스케줄링
  • 스케줄링 예상 어려움, 높은 CPU 활용, 동적 우선순위, 효율적, Hard RTOS
  • 주기가 짧거나 데드라인이 긴 태스크가 공유 자원을 선점하는 경우 우선순위 역전현상 발생

우선순위 역전현상 개념 및 세부 절차

우선순위 역전현상 개념도

   우선순위
Task1 |
Task2 |
Task3 |
--------------------------------------------> 시간
[ 자원R ]

우선순위 역전현상 세부 절차

순번절차내용
1임계영역 진입Task3은 자원R 사용 위해 진입
2프로세스 선점높은 우선순위의 Task1은 Task3의 임계영역 선점 스케줄링 실행
3임계영역 대기Task3이 진입 중이므로, Task1은 대기
4우선순위 역전중간 우선순위의 Task2가 선점하여 스케줄링, Task1은 계속 대기

우선순위 역전현상 해결방안

우선순위 상속

    우선순위
Task1 |
Task2 |
Task3 |
--------------------------------------------> 시간
[ 자원R ]
  • 임계영역에 진입한 낮은 우선순위 태스크의 우선순위를 진입 대기하는 높은 우선순위 태스크와 동일하게 부여

우선순위 올림

    우선순위
자원 R |
Task1 |
Task2 |
Task3 |
--------------------------------------------> 시간
[ 자원R ]
  • 임계영역 자원R에 가장 높은 우선순위를 부여하고, 임계영역 진입 태스크의 우선순위를 자원의 우선순위로 올림

CPU, GPU, FPGA, ASIC

· 3 min read

컴퓨팅 아키텍처의 개요

  • AI 등 병렬처리와 연산 효율이 필요한 최적화된 칩 수요의 증가로 ASIC 기반의 SoC으로 발전
  • FPGA: 이종병렬성, 설계 유연성
  • ASIC: 최고성능, 효율성

CPU, GPU, FPGA, ASIC 개념 및 특징, 적용분야

CPU, GPU, FPGA, ASIC 개념 및 특징

CPU

  • 복잡한 연산, 순차처리, 범용성

GPU

  • 단순한 연산, 병렬처리, 소숫점 연산 특화/FPU

FPGA

  • 설계 가능한 논리소자, 회로
  • 스위치를 주변으로 CLB가 감싸고 있는 구조
  • 목적별 재구성 가능, 유연성

ASIC

  • 특화 반도체
  • 저전력, 고효율, 대량생산

CPU, GPU, FPGA, ASIC 적용분야

구분분야비고
CPU범용 컴퓨팅웹브라우징, 오피스업무
GPU그래픽 렌더링, 병렬처리게임, 시뮬레이션, 머신 러닝
FPGA맞춤형 H/W디지털 회로 프로그래밍
ASIC특정 작업 최적화, 고성능스마트폰, N/W 장치, AI가속기

FPGA, ASIC 선택시 고려사항

  • 대량생산시 비용 절충점을 고려하여 ASIC 기반 SoC 도입 검토 필요

빅 엔디언, 리틀 엔디언

· 3 min read

빅 엔디언, 리틀 엔디언의 개념

  • 빅 엔디언: 데이터를 메모리에 적재시 메모리 시작 주소에 데이터의 상위 바이트부터 순차 저장하는 방식
  • 리틀 엔디언: 데이터를 메모리에 적재시 메모리 시작 주소에 데이터의 하위 바이트부터 순차 저장하는 방식

빅 엔디언, 리틀 엔디언 개념도, 세부 요소, 적용사례

빅 엔디언, 리틀 엔디언 개념도

빅 엔디언, 리틀 엔디언 세부 요소

구분빅 엔디언리틀 엔디언
저장방식낮은 주소에 MSB부터 저장, 앞쪽부터 스택에 푸쉬낮은 주소에 LSB부터 저장, 뒤쪽부터 스택에 푸쉬
장점우수한 가독성, 디버깅 편의성, 빠른 비교 연산후위 비트만 사용하는 계산 용이, 올림 연산 빠름, 가산기 구현 단순
단점수학 연산 어려움, 타입캐스팅 느림숫자 비교 느림, SW 디버깅 불편
대표회사IBMIntel, AMD

빅 엔디언, 리틀 엔디언 적용사례

구분빅 엔디언리틀 엔디언
N/W 프로토콜TCP/IP 주소 전송N/A
운영체제일부 유닉스 시스템윈도우, 맥, 리눅스
CPU 아키텍처IBM 메인프레임, 모토로라 프로세서x86, ARM 등 대부분 CPU

빅 엔디언, 리틀 엔디언, N/W 측면 고려사항

  • N/W 데이터 전송시 ntohl, htonl 함수를 사용하여 목적지 바이트 순서 변경 필요

리버스프록시, 로드밸런서, 그린 배포, 카나리 배포

· 5 min read

무중단 배포의 개념

  • 유저에게 서비스 중단 없이 새로운 버전의 서비스를 배포하는 것을 목표로 하는 배포 전략
  • 신규 버전 배포시 리스크 최소화, 빠른 롤백, 클라우드 컴퓨팅, 가상화 기술 발전으로 무중단 배포 활용

그린 배포, 카나리 배포의 개념도, 핵심 요소, 세부 절차

그린 배포, 카나리 배포의 개념도

  • 신버전을 모두 배포하고 트래픽을 일괄 전환하여 배포
  • 신버전에 점진적으로 트래픽을 늘려 위험을 감지하고 대응하여 배포

그린 배포, 카나리 배포 핵심요소 비교

구분그린카나리
목적신규버전 트래픽 일괄 전환신규버전 점진적 배포
리스크모든 사용자가 신규버전 즉시 사용리스크 최소화
복잡도일괄전환으로 간단비율 조정으로 복잡
테스트 범위모든 사용자가 새 버전 테스트초기 소규모 사용자만 테스트
배포 시간단시간상대적 장시간

그린 배포, 카나리 배포 세부 절차

구분그린카나리
준비단계신규버전 배포, 테스트카나리 환경 준비 초기 테스트
배포 방식전체 트래픽 일괄 전환소규모 트래픽에서 점진적 전환
모니터링전환 후 트래픽 모니터링점진적 모니터링 오류확인
롤백문제시 전체 롤백필요시 특정 비율 롤백

리버스 프록시와 로드밸런서 비교

리버스 프록시, 로드밸런서 개념도

  • 클라이언트 요청을 내부 서버로 전달하고 서버의 응답을 반환하는 중계 서버
  • 리버스 프록시는 L7 로드밸런서의 기능도 일부 수행
  • 트래픽을 여러 서버에 분산하여 부하를 관리하는 장치 또는 SW

로드밸런서의 구성요소

구분요소내용
유형L4 로드밸런서네트워크 계층이나 전송계층 정보로 부하 분산
-L7 로드밸런서응용 계층에서 헤더, 쿠키 등 요청 기반 정보로 부하 분산
알고리즘Round Robin순차, 순환, 응답시간 빠르고 구성이 간편
-Least Connection백엔드 서버 중 활성화 된 연결 계산, 가장 적은 커넥션을 가진 서버로 로드 밸런싱
-Response Time가장 빠른 응답 시간을 제공하는 서버로 로드 밸런싱
-HashingTCP/UDP 연결시 각 클라이언트에 대한 해시 생성하여 동일 서버 연결, 세션 유지 가능