1. A method of allocating memory to processing cores in a multi-core processing system, the system comprising: plural processing cores for performing processing tasks, each processing core processing each task allocated to that processing core to produce a result for that task; a buffer comprising an allocated amount of memory for storing results that are produced by the plural processing cores; and a task allocator that allocates to the processing cores tasks to be processed, the task allocator indicating to the processing cores memory portions in the buffer for storing the results produced for the tasks; the method comprising each processing core, when processing a particular task to be processed by that processing core: processing the particular task to produce a particular result for the particular task; storing the particular result in a particular memory portion of the allocated memory of the buffer indicated to the processing core by the task allocator; determining whether there is less than a threshold amount of memory remaining in the particular memory portion; and if there is less than the threshold amount of memory remaining in the particular memory portion, indicating to the task allocator that a new memory portion for the processing core is required; the method further comprising the task allocator, when a new memory portion is indicated as being required by a particular processing core: indicating a new memory portion to the particular processing core.