Patent ID: 8713574

Claim:
A method of allocating a plurality of cores in a multi-core processing environment, comprising: allocating, dynamically, the plurality of cores into a plurality of different service pools, each of the plurality of service pools corresponding to a particular function; loading, into each of the plurality of cores, a soft co-processor corresponding to a particular function associated with a particular service pool to which a particular core is assigned; receiving, from a primary processor, a request to offload a selected function; determining that a service pool associated with the selected function does not include an available soft co-processor to perform the selected function; reallocating a core, from a free core pool, to the service pool associated with the selected function; loading, into the reallocated core, a soft co-processor configured to perform the selected function; selecting, from the service pool associated with the selected function, an available soft co-processor; and assigning the selected co-processor to perform the selected function.