20160526

동시성 프로그램의 이해
2) Testing Concurrent Programs to Achieve High Synchronization Coverage
– Testing framework는 높은 coverage를 빠르게 달성하는 것이 중요하다.
high test coverage fast.PNG
– Synchronization pair는 lock pair에 대한 coverage를 측정한다. 같은 thread라 하더라도 lock pair를 만들 수 있음.
synchronization-pair coverage.PNG
– Thread scheduling을 할 때, uncovered synchronization pair가 잡히도록 해야 한다. 그래야 coverage를 높일 수 있다. 하지만 그렇다고 해서 cover하고자 한 pair가 cover된다는 보장은 없다. 모든 thread를 제어하고 있는 것이 아니라면, 임의의 쓰레드가 중간에 끼어들 수 있기 때문이다.

thread scheduling controller.PNG

thread schedule decision algorithm 1.PNGthread schedule decision algorithm 2 1.PNGthread schedule decision algorithm 2 2.PNGthread schedule decision algorithm 3.PNG
– Thread scheduling을 할 때, random sleep을 넣어준다면 더 다양한 interleaving이 발생한다. Random sleep보다 explicit thread scheduling이 더 높은 정확도를 갖는다. Random sleep을 넣어주지 않는다면 여러 번 실행한다 해도 무의미함.

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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

누적 방문자 수
  • 101,726 hits
%d bloggers like this: