1. A data processing apparatus comprising: an interface configured to receive data; a processor configured to process the received data; a prediction unit configured to: extract data property information from a header of the received data; predict a workload for processing received data based on the extracted data property information; receive a number N of processors in a group of processors capable of processing the received data, where N is greater than one; create a series of N sets of processors, where each set of processors contains a different number of processors; and predict, based on the workload, a processing time required to process the received data by each set of processors in the series of sets; and a determination unit configured to determine a subset of the sets of processors in the series of sets to be allocated the data, by comparing the predicted processing time for each set of processors in the series of sets.