Patent ID: 8640108

Claim:
A non-transitory computer readable device having a computer program product for managing hardware resources and threads within a data processing system, said computer readable device comprising: computer program code for collecting attributes of a function of an application software during and after compilation of said function; computer program code for collecting attributes of said function before execution of said function within a multiprocessor system, wherein said collecting further include collecting pre-processing memory usage attributes of said function before execution of said function; computer program code for assigning a runtime configuration to said function based on said collected attributes, wherein said runtime configuration includes a single-threaded (ST) mode and a simultaneous multi-threaded (SMT) mode capable of being supported by a plurality of processors within said multiprocessor system; computer program code for collecting attributes of said function during execution of said function within said multiprocessor system; and computer program code for re-assigning runtime configuration of said function between said ST mode and said SMT mode based on said collected attributes during execution of said function within said multiprocessor system, when necessary, such that said function is executed efficiently.