Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for monitoring accelerator usage in a computing system having one or more accelerators, comprising: receiving, from an accelerator that is communicatively coupled to a processor in the computing system, a set of metering rules, the metering rules including a unit of accelerator usage and a tariff per unit of accelerator usage, the unit of accelerator usage corresponding with an amount of work performed by the accelerator in executing data processing operations; receiving on a first bus from a partition of the computing system a command block, the command block having data processing operations executable by the accelerator; calculating, based on the command block and the set of metering rules, an accelerator usage value for the partition; transmitting the command block to the accelerator for processing; enabling the accelerator to execute the command block; and providing, on a second bus, the accelerator usage value.
2. The method of claim 1 , wherein the unit of accelerator usage includes at least one of a number of a units of data per unit of time transferred to the accelerator from a processor of the computing system per write operation, and a number of a units of data per unit of time transferred from the accelerator to the processor of the computing system per read operation.
3. The method of claim 1 , wherein the accelerator usage value includes at least one of a count of units of accelerator usage associated with executing operations of the command block, and a tariff associated with executing operations of the command block.
4. The method of claim 1 , wherein the metering rules are encrypted, the method further comprising: receiving, from the accelerator, an authentication token to authenticate the set of metering rules, the authentication token including data signed with an encryption key; verifying an authenticity of the metering rules using the authentication token and a second encryption key stored in a memory of the computing system; and responsive to determining that the metering rules cannot be authenticated, restricting the partition's access to the accelerator.
5. The method of claim 1 , wherein calculating comprises: actuating one or more circuits of the accelerator to cause the accelerator to measure a number of units of accelerator usage used to execute data processing operations of the command block; and determining an accelerator usage from the number of units of accelerator usage and the tariff per unit of accelerator usage.
6. The method of claim 1 , further comprising: updating, in response to the calculating, a usage record associated with the accelerator, the usage record indicating at least one of a cumulative count of units of accelerator usage associated with the partition, and a cumulative count of accelerator usage values associated with the partition; and providing, on the second bus, the usage record.
7. A system, comprising: one or more computing nodes having a memory and a processor, wherein the processor of at least one of the one or more computing nodes is communicatively coupled to one or more accelerators; and a computer readable storage medium of the one or more computing nodes having program instructions embodied therewith, the program instructions executable by the processor to cause the system to: receive, from an accelerator of the one or more accelerators, a set of metering rules, the metering rules including a unit of accelerator usage and a tariff per unit of accelerator usage, the unit of accelerator usage corresponding with an amount of work performed by the accelerator in executing data processing operations; receive on a first bus from a partition of the one or more computing nodes a command block, the command block having data processing operations executable by the accelerator and a set of data to be processed; calculate, based on the command block and the set of metering rules, an accelerator usage value for the partition; transmit the command block to the accelerator for processing; enable the accelerator to execute the command block; and provide, on a second bus, the accelerator usage value.
8. The system of claim 7 , wherein the unit of accelerator usage includes at least one of a number of a units of data per unit of time transferred to the accelerator from a processor of the one or more computing nodes per write operation, and a number of a units of data per unit of time transferred from the accelerator to the processor of the one or more computing nodes per read operation.
9. The system of claim 7 , wherein the accelerator usage value includes at least one of a count of units of accelerator usage associated with executing operations of the command block, and a tariff associated with executing operations of the command block.
10. The system of claim 7 , wherein the program instructions executable by the processor further cause the system to: receive, from the accelerator, a digital signature to authenticate the set of metering rules; and verify an authenticity of the digital signature to authenticate the set of metering rules.
11. The system of claim 7 , wherein the program instructions executable by the processor further cause the system to: update, in response to the calculating, a usage record associated with the accelerator, the usage record indicating at least one of a cumulative count of units of accelerator usage associated with the partition, and a cumulative count of accelerator usage values associated with the partition; and provide, on the second bus, the usage record.
12. The system of claim 7 , wherein the program instructions executable by the processor further cause the system to transmit the accelerator usage values to a service processor in response to receiving a read request from the service processor.
13. A computer program product for monitoring accelerator usage in a computing system having one or more accelerators, the computer program product including a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions executable by a processing circuit to cause the processing circuit to perform a method comprising: receiving, from an accelerator in the computing system, a set of metering rules, the metering rules including a unit of accelerator usage and a tariff per unit of accelerator usage, the unit of accelerator usage corresponding with an amount of work performed by the accelerator in executing data processing operations; receiving on a first bus from a partition of the computing system a command block, the command block having data processing operations executable by the accelerator; calculating, based on the command block and the set of metering rules, an accelerator usage value for the partition; transmitting the command block to the accelerator for processing; enabling the accelerator to execute the command block; and providing, on a second bus, the accelerator usage value.
14. The computer program product of claim 13 , wherein the unit of accelerator usage includes at least one of a number of a units of data per unit of time transferred to the accelerator from a processor of the computing system per write operation, and a number of a units of data per unit of time transferred from the accelerator to the processor of the computing system per read operation.
15. The computer program product of claim 13 , wherein the accelerator usage value includes at least one of a count of units of accelerator usage associated with executing operations of the command block, and a tariff associated with executing operations of the command block.
16. The computer program product of claim 13 , further comprising: receiving, from the accelerator, a digital signature to authenticate the set of metering rules; and verifying an authenticity of the digital signature to authenticate the set of metering rules.
17. The computer program product of claim 13 , wherein calculating comprises: actuating one or more circuits of the accelerator to cause the accelerator to measure a number of units of accelerator usage used to execute data processing operations of the command block; and determining an accelerator usage from the number of units of accelerator usage and the tariff per unit of accelerator usage.
18. The system of claim 7 , wherein the processor includes one or more cores and a coherently attached processor proxy (CAPP), the CAPP including a usage monitoring program and a partition usage table, wherein each respective accelerator of the one or more accelerators includes a respective set of metering rules stored in a read-only memory of the respective accelerator, wherein each respective accelerator further includes processing circuitry and a software layer having an accelerator usage table.
19. The system of claim 18 , wherein each accelerator of the one or more accelerators is configured to perform a different processing task, wherein the processing tasks include one or more selected from a group consisting of video compression, video rendering, database processing, pattern recognition, and image processing.
20. The method of claim 1 , wherein the computing system includes a service processor, wherein the second bus is an out-of-band path, wherein the second bus is configured to issue commands to the service processor, and wherein each respective partition in the computing system includes a respective accelerator usage value for each accelerator.
Unknown
July 23, 2019
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.