发明名称 |
Performing an operation using multiple services |
摘要 |
Some embodiments provide a method for distributing an operation for processing by a set of background services. The method automatically determines a number of background services for performing an operation. The method partitions the operation into several sub-operations. The method distributes the several sub-operations across the determined number of background services. |
申请公布号 |
US9223631(B2) |
申请公布日期 |
2015.12.29 |
申请号 |
US201113050904 |
申请日期 |
2011.03.17 |
申请人 |
APPLE INC. |
发明人 |
Lipton Daniel;Lhotak Vladimir |
分类号 |
G06F9/46;G06F9/50 |
主分类号 |
G06F9/46 |
代理机构 |
Adeli LLP |
代理人 |
Adeli LLP |
主权项 |
1. A non-transitory machine readable medium storing a program which when executed by at least one processing unit of a particular physical machine having a plurality of processing units distributes an operation for processing by a set of background services, the program comprising sets of instructions for:
maintaining a service configuration table comprising a mapping of operation properties and hardware resources to a number of processing units used by each background service and a maximum number of background services for performing the operation; detecting a set of the hardware resources of the particular physical machine and a set of properties for the operation; performing a lookup on the service configuration table using the detected set of the hardware resources and the detected set of the properties for the operation in order to calculate a number of background services to instantiate to perform the operation; instantiating the calculated number of background services on the particular physical machine, each of the background services utilizing a different one or more of the processing units of the particular physical machine; partitioning the operation into a number of sub-operations that is larger than the number of background services; initially distributing one sub-operation to each instantiated background service on the particular physical machine; and each time a particular background service completes a sub-operation, distributing one undistributed sub-operation to the particular background service until all of the sub-operations are distributed. |
地址 |
Cupertino CA US |