You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
A benchmark for a variety of spin-lock implementation using x86 primitives. These variations are as follows: * lock_none.h To provide baseline perfor mance compared to other implementation. * lock_tas.h Naive spin-lock implementaiont with test-and-set('xchg'). * lock_tas_nopause.h Based on lock_tas.h, 'pause' is removed. * lock_tas_mov.h Based on lock_tas.h, lock_release() is improved with 'mov' t
この前調べごとをしているときにpthread_spinlockなるものがあることを知った. その時にpthread_mutex_lockとどちらを使えばいいんだろう?と疑問に思ったので少し調べてみた. 結果から言えば,たいていの場合はpthread_mutex_lockで良い,という安易な結果になってしまった. /*--- 以下詳細 ---*/ 一般論ではロック期間が短いときにspinlockのほうが良い、といわれるので期間が短いロックにおける簡単な性能評価を行った. 使ったプログラムは以下. https://github.com/maropu/lockbench 単一アドレス上に存在する値を同期的にインクリメントするだけの簡単なプログラム.評価指標はthread数(# of threads/x-axis)を変化させた場合の,clock()が返す単体tickあたりの平均インクリメント回数(
read write lock ってものがあります。 pthread だと pthread_rwlock_t 。コレの私の思ってたセマンティクスは以下のようなもんです。 writer lock を取ると普通の mutex lock みたいな感じ。その thread が unlock するまで、以降の reader lock と writer lock は block する。 reader lock を取ると、それ以降の writer lock は block する。 reader lock は block せずに取れる これは glibc の pthread のデフォルトの挙動なんですが、これは変えられるし、 POSIX によると環境によって違う挙動をすることもあるらしい、ってのを知りませんでした。 どういう時の挙動が変わるかというと、 reader lock が取られてて、 writer
CACM Web Account Membership in ACM includes a subscription to Communications of the ACM (CACM), the computing industry's most trusted source for staying connected to the world of advanced computing. Sign In Sign Up Most parallel programs today are written using threads and shared variables. Although there is no consensus on parallel programming models, there are a number of reasons why threads rem
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く