Patent Publication Number: US-2013239112-A1

Title: Information processing system

Description:
TECHNICAL FIELD 
     The present invention relates to an information processing system including physical resources such as a server apparatus, a memory, and a processor and particularly relates to an information processing system including a virtual resource into which physical resources are logically aggregated. 
     BACKGROUND ART 
     A flexible and efficient data center that functions as an information processing base has been demanded in order to satisfy business needs which are changing day by day and technological needs for energy saving and resource saving. Accordingly, information processing systems are shifting to a fabric-based architecture in which fine-granularity physical resources including a processor, a memory, a storage, a network are connected over a network so that those physical resources are adaptively combined virtually for polymorphism. 
     In the past, US Patent Application Publication No. 2005/0039180, Description (PTL 1), discloses a technology which provides one virtual Symmetric Multiprocessing (SMP) machine having a Non-Uniform Memory Access (NUMA)-like shared memory acquired by connecting a plurality of compute nodes including processors and memories over a network and logically aggregating those nodes for virtualization. 
     JP-A-2009-199395 (PTL 2) and JP-A-2010-61278 (PTL 3) disclose a method including logically partitioning a physical server (node) including a processor and a memory into virtual servers and arranging the virtual servers to physical servers under constraints or on the basis of resource information. 
     JP-A-2007-35045 (PTL 4), JP-A-2007-310884 (PTL 5), and JP-A-2009-506462 (PTL 6) disclose an architecture in which hardware (node) including a processor and a memory is logically partitioned into hierarchically virtualized first level and second level. 
     CITATION LIST 
     Patent Literature 
     
         
         PTL 1: U.S. Patent Application Publication No. 2005/0039180, Description 
         PTL 2: JP-A-2009-199395 
         PTL 3: JP-A-2010-61278 
         PTL 4: JP-A-2007-35045 
         PTL 5: JP-A-2007-310884 
         PTL 6: JP-A-2009-506462 
       
    
     SUMMARY OF INVENTION 
     Technical Problem 
     For improved information processing performances and improved efficiency of operation regarding power consumption in an information processing system, physical resources may be required to be combined appropriately and flexibly. It is desirable to virtualize and logically aggregate physical resources in accordance with an information processing request, that is, its workload. 
     However, Patent Literature 1 discloses virtualization software which logically aggregates a plurality of compute nodes but does not mention how many compute nodes are to be aggregated in accordance with a workload of a virtual SMP machine. 
     Patent Literature 2 and Patent Literature 3 address a case with a smaller resource to be allocated to a virtual server than a resource of a physical server and do not consider how a large virtual server is to be arranged to a plurality of physical servers, as disclosed in Patent Literature 1. 
     In the architectures disclosed in Patent Literatures 4 to 6, a first level virtualization is limited within a node, and Patent Literatures 4 to 6 do not mention how resources are allocated to first level and second level virtual machines if the number of nodes is increased to a plurality of nodes. 
     It is an object of the invention to provide an information processing system which aggregates physical resources for improved efficiency for virtualized workloads. 
     Solution to Problem 
     An information processing system of the invention includes a plurality of physical resources connected to one another over a network, and an operating management computer which manages a virtual resource into which the plurality of physical resources are logically aggregated, wherein physical resources to be logically aggregated into and allocated to the virtual resource are determined on the basis of a resource usage amount of a workload to be processed by the information processing system and the configuration information of the plurality of physical resources. 
     Advantageous Effects of Invention 
     According to the present invention, an information processing system may be provided which allows efficient allocation of physical resources to a virtual resource in accordance with its workload. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a configuration diagram illustrating an information processing system according to Embodiment 1 of the invention. 
         FIG. 2  is a configuration diagram illustrating an information processing system according to Embodiment 2 of the invention. 
         FIG. 3  is a diagram illustrating an example of a resource allocation method in an information processing system of the invention. 
         FIG. 4  is a diagram illustrating an example of a resource allocation method in an information processing system of the invention. 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     Embodiments of the invention will be described below with reference to drawings. 
     Embodiment 1 
       FIG. 1  is a configuration diagram illustrating an information processing system  10  according to Embodiment 1 of the invention. The information processing system  10  has physical resources  20   1  to  20   n ,  20   a  and  20   b , which are mutually connected through a switch  30  and a network  31 . In the information processing system  10 , a virtual resource  40  is provided into which physical resources  20   1  to  20   n  are logically aggregated, and a guest OS  50  runs on the virtual resource  40 , and workloads  60   1  to  60   m  are executed on the guest OS  50 . The physical resources  20   1  to  20   n  are allocated to the virtual resource  40  as the situation demands. In other words, variable amounts of physical resources  20   1  to  20   n  are aggregated into the virtual resource  40 . The information processing system  10  further includes a manager  70  that is a computer responsible for operating management of the physical resources  20   1  to  20   n ,  20   a , and  20   b , virtual resource  40 , and workloads  60   1  to  60   m . The virtual resource  40  may be a virtual server, for example. The workloads  60   1  to  60   m  may be applications, for example. 
     The physical resources  20   1  to  20   n  are server apparatuses, that is, compute nodes including processors  21   1  to  21   n  and memories  22   1  to  22   n  corresponding to fine-granularity physical resources. The physical resources  20   1  to  20   n  further include interface units (I/F)  23   1  to  23   n  to/from the network  31 . The physical resource  20   a  is a node including a storage apparatus  24   a  and an I/F  23   a  to/from the network  31 . The physical resource  20   b  is a node including an input/output device (I/O)  25   b  connecting to an external network  26   b  and an I/F  23   b  to/from the network  31 . 
     The manager  70  includes a processor  71 , a memory  72 , an interface unit (I/F)  73  to/from the network  31 , and a storage  74 . The storage  74  stores configuration information  80  on the physical resources  20   1  to  20   n ,  20   a  and  20   b , statistical analysis information  81  and performance analysis information  82  on the workloads  60   1  to  60   m , and an operation policy  83 . 
     The configuration information  80  on the physical resources  20   1  to  20   n ,  20   a  and  20   b  may contain the model numbers, clock frequencies, the numbers of cores, and numbers of threads of the processors  21   1  to  21   n , the models, capacitances, operation frequencies, and throughputs of the memories  22   1  to  22   n , the capacity and throughput of the storage  24   a  and the interface, number of ports, and transmission rate of the I/O  25   b . The configuration information  80  may further contain information on power consumption values to resource usage amounts of the physical resources  20   1  to  20   n ,  20   a  and  20   b . The information on power consumption values to resource usage amounts of the physical resources  20   1  to  20   n ,  20   a  and  20   b  contained in the configuration information  80  may be a relational expression of power consumption values to resource usage amounts of the physical resources  20   1  to  20   n ,  20   a  and  20   b . 
     The statistical analysis information  81  contains history values of resource usage amounts in the virtual resource  40  of the workloads  60   1  to  60   m  and history values of the resource usage amounts in the physical resources  20   1  to  20   n  used through the virtual resource  40 . The statistical analysis information  81  further contains a mean and a deviation of resource usage amounts in the virtual resource  40  of the workloads  60   1  to  60   m  acquired by performing statistical analysis on the history values and a mean and a deviation of the resource usage amounts in the physical resources  20   1  to  20   n  used through the virtual resource  40 . When physical resources are allocated to the virtual resource  40 , the mean is used for a forecast value for a resource usage amount and the deviation is used for a confidential interval for a resource usage amount. The statistical analysis information  81  may further contain a forecast value and confidential interval (deviation) including a future fluctuation predicted as a result of a time series analysis and correspondence relationship information between workloads  60   1  to  60   m  and physical resources  20   1  to  20   n ,  20   a , and  20   b . 
     The performance analysis information  82  contains a profile log regarding an event relating to a task, a process or a thread, a concurrency of threads and their resource usage amounts and communications among the physical resources  20   1  to  20   n ,  20   a , and  20   b  of the workloads  60   1  to  60   m . The performance analysis information  82  further contains correspondence relationship information on profiles and the physical resources  20   1  to  20   n ,  20   a , and  20   b . 
     The operation policy  83  contains a policy rule describing, for the workloads  60   1  to  60   m , which one of a processing performance, power consumption and power efficiency for processing performance is to be emphasized for physical resource allocation control to the virtual resource  40 . The operation policy  83  further contains a criterion, a constraint, a reliability condition and so on for resource allocation control. 
     The manager  70  includes a first means for acquiring the configuration information  80 . The first means for acquiring the configuration information  80  accesses each physical resource to acquire the configuration information  80  thereon. The first means may acquire the configuration information  80  in response to an input by an operator. 
     The manager  70  further includes a second means for determining physical resources to be logically aggregated into and allocated to the virtual resource  40  among the physical resources  20   1  to  20   n  on the basis of the resource usage amount and configuration information  80  of workloads to be processed by the information processing system  10 . 
     The determination of resources to be allocated to the virtual resource  40  among the physical resources  20   1  to  20   n  by the second means may include first referring to forecast values and confidential intervals of resource usage amounts from statistical analysis information  81  on the workloads  60   1  to  60   m , acquiring a sufficient size of the virtual resource  40  for the workloads  60   1  to  60   m  and determining the physical resource allocation matched with the acquired size. Furthermore, the forecast values and confidential intervals may be corrected on the basis of a correlation between history values in the statistical analysis information  81  and profile logs in the performance analysis information  82 , and the total sum of the corrected forecast values and the root mean square of the deviations as the corrected confidential intervals may be calculated. When the correction is performed, how much the processing performance will be increased or decreased, whether the resources allocated by comparing them with their appropriate values will be sufficient or not, to how many physical resources the workloads  60   1  to  60   m  are to be distributed through the virtual resource  40 , and the like may be evaluated by assuming that resources are allocated to the workloads  60   1  to  60   m  beyond or under the correction forecast value. In the same manner, how much the power consumption will be increased or decreased may be evaluated with reference to the corrected forecast values and the configuration information  80  on the physical resources  20   1  to  20   n ,  20   a , and  20   b . 
     When the second means determines physical resources to be allocated to the virtual resource  40 , the second means may be caused to refer to the operation policy  83  and allocate the physical resources  20   1  to  20   n  to the virtual resource  40  in priority order (or giving them priority levels) on the basis of the processing performances, power consumptions or power efficiencies to the processing performances of the physical resources  20   1  to  20   n . In other words, the allocation to the virtual resource  40  by prioritizing one with high processing performance, one with low power consumption or one with high power efficiency to the processing performance among the physical resources  20   1  to  20   n  allows more highly efficient allocation of physical resources to the virtual resource  40 . 
     The manager  70  includes a third means for acquiring a processing performance index, a power consumption index or power efficiency-to-processing performance index so that the second means is caused to allocate the physical resources  20   1  to  20   n  to the virtual resource  40  on the basis of the processing performances, power consumptions or power efficiencies to processing performances, that is, on the basis of the priority levels of allocation of the physical resources  20   1  to  20   n  to the virtual resource  40 . Hereinafter, the processing performance index, power consumption index or power efficiency-to-processing performance index will collectively be called a performance-per-power index  90 . The third means calculates the performance-per-power indices  90  of the physical resources  20   1  to  20   n  for the workloads  60   1  to  60   m  on the basis of the configuration information  80 , statistical analysis information  81 , and performance analysis information  82 . 
     For example, in order to acquire a processing performance index, the third means calculates the performance-per-power index  90  on the basis of a clock frequency of the processor  71 , an operation frequency of memory, a concurrency of threads of workloads, and the like. For example, in order to acquire a power consumption index, the third means calculates the performance-per-power index  90  on the basis of power consumption values to the resource usage amounts of the physical resources  20   1  to  20   n , a mean of the resource usage amounts of the physical resources  20   1  to  20   n  used through the virtual resource  40 , and the like. For example, in order to acquire a power-efficiency-to-processing performance index, the third means calculates the performance-per-power index  90  on the basis of a clock frequency of the processor  71 , an operation frequency of memory, a concurrency of threads of workloads, power consumption values to the resource usage amounts of the physical resources  20   1  to  20   n , a mean of the resource usage amounts of the physical resources  20   1  to  20   n  used through the virtual resource  40 , and the like. The power efficiency to processing performance may refer to a processing performance of a physical resource per unit power consumption, for example. 
     The manager  70  further includes a fourth means for controlling resource allocation of the physical resources  20   1  to  20   n  to the virtual resource  40 . The fourth means controls resource allocation of the physical resources  20   1  to  20   n  to the virtual resource  40  on the basis of the determination of resource allocation of the physical resources  20   1  to  20   n  to the virtual resource  40  by the second means, generates resource allocation information  91  and saves information on control in the memory  72 . 
     The first to fourth means above are installed in the manager  70  and are implemented by a program which operates the processor  71 , memory  72 , I/F  73 , and storage  74 . 
     With the information processing system  10  of Embodiment 1 of the invention, resources necessary for processing the workloads  60   1  to  60   m  by the information processing system  10  may be reserved and at the same time the workloads  60   1  to  60   m  may be aggregated. The aggregation of workloads allows pause or stop of a physical resource that is not allocated to a virtual resource so that the reduction of the power consumption of the information processing system  10  may be attempted. The control over allocation of the physical resources  20   1  to  20   n  to the virtual resource  40  on the basis of the performance-per-power index  90  for the workloads  60   1  to  60   m  may allow aggregation of workloads optimized with the processing performance, power consumption, and the processing performance to the power consumption under an operation policy. Therefore, according to the invention, an information processing system may be provided which may achieve efficient physical resource allocation to a virtual resource according to a workload. Consequently, an information processing base such as a data center may be provided which may be adapted to various needs and changing needs and may reduce its operation costs and power costs. 
       FIG. 3  illustrates an example of a resource allocation method in the information processing system  10 .  FIG. 3  illustrates a relationship among physical resource, virtual resource and workload in focus by omitting the configuration of the information processing system as illustrated in  FIG. 1  for easy understanding. It is assumed here for easy understanding that the physical resources  20   1  to  20   n  are server apparatuses (compute nodes) and n is equal to 5, that is, five server apparatuses are provided. Thus, five server apparatuses are illustrated as physical resources  220   1  to  220   5 . 
       FIG. 3  illustrates a method  301  in which the physical resources  220   1  to  220   5  are allocated to the virtual resources  240   1  to  240   5 , respectively, for comparison with the information processing system  10  of the invention. Workloads  260   1  to  260   6  are allocated to virtual resources  240   1  to  240   5 . 
     It is assumed here that the means that are forecast values for the resource usage amounts of the workloads  260   1  to  260   6  are m 1  to m 6 , and the deviations that are confidential intervals are σ 1  to σ 6 . An allocation method represented by the method  301  for physical resource allocation sets the sizes of the virtual resources  240   1  to  240   5  and allocates resources of the physical resources  220   1  to  220   5  to the virtual resources  240   1  to  240   5 , respectively, in consideration of the values acquired by adding σ 1  to σ 6  to m 1  to m 6 , respectively. 
     The workloads  260   3  and  260   4  are aggregated into the physical resource  220   3  through the virtual resource  240   3 , for example, if the resource usage amounts by the workloads are small. However, even if the aggregation is performed, the virtual resources  240   1  to  240   5  do not exceed the boundaries of the physical resources  220   1  to  220   5 , and therefore physical surplus resources δ 1  to δ 5  occur in the physical resources  220   1  to  220   5 , respectively. Furthermore, because all physical resources, that is, server apparatuses here are used, the physical resources  220   1  to  220   5  may not be paused or stopped. 
     A method  302  in  FIG. 3  is an example of a method for allocating physical resources to a virtual resource in the information processing system  10  of Embodiment 1 of the present invention. In the method  302 , the information processing system has the same physical resources  220   1  to  220   5  as those in the method  301  in  FIG. 3 , and the same workloads  260   1  to  260   6  as those of the method  301  are to be processed on the virtual resource  241  into which the physical resources  220   1  to  220   5  are logically aggregated. The physical resources  220   1  to  220   5  are allocated to the virtual resource  241  in consideration of the sum value of a total sum of the means m 1  to m 6  that are forecast values of the resource usage amounts of the workloads  260   1  to  260   6  and a total sum of the deviations σ 1  to σ 6  as their confidential intervals. In the method  302 , because the workloads  260   1  to  260   6  are aggregated to the virtual resource  241  beyond the boundaries of the physical resources  220   1  to  220   5 , the surplus resources δ 1  to δ 5  as seen in the method  301  may be reduced. Pausing or stopping the physical resource  220   5  that is not allocated to the virtual resource  241  may reduce the power consumption of the information processing system. Approximately half of the physical resource  220   4  is allocated to the virtual resource  241  because only a part of cores of the processor in the physical resource  220   4  may be allocated to the virtual resource  241  when the physical resource  220   4  has a multi-core processor, for example, and an efficient operation may be allowed including allocating a surplus resource of the physical resource  220   4  to another virtual resource. 
     A method  303  in  FIG. 3  is another example of a method for allocating physical resources to a virtual resource in the information processing system  10  of Embodiment 1 of the present invention. In the method  303 , the information processing system has the same physical resources  220   1  to  220   5  as those in the method  301  and the method  302 , and the same workloads  260   1  to  260   6  as those of the method  301  and the method  302  are to be processed on the virtual resource  242  into which the physical resources  220   1  to  220   5  are logically aggregated. The physical resources  220   1  to  220   5  are allocated to the virtual resource  242  in consideration of the sum value of a total sum of means m 1  to m 6  that are forecast values of the resource usage amounts of the workloads  260   1  to  260   5  and root mean square values (such as combined standard deviations) of deviations σ 1  to σ 6  as their confidential intervals. The allocation method represented by the method  303  uses statistic characteristics of the workloads  260   1  to  260   6  and thus uses their root mean square values instead of the total sum of σ 1  to σ 6 . Thus, the workloads  260   1  to  260   6  may be aggregated more efficiently than the method  302 , and the physical resources  220   4  and  220   5  may be paused or stopped so that the power consumption of the information processing system may further be reduced. 
     The allocation to a virtual resource has been described with reference to  FIG. 3 , without giving the priority levels of the physical resources in particular. For example, when physical resources having similar specifications are provided, the allocating methods represented by the method  302  and the method  303  are effective. On the other hand, when physical resources having different specifications are provided, the allocating methods represented by the method  302  and the method  303  may not necessarily be efficient. 
     Accordingly,  FIG. 4  illustrates a case where physical resources having priority levels are allocated to a virtual resource. In other words, the allocation method illustrated in  FIG. 4  allocates physical resources to a virtual resource on the basis of results of calculations of the performance-per-power indices  90  of the physical resources to workloads by the third means. 
     A method  401  represents an allocation method when the physical resource  220   5  has the highest priority level and the physical resources  220   3 ,  220   1 ,  220   4 ,  220   2  have lower priority levels in the decreasing order from the calculation results of their performance-per-power indices  90 . The allocation method represented by the method  401  pauses or stops the physical resource  220   2  so that the power consumption of the information processing system may be reduced. Causing the physical resource  220   2  with the lowest priority level among the physical resources not to work results in processing the workloads  260   1  to  260   6  by physical resources having higher priority levels among the physical resources, which allows higher efficiency of processing. 
     A method  402  represents a case where the physical resources  220   1  to  220   5  are allocated to the virtual resource  242  in consideration of the sum value of a total sum of means m 1  to m 6  that are forecast values of the resource usage amounts of the workloads  260   1  to  260   6  and root mean square values (such as combined standard deviations) of deviations σ 1  to σ 6  as their confidential intervals. The allocation method represented by the method  402  uses statistic characteristics of the workloads  260   1  to  260   6  and thus uses their root mean square values instead of the total sum of σ 1  to σ 6 . Thus, the workloads  260   1  to  260   6  may be aggregated more efficiently than the method  401 , and the physical resources  220   4  and  220   2  may be paused or stopped so that the power consumption of the information processing system may further be reduced. Causing the physical resources  220   4  and  220   2  with lower priority levels among the physical resources not to work results in processing the workloads  260   1  to  260   6  by physical resources having higher priority levels among the physical resources, which allows higher efficiency of processing. 
     Comparing the method  401  and the method  402 , resources are allocated with a sufficient margin in the former case while the latter case provides a higher effect to reduce the power consumption. In other words, in accordance with the operation policy  83  described with reference to  FIG. 1 , the former is preferably applied to a case where processing performance is emphasized while the latter is preferably applied to a case where the power consumption or power efficiency to processing performance is emphasized. 
     Notably, using a total sum of means and a total sum or root mean square value of deviations in  FIG. 3  and  FIG. 4 , an appropriate statistic index may be used in accordance with a characteristic of a workload such as transaction processing or batch processing, a periodicity or a sudden characteristic of time series changes of a workload or a mutually dependent relationship of workloads, for example. 
     Embodiment 2 
       FIG. 2  is a configuration diagram illustrating an information processing system  110  of Embodiment 2 of the invention. Differences from Embodiment 1 will be mainly described below. 
     The information processing system  110  has physical resources  120   1  to  120   n ,  120   a  and  120   b , which are mutually connected through a switch  130  and a network  131 . In the information processing system  110 , a first virtual resource  140  is provided into which the physical resources  120   1  to  120   n  are logically aggregated, and second virtual resources  140   1  to  140   m  are provided which logically partition the first virtual resource  140 . Guest OSs  150   1  to  150   m  run on the second virtual resources  140   1  to  140   m , and workloads  160   1  to  160   m  are executed on the guest OSs  150   1  to  150   m . The physical resources  120   1  to  120   n  are allocated to the first virtual resource  140  as the situation demands. In other words, variable amounts of physical resources  120   1  to  120   n  are aggregated into the first virtual resource  140 . The information processing system  110  further includes a manager  170  that is a computer responsible for operating management of the physical resources  120   1  to  120   n ,  120   a , and  120   b , the first virtual resource  140 , the second virtual resources  141   1  to  141   m  and the workloads  160   1  to  160   m . 
     The physical resources  120   1  to  120   n  are nodes which may include processors  121   1  and  121   n , memories  122   2  and  122   i , and a solid-state storage drive (SSD)  124   j , which correspond to the fine-granularity physical resources. The physical resources  120   1  to  120   n  further include interface units (I/F)  123   1  to  123   n  to/from the network  131 . The physical resource  120   a  is a node including a hard disk drive (HDD)  125   a  and an interface unit (I/F)  123   a . The physical resource  120   b  is a node including an input/output device (I/O)  126   b  connecting to an external network  127   b  and an I/F  123   b  to/from the network  31 . 
     Like the information processing system  10  of Embodiment 1, the manager  170  has the aforementioned first to fourth means and allocates the physical resources  120   1  to  120   n . However, this embodiment is different from Embodiment 1 in that each of the physical resources  120   1  to  120   n  may not necessarily include the same elements. However, it is the same as Embodiment 1 that the processor, memory, and SSD included in each of the physical resources  120   1  to  120   n  are fine-granularity physical resources. Thus, the resource allocation of the physical resource  120   1  to  120   n  to the first virtual resource  140  may be performed by the first to fourth means above in the same manner as in Embodiment 1. 
     In the information processing system  110 , the second virtual resources  141   1  to  141   m  are allocated for each workload. Thus, the operation policy may be set for each of the second virtual resources, and the allocation may be optimized more finely than the information processing system  10  of Embodiment 1. 
     REFERENCE SIGN LIST 
     
         
           10  information processing system 
           20   1  to  20   n ,  20   a ,  20   b  physical resource 
           21   1  to  21   n  processor 
           22   1  to  22   n  memory 
           23   1  to  23   n ,  23   a ,  23   b  I/F 
           24   a  storage 
           25   b  I/O 
           26   b  external network 
           30  switch 
           31  network 
           40  virtual resource 
           50  guest OS 
           60   1  to  60   m  workload 
           70  manager 
           71  processor 
           72  memory 
           73  I/F 
           74  storage 
           80  configuration information 
           81  statistical analysis information 
           82  performance analysis information 
           83  operation policy 
           90  performance-per-power index 
           91  resource allocation information 
           110  information processing system 
           120   1  to  120   n ,  120   a ,  120   b  physical resource 
           121   1 ,  121   n  processor 
           122   2 ,  122   i  memory 
           123   1  to  123   n ,  123   a ,  123   b  I/F 
           124   j  SSD 
           125   a  HDD 
           126   b  I/O 
           127   b  external network 
           130  switch 
           131  network 
           140  first virtual resource 
           141   1  to  141   m  second virtual resource 
           150   1  to  151   m  guest OS 
           160   1  to  160   m  workload 
           170  manager 
           171  processor 
           172  memory 
           173  I/F 
           174  storage 
           180  configuration information 
           181  statistical analysis information 
           182  performance analysis information 
           183  operation policy 
           190  performance-per-power index 
           191  resource allocation information 
           220   1  to  220   5  physical resource 
           240   1  to  240   5 ,  241 ,  242  virtual resource 
           260   1  to  260   6  workload