多くの読者に好まれる rwlock があることを私は知っています。通常、読者に好まれると考えられている RCU などのさらに積極的な設計もあります。
しかし、書き手が読み手よりもはるかに少なくない場合はどうなるでしょうか? ライターのみの rwlock が排他ロックにフォールバックすることはわかっていますが、次のパターンを検討してください。
- ライターがほとんどですが、読者もいます。おそらく、80% W 対 20% R?
- ライターとリーダーは偶数、50% W 対 50% R
- リーダーが最も多いですが、ライターは無視できず、待ち時間に関する要件があります。20% W 対 80% R
2つの質問があります
- そのようなケース、特に最初の 2 つのケースは本当に存在しますか? これらのタイプに適合するユーザーレベルのアプリケーションは知りません。ユーザーレベルの例が優先されます。
- タイプ 1/2/3 に該当するアプリケーションが実際にある場合、ロックのパフォーマンスを向上させる既存の方法はありますか?