공유 메모리 시스템 (Shared Memory System) 1. 개요 공유 메모리 시스템은 여러 개의 프로세서나 독립적인 프로세스들이 하나의 공통된 물리적 메모리 주소 공간을 공유하여 데이터를 읽고 쓸 수 있도록 설계된 컴퓨터 메모리 아키텍처이다. 이 시스템의 핵심 목적은 프로세스 간 통신(IPC, Inter-Process Communication) 시 …
검색 결과
"공유 메모리"에 대한 검색 결과 (총 17개)
락 경합 (Lock Contention) 1. 개요 락 경합(Lock Contention)이란 멀티스레드 환경에서 여러 스레드가 동일한 공유 자원에 접근하기 위해 하나의 락(Lock, 상호 배제 메커니즘)을 동시에 획득하려고 시도할 때 발생하는 충돌 현상을 의미한다. 락은 데이터의 일관성을 유지하기 위해 필수적이지만, 경합이 심화될수록 스레드들이 락 획득을…
처리량 최적화 (Throughput Optimization) 1. 개요 1.1 정의 처리량(Throughput)이란 단위 시간당 시스템이 성공적으로 처리하여 완료한 작업의 양을 의미합니다. 시스템 성능 측정에서 처리량은 전체적인 생산성과 처리 능력을 나타내는 핵심 지표입니다. 이때 시스템 처리 용량(Capacity)은 시스템이 이론적으로 처리할 수 있는 최…
멀티스레 개요 멀티스레(Multithreading은 하나의 프로스 내에서 여러의 스레드)를 동시에 실행하여로그램의 성과 반응성을상시키는 병렬팅 기법입니다 각 스레드 독립적인 실행 흐을 가지며, 프로세스의모리 공간과원을 공유으로써 효율적인 공유와 통신 가능합니다. 멀스레딩은 현 소프트웨어 개발에서 매우 중요한 개념으로, 특히 다중 코어 프로세서 환경에서 성능…
커널 통합 (Kernel Integration) 1. 개요 커널 통합(Kernel Integration)이란 운영체제(OS)의 핵심인 커널이 하드웨어 추상화, 메모리 관리, 프로세스 스케줄링 등의 핵심 기능을 수행하기 위해 다양한 서브시스템, 장치 드라이버, 그리고 외부 모듈을 하나의 실행 가능한 논리적 단위로 결합하는 기술적 과정을 의미한다. 커널은 사용…
WASI (WebAssembly System Interface) 1. 개요 WASI(WebAssembly System Interface)는 WebAssembly(Wasm)가 웹 브라우저라는 제한된 환경을 벗어나 운영체제(OS) 상에서 독립적으로 실행될 수 있도록 설계된 표준 시스템 인터페이스 명세입니다. 본래 WebAssembly는 브라우저의 샌드박스 내에…
CUDA (Compute Unified Device Architecture) CUDA(Compute Unified Device Architecture)는 NVIDIA가 개발한 병렬 컴퓨팅 플랫폼 및 API 모델입니다. GPU(Graphics Processing Unit)가 본래 수행하던 그래픽 렌더링 작업을 넘어, 일반적인 계산 작업(General-Purp…
다중 스레드 아키텍처 (Multi-threaded Architecture) 1. 개요 다중 스레드 아키텍처란 하나의 프로세스 내에서 실행 흐름의 단위인 스레드(Thread)를 여러 개 생성하여 동시에 작업을 수행하도록 설계된 소프트웨어 구조를 의미한다. 프로세스(Process)가 운영체제로부터 자원을 할당받는 실행 중인 프로그램의 독립적인 인스턴스라면, 스…
IPC (Inter-Process Communication, 프로세스 간 통신) 1. 개요 IPC(Inter-Process Communication)란 실행 중인 서로 다른 프로세스들이 데이터를 주고받거나 서로의 상태를 동기화하기 위해 사용하는 운영체제 수준의 통신 메커니즘을 의미한다. 현대 운영체제는 보안과 안정성을 위해 각 프로세스에 독립된 메모리 공간…
AF_XDP 1. 개요 AF_XDP (Address Family eXpress Data Path)는 리눅스 커널에서 제공하는 고성능 네트워크 소켓 타입으로, 커널의 네트워크 스택을 우회하여 사용자 공간(User Space)의 애플리케이션이 네트워크 인터페이스 카드(NIC)로부터 직접 패킷을 수신하고 송신할 수 있게 설계된 인터페이스입니다. 전통적인 리눅스 …
병렬 처리 (Parallel Processing) 병렬 처리(Parallel Processing)란 하나의 복잡한 문제를 여러 개의 작은 하위 문제로 분할하여, 이를 동시에 처리함으로써 계산 속도를 높이고 시스템의 효율성을 극대화하는 컴퓨터 과학 및 공학 기법입니다. 단일 프로세서가 순차적으로 작업을 처리하는 직렬 처리(Serial Processing)와 …
cuBLAS cuBLAS(CUDA Basic Linear Algebraprograms)는 NVIDIA에서 개발 GPU 기반의성능 선형대수 라이브러리로 CUDA 플랫폼에서 실행되는 C/C++ 및 Fortran 애플리케이션 대해 BLAS(B Linear Algebra Subprograms) 표준을 구현한 소프트웨어 라이브러리. 이 라이브러리는 행렬-벡터 연산,…
mmap mmap은 유닉스 계열 운영체제(Unix-like OS)에서 제공하는 시스템 콜(system call)로, 파일이나 디바이스를 메모리에 매핑하여 프로세스가 파일을 마치 메모리 배열처럼 직접 접근할 수 있게 해주는 기술입니다. 이 기능은 파일 입출력 성능을 크게 향상시키며, 특히 대용량 데이터 처리나 공유 메모리 기반의 프로세스 간 통신(IPC)에 …
GPU 개 GPU(Graphics Processing Unit, 그래픽 처리 장치)는 컴퓨터에서 그래픽 데이터를 처리하고 화면에 시각적으로 출력하는 데 특화된 전자 회로입니다. 원래는 3D 그래픽 렌더링과 게임, 영상 편집 등 시각 콘텐츠 생성을 위한 하드웨어로 개발되었으나, 최근에는 인공지능(AI), 과학 시뮬레이션, 암호화폐 채굴 등 고성능 병렬 처리가…
고성능 컴퓨팅 개요 고성 컴퓨팅(High-Performance Computing HPC)은 복잡하고 계산량이 많은 문제를 신속하게 해결하기 위해 고성능의 컴퓨터 시스템을 활용하는 기술 분야입니다. 일반적으로 단일 컴퓨터로는 처리하기 어려운 대규모 시뮬레이션, 빅데이터 분석, 인공지능 훈련, 기후 모델링, 유전체 분석 등의 작업을 수행하는 데 사용됩니다. H…
FORTRAN 요 FORTRAN(FORmula TRANslation의 약자)은 과학 및 공학 계산을 위해 개발된 최초의 고급 프로그래밍 언어 중 하나로,1950년대 초 IBM에서 개발되었다.TRAN은 수치석, 물리 시레이션, 기 모델링, 유체 역학 등 계산 집약적인 분야에서 널리 사용되어 왔으며, 현재까지도 고성능 컴퓨팅(HPC) 분야에서 중요한 위치를 차…
bash Ubuntu 기준 설치 명령 sudo apt-get install postgresql-16 sql CREATE USER admin WITH PASSW