트랜잭셔널 메모리
위키백과, 우리 모두의 백과사전.
트랜잭셔널 메모리(transactional memory)는 로드, 저장 명령의 집합이 원자적 방법으로 실행할 수 있게 허용함으로써 병렬 프로그래밍을 단순하게 하는 방식이다. 병행 컴퓨팅에서 공유 메모리로의 접근을 제어하기 위한 데이터베이스 트랜잭션과 유사한 동시성 제어 구조이다.
목차 |
하드웨어 및 소프트웨어 트랜잭션 구현[편집]
하드웨어 트랜잭션 메모리(Hardware transactional memory) 시스템은 트랜잭션 지원을 위해 프로세서, 캐시, 버스 프로토콜의 수정을 포함하고 있다.[1][2][3][4][5]
소프트웨어 트랜잭셔널 메모리는 소프트웨어 런타임 라이브러리나 프로그래밍 언어에서 트랜잭셔널 메모리 시맨틱(semantic)을 제공하며[6] 최소 하드웨어 지원(일반적으로 원자적 compare-and-swap 명령이나 이와 동일한 명령)을 요구한다.
수많은 RISC 프로세서가 제공하는 load-link/store-conditional (LL/SC)은 가장 기본적인 트랜잭셔널 메모리 지원으로 간주할 수 있다. 그러나 LL/SC는 일반적으로 순수 기계어 크기인 데이터 상에서 동작한다.
같이 보기[편집]
주석[편집]
- ↑ Herlihy, Maurice; Moss, J. Eliot B. (1993). Transactional memory: Architectural support for lock-free data structures 289–300.
- ↑ Multiple Reservations and the Oklahoma Update. doi:10.1109/88.260295.
- ↑ Hammond, L.; Wong, V.; Chen, M.; Carlstrom, B.D.; Davis, J.D.; Hertzberg, B.; Prabhu, M.K.; Honggo Wijaya; Kozyrakis, C.; Olukotun, K. (2004). Transactional memory coherence and consistency 102–113.
- ↑ Unbounded transactional memory.
- ↑ LogTM: Log-based transactional memory.
- ↑ The ATOMOΣ Transactional Programming Language.
바깥 고리[편집]
- (영어) Transactional Memory Online: Categorized bibliography about transactional memory
| 이 글은 소프트웨어에 관한 토막글입니다. 서로의 지식을 모아 알차게 문서를 완성해 갑시다. |