WO2018013023A1 - A server and method performed thereby for determining a frequency and voltage of one or more processors of the server - Google Patents
A server and method performed thereby for determining a frequency and voltage of one or more processors of the server Download PDFInfo
- Publication number
- WO2018013023A1 WO2018013023A1 PCT/SE2016/050721 SE2016050721W WO2018013023A1 WO 2018013023 A1 WO2018013023 A1 WO 2018013023A1 SE 2016050721 W SE2016050721 W SE 2016050721W WO 2018013023 A1 WO2018013023 A1 WO 2018013023A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- server
- packets
- frequency
- voltage
- compute resource
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present disclosure relates to energy management of a server supporting Dynamic Voltage and Frequency Scaling, DVFS, wherein the server runs one or more virtual machines.
- Dynamic Voltage and Frequency Scaling is a generic name for a host of techniques that change the voltage and operating frequency of a processor in order to reduce the energy consumption when the workload on the processor is less than 100%. There are many techniques that were developed in this category, both in academia and industry.
- VNFs Virtual Network Functions
- telecommunications networks executed on a cloud platform.
- a relationship may be determined between the incoming network traffic and the workload that this one induces on a processor.
- the object is to obviate at least some of the problems outlined above.
- it is an object to provide a server and a method performed thereby for determining a frequency and voltage of one or more processors of the server, wherein the server supports DVFS and the server runs one or more virtual machines.
- a method performed by a server for determining a frequency and voltage of one or more processors of the server is provided.
- the server supports DVFS and the server runs one or more virtual machines.
- the method comprises receiving incoming traffic to the server by means of one or more packets addressed to one or more virtual machines; buffering the received one or more packets; and predicting amount of compute resource utilisation associated with the buffered one or more packets.
- the method also comprises determining voltage and frequency for one or more processors based on the predicted amount of compute resource utilisation; and releasing the stored one or more packets to the one or more processor based on the predicted amount of compute resource utilisation and the determined voltage and frequency.
- a server for determining a frequency and voltage of one or more processors of the server is provided.
- the server supports DVFS and the server runs one or more virtual machines.
- the server is configured for receiving incoming traffic to the server by means of one or more packets addressed to one or more virtual machines; buffering the received one or more packets; and predicting amount of compute resource utilisation associated with the buffered one or more packets.
- The is further configured for determining voltage and frequency for one or more processors based on the predicted amount of compute resource utilisation; and releasing the stored one or more packets to the one or more processor based on the predicted amount of compute resource utilisation and the determined voltage and frequency.
- One possible advantage is that the power consumption of a processor in a server (or datacentre) may be reduced. This may reduce operation expenditures and increase for environmental friendliness of the server. Another possible advantage is that constraints related to service time may be maintained, thus providing transparent trade-offs to the operator in this respect. Still a further possible advantage is that control and overview of the resources used in the network for a given service or application is enabled. Yet a possible advantage is that correlations may be found and knowledge may be created or obtained to make recommendations that enable the optimisation of resources allocated to cloud computing.
- Figure 1 a is a flowchart of a method performed by a server for
- Figure 1 b is a flowchart of a method performed by a server for
- Figure 1 c is a flowchart of a method performed by a server for
- Figure 2a is a block diagram of an exemplifying server supporting DVFS.
- Figure 2b is a block diagram of a prediction engine according to an example.
- Figure 2c illustrates an example of a neural network structure for prediction.
- Figure 2d is a signalling diagram illustrating an example of the method performed by the server.
- Figure 3 is a block diagram of a server for determining a frequency and voltage of one or more processors of the server, according to an exemplifying embodiment.
- Figure 4 is a block diagram of a server for determining a frequency and voltage of one or more processors of the server, according to another exemplifying embodiment.
- Figure 5 is a block diagram of an arrangement in a server for determining a frequency and voltage of one or more processors of the server, according to an exemplifying embodiment.
- a server and a method performed thereby for determining a frequency and voltage of one or more processors of the server, wherein the server supports DVFS and the server runs one or more virtual machines are provided.
- the server makes use of incoming traffic in the form of packets that are buffered in the server to predict amount of compute resource utilisation associated with the buffered packets. Based on amount of compute resource utilisation associated with the buffered packets, the server determines voltage and/or frequency of one or more processors of the server before releasing the buffered packets to the processor(s) for processing service(s) associated with the buffered packets.
- a server for determining a frequency and voltage of one or more processors of the server will now be described with reference to figures 1a-1c.
- the server supports Dynamic Voltage and Frequency Scaling, DVFS, and the server runs one or more virtual machines.
- Figure 1a illustrates the method 100 comprising receiving 1 10 incoming traffic to the server by means of one or more packets addressed to one or more virtual machines; buffering 120 the received one or more packets; and predicting 130 amount of compute resource utilisation associated with the buffered one or more packets.
- the method also comprises determining 140 voltage and frequency for one or more processors based on the predicted amount of compute resource utilisation; and releasing 150 the stored one or more packets to the one or more processor based on the predicted amount of compute resource utilisation and the determined voltage and frequency.
- the DVFS enables the server to manage power consumption of the server, e.g. with regard to the one or more processors of the server.
- the server may increase or decrease the voltage.
- the server may alternatively or additionally increase or decrease the frequency in order to reduce power consumption and/or meet the requirement(s) of performance of the server.
- the server may be part of a datacentre or be the only server of a datacentre.
- the server receives 1 10 incoming traffic by means of one or more packets addressed to one or more virtual machines.
- the server runs one or more virtual machines.
- the virtual machine(s) may execute different services or applications associated with the packets of the incoming traffic.
- the server may buffer 120 the received one or more packets, e.g. by putting the received one or more packets in one or more buffers of the server.
- Traffic to the server may come irregularly, meaning that there may not be a constant flow of packets coming to the server. Rather, the packets may be received at irregular time intervals.
- the server may receive one packet, during the following second millisecond the server may receive four packets, during the third millisecond the server does not receive any packets and during the fourth millisecond the server may receive twelve packets.
- the server may buffer the received one or more packets.
- the server may predict 130 amount of compute resource utilisation associated with the buffered one or more packets.
- Different packets may be related to, or associated with, different services. Different services may require more or less processing, e.g. number of compute cycles. Assume the received one or more packets relate to three different services, wherein the first service requires two compute cycles per received packet, the second service requires four two compute cycles per received packet, and the third service requires seven compute cycles per received packet.
- the server may look at the number of packets in the buffer related to the first service, the number of packets in the buffer related to the second service, and the number of packets in the buffer related to the third service; and based on the number of compute cycles per service the server may predict the amount of compute resource utilisation associated with the buffered one or more packets.
- the server may then determine 140 voltage and frequency for one or more processors based on the predicted amount of compute resource utilisation.
- the one or more processors need to consume a minimum amount of energy.
- the higher the voltage and/or the higher the frequency the more capacity the processor(s) have and the more power it/they consume. Consequently, if too high a voltage or too high a frequency is applied, the one or more processors will process the services related to the packets but at a unnecessarily high power consumption.
- the one or more processors will not be able to process the services related to the packets (at least not in time), wherein the service(s) may risk being delayed or unsatisfactorily performed.
- the server may then release 150 the stored one or more packets to the one or more processors.
- the server may also apply the determined voltage and frequency to the one or more processors. In this manner, the server may ensure that just enough power is consumed by the one or more processors, wherein the services related to the packets of the incoming traffic are executed in a manner fulfilling e.g. QoS, SLA etc.
- the method performed by the server has several advantages.
- One possible advantage is that it may reduce the power consumption of a processor in a server (or datacentre). This may reduce operation expenditures and increase for environmental friendliness of the server.
- Another possible advantage is that constraints related to service time may be maintained, thus providing transparent trade-offs to the operator in this respect.
- Still a further possible advantage is that control and overview of the resources used in the network for a given service or application is enabled.
- correlations may be found and knowledge may be created or obtained to make recommendations that enable the optimisation of resources allocated to cloud computing.
- the method may further comprise, as illustrated in figure 1 b, configuring 1 15 an energy consumption model for an application instance and information regarding delay constraints and/or QoS requirements associated with the application executed by the application instance, wherein the amount of compute resource utilisation associated with incoming packet to that application instance may be predicted by the configured energy consumption model.
- the energy consumption model By configuring the energy consumption model for an application instance and information regarding delay constraints and/or QoS requirements associated with the application executed by the application instance, a correlation between power consumption and load of the one or more processors may be obtained.
- the power consumption model may then provide the server with information about the expected power consumption by the one or more processors for processing the buffered packets.
- the energy consumption model module may determine whether the expected power consumption associated with the CPU load could be optimised with regard to DVFS.
- the releasing 150 of the buffered one or more packets to the one or more processor may also be based on delay constraints and/or QoS requirements associated with the one or more packets.
- Different packets may be associated with different services having individual and different delay constraints and/or QoS requirements. For example, delay constraints and/or QoS requirements may make it impossible for the server to buffer the received packets for too long. In case a service related to packets in the buffer(s) of the server is time critical, the server may be forced to release the buffered one or more packets after a certain time.
- the server cannot keep the one or more packets in the buffer for too long, waiting for the buffer to fill up in order to minimise power consumption.
- the releasing 150 of the buffered one or more packets to the one or more processor may also be based on number of packets in a buffer and/or buffer status.
- the server may comprise one or more buffers in which packets may be buffered before being released to the one or more processors.
- a buffer is getting relatively full, e.g. being used to a threshold level of its maximum capacity, the server may need to release the packets therein to the one or more processors.
- the one or more packets may be addressed to one or more application instances running on the virtual machine(s).
- the server may be running and/or executing one or more virtual machines.
- Virtual machines may run, or execute, one or more application instances.
- An example of an application instance is a Virtual Network Function, VNF.
- the method may further comprise, as illustrated in figure 1c, collecting 1 16 statistics about incoming traffic, and determining 1 17 a relation between incoming traffic and compute resource utilisation for different traffic arrival rates, wherein the determining 140 of voltage and frequency for one or more processors is also based on the collected statistics and the determined relation between incoming traffic and compute resource utilisation for different traffic arrival rates.
- Statistics about incoming traffic may comprise received number of incoming packets per time unit, received number of packets of different types per time unit.
- amount of traffic varies over time having peeks of very high load or intensity and dips of very low load or intensity. Traffic is generally random but certain peeks and dips often occur around the same time each day and/or each night.
- Such information may be used by the server for determining voltage and frequency for one or more processors, especially together with the determined relation between incoming traffic and compute resource utilisation for different traffic arrival rates.
- FIG. 2a is a schematic illustration of a server of a datacentre.
- Figure 2a illustrates the server comprising hardware and software.
- a virtualisation management framework 230 e.g. a Hypervisor, such as a Kernel-based Virtual machine (KVM), Xen or container management.
- the virtualisation management framework 230 comprises a prediction engine 231 .
- the prediction engine 231 takes as input network traffic statistics addressed to e.g. a VNF (application instance or service) 21 1 a, 21 1 b, 21 1 c that is being executed in a virtual machine 210a, 210b, 210c being managed by the virtualisation management framework 230, and estimates the compute resource (CPU) utilisation associated with processing the traffic.
- VNF application instance or service
- a buffer control entity 235 which receives input from the prediction engine 231 with respect to how many packets should be aggregated and delivered to the VNF 21 1 a, 21 1 b, 21 1 c in one batch for processing.
- the buffer control 235 could, in addition, be configured to take into account constraints related to the service time for the particular VNF to which the packets are being addressed, and ensure that packets are not delayed too much (or it could be configured simply with a generic policy of aggregating packets for at most 100 ms, for example).
- an existing DVFS DVFS
- Governor component is configured to receive input from the prediction engine 231 to manage, aligned with the prediction engine forecasts, frequency and voltage scales and access to physical Network Interface Control(s) 260, NIC(s), of the server 200.
- a new application/service/VNF 21 1 a, 21 1 b, 21 1 c When a new application/service/VNF 21 1 a, 21 1 b, 21 1 c is to be deployed on the server, information regarding service constraints (service time and or QoS) as well as an initial energy consumption estimation model may be configured in the prediction engine 231 .
- a NIC driver (not shown) in the virtuahsation manager 230 may be configured to collect statistics and inform the prediction engine 231 regarding the arrival of traffic for the particular VNF instance 21 1 a, 21 1 b, 21 1 c.
- the prediction engine 231 may query specific network statistics in a privileged domain containing one or more virtual switches 220a, 220b in order to match with configured constraints.
- the prediction engine 231 may query network statistics for a dedicated privileged domain (DomO) node (e.g. in the virtuahsation manager 230) containing one or more para-virtualised NIC (not shown) for each unprivileged domain (DomU) hosted in the hypervisor.
- DomO dedicated privileged domain
- NIC unprivileged domain
- network statistics from a bridged/routed connection may be obtained by virtual platform managers such as Libvirt and Nagios-virt.
- a number of open source virtuahsation frameworks e.g. Xen, KVM or Docker
- a virtual switch 220a, 220b may be
- L2 Layer 2
- NICs front-end network adapter
- a virtual NIC in a privileged domain (either a special virtual machine or within the virtual platform domain) containing a backend driver to forward packets to a physical NIC.
- a simple L2 matching allows identifying workload from VNFs 221 a, 21 1 b, 21 1 c deployed in virtual machines 210a, 210b, 210c through interface counters.
- virtual switches such as Open vSwitch may be a component for implementing Software Defined
- the prediction engine 231 may employ a model which has been pre-configured to determine the relation between network traffic and CPU utilisation for a certain traffic arrival rate.
- the model in the prediction engine 231 could be made self-adjusting, meaning that it would use a feedback loop based on data from the DVFS governor 238 for modifying its parameters in order to match performance constraints of a particular version of both the underlying hardware and the software of the VNF 221 a, 21 1 b, 21 1 c that is executed.
- Figure 2b depicts the main components of the prediction engine 231 according to one exemplifying illustration.
- the traffic prediction model receives network traffic statistics as input from historical database.
- the main focus of the traffic prediction model is to predict how much CPU will be consumed by a service (VNF), from traffic statistics obtained within a given time window.
- VNF service
- the model may be built through Artificial Neural Networks, ANNs. ANNs are used in several domains and has high prediction ability with low overhead fit in a dynamic real time setting.
- the neural network prediction model contains neurons connected to each other and to the input and output layer.
- the neurons may be trained by a supervised learning algorithm called Backpropagation.
- the initial prediction engine configuration for the model may be the result of an offline learning process (for example, a VNF vendor may train several instances of these models in a laboratory for different types of hardware on which a VNF may run).
- This algorithm may use a network structure called Multi-Layer Perceptron, MLP, which has three or more neuron layers. The first layer is the input layer and the last is the output layer, containing only a single neuron.
- the intermediate layers are called hidden layers (in figure 2c one such layer is shown, but multiple layers may be configured), containing neurons representing free parameters or weights.
- the network When the network receives the input data, it examines the output response to the input pattern. During the offline training phase, an error value may then be calculated by comparing the known and desired output. The backpropagation algorithm adjusts the weights of the hidden layers to gradually minimise error values. We consider that the offline training phase is successfully completed and weight values may be used to pre-configure the model parameters in the prediction engine 231 during normal operations.
- the solution disclosed herein may use a MLP with tree layers, where the input layer is x(i), the hidden layer is w(i) and output layer is y(i).
- Figure 2c presents an example of the neural network structure for prediction. To make the neural prediction effective, the neural network should be trained on a
- the model is used for predicting the CPU load, from new information of the network traffic statistics arising from the system at a given time window. This output is then used as the input of the resource power consumption model. From this information, this component is responsible for estimate the power consumption of such resource.
- Models of power consumption versus CPU load are widely known and available in literature.
- the resource power consumption model module determines whether the expected power consumption associated with the CPU load could be optimised by the DVFS governor and if so, signals the Buffer Control, BC, module to release the packets towards the VNF. If the power consumption cannot be optimised, it signals the BC to store or keep storing the packets in the buffer (figure 2c, steps 1 -5).
- the BC 235 illustrated in figure 2a, is a queue management system able to perform queuing actions on packets for both intra-domain and inter- domain communication for the various virtual NICs defined for VNFs. It decides when to release the buffer based on buffer occupancy, power consumption estimates received from the prediction engine 231 , and potentially policies from the operator (for example, delay constraints for certain VNFs or packet
- the BC 235 forwards a request to the DVFS governor 238 with the predicted resource usage for the content of the buffer, allowing the DVFS governor 238 to configure the processor frequency and voltage in order to optimise the power consumption.
- the DVFS governor 238 may query the BC 235 at any time for the current workload stored and predicted power usage.
- An example of a DVFS algorithm that finds the slowest speed that guarantee a task feasibility is included below. The algorithm receives as input a set of tasks and a worst case pre-emption cost:
- Embodiments herein also relate to a server for determining a frequency and voltage of one or more processors of the server that supports DVFS.
- the server runs one or more virtual machines.
- the server has the same technical features, objects and advantages as the method performed by the server described above. The server will therefore be described only in brief in order to avoid unnecessary repetition. The server will be described with reference to figures 3 and 4.
- Figure 3 illustrates the server 300, 400 being configured for receiving incoming traffic to the server by means of one or more packets addressed to one or more virtual machines; buffering the received one or more packets; and predicting amount of compute resource utilisation associated with the buffered one or more packets.
- the server 300, 400 is further configured for determining voltage and frequency for one or more processors based on the predicted amount of compute resource utilisation; and releasing the stored one or more packets to the one or more processor based the predicted amount of compute resource utilisation and the determined voltage and frequency.
- FIG. 3 illustrates the server 300 comprising a processor 321 and memory 322, the memory comprising instructions, e.g. by means of a computer program 323, which when executed by the processor 321 causes the server 300 to receive incoming traffic to the server by means of one or more packets addressed to one or more virtual machines; to buffer the received one or more packets; and to predict amount of compute resource utilisation associated with the buffered one or more packets.
- the memory further comprises instructions, which when executed by the processor 321 causes the server 300 to determine voltage and frequency for one or more processors based on the predicted amount of compute resource utilisation; and to release the stored one or more packets to the one or more processor based the predicted amount of compute resource utilisation and the determined voltage and frequency.
- Figure 3 also illustrates the server 300 comprising a memory 310. It shall be pointed out that figure 3 is merely an exemplifying illustration and memory 310 may be optional, be a part of the memory 322 or be a further memory of the server 300. The memory may for example comprise information relating to the server 300, to statistics of operation of the server 300, just to give a couple of illustrating examples.
- Figure 3 further illustrates the server 300 comprising processing means 320, which comprises the memory 322 and the processor 321 .
- figure 3 illustrates the server 300 comprising a communication unit 330.
- the communication unit 330 may comprise an interface through which the server 300 e.g. receives incoming traffic.
- Figure 3 also illustrates the server 300 comprising further functionality 340.
- the further functionality 340 may comprise hardware or software necessary for the server 300 to perform different tasks that are not disclosed herein.
- FIG. 4 An alternative exemplifying implementation of the server 300, 400 is illustrated in figure 4.
- Figure 4 illustrates the server 400 comprising a receiving unit 403 for receiving incoming traffic to the server by means of one or more packets addressed to one or more virtual machines; a buffering unit 404 for buffering the received one or more packets; and a predicting unit 405 for predicting amount of compute resource utilisation associated with the buffered one or more packets.
- the server 300, 400 is illustrated also comprising a determining unit 406 for determining voltage and frequency for one or more processors based on the predicted amount of compute resource utilisation; and a releasing unit 407 for releasing the stored one or more packets to the one or more processor based the predicted amount of compute resource utilisation and the determined voltage and frequency.
- the server 400 is also illustrated comprising a
- the server 400 is adapted to e.g.
- the server 400 is further illustrated comprising a memory 402 for storing data. Further, the server 400 may comprise a control or processing unit (not shown) which in turn is connected to the different units 403-407. It shall be pointed out that this is merely an illustrative example and the server 400 may comprise more, less or other units or modules which execute the functions of the server 400 in the same manner as the units illustrated in figure 4.
- figure 4 merely illustrates various functional units in the server 400 in a logical sense.
- the functions in practice may be implemented using any suitable software and hardware means/circuits etc.
- the embodiments are generally not limited to the shown structures of the server 400 and the functional units.
- the previously described exemplary embodiments are generally not limited to the shown structures of the server 400 and the functional units.
- one embodiment includes a computer-readable medium having instructions stored thereon that are executable by the control or processing unit for executing the method actions or steps in the server 400.
- the instructions executable by the computing system and stored on the computer-readable medium perform the method actions or steps of the server 400 as set forth in the claims.
- the server receiver has the same possible advantages as the method performed by the server.
- One possible advantage is that it may reduce the power consumption of a processor in a server (or datacentre). This may reduce operation expenditures and increase for environmental friendliness of the server.
- Another possible advantage is that constraints related to service time may be maintained, thus providing transparent trade-offs to the operator in this respect.
- Still a further possible advantage is that control and overview of the resources used in the network for a given service or application is enabled.
- correlations may be found and knowledge may be created or obtained to make recommendations that enable the optimisation of resources allocated to cloud computing.
- the server 300, 400 is further configured for configuring an energy consumption model for an application instance and information regarding delay constraints and/or QoS requirements associated with the application executed by the application instance, wherein the amount of compute resource utilisation associated with incoming packet to that application instance may be predicted by the configured energy consumption model.
- the releasing of the buffered one or more packets to the one or more processor is also based on delay constraints and/or Quality of Service requirements associated with the one or more packets.
- the releasing of the buffered one or more packets to the one or more processor is also based on number of packets in a buffer and/or buffer status.
- the one or more packets is/are addressed to one or more application instances running on the virtual machine(s).
- the server 300, 400 is further configured for collecting statistics about incoming traffic, and determining a relation between incoming traffic and compute resource utilisation for different traffic arrival rates, wherein the server (300, 400) is configured for determining of voltage and frequency for one or more processors also based on the collected statistics and the determined relation between incoming traffic and compute resource utilisation for different traffic arrival rates.
- FIG. 5 schematically shows an embodiment of an arrangement 500 in a server 400.
- a processing unit 506 e.g. with a Digital Signal Processor, DSP.
- the processing unit 506 may be a single unit or a plurality of units to perform different actions of procedures described herein.
- the arrangement 500 of the server 400 may also comprise an input unit 502 for receiving signals or traffic from other entities, and an output unit 504 for providing signal(s) or traffic to other entities.
- the input unit and the output unit may be arranged as an integrated entity or as illustrated in the example of figure 4, as one or more interfaces 401 .
- the arrangement 500 in the server 400 comprises at least one computer program product 508 in the form of a non-volatile memory, e.g. an Electrically Erasable Programmable Read-Only Memory, EEPROM, a flash memory and a hard drive.
- the computer program product 508 comprises a computer program 510, which comprises code means, which when executed in the processing unit 506 in the arrangement 500 in the server 400 causes the server to perform the actions e.g. of the procedure described earlier in conjunction with figures 1a-1c.
- the computer program 510 may be configured as a computer program code structured in computer program modules 510a-510e. Hence, in an
- the code means in the computer program of the arrangement 500 in the server 400 comprises a receiving unit, or module, for receiving incoming traffic to the server by means of one or more packets addressed to one or more virtual machines; a buffering unit, or module, for buffering the received one or more packets; and a predicting unit, or module, for predicting amount of compute resource utilisation associated with the buffered one or more packets.
- the arrangement 500 in the server 400 further comprises a determining unit, or module, for determining voltage and frequency for one or more processors based on the predicted amount of compute resource utilisation; and a releasing unit, or module, for releasing the stored one or more packets to the one or more processor based the predicted amount of compute resource utilisation and the determined voltage and frequency.
- the computer program modules could essentially perform the actions of the flow illustrated in figures 1a-1c, to emulate the server 400.
- the different computer program modules when executed in the processing unit 506, they may correspond to the units 403-407 of figure 4.
- the processor may be a single Central Processing Unit, CPU, but could also comprise two or more processing units.
- the processor may include general purpose microprocessors; instruction set processors and/or related chips sets and/or special purpose microprocessors such as Application Specific Integrated Circuits, ASICs.
- the processor may also comprise board memory for caching purposes.
- the computer program may be carried by a computer program product connected to the processor.
- the computer program product may comprise a computer readable medium on which the computer program is stored.
- the computer program product may be a flash memory, a Random-Access Memory RAM, Read-Only Memory, ROM, or an EEPROM, and the computer program modules described above could in alternative embodiments be distributed on different computer program products in the form of memories within the server.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Power Sources (AREA)
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
BR112016021103A BR112016021103A2 (en) | 2016-07-15 | 2016-07-15 | server and method performed this way to determine a frequency and voltage of one or more server processors |
PCT/SE2016/050721 WO2018013023A1 (en) | 2016-07-15 | 2016-07-15 | A server and method performed thereby for determining a frequency and voltage of one or more processors of the server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/SE2016/050721 WO2018013023A1 (en) | 2016-07-15 | 2016-07-15 | A server and method performed thereby for determining a frequency and voltage of one or more processors of the server |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018013023A1 true WO2018013023A1 (en) | 2018-01-18 |
Family
ID=57003559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/SE2016/050721 WO2018013023A1 (en) | 2016-07-15 | 2016-07-15 | A server and method performed thereby for determining a frequency and voltage of one or more processors of the server |
Country Status (2)
Country | Link |
---|---|
BR (1) | BR112016021103A2 (en) |
WO (1) | WO2018013023A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021050275A1 (en) * | 2019-09-13 | 2021-03-18 | Nvidia Corporation | Device link management |
CN114070708A (en) * | 2021-11-18 | 2022-02-18 | 重庆邮电大学 | Virtual network function resource consumption prediction method based on flow characteristic extraction |
EP3818665A4 (en) * | 2018-07-02 | 2022-03-09 | Telefonaktiebolaget LM Ericsson (publ) | Software switch and method therein |
WO2023069384A1 (en) * | 2021-10-19 | 2023-04-27 | Google Llc | Large-scale accelerator system energy performance optimization |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150382274A1 (en) * | 2011-11-11 | 2015-12-31 | Stmicroelectronics, Inc. | System and Method for an Energy Efficient Network Adaptor with Security Provisions |
US20160124778A1 (en) * | 2014-03-13 | 2016-05-05 | Qualcomm Incorporated | System and method for providing dynamic clock and voltage scaling (dcvs) aware interprocessor communication |
-
2016
- 2016-07-15 BR BR112016021103A patent/BR112016021103A2/en not_active IP Right Cessation
- 2016-07-15 WO PCT/SE2016/050721 patent/WO2018013023A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150382274A1 (en) * | 2011-11-11 | 2015-12-31 | Stmicroelectronics, Inc. | System and Method for an Energy Efficient Network Adaptor with Security Provisions |
US20160124778A1 (en) * | 2014-03-13 | 2016-05-05 | Qualcomm Incorporated | System and method for providing dynamic clock and voltage scaling (dcvs) aware interprocessor communication |
Non-Patent Citations (2)
Title |
---|
"Network Functions Virtualisation (NFV); Infrastructure; Compute Domain", GROUP SPECIFICATION, EUROPEAN TELECOMMUNICATIONS STANDARDS INSTITUTE (ETSI), 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS ; FRANCE, vol. NFV INF, no. V1.1.1, 1 December 2014 (2014-12-01), XP014235744 * |
SALVADOR ROS ET AL: "Cloud-based architecture for web applications with load forecasting mechanism: a use case on the e-learning services of a distant university", JOURNAL OF SUPERCOMPUTING., vol. 68, no. 3, 1 June 2014 (2014-06-01), NL, pages 1556 - 1578, XP055238375, ISSN: 0920-8542, DOI: 10.1007/s11227-014-1125-x * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3818665A4 (en) * | 2018-07-02 | 2022-03-09 | Telefonaktiebolaget LM Ericsson (publ) | Software switch and method therein |
US11579678B2 (en) * | 2018-07-02 | 2023-02-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Software switch and method therein |
WO2021050275A1 (en) * | 2019-09-13 | 2021-03-18 | Nvidia Corporation | Device link management |
GB2600870A (en) * | 2019-09-13 | 2022-05-11 | Nvidia Corp | Device link management |
US11822926B2 (en) | 2019-09-13 | 2023-11-21 | Nvidia Corporation | Device link management |
WO2023069384A1 (en) * | 2021-10-19 | 2023-04-27 | Google Llc | Large-scale accelerator system energy performance optimization |
CN114070708A (en) * | 2021-11-18 | 2022-02-18 | 重庆邮电大学 | Virtual network function resource consumption prediction method based on flow characteristic extraction |
CN114070708B (en) * | 2021-11-18 | 2023-08-29 | 重庆邮电大学 | Virtual network function resource consumption prediction method based on flow characteristic extraction |
Also Published As
Publication number | Publication date |
---|---|
BR112016021103A2 (en) | 2018-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200167258A1 (en) | Resource allocation based on applicable service level agreement | |
EP4270190A1 (en) | Monitoring and policy control of distributed data and control planes for virtual nodes | |
Hong et al. | Achieving high utilization with software-driven WAN | |
US10237136B2 (en) | Method of distributing network policies for data compute nodes in a datacenter | |
US9659251B2 (en) | Systems and methods of autonomic virtual network management | |
US20190104022A1 (en) | Policy-based network service fingerprinting | |
WO2018013023A1 (en) | A server and method performed thereby for determining a frequency and voltage of one or more processors of the server | |
US9553810B2 (en) | Dynamic reconfiguration of network devices for outage prediction | |
US20160092257A1 (en) | Centralized controller for distributing network policies of virtual machines in a datacenter | |
CN108667777B (en) | Service chain generation method and network function orchestrator NFVO | |
WO2017010922A1 (en) | Allocation of cloud computing resources | |
Alnowiser et al. | Enhanced weighted round robin (EWRR) with DVFS technology in cloud energy-aware | |
Han et al. | SAVE: Energy-aware virtual data center embedding and traffic engineering using SDN | |
Farahnakian et al. | Hierarchical vm management architecture for cloud data centers | |
Shojafar et al. | Minimizing computing-plus-communication energy consumptions in virtualized networked data centers | |
CN112673349A (en) | QoS-as-a-service based data deterministic transitive communication techniques | |
CN115766884A (en) | Computing task processing method, device, equipment and medium | |
Nylander et al. | Cloud application predictability through integrated load-balancing and service time control | |
Wen et al. | Joins: Meeting latency slo with integrated control for networked storage | |
US20220138017A1 (en) | Resource management device and resource management method | |
Wamser et al. | Orchestration and monitoring in fog computing for personal edge cloud service support | |
CN115774614A (en) | Resource regulation and control method, terminal and storage medium | |
Pan et al. | On demand network services deployment in optical metro edge computing network based on user and application requests and infrastructure telemetry | |
Son | Integrated provisioning of compute and network resources in Software-Defined Cloud Data Centers. | |
US11968251B1 (en) | Self-learning service scheduler for smart NICs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112016021103 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 112016021103 Country of ref document: BR Kind code of ref document: A2 Effective date: 20160913 |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16771017 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16771017 Country of ref document: EP Kind code of ref document: A1 |