Storage system with efficient release of address lock waiters during synchronous replication
US-2021117235-A1 · Apr 22, 2021 · US
US11494185B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11494185-B2 |
| Application number | US-202117207806-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 22, 2021 |
| Priority date | Jan 6, 2021 |
| Publication date | Nov 8, 2022 |
| Grant date | Nov 8, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques for managing threads involve acquiring respective runtime addresses and call information of a plurality of lock objects in a plurality of threads, and determining, from the plurality of lock objects, a first group of lock objects associated with first call information and a second group of lock objects associated with second call information different from the first call information. The techniques further involve providing an indication that a deadlock exists in the plurality of threads if it is determined that a first group of runtime addresses of the first group of lock objects overlaps with a second group of runtime addresses of the second group of lock objects. Accordingly, potential deadlocks in a plurality of threads can be analyzed, thereby avoiding the inability of the threads to proceed normally due to the deadlocks.
Opening claim text (preview).
The invention claimed is: 1. A method for managing threads, comprising: acquiring respective runtime addresses and call information of a plurality of lock objects in a plurality of threads; determining, from the plurality of lock objects, a first group of lock objects associated with first call information and a second group of lock objects associated with second call information different from the first call information; and providing an indication that a deadlock exists in the plurality of threads if it is determined that a first group of runtime addresses of the first group of lock objects overlaps with a second group of runtime addresses of the second group of lock objects. 2. The method according to claim 1 , wherein providing the indication comprises: sorting the first group of lock objects and the second group of lock objects according to the first group of runtime addresses and the second group of runtime addresses; and providing the indication if it is determined that a first lock object in the first group of lock objects is ranked lower than a second lock object in the second group of lock objects. 3. The method according to claim 1 , wherein the first group of lock objects corresponds to a first lock in a static code, and the second group of lock objects corresponds to a second lock in the static code and different from the first lock. 4. The method according to claim 3 , wherein a first static address of the first lock in a code segment is located before a second static address of the second lock in the code segment. 5. The method according to claim 3 , wherein the indication comprises a name of the first lock and a name of the second lock. 6. The method according to claim 3 , wherein the first call information comprises a first jump address corresponding to the first lock, and the second call information comprises a second jump address corresponding to the second lock. 7. The method according to claim 6 , further comprising: disassembling constructor functions of the first lock and the second lock to determine the first jump address and the second jump address. 8. An electronic device, comprising: at least one processor; and at least one memory storing computer program instructions, the at least one memory and the computer program instructions being configured to cause, together with the at least one processor, the electronic device to perform actions comprising: acquiring respective runtime addresses and call information of a plurality of lock objects in a plurality of threads; determining, from the plurality of lock objects, a first group of lock objects associated with first call information and a second group of lock objects associated with second call information different from the first call information; and providing an indication that a deadlock exists in the plurality of threads if it is determined that a first group of runtime addresses of the first group of lock objects overlaps with a second group of runtime addresses of the second group of lock objects. 9. The electronic device according to claim 8 , wherein providing the indication comprises: sorting the first group of lock objects and the second group of lock objects according to the first group of runtime addresses and the second group of runtime addresses; and providing the indication if it is determined that a first lock object in the first group of lock objects is ranked lower than a second lock object in the second group of lock objects. 10. The electronic device according to claim 8 , wherein the first group of lock objects corresponds to a first lock in a static code, and the second group of lock objects corresponds to a second lock in the static code and different from the first lock. 11. The electronic device according to claim 10 , wherein a first static address of the first lock in a code segment is located before a second static address of the second lock in the code segment. 12. The electronic device according to claim 10 , wherein the indication comprises a name of the first lock and a name of the second lock. 13. The electronic device according to claim 10 , wherein the first call information comprises a first jump address corresponding to the first lock, and the second call information comprises a second jump address corresponding to the second lock. 14. The electronic device according to claim 13 , wherein the actions further comprise: disassembling constructor functions of the first lock and the second lock to determine the first jump address and the second jump address. 15. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage threads; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of: acquiring respective runtime addresses and call information of a plurality of lock objects in a plurality of threads; determining, from the plurality of lock objects, a first group of lock objects associated with first call information and a second group of lock objects associated with second call information different from the first call information; and providing an indication that a deadlock exists in the plurality of threads if it is determined that a first group of runtime addresses of the first group of lock objects overlaps with a second group of runtime addresses of the second group of lock objects.
Synchronisation or serialisation instructions · CPC title
Formation of subprogram jump address · CPC title
Manager · CPC title
Deadlock detection or avoidance · CPC title
Thread control instructions · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.