Patent ID: 9223674
Filing Date: 2015-12-29
Classification: G06F,Y02D

Abstract:
1. An electronic computer system comprising: at least two electronic processors executing programs stored in non-transitory medium, at least one processor to: (a) provide to an application program a number of virtual threads for execution; (b) during a preceding interval of execution of the application program, vary a number of actual threads executed by the at least one processor, the actual threads selected from the number of virtual threads and the number of actual threads being a subset of the virtual threads and less than the number of virtual threads while evaluating the application program performance to establish a relationship between the number of actual threads and the number of virtual threads and the application program performance; (c) during a succeeding interval of execution following the preceding interval of execution, control the number of actual threads employed by the application program based on the relationship to improve the application program performance; and (d) repeat steps (b) and (c) during execution of the application program at successive preceding and succeeding intervals of execution while changing which virtual threads are selected as active threads independently of varying the number of actual threads; wherein each virtual thread is associated with independent state storage for holding a state of the virtual thread.