US 12,106,151 B2
Dynamic client/server selection for machine learning execution based on current performance characteristics
Saba Shah, Morrisville, NC (US); Xiaohua Xu, Raleigh, NC (US); and Rod D. Waltermann, Rougemont, NC (US)
Assigned to Lenovo (Singapore) Pte. Ltd., New Tech Park (SG)
Filed by LENOVO (Singapore) PTE. LTD., New Tech Park (SG)
Filed on Jan. 25, 2021, as Appl. No. 17/157,896.
Prior Publication US 2022/0237044 A1, Jul. 28, 2022
Int. Cl. G06F 9/50 (2006.01); G06F 11/30 (2006.01); G06F 11/34 (2006.01); G06N 20/00 (2019.01)
CPC G06F 9/5038 (2013.01) [G06F 9/5044 (2013.01); G06F 9/505 (2013.01); G06F 11/3409 (2013.01); G06F 11/3433 (2013.01); G06N 20/00 (2019.01); G06F 11/3003 (2013.01); G06F 2209/501 (2013.01); G06F 2209/509 (2013.01)] 14 Claims
OG exemplary drawing
 
1. An apparatus, comprising:
a processor; and
a memory that stores code executable by the processor to:
receive a request at a client device to execute a machine learning workload for the client device, the machine learning workload comprising a machine learning algorithm, wherein the client device uses results of execution of the machine learning workload;
dynamically determine a wait time for executing the machine learning workload on the client device;
dynamically determine a wait time for executing the machine learning workload on a server device, the server device communicatively coupled to the client device and providing computing services to the client device;
select the client device in response to determining that the client device is able to provide a result of executing the machine learning workload in real-time;
in response to determining that the client device is not able to provide the result of executing the machine learning workload in real-time, select one of the client device and the server device with a quickest execution time for execution of the machine learning workload based on the wait time of the client and server devices; and
execute the machine learning workload using the selected client or server device.