CN104267929A - Computing system and method of operating lock in same - Google Patents

Computing system and method of operating lock in same Download PDF

Info

Publication number
CN104267929A
CN104267929A CN201410520410.9A CN201410520410A CN104267929A CN 104267929 A CN104267929 A CN 104267929A CN 201410520410 A CN201410520410 A CN 201410520410A CN 104267929 A CN104267929 A CN 104267929A
Authority
CN
China
Prior art keywords
thread
lock
suspendable
processing unit
requestor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410520410.9A
Other languages
Chinese (zh)
Inventor
艾义
徐林
吕建超
张绍华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hong Kong Applied Science and Technology Research Institute ASTRI
Original Assignee
Hong Kong Applied Science and Technology Research Institute ASTRI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hong Kong Applied Science and Technology Research Institute ASTRI filed Critical Hong Kong Applied Science and Technology Research Institute ASTRI
Priority to CN201410520410.9A priority Critical patent/CN104267929A/en
Publication of CN104267929A publication Critical patent/CN104267929A/en
Priority to HK15103560.7A priority patent/HK1202952A1/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

The invention provides a method of operating a lock in a computing system with a plurality of processing units in a plurality of runtime environments. The method includes: determining whether an owner thread is suspendable or not when the lock is owned by the owner thread and a requester thread tries to obtain the lock; making the requester thread to be in a spinning state if the owner thread is not suspendable no matter whether the requester thread is suspendable or not; determining whether the the requester thread is suspendable or not if the owner thread is suspendable unless the requester thread gives up obtaining the lock; arranging the requester thread to try again to obtain the lock if the requester thread is not suspendable, and adding the requester thread to a waiting queue as an added suspension thread if the requester thread is suspendable; allowing to restore suspended threads stored in the waiting queue soon afterwards to obtain the lock. The method is applicable to the computing system with a multi-core processor.

Description

Computing system and in this computing system the method for operable lock
Technical field
The accessibility that the present invention relates generally to shared resource in computing system controls.Especially, the present invention relates to for disposing multiple processing unit, and the accessibility control technology of the computing system run in multiple runtime environment.
Background of invention
Polycaryon processor is the single computing element with two or more separate processing units, and wherein independently processing unit is also used is called " core ".Multinuclear computing system is generally used for running multiple thread concurrently with other resources (such as, memory block), and other resources are shared between the different threads run in different IPs.The particularly important is, multinuclear computing system is favourable when realizing the embedded system of a lot of commercial Application.Such as, multinuclear computing system is useful when constructing the high-performance access gateway of mobile communication system.Advantageously, can by some core is specifically designed to process operating system (OS) environment outside most of packets (namely, bypass OS) realize high-performance access gateway, to realize high system throughput and low delay, and the remaining bag of complex process that needs is forwarded to OS network stack, and processed by other cores performing necessary signaling and controlling functions.So it is favourable for performing a thread and run another thread under the runtime environment specific to a thread in another runtime environment optimized.The feature of runtime environment is, such as, the OS that thread performs thereon, the spatial mappings of storage address, the operable input-output of thread (IO) resource, thread whether with specifically performs core and bundles.
Owing to there is multiple runtime environment, thread can be divided into suspendable thread and not suspendable thread.Suspendable thread can be dispatched by OS allocator, and not suspendable thread can not be dispatched by OS allocator and its execution can not stop.Lock is usually with carrying out synchronously to access one or more shared resource to different threads in computing systems.It is desirable to that there is a kind of technology, with exist at multinuclear computing system suspendable and not suspendable thread to being locked into line operate.Such as, but most prior art, technology disclosed in US2007101333 and WO2013078962, major design is used for suspendable thread, and does not consider the situation occurring not suspendable thread in multiple runtime environment.
This area needs a kind of technology, with occur in multiple runtime environment suspendable and not suspendable thread to being locked into line operate.
Summary of the invention
The invention provides the method for operable lock in a kind of computing system having multiple processing unit, wherein lock can be obtained and release by the multiple threads produced in computing system, and each thread is suspendable or not suspendable.The method is described below.
When lock is held by the holder's thread in multiple thread, the lock made in response to the requestor's thread in multiple thread obtains to be attempted, and determines that holder's thread is suspendable or not suspendable by being allocated for the first processing unit performing requestor's thread.If determine that holder's thread is not suspendable, no matter requestor's thread is suspendable or not suspendable, all by the first processing unit by requestor's thread configuration for being in spin states, wherein the feature of spin states is: requestor's thread continues to make lock and obtains trial, and whether the first processing unit inspection is attempted successful.If holder's thread is through determining it is suspendable, preferably, the first processing unit determines that requestor's thread is suspendable or not suspendable, unless requestor's thread is abandoned obtaining lock.If requestor's thread is through determining it is not suspendable, so the first processing unit arranges requestor's thread again to make lock and obtains trial.Otherwise requestor's thread is increased to waiting list by the first processing unit, as the thread of the termination increased.Waiting list is configured to the thread storing multiple termination, and these threads stopped can be recovered by multiple processing unit.
When holder's thread release lock, perform lock release procedure by multiple processing unit.Preferably, lock release procedure comprises: if waiting list has the thread of one or more termination, then from waiting list, select a thread stopped, and recover the thread of the termination of this selection, makes the thread of this recovery again be arranged to obtain lock.
The explanation of embodiment following herein discloses other aspects of the present invention.
Accompanying drawing explanation
Fig. 1 describes the schematic diagram showing the typical multinuclear computing system with multiple runtime environment, can stop and can not stop the appearance of thread when describing access shared resource.
Fig. 2 is showing the process flow diagram of the method for operable lock according to an illustrative embodiment of the invention.
Fig. 3 describes a kind of implementation according to the adaptability lock configuration disclosed in embodiment of the present invention, and the configuration of adaptability lock comprises lock, scheduler and waiting list.
Fig. 4 describes the lock of Fig. 3 and a kind of implementation of waiting list.
Fig. 5 describes the process flow diagram obtaining program according to the lock of embodiment of the present invention.
Fig. 6 is the process flow diagram of the lock release procedure described according to one embodiment of the present invention.
Embodiment
Inventor has made formation following observation of the present invention.Fig. 1 is the example of typical scene, when this typical scene describes and there is multiple runtime environment and multiple processing unit, has occurred stopping and not suspendable thread.The sight described in Fig. 1 is similar to a sight of high-performance access gateway.
Computing system 100 comprises polycaryon processor 110 and shared resource 120.Computing system 100, in different spaces, comprises user's space 132, linux kernel 134 and " bare machine (bare metal) " space 136, generation contention shared resource 120.Bare machine thread is the thread produced in bare machine space 136.In this article, bare machine thread is such thread: it does not relate to OS at run duration, does not also comprise any instruction of calling arbitrary OS function.Bare machine thread 148 is bundled in the processing unit 112 of the selection in polycaryon processor 110, and is usually optimized to realize high execution speed, makes " fast path " be assigned with to connect processing unit 112 and the shared resource 120 of selection.Bare machine thread 148 is not suspendable; Otherwise execution speed will be involved.On the other hand, the linux kernel thread 144 produced in linux kernel 134 is not bundled in specific processing unit, and it is suspendable." slow-path " can be dispensed to linux kernel thread 144.In user's space 132, the thread produced wherein can be that fast path connects or slow-path connects.The Linux normal users thread 142 not being bound to any particular processor unit of polycaryon processor 110 is suspendable.For some high-speed applications, the user of computing system 100 can develop highspeed user's thread 146, and highspeed user's thread 146 needs fast path to connect.These highspeed user's threads 146 are bound to specific processing unit 114, and be configured to the term of execution bypass OS kernel.Owing to the bypass to OS kernel, highspeed user's thread 146 is not suspendable.
Set forth below is the effective scheme of the lock that operation controls for the accessibility of shared resource.Think herein: when requestor's thread makes the trial obtaining lock, lock and held by holder's thread.If holder's thread is not suspendable, so this has usually meaned and has performed at a high speed, and the shared resource that holder's thread is held can be released at short notice.Requestor's thread can advantageously continue to monitor lock, until it is released, the completing of this process does not need to consider that requestor's thread is suspendable or not suspendable.If holder's thread is suspendable, so consider that lock may in d/d possibility at short notice, requestor's thread can be selected to abandon obtaining lock, and carries out other work.In addition, if requestor's thread is not suspendable, if so requestor's thread determines not abandon obtaining lock, then requestor's thread can this lock of watch-keeping.If requestor's thread and holder's thread are all suspendable, it is favourable for doing so like this: abort request person's thread also puts it into waiting list, to discharge the processing unit of execution requestor thread and to allow it to perform other threads.Use aforementioned schemes according to following content development the present invention.
One aspect of the present invention is used for providing a kind of method, and the method is used for operable lock in the computing system with multiple processing unit.This lock can be obtained by the multiple threads produced in computing system and release.Each in thread is suspendable or not suspendable.Below by Fig. 2, schematically illustrate the method.
For the requestor's thread in multiple thread and holder's thread, need to consider: when holder's thread holder lock, requestor's thread makes the trial obtaining lock.Need to consider: in multiple processing unit, first processing unit is assigned with to perform requestor's thread.When detecting that lock is held by holder, no matter requestor's thread is suspendable or not suspendable, first processing unit all determines that holder's thread is suspendable or not suspendable (step 210), to such an extent as to considers that requestor thread is suspendable or not suspendable without the need to the first processing unit.If holder's thread is through determining it is not suspendable, so the first processing unit by requestor's thread configuration for being in spin states (step 220), wherein the feature of spin states is: requestor's thread continues to make the trial obtaining lock, and whether the first processing unit inspection is attempted successful.That is, spin states makes the first processing unit participate in continue the circulation making the trial obtaining lock, until trial and success.If holder's thread is found to be suspendable, so preferably the first processing unit determines whether to abandon obtaining lock (step 230a).If determining not abandon obtaining attempts, so also preferably determine that requestor's thread is suspendable or not suspendable (step 230b) by the first processing unit.Requestor's thread through determine be not suspendable after, the first processing unit arranges requestor thread again to make the trial (step 240) obtaining lock.On the other hand, if requestor's thread is through determining it is suspendable, so requestor's thread is added waiting list by the first processing unit, as the thread (step 250) of the termination increased.Waiting list is configured to the thread storing multiple termination, and these threads can allow to be recovered by multiple processing unit.
When holder's thread release lock, one in the multiple processing units determined by computing system performs lock release procedure.In one embodiment, lock release procedure comprises: determine whether waiting list has the thread of one or more termination, that is, whether waiting list is not empty.If determine waiting list not for empty, from waiting list, select a thread stopped.Recover the thread of this selection, make the thread recovered again be arranged to obtain lock.
As selection, computing system is configured and makes only to perform lock release procedure when holder's thread is suspendable.If do not want the execution speed reducing not suspendable thread, this selection is favourable, and wherein not suspendable thread such as can be relevant to some mission critical.In any case, use one or more measure to be desirable to avoid the thread of the one or more termination in waiting list to keep stopping, not being resumed.Aforesaid one or more measure is known in the art, and can easily be determined by those skilled in the art.
If when requestor's thread makes the trial of lock acquisition, any one in multiple thread does not all have holder lock, and so the first processing unit obtains lock, makes requestor's thread to access and locks corresponding shared resource.
Method disclosed herein can be embodied as the adaptability lock configuration in computing system.Fig. 3 describes an implementation of adaptability lock configuration.The configuration 300 of adaptability lock comprises lock 310, scheduler 330 and waiting list 320.Lock 310 controls the access of thread 360 pairs of shared resources 350.Waiting list 320 preserves the thread that could not obtain the termination of lock 310.Scheduler 330, it is configured usually can by any one processing unit operation of polycaryon processor 370, and for suspendable thread 362 is scheduling to abort state from running status, vice versa.
Fig. 4 shows the example implementations of lock 310 and waiting list 320.Lock 310 is embodied as locks hereafter 460, and it is the data structure of the overall shared storage block of computing system.Overall situation shared storage block is visible for multiple thread 360, and can be accessed by the multiple processing units in polycaryon processor 370.Lock and hereafter 460 comprise and whether be used to indicate lock 310 by the lock status 470 held, and for lock held time instruction holder thread be suspendable or not suspendable holder's type 480.Waiting list 320 is also implemented in overall shared storage block.In one embodiment, waiting list 320 comprises the label 425 of the thread 420 for each termination be stored in waiting list 320.Label 425 indicates the thread 420 of termination relative to the order of arrival of the thread of all termination stored in waiting list 320.Label 425 can be such as the time tag that the thread recording this termination enters the clock time of abort state.In another embodiment, lock status 470 use value 1 is carried out indicating lock 310 and is locked or has been held by holder's thread, and use value 0 represents that lock 310 is not also acquired.If lock 310 is held by holder, so holder's type 480 use value 1 and 0, indicates holder's thread to be can stop with not suspendable respectively.
Fig. 5 describes a process flow diagram according to an embodiment of the invention, the flow diagrams illustrates the program obtained based on the lock locking the layout of hereafter 460 shown in Fig. 4.Requestor's thread is attempted obtaining lock (step 510).Then, the value hereinafter obtaining lock status is locked from what capture from overall shared storage block, and it is compared (step 522) with predetermined value 0, whether held by any one in multiple thread to determine to lock, wherein lock and hereafter capture from overall shared storage block.If lock status has value 0 (step 524), by in multiple thread, any one does not hold its indicating lock, so lock status is updated to 1, and upgrades holder's type (step 526) according to the type of requestor's thread, make requestor's thread obtain lock.Then, complete lock and obtain, and the shielded shared resource (step 530) of giving requestor's thread granted access corresponding with lock.If lock status has the value (step 524) being different from 0, so hereinafter obtain holder's type (step 542) from locking.If the value of holder's type is not 1 (step 544), so repeats step 522, make requestor's thread enter spin states, or consider that whether abandoning lock obtains (step 546).If determine to abandon obtaining lock, so requestor's thread carries out some and is different from the work (step 535) of accessing shielded shared resource, and repeats step 510.If determine not abandon obtaining lock in step 546, so check whether requestor's thread is suspendable (step 548).If requestor's thread is not suspendable, then performs step 522, make requestor's thread enter spin states; Otherwise requestor's thread is increased to waiting list (step 550), makes requestor's thread become the thread of the termination that can be waken up subsequently.In step 522 and 524, directly compare and lock hereafter, instead of the value of lock status is compared with predetermined value, more effective or more convenient sometimes.This situation lock hereafter store as character and can crawled time there will be, wherein locking is hereafter the connection of lock status and holder's type.If in one embodiment, as shown at step 524, lock and hereafter compare with predetermined value 0, so when lock is from the moment of thread release, need to lock hereafter to be reset to value 0.
Preferably, when determining that lock is not held, crawl is locked hereafter (step 522), relatively lock hereafter with predetermined value (step 522,, and upgrade lock status and holder's type (step 526) and be configured to carry out (step 520) in an atomic operation 524).By performing step 520 in an atomic operation, following problems can be avoided, by the access of more than one processing unit and renewal when namely locking Hereinafter the same.
Fig. 6 describe based on shown in Fig. 4 lock hereafter 460 layout, holder's thread execution lock release procedure an implementation.Holder's thread is determined to complete (step 610) the access of shielded shared resource.Then, will lock and hereafter arrange to 0 (step 620) in an atomic operation, the value of lock status is arranged to zero.(as locking the result hereafter arranged to 0, the value of holder's type is also set to zero).If holder's thread is not suspendable (as step 630 is determined), so complete lock release (step 640), or check whether waiting list is empty (step 650).If waiting list is empty, so lock release also completes (step 640).If not, then from waiting list, capture the thread (step 652) of termination, then recovered to perform (step 654), the thread triggering this recovery goes to attempt obtaining lock (step 656).
By comprising multiple processing unit and overall shared storage block, the computing system of the method for the operable lock disclosed in using can be realized.A part in overall situation shared storage block is assignable for setting up the lock controlled the shared resource accessibility in computing system, and wherein lock can be obtained by the multiple threads produced in computing system and release.Each in thread is configured as being suspendable or not suspendable.Overall situation shared storage block be configured for for multiple thread visible and can be multiple processing unit and access.In addition, lock is configured to operate according to the method for the latching operation proposed in above-mentioned disclosed arbitrary embodiment.
The present invention is applicable to the computing system with multiple processing unit.In an actual implementation, multiple processing unit is arranged in polycaryon processor.But the present invention is not limited only to polycaryon processor.Such as, in an implementation of computing system, the part in multiple processing unit but not all be the general purpose core of polycaryon processor, and to remain processing unit be special unit processor, such as digital signal processor (DSP).
Utilize general or special calculation element, computer processor, or electronic circuit can realize embodiment disclosed herein, wherein electronic circuit includes but not limited to digital signal processor (DSP), special IC (ASIC), field programmable gate array (FPGA), and other instruct other programmable logic devices configuring or programme disclosed in herein.At general or special calculation element, computer processor, or the computer instruction run in programmable logic device or software code, can be prepared out based on the instruction of content disclosed herein here by the technician of software or electronic applications easily.
The present invention, when not departing from its spirit or inner characteristic, can be realized by other specific forms.Therefore, all will be understood that embodiment is here schematic in all respects, instead of restrictive.Protection scope of the present invention is by accompanying claim, instead of description above illustrates, all fall into claim implication and full scope of equivalents in change be all considered as being included in wherein.

Claims (20)

1. for a method for operable lock in the computing system with multiple processing unit, described lock can be obtained and release by the multiple threads produced in computing system, and each in its thread is suspendable or not suspendable, and described method comprises:
In response to when lock held by the holder's thread in multiple thread time multiple thread in the lock made of requestor's thread obtain and attempt, determine that holder's thread is suspendable or not suspendable by being allocated for the first processing unit performing requestor's thread;
Determine holder's thread be not suspendable after, no matter requestor's thread is suspendable or not suspendable, all by the first processing unit by requestor's thread configuration for being in spin states, wherein the feature of spin states is that requestor's thread continues to make lock and obtains trial, and whether the first processing unit inspection is attempted successful;
Determine holder's thread be suspendable after, determine that requestor's thread is suspendable or not suspendable by the first processing unit, unless requestor's thread is abandoned obtaining lock;
Determine requestor's thread be not suspendable after, arrange requestor thread again to make lock by the first processing unit and obtain and attempt; And
Determine requestor's thread be suspendable after, by the first processing unit, requestor's thread is increased to waiting list, as the thread of termination increased, be wherein configured to store can by the thread of the multiple termination recovered of in multiple processing unit for waiting list.
2. the method for claim 1, also comprises:
When holder's thread release lock, perform lock release procedure by multiple processing unit, wherein said lock release procedure comprises:
If a () waiting list has the thread of one or more termination, from waiting list, select a thread stopped, and recover the thread of the termination of this selection, make the thread of this recovery again be arranged to obtain lock.
3. method as claimed in claim 2, wherein the execution of further configuration lock release procedure, makes only when holder's thread is suspendable, performs lock release procedure.
4. the method for claim 1, also comprises:
When any one in multiple thread not holder lock and requestor's thread make lock obtain attempt time, obtain lock by the first processing unit, make the shared resource corresponding with this lock can requested person's thread accesses.
5. the method for claim 1, wherein:
Described lock is embodied as to be locked hereafter, described in lock the data structure of the overall shared storage block being hereafter computing system, described overall shared storage block is visible for multiple thread, and can be accessed by described multiple processing unit; And
Described waiting list is embodied as another data structure in overall shared storage block.
6. method as claimed in claim 5, wherein:
Described locking hereafter comprises lock status and holder's type, and whether wherein said lock status indicates described lock to be held, and the instruction of described holder's type is when described lock is held, and described holder's thread is suspendable or not suspendable; And
Described waiting list comprises the label of each in the thread of the termination for storing in waiting list, and described label makes the thread of described termination be configured to make the order of arrival of the thread of all termination in waiting list be confirmable.
7. method as claimed in claim 6, also comprises:
Lock from described the value hereinafter capturing lock status by the first processing unit;
By the first processing unit, the value of the lock status of crawl and predetermined value are compared, to determine whether described lock is held by any one in multiple thread; And
When determine to lock do not held by any one in multiple thread time, upgrade lock status and holder's type by the first processing unit, make requestor's thread obtain lock.
8. method as claimed in claim 7, wherein when determining that lock is not held, capturing the value of lock status, the value of crawl being compared with predetermined value and upgrading lock status and holder's type is configured to perform in an atomic operation.
9. a computing system, comprising:
Multiple processing unit; And
Overall situation shared storage block, its part can divide be used in set up lock, with the accessibility of shared resource in controlling calculation system, described lock can be obtained by multiple thread and discharge, described multiple thread can produce in described computing system, it is suspendable or not suspendable that each in thread is configured to, and described overall shared storage block is configured to visible for described multiple thread and can be accessed by described multiple processing unit;
Wherein said lock is configured to method according to claim 1 operation.
10. computing system as claimed in claim 9, wherein said multiple processing unit is arranged in polycaryon processor.
11. 1 kinds of computing systems, comprising:
Multiple processing unit; And
Overall situation shared storage block, its part can divide be used in set up lock, with the accessibility of shared resource in controlling calculation system, described lock can be obtained by multiple thread and discharge, described multiple thread can produce in described computing system, it is suspendable or not suspendable that each in thread is configured to, and described overall shared storage block is configured to visible for described multiple thread and can be accessed by described multiple processing unit;
Wherein said lock is configured to method according to claim 2 operation.
12. methods as claimed in claim 11, wherein said multiple processing unit is arranged in polycaryon processor.
13. 1 kinds of computing systems, comprising:
Multiple processing unit; And
Overall situation shared storage block, its part can divide be used in set up lock, with the accessibility of shared resource in controlling calculation system, described lock can be obtained by multiple thread and discharge described lock, described multiple thread can produce in described computing system, it is suspendable or not suspendable that each in thread is configured to, and described overall shared storage block is configured to visible for described multiple thread and can be accessed by described multiple processing unit;
Wherein said lock is configured to method according to claim 5 operation.
14. computing systems as claimed in claim 13, wherein said multiple processing unit is arranged in polycaryon processor.
15. 1 kinds of computing systems, comprising:
Multiple processing unit; And
Overall situation shared storage block, its part can divide be used in set up lock, with the accessibility of shared resource in controlling calculation system, described lock can be obtained by multiple thread and discharge, described multiple thread can produce in described computing system, it is suspendable or not suspendable that each in thread is configured to, and described overall shared storage block is configured to visible for described multiple thread and can be accessed by described multiple processing unit;
Wherein said lock is configured to method according to claim 6 operation.
16. computing systems as claimed in claim 15, wherein said multiple processing unit is arranged in polycaryon processor.
17. 1 kinds of computing systems, comprising:
Multiple processing unit; And
Overall situation shared storage block, its part can divide be used in set up lock, with the accessibility of shared resource in controlling calculation system, described lock can be obtained by multiple thread and discharge, described multiple thread can produce in described computing system, it is suspendable or not suspendable that each in thread is configured to, and described overall shared storage block is configured to visible for described multiple thread and can be accessed by described multiple processing unit;
Wherein said lock is configured to method according to claim 7 operation.
18. computing systems as claimed in claim 17, wherein said multiple processing unit is arranged in polycaryon processor.
19. 1 kinds of methods for operable lock in the computing system with multiple processing unit, described lock can be obtained and release by the multiple threads produced in computing system, and each in its thread is suspendable or not suspendable, and described method comprises:
In response to when lock held by the holder's thread in multiple thread time multiple thread in the lock made of requestor's thread obtain and attempt, determine that holder's thread is suspendable or not suspendable by being allocated for the first processing unit performing requestor's thread;
Determine holder's thread be not suspendable after, no matter requestor's thread is suspendable or not suspendable, all by the first processing unit by requestor's thread configuration for being in spin states, wherein the feature of spin states is that requestor's thread continues to make lock and obtains trial, and whether the first processing unit inspection is attempted successful.
20. 1 kinds of computing systems comprise:
Multiple processing unit; And
Overall situation shared storage block, its part can divide be used in set up lock, with the accessibility of shared resource in controlling calculation system, described lock can be obtained by multiple thread and discharge, described multiple thread can produce in described computing system, it is suspendable or not suspendable that each in thread is configured to, and described overall shared storage block is configured to visible for described multiple thread and can be accessed by described multiple processing unit;
Wherein said lock is configured to method according to claim 19 operation.
CN201410520410.9A 2014-09-30 2014-09-30 Computing system and method of operating lock in same Pending CN104267929A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410520410.9A CN104267929A (en) 2014-09-30 2014-09-30 Computing system and method of operating lock in same
HK15103560.7A HK1202952A1 (en) 2014-09-30 2015-04-13 A computing system and a method for operating a lock in the computing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410520410.9A CN104267929A (en) 2014-09-30 2014-09-30 Computing system and method of operating lock in same

Publications (1)

Publication Number Publication Date
CN104267929A true CN104267929A (en) 2015-01-07

Family

ID=52159453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410520410.9A Pending CN104267929A (en) 2014-09-30 2014-09-30 Computing system and method of operating lock in same

Country Status (2)

Country Link
CN (1) CN104267929A (en)
HK (1) HK1202952A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021082665A1 (en) * 2019-10-30 2021-05-06 支付宝(杭州)信息技术有限公司 Data processing method, apparatus, device, and medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256730B1 (en) * 1997-10-08 2001-07-03 Oak Technology, Inc. Apparatus and method of processing counter parameters in a digital versatile disc system
CN1825286A (en) * 2006-03-31 2006-08-30 浙江大学 Threading realizing and threading state transition method for embedded SRAM operating system
CN103946827A (en) * 2011-11-22 2014-07-23 华为技术有限公司 System and method for implementing locks shared between kernel and user space

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256730B1 (en) * 1997-10-08 2001-07-03 Oak Technology, Inc. Apparatus and method of processing counter parameters in a digital versatile disc system
CN1825286A (en) * 2006-03-31 2006-08-30 浙江大学 Threading realizing and threading state transition method for embedded SRAM operating system
CN103946827A (en) * 2011-11-22 2014-07-23 华为技术有限公司 System and method for implementing locks shared between kernel and user space

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021082665A1 (en) * 2019-10-30 2021-05-06 支付宝(杭州)信息技术有限公司 Data processing method, apparatus, device, and medium

Also Published As

Publication number Publication date
HK1202952A1 (en) 2015-10-09

Similar Documents

Publication Publication Date Title
CN106164881B (en) Work stealing in heterogeneous computing systems
CN106371894B (en) Configuration method and device and data processing server
US9424103B2 (en) Adaptive lock for a computing system having multiple runtime environments and multiple processing units
US10261926B2 (en) Semaphore for multi-core processor
US9778962B2 (en) Method for minimizing lock contention among threads when tasks are distributed in multithreaded system and apparatus using the same
CN104461707B (en) a kind of lock request processing method and device
US9378069B2 (en) Lock spin wait operation for multi-threaded applications in a multi-core computing environment
EA003407B1 (en) METHOD FOR CONFIGURING DATA FLOW PROCESSORS AND MODULES WITH A TWO- OR MULTIDIMENSIONAL PROGRAMMABLE CELL STRUCTURE (FPGAs, DPGAs OR SIMILAR) WITHOUT PRODUCING DEADLOCKS
EP3230860B1 (en) Technologies for efficient synchronization barriers with work stealing support
US20160232037A1 (en) Latency-hiding context management for concurrent distributed tasks
CN107797848B (en) Process scheduling method and device and host equipment
US10331500B2 (en) Managing fairness for lock and unlock operations using operation prioritization
US10031786B2 (en) Lockless multithreaded completion queue access
CN103946827A (en) System and method for implementing locks shared between kernel and user space
CN106681836B (en) Semaphore creation method and semaphore creation device
Ahmadinia et al. Task scheduling for heterogeneous reconfigurable computers
US20170139757A1 (en) A data processing apparatus and method for performing lock-protected processing operations for multiple threads
CN113495795A (en) Inter-process communication method and related equipment
EP2804102B1 (en) Parallel atomic increment
CN115408117A (en) Coroutine operation method and device, computer equipment and storage medium
EP3702911B1 (en) Hardware for supporting os driven load anticipation based on variable sized load units
CN114930292A (en) Cooperative work stealing scheduler
US11301304B2 (en) Method and apparatus for managing kernel services in multi-core system
US20150143384A1 (en) Network system, network node and communication method
CN104267929A (en) Computing system and method of operating lock in same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1202952

Country of ref document: HK

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150107

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1202952

Country of ref document: HK