A system, comprising: a storage device connected to a computer network, wherein the storage device comprises a storage medium and a network interface, wherein the storage device is configured to receive data block access commands (452, 454) targeting data blocks stored on the storage medium via the computer network using the network interface; multiple head node servers (410A, 410B) connected to the computer network, wherein each of the multiple head node servers (410A, 410B) comprises a processor and a second network interface, wherein each of the multiple head node servers (410A, 410B) is configured to transmit data block access commands to the storage device via the computer network using the second network interface; and a workload management server connected to the computer network, wherein the workload management server comprises network interconnects and a processor, the workload management server being configured to: receive, from a transmitter, a request to perform a data processing job using the storage device; determine, for a compute workload targeting data stored on the storage medium of the storage device, a ratio of approximate processor utilization and approximate amount of data on the storage medium to be accessed; identify a subset of at least two of the multiple head node servers (410A, 410B) that have an available processing capability to meet the ratio for the compute workload; allocate each of the identified head node servers (410A, 410B) to the compute workload; and transmitting, to the transmitter, a response that identifies the allocated head node servers (410A, 410B), wherein the allocating comprises configuring each of the identified head node servers (410A, 410B) to perform a part of the compute workload by transmitting the respective data block access commands to the storage device via the computer network. a storage device connected to a computer network, wherein the storage device comprises a storage medium and a network interface, wherein the storage device is configured to receive data block access commands (452, 454) targeting data blocks stored on the storage medium via the computer network using the network interface; multiple head node servers (410A, 410B) connected to the computer network, wherein each of the multiple head node servers (410A, 410B) comprises a processor and a second network interface, wherein each of the multiple head node servers (410A, 410B) is configured to transmit data block access commands to the storage device via the computer network using the second network interface; and a workload management server connected to the computer network, wherein the workload management server comprises network interconnects and a processor, the workload management server being configured to: receive, from a transmitter, a request to perform a data processing job using the storage device; determine, for a compute workload targeting data stored on the storage medium of the storage device, a ratio of approximate processor utilization and approximate amount of data on the storage medium to be accessed; identify a subset of at least two of the multiple head node servers (410A, 410B) that have an available processing capability to meet the ratio for the compute workload; allocate each of the identified head node servers (410A, 410B) to the compute workload; and transmitting, to the transmitter, a response that identifies the allocated head node servers (410A, 410B), wherein the allocating comprises configuring each of the identified head node servers (410A, 410B) to perform a part of the compute workload by transmitting the respective data block access commands to the storage device via the computer network. receive, from a transmitter, a request to perform a data processing job using the storage device; determine, for a compute workload targeting data stored on the storage medium of the storage device, a ratio of approximate processor utilization and approximate amount of data on the storage medium to be accessed; identify a subset of at least two of the multiple head node servers (410A, 410B) that have an available processing capability to meet the ratio for the compute workload; allocate each of the identified head node servers (410A, 410B) to the compute workload; and transmitting, to the transmitter, a response that identifies the allocated head node servers (410A, 410B), wherein the allocating comprises configuring each of the identified head node servers (410A, 410B) to perform a part of the compute workload by transmitting the respective data block access commands to the storage device via the computer network.