ALLOCATING RESOURCES IN A MULTICORE ENVIRONMENT
In a multicore programming environment comprising a plurality of processors in a plurality of categories, and having predetermined communication resources of different types for interconnecting the processors, resources are allocated by: receiving a plurality of software processes, each process having a connection requirement; receiving an allocation scheme, in which each of the software processes is allocated to a respective processor of the plurality of processors; determining a plurality of communication requirements based on the connection requirements and the processors to which each process is allocated; and for each of the communication requirements: determining the respective processors to which the associated processes have been assigned; and allocating a communications resource of a type that is suitable based on the categories of said respective processors, such that the total allocated communications resource does not exceed the predetermined communication resources.
1 . A method of distributing resources in a multicore programming environment comprising a plurality of processors in a plurality of categories, and having predetermined communication resources of different types for interconnecting the processors, the method comprising:
receiving a plurality of software processes, each process having a connection requirement;
receiving an allocation scheme, in which each of the software processes is allocated to a respective processor of said plurality of processors;
determining a plurality of communication requirements based on the connection requirements and the processors to which each process is allocated; and
for each of the communication requirements:
determining the respective processors to which the associated processes have been assigned; and
allocating a communications resource of a type that is suitable based on said categories of said respective processors, such that the total allocated communications resource does not exceed the predetermined communication resources.
2 . The method of claim 1 , wherein the plurality of processors comprise a plurality of physical processors.
3 . The method of claim 2 , wherein the plurality of physical processors comprise a plurality of processors in a processor array.
4 . The method of claim 3 , wherein the plurality of physical processors further comprise a physical processor in a different category outside the processor array.
5 . The method of claim 1 , wherein the plurality of processors comprise a plurality of virtual processors.
6 . A multicore processor system, comprising a plurality of processors in a plurality of categories, and having predetermined communication resources of different types for interconnecting the processors, and being provided with computer-readable code for performing a method of distributing resources in said system, the method comprising:
receiving a plurality of software processes, each process having a connection requirement;
receiving an allocation scheme, in which each of the software processes is allocated to a respective processor of said plurality of processors;
determining a plurality of communication requirements based on the connection requirements and the processors to which each process is allocated; and
for each of the communication requirements:
determining the respective processors to which the associated processes have been assigned; and
allocating a communications resource of a type that is suitable based on said categories of said respective processors, such that the total allocated communications resource does not exceed the predetermined communication resources.