US 12,455,765 B2
Automatic selection of computer hardware configuration for data processing pipelines
Vivek Gupta, Groton, MA (US); Andrea Treviño Gavito, Boston, MA (US); Mawulolo Koku Ameko, Charlottesville, VA (US); Wee Hyong Tok, Redmond, WA (US); Sean Gormley T. Kelley, Boston, MA (US); Yanjie He, Rockville, MD (US); Mark Kromer, Snohomish, WA (US); Abhishek Uday Kumar Shah, Seattle, WA (US); and Ehimwenma Nosakhare, Cambridge, MA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jun. 21, 2022, as Appl. No. 17/845,634.
Prior Publication US 2023/0409387 A1, Dec. 21, 2023
Int. Cl. G06F 9/46 (2006.01); G06F 9/445 (2018.01); G06F 9/48 (2006.01); G06F 9/50 (2006.01)
CPC G06F 9/4881 (2013.01) [G06F 9/44505 (2013.01); G06F 9/5027 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for recommending a computer hardware configuration, comprising:
receiving, by a processor, a machine-readable specification of a computing task;
extracting, by the processor, a plurality of features from the machine-readable specification of the computing task;
supplying, by the processor, the plurality of features to a reinforcement learning model to generate a proposed computer hardware configuration to execute the computing task;
providing, by the processor, the proposed computer hardware configuration to a user;
configuring, by the processor, a computing resource in accordance with the proposed computer hardware configuration; and
updating the reinforcement learning model in accordance with offline learning based on training data comprising a performance score of an execution of a training sample computing task on a computer system configured in accordance with a training sample computer hardware configuration, wherein the training sample is collected by:
loading the training sample computing task on the computer system;
recording runtime behavior of the computer system associated with executing the training sample computing task; and
generating the performance score of the execution based on the runtime behavior.