发明名称 |
Apparatus and method for thread scheduling and lock acquisition order control based on deterministic progress index |
摘要 |
Provided is a method and apparatus for ensuring a deterministic execution characteristic of an application program to perform data processing and execute particular functions in a computing environment using a micro architecture. A lock controlling apparatus based on a deterministic progress index (DPI) may include a loading unit to load a DPI of a first core and a DPI of a second core among DPIs of a plurality of cores at a lock acquisition point in time of each thread, a comparison unit to compare the DPI of the first core and the DPI of the second core, and a controller to assign a lock to a thread of the first core when the DPI of the first core is less than the DPI of the second core and when the second core corresponds to a last core to be compared among the plurality of cores. |
申请公布号 |
US9047138(B2) |
申请公布日期 |
2015.06.02 |
申请号 |
US201113099453 |
申请日期 |
2011.05.03 |
申请人 |
Samsung Electronics Co., Ltd. |
发明人 |
Shin Young Sam;Lee Seung Won;Son Min Young;Lee Shi Hwa |
分类号 |
G06F9/46;G06F9/52;G06F9/48 |
主分类号 |
G06F9/46 |
代理机构 |
NSIP Law |
代理人 |
NSIP Law |
主权项 |
1. A lock controlling apparatus for threads, based on a deterministic progress index (DPI), the apparatus comprising:
a tracker to track, for each thread of a plurality of threads of a predetermined thread group executing on a multi-core system, a thread DPI comprising a value which is incremented at regular intervals during deterministic sections of the thread's execution and which is not incremented during non-deterministic sections of the thread's execution, where a nondeterministic section comprises a section whose execution period is unpredictable, where the threads of the predetermined thread group are each assigned to execute on a corresponding one of the cores of the multi-core system such that each core is assigned at least one of the threads and at least one of the cores is assigned at least two of the threads; storage to store, for each of the cores, a core DPI at a shared memory location accessible by each of the cores, where the core DPI of a core comprises an accumulative total of the thread DPIs of the threads of the predetermined thread group assigned to the core; a loader to load the stored core DPIs in response to a first thread of the thread group assigned to a first core of the multi-core system attempting to acquire a lock; a comparator to compare the DPI of the first core to each of the other loaded core DPIs; and a controller to assign the lock to the first thread when the loaded core DPI of the first core is less than the other loaded core DPIs. |
地址 |
Suwon-si KR |