[SERVER-16951] Restrict maximum number of in-flight operations Created: 20/Jan/15  Updated: 18/Sep/15  Resolved: 28/Jan/15

Status: Closed
Project: Core Server
Component/s: Concurrency, Storage
Affects Version/s: None
Fix Version/s: 3.0.0-rc7

Type: Improvement Priority: Major - P3
Reporter: Andy Schwerin Assignee: Eliot Horowitz (Inactive)
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File insert.js     PNG File insert.png    
Issue Links:
Related
related to SERVER-17097 Rocks compilation error in RocksRecov... Closed
Backwards Compatibility: Fully Compatible
Participants:

 Description   

With document-locking storage engines, and even with collection-level locking in MMapV1, the number of lock-holding write operations is no longer bound by the number of databases in the system. This increases the likelihood of a concurrency explosion, where potentially hundreds or thousands of operations are admitted to the storage subsystem simultaneously, and forward progress ends up being limited by scheduling overhead, write conflicts, etc.

We could constrain this behavior by restricting the number of non-administrative operations allowed to hold the global lock simultaneously. Then, every initial lock acquisition and yield recovery would become an opportunity to constrain forward progress for writes, reads or both.



 Comments   
Comment by Githook User [ 29/Jan/15 ]

Author:

{u'username': u'igorcanadi', u'name': u'Igor Canadi', u'email': u'icanadi@fb.com'}

Message: SERVER-17097 SERVER-16951 Fix rocks compilation error due to change in RecoveryUnit::beginUnitOfWork

Signed-off-by: Benety Goh <benety@mongodb.com>
(cherry picked from commit f462f1d2441f503f5d0fb0e04ed4684a75452c87)
Branch: v3.0
https://github.com/mongodb/mongo/commit/09c3b4d5bc44410b9cf192ea062c39eba247f0b5

Comment by Githook User [ 29/Jan/15 ]

Author:

{u'username': u'igorcanadi', u'name': u'Igor Canadi', u'email': u'icanadi@fb.com'}

Message: SERVER-17097 SERVER-16951 Fix rocks compilation error due to change in RecoveryUnit::beginUnitOfWork

Signed-off-by: Benety Goh <benety@mongodb.com>
Branch: master
https://github.com/mongodb/mongo/commit/f462f1d2441f503f5d0fb0e04ed4684a75452c87

Comment by Githook User [ 28/Jan/15 ]

Author:

{u'username': u'erh', u'name': u'Eliot Horowitz', u'email': u'eliot@10gen.com'}

Message: SERVER-16951: option to limit # open wt transactions

(cherry picked from commit bbd95ca6a8b538b4cffece0b9d9c3ed811a455a7)
Branch: v3.0
https://github.com/mongodb/mongo/commit/81cb23e84653d66158bca6052e21cdae6eec64f4

Comment by Githook User [ 28/Jan/15 ]

Author:

{u'username': u'erh', u'name': u'Eliot Horowitz', u'email': u'eliot@10gen.com'}

Message: SERVER-16951: Improve TicketHolder and add semaphore version

(cherry picked from commit 8299d7435855820d16b25f4a66b572ddf6a11cf5)
Branch: v3.0
https://github.com/mongodb/mongo/commit/124386bc6077c1a9e56578fe800b31d43e15a648

Comment by Githook User [ 28/Jan/15 ]

Author:

{u'username': u'erh', u'name': u'Eliot Horowitz', u'email': u'eliot@10gen.com'}

Message: SERVER-16951: option to limit # open wt transactions
Branch: master
https://github.com/mongodb/mongo/commit/bbd95ca6a8b538b4cffece0b9d9c3ed811a455a7

Comment by Githook User [ 28/Jan/15 ]

Author:

{u'username': u'erh', u'name': u'Eliot Horowitz', u'email': u'eliot@10gen.com'}

Message: SERVER-16951: Improve TicketHolder and add semaphore version
Branch: master
https://github.com/mongodb/mongo/commit/8299d7435855820d16b25f4a66b572ddf6a11cf5

Comment by Andy Schwerin [ 23/Jan/15 ]

Early experiments suggested this wasn't helping any of our current problems. We can reintroduce the concept the next time we reexamine thread scheduling holistically.

Generated at Thu Feb 08 03:42:48 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.