Patents by Inventor Shaolei Ren
Shaolei Ren has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20230409871Abstract: Embodiments determine inference classification for use on tiny devices. A processor is coupled with an item memory configured to store a plurality of binary vectors representing discrete values; a feature memory configured to store a plurality of binary vectors for instances of binary code; and an associate memory configured to store a plurality of predefined class vectors. Each of the plurality of discrete values associated with a feature vector are loaded from the item memory and mapped. The value vectors associated with the discrete values are stacked with one or more instances of binary code, such that the stacked dimension of the value vectors matches the dimension of the feature vectors. A matrix multiplication is performed on the stacked vectors to produce a sample vector. A comparison result is generated by comparing the sample vector against the class vectors, and the sample vector is classified based on the comparison results.Type: ApplicationFiled: June 21, 2023Publication date: December 21, 2023Inventors: Xiaolin Xu, Shijin Duan, Shaolei Ren
-
Patent number: 11829804Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: GrantFiled: September 15, 2021Date of Patent: November 28, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren
-
Publication number: 20220004441Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: ApplicationFiled: September 15, 2021Publication date: January 6, 2022Inventors: Yuxiong HE, Sameh ELNIKETY, Kathryn MCKINLEY, Shaolei REN
-
Patent number: 11126473Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: GrantFiled: March 15, 2019Date of Patent: September 21, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Yuxiong He, Sameh Elnikety, Kathryn S. Mckinley, Shaolei Ren
-
Publication number: 20190213053Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: ApplicationFiled: March 15, 2019Publication date: July 11, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Yuxiong HE, Sameh ELNIKETY, Kathryn S. MCKINLEY, Shaolei REN
-
Patent number: 10303524Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: GrantFiled: April 6, 2016Date of Patent: May 28, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren
-
Publication number: 20160217015Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: ApplicationFiled: April 6, 2016Publication date: July 28, 2016Applicant: Microsoft Technology Licensing, LLCInventors: Yuxiong HE, Sameh ELNIKETY, Kathryn S. MCKINLEY, Shaolei REN
-
Patent number: 9336057Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: GrantFiled: December 21, 2012Date of Patent: May 10, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren
-
Publication number: 20140181825Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: ApplicationFiled: December 21, 2012Publication date: June 26, 2014Applicant: Microsoft CorporationInventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren