Blog Archives

20160510

동시성 프로그램의 이해 – Atomicity violation은 한 쓰레드의 atomic operation (p-r) 사이에 다른 쓰레드의 연산(q)이 끼어드는 것. 프로그래머의 의도대로라면 p-r-q 또는 q-p-r이 되어야 하는데, p-q-r이 되는 것. – 위 코드에는 data race가 없지만, atomicity bug가 있다. Vector의 constructor 초기화 과정에서

Tagged with: , , , , , , , , , , , , , , , , , , , , , , ,
Posted in 1) Memo

20160407

1. 동시성 프로그램의 이해 – 동시성 프로그램에서의 버그 탐지 기법들은 scalability와 precision에 따라 크게 세 가지 종류로 나뉠 수 있다. Precision이 높고 scalability가 낮은 기법은 model checking technique이다. Model checking techniuqe을 사용하면 아주 정확하게 버그를 확인할 수 있으나, 연산에 오랜

Tagged with: , , , , , , , , , , , , , , , , , , ,
Posted in 1) Memo

20160322

동시성 프로그램의 이해 – mutex_lock이 lock을 얻지 못하면 쓰레드는 더이상 진행하지 못하고 sleep한다. lock을 얻을 수 있게 되면 wake해서 실행을 계속하게 된다. Classical implementation of mutex_lock은 lock을 얻지 못하면 sleep한다. mutex_trylock은 lock을 얻지 못해도 대기하지 않는다. 대신에 mutex_trylock은 lock의 상태를

Tagged with: , , , , , , , , , ,
Posted in 1) Memo

20160317

동시성 프로그램의 이해 – Message passing으로 grid solver 구현하기. 전체 행렬 A를 공유할 수는 없음. 프로세스별로 나누어 처리하도록 해야 한다. Ghost row는 실제로 해당 프로세스가 갖고 있는 row는 아니지만, 다른 프로세스에서 처리한 것을 임시로 저장하기 위한 버퍼로 사용하는 것. 프로세스별로

Tagged with: , , , , , , , , , , , , ,
Posted in 1) Memo

20160315

동시성 프로그램의 이해 – 프로그램의 병렬화 수준은 프로그램 내에서 활용할 수 있는 병렬성에 제약된다. 그리고 락을 사용할 때에는 최대한 적은 영역만을 락으로 잡아야 한다. 또한 너무 많은 데이터를 락을 잡지 않도록 해야 한다. 블로킹은 O(n^k) 데이터에 O(n^(k+1))연산을 수행할 때 사용한다.

Tagged with: , , , , , , , , , , , , , , , ,
Posted in 1) Memo

20160118

1. [ATC’14] Scalable read-mostly synchronization using passive reader-writer locks 읽기 – 현재 진행 중인 연구와 관련해 읽어본 논문. 생각보다 큰 관련은 없었음. – Reader-writer locks(rwlocks)는 reader 사이에 병렬성을 최대화시키기 위해 사용한다. 현존하는 rwlock들은 reader 사이에 경쟁을 유발하고, writer의 쓰기 시간을

Tagged with: , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
Posted in 1) Memo

Protected: 20150923 – Research

There is no excerpt because this is a protected post.

Tagged with: , , , , , , , , , , , ,
Posted in 1) Memo
Recent Posts
누적 방문자 수
  • 155,077 hits