Transactional Memory
-
Transactional Memory #2Tech/Computer 2014. 6. 13. 22:11
무려 2013년 11월에 Transactional Memory에 대한 포스팅을 한 적이 있다. 이 때는, Parallel Computing에서 일반적으로 사용되는 Lock 방식의 메모리 관리기법의 단점에 대해 알아보았다. 대표적으로 3가지를 들 수 있다. Dead Lock: 같은 자원에 접근하는 Thread가 서로 멈추는 문제 Priority Inversion: Thread의 Priority가 지켜지지 않는 문제 Convoying: Lock 중인 Thread가 System call을 받으면 기다리는 모든 Thread가 멈추는 문제 위 3가지의 구조적 문제점 이 외에도, Shared resource에 대한 Lock을 위해 Kernel Instruction이 수시로 호출되면서 속도가 저하되는 문제 정작 Tr..
-
Transactional Memory #1Tech/Computer 2013. 11. 12. 14:58
들어가는 말 : Transactional Memory은 왜 등장하게 되었나? Parallel Computing은 Single Core의 한계를 극복하는 차세대 컴퓨팅 기술이지만, 이러한 컴퓨터 시스템 위에서 동작하는 Parallel Programming은 아직 원론적인 문제로 고통받고 있다. 바로 공유되는 자원을 어떻게 관리하는가 하는 문제다. Parallel Programming에서 공유자원은 어떻게 동기화하는가? 똑같은 메모리를 이 Thread도 쓰고, 저 Thread도 쓴다면 누구 장단에 따라 움직여야하는가? 먼저 잡은 놈이 임자라고, 먼저 접근한 Thread에게 우선권을 주면 될 것 같지만, 모든게 Parallel하게 돌아가는 시스템에서는 이 "누가 먼저"를 알아내기가 쉽지 않다. 중앙에 막강한 ..