A parallel processing apparatus (601, 801) comprising: a plurality of compute nodes (611, 811); and a job management device (612, 812) configured to allocate computational resources of the plurality of compute nodes (611, 811) to jobs, the job management device (612, 812) including a determination unit (621, 901) configured to calculate a resource search time range (912, T11) based on the largest value from among respective scheduled execution time periods of a plurality of jobs existing at a time when the calculating of the resource search time range (912, T11) is performed, the plurality of jobs including a job being executed and a job waiting for execution, and a search unit (622, 902) configured to search for free computational resources to be allocated to a job waiting for execution that is a processing target among the plurality of jobs, from among computational resources of the plurality of compute nodes (611, 811) within the resource search time range (912, T11), by backfill scheduling, wherein the determination unit (621, 901) is configured to calculate the resource search time range (912, T11) by adding the largest value among the respective scheduled execution time periods of the plurality of jobs to a start time point of the resource search time range (912, T11). a plurality of compute nodes (611, 811); and a job management device (612, 812) configured to allocate computational resources of the plurality of compute nodes (611, 811) to jobs, the job management device (612, 812) including a determination unit (621, 901) configured to calculate a resource search time range (912, T11) based on the largest value from among respective scheduled execution time periods of a plurality of jobs existing at a time when the calculating of the resource search time range (912, T11) is performed, the plurality of jobs including a job being executed and a job waiting for execution, and a search unit (622, 902) configured to search for free computational resources to be allocated to a job waiting for execution that is a processing target among the plurality of jobs, from among computational resources of the plurality of compute nodes (611, 811) within the resource search time range (912, T11), by backfill scheduling, a determination unit (621, 901) configured to calculate a resource search time range (912, T11) based on the largest value from among respective scheduled execution time periods of a plurality of jobs existing at a time when the calculating of the resource search time range (912, T11) is performed, the plurality of jobs including a job being executed and a job waiting for execution, and a search unit (622, 902) configured to search for free computational resources to be allocated to a job waiting for execution that is a processing target among the plurality of jobs, from among computational resources of the plurality of compute nodes (611, 811) within the resource search time range (912, T11), by backfill scheduling, wherein the determination unit (621, 901) is configured to calculate the resource search time range (912, T11) by adding the largest value among the respective scheduled execution time periods of the plurality of jobs to a start time point of the resource search time range (912, T11).