1. A method of dynamically provisioning virtualized computational resources in a networked computer architecture comprising at least one client device operable to run one or more client applications, at least one server device and a resource controller, each server device comprising one or more physical processors having a local memory, and each server device providing a virtual resource layer through which one or more virtual processing resources can be defined and through which said one or more physical processors of said server device can be assigned to one or more of said virtual processing resources, wherein the method comprises: a) assigning, on a server device, one or more virtual processing resources to one or more client applications for processing of data processing workloads; b) monitoring, by said resource controller, the utilization of the or each virtual processing resource and/or any physical processor assigned to said virtual processing resource; and c) dynamically adjusting, utilizing said resource controller, which, and how many, physical processors are assigned to said virtual processing resource in response to the utilization of said virtual processing resource or the utilization of any physical processors assigned to said virtual processing resource.