Accelerator unloading device and accelerator unloading method

By introducing modules such as business volume collection, pseudo device hiding and device control into the accelerator offloading device, accelerator resources are dynamically managed, which solves the problems of excessive resources and increased power consumption when the business volume is low, and achieves efficient resource management and power consumption. Consumption is reduced.

CN119365852APending Publication Date: 2025-01-24NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280097102.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-06-17
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

In the case of large changes in business volume, it is difficult for the prior art to effectively manage the power consumption of the accelerator, resulting in excessive resources and increased power consumption during the low traffic volume period, affecting efficiency.

Method used

Design a accelerator uninstallation device, through business volume collection, pseudo -equipment hiding, uninstalled destination and connection, equipment control and other modules to achieve the dynamic changes and resource sharing of the accelerator, and ensure that only the necessary accelerators are operated to reduce power consumption.

Benefits of technology

Without affecting application performance, it effectively reduces the power consumption of the accelerator, avoids the problems of excessive resources and performance degradation, and achieves flexible resource management when business volume changes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119365852A_ABST
    Figure CN119365852A_ABST
Patent Text Reader

Abstract

This accelerator offload device (100) is provided with: a traffic volume collection unit (140) that collects traffic volume information; a dummy device unit (110) that conceals connection destination switching so as to disguise that the application is communicating with the accelerator; an offload destination determination unit (130) that determines an offload destination on the basis of the collected traffic volume information and provides offload destination information for the application; an offload destination connection unit (120) that connects the dummy device unit (110) and the accelerator of the offload destination on the basis of the offload destination information provided; and a device control unit (150) that performs a power operation of a device including an accelerator in accordance with an instruction from the unloading destination determination unit (130).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to an accelerator unloading device and an accelerator unloading method. Background Art

[0002] Depending on the type of processor, the workload that the processor is good at (with high processing power) is different. Compared with the highly versatile CPU (Central Processing Unit), there are accelerators (hereinafter appropriately referred to as ACC) such as FPGA (Field Programmable Gate Array) / (in the following description, " / " means "or") GPU (Graphics Processing Unit) / ASIC (Application Specific Integrated Circuit) that can calculate the high parallel workload that the CPU is not good at (with low processing power) at high speed and efficiently. By combining these different types of processors, the workload that the CPU is not good at is offloaded to the ACC and calculated, and the use of offloading technology to improve the overall calculation time and calculation efficiency is making progress.

[0003] In vRAN (virtual Radio Access Network), when the performance of the CPU alone is insufficient and cannot meet the requirements, part of the processing is offloaded to an accelerator capable of high-speed computing, such as an FPGA or GPU.

[0004] Representative examples of specific workloads for ACC offloading include encoding / decoding processing (FEC: Forward Error Correction processing) in vRAN, media processing of audio and video, encryption / decryption processing, etc.

[0005] In addition, as data transmission technologies within the server, there are New API (NAPI), DPDK (Data Plane Development Kit), and KBP (Kernel Busy Poll). KBP monitors the arrival of data packets in real time through a polling model within the kernel. This suppresses soft IRQs and enables low-latency data packet processing.

[0006] New API (NAPI) processes data packets through software interrupt requests after hardware interrupt requests when data packets arrive.

[0007] DPDK implements the packet processing function through the user space of the application work, and uses the polling model to collect packets from the user space immediately when the packets arrive (refer to non-patent document 1). In detail, DPDK is a framework for performing NIC (Network Interface Card) control in the user space that was previously performed by the Linux kernel (Linux kernel, a registered trademark). The biggest difference from the processing in the Linux kernel is that it has a polling-based receiving mechanism called PMD (Poll Mode Driver). Usually, in the Linux kernel, an interrupt occurs when data arrives at the NIC, and this is used as an opportunity to perform receiving processing. On the other hand, in PMD, a dedicated thread continuously confirms the arrival of data and receives processing. By eliminating overhead such as context switching and interrupts, high-speed packet processing can be performed. DPDK greatly improves the performance and throughput of packet processing, and can ensure more time for data plane application processing. However, DPDK occupies computer resources such as CPU (Central Processing Unit) and NIC.

[0008] Next, the DPDK system is described.

[0009] [DPDK system structure]

[0010] Fig. 27 1 is a diagram showing a DPDK system configuration for controlling the HW 10 including the accelerators 11 and 21 .

[0011] The DPDK system includes HW10, packet processing API (Application Programming Interface) 14, 24, application (APL) 1, and APL2.

[0012] APL1 and APL2 are packet processing performed before executing APL.

[0013] The packet processing APIs 14 and 24 are APIs for offloading packet processing to the NIC and the accelerator. The packet processing APIs 14 and 24 are DPDK, which is a high-speed data transmission middleware configured in the user space.

[0014] DPDK implements packet processing functions through the user space of APL1 and APL2, and uses a polling model to collect packets from the user space immediately when the packets arrive, thereby reducing packet transmission delays. That is, DPDK collects packets through polling (using the CPU to busy poll the queue (busy poll)) (referring to the content of the packet stored in the buffer, considering the next processing of the packet, and deleting the corresponding queue entry from the buffer), so there is no waiting and the delay is small.

[0015] HW10 performs data transmission and reception communication between APL1 and APL2. In the following description, the data flow in which APL1 and APL2 receive data packets from HW10 is referred to as Rx-side reception, and the data flow in which APL1 and APL2 send data packets to HW10 is referred to as Tx-side transmission.

[0016] The HW 10 includes accelerators (ACC) 11 and 21. Furthermore, the HW 10 may include a NIC (physical NIC) for connecting to a communication network.

[0017] The accelerators 11 and 21 are computing unit hardware that performs specific operations at high speed based on input from the CPU. Specifically, the accelerator 11 is a PLD (Programmable Logic Device) such as a GPU or FPGA. Fig. 27 In the embodiment, the accelerators 11 and 21 have: a plurality of IP cores (Intellectual Property Cores) 12 and 22; and device queues 13 and 23, which are physical queues composed of Rx queues (queues) and Tx queues that hold data in a first-in-first-out list structure. The IP cores 12 and 22 are design information of reusable circuit components constituting semiconductors such as FPGAs, ICs, and LSIs.

[0018] Part of the processing of APL1 and APL2 is offloaded to the accelerators 11 and 21, thereby achieving performance and power efficiency that cannot be achieved by software (CPU processing) alone.

[0019] It is conceivable that the accelerator 11 described above may be applied to a large server cluster such as a data center that constitutes NFV (Network Functions Virtualization) or SDN (Software Defined Network).

[0020] Existing applications (APL1, APL2) such as DPDK that transmit data to the accelerator in polling mode, when initialized, fixedly associate the device queues 13 and 23 used by the application to operate (see Fig. 27 The application thread (hereinafter referred to as the application thread) performs transmission and reception processing via a ring buffer (Ring Buffer) (not shown) corresponding to the accelerator 11. The application thread is a polling thread here.

[0021] Prior art literature

[0022] Non-patent literature

[0023] Non-patent document 1: BBDEV API (link information is 5 pages), [online], [retrieved on June 6, 2017], Internet 〈http: / / fast.dpdk.org / events / slides / DPDK-2017-09-BBdev.pd f〉. Summary of the invention

[0024] Problem that the invention aims to solve

[0025] Fig. 27 The threads of APL1 and APL2 shown in the figure send requests to accelerators 11 and 21 through the packet processing API (Application Programming Interface), and receive the requests after processing using the polling mode or the interrupt mode. The accelerator resources as the thread sending and receiving objects are fixedly allocated in units of device queues 13 and 23 when APL1 and APL2 are initialized (the device queue 13 of APL1 and the accelerator 11, the device queue 23 of APL2 and the accelerator 21 are fixedly allocated).

[0026] However, in the case of vRAN where traffic volume fluctuates greatly throughout the day, if multiple accelerators are prepared to match the peak traffic volume, there will be too many resources when traffic volume is low, such as at night. The accelerator does not necessarily consume power in proportion to the incoming traffic volume, and power consumption increases.

[0027] Reference Fig.28 and Fig.29 , illustrating the problems of the prior art.

[0028] Fig.28 To represent the business volume when the business volume varies greatly during the day ( Fig.28 above) and ACC power ( Fig.28 Figure below). Fig.29 For schematic representation Fig.28 A graph of resources during the day and resources during the night. Fig.29 The solid line box in the figure indicates the maximum allowable traffic volume of the ACC. Fig.29 The shadow in represents the ACC traffic.

[0029] If multiple accelerators are prepared to cope with peak business volume, Fig.28 The daytime period indicated by arrow a is as follows: Fig.29 As shown in the figure above, the resources are appropriate, but in Fig.28 The night time period indicated by arrow b is as follows: Fig.29 As shown in the figure below, there are too many resources. In addition, in the accelerator, a certain amount of power consumption is consumed when the accelerator is constructed (formed), and this power consumption hardly affects the use of the accelerator. Therefore, when there is little traffic, such as during the night time, there are too many resources and the power consumption increases (refer to Fig.28 The problem with arrow c).

[0030] The present invention has been made in view of such background, and an object of the present invention is to reduce the power consumption of an accelerator without adding a function corresponding to power saving to an application and without causing performance degradation of the application accompanying the reduction of the power consumption of the accelerator.

[0031] Solutions for solving problems

[0032] In order to solve the above-mentioned problems, the accelerator unloading device of the present invention is characterized in that it has multiple accelerators, and the accelerator unloading device unloads specific processing of the application to the accelerator, and the accelerator unloading device has: a traffic collection unit, which collects current traffic information of the unloading object processing and / or predicted traffic prediction information; a pseudo-device unit, which hides the connection destination switching from the application by disguising that the application and the accelerator are communicating; an unloading destination determination unit, which determines the unloading destination based on the traffic information collected by the traffic collection unit and provides unloading destination information for the application; an unloading destination connection unit, which connects the pseudo-device unit with the accelerator of the unloading destination according to the unloading destination information provided by the unloading destination determination unit; and a device control unit, which performs an electrical operation of turning on or off the power of the device including the accelerator according to the instruction of the unloading destination determination unit.

[0033] Effects of the Invention

[0034] According to the present invention, the power consumption of an accelerator can be reduced without adding a function corresponding to power saving to an application and without causing performance degradation of the application accompanying the reduction of the power consumption of the accelerator. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 FIG. 1 is a schematic diagram of a power-saving accelerator management system according to an embodiment of the present invention.

[0036] Figure 2 FIG. 1 is a diagram showing a device mapping table of an accelerator offloading apparatus according to an embodiment of the present invention.

[0037] Figure 3 FIG. 1 is a diagram showing an application management table of the accelerator offloading device according to the embodiment of the present invention.

[0038] Figure 4 It is a diagram showing a task table of the accelerator unloading device according to the embodiment of the present invention.

[0039] Figure 5 It is a diagram showing a traffic table of the accelerator offloading device according to the embodiment of the present invention.

[0040] Figure 6 It is a diagram showing a device management table of the accelerator unloading device according to the embodiment of the present invention.

[0041] Figure 7 To explain the dynamic change of the accelerator to be uninstalled by the accelerator uninstallation device according to the embodiment of the present invention and the sharing of the accelerator to be changed (feature <1> ) working description diagram.

[0042] Figure 8 for Figure 7 A diagram illustrating the working of <too many resources> and <too few resources> in the power saving accelerator management system.

[0043] Fig. 9 To illustrate the features of the power saving accelerator management system according to the embodiment of the present invention <1> The control sequence of ACC reduction in the middle.

[0044] Fig.10 To express Fig. 9 Flow chart of ACC reduction of the offload destination determination unit in the control sequence.

[0045] Fig.11 This is a diagram schematically showing the reduction of the ACC when the reduction target ACC of the power saving accelerator management system according to the embodiment of the present invention is ACC2.

[0046] Fig.12 <Features of the power saving accelerator management system according to the embodiment of the present invention <1> The control order of ACC shrinkage derivative> in.

[0047] Fig.13 To illustrate the features of the power saving accelerator management system according to the embodiment of the present invention <1> The control sequence of ACC expansion in .

[0048] Fig.14 To express Fig.13 Flow chart of ACC expansion of the offload destination determination unit in the control sequence.

[0049] Fig.15The figure schematically shows the expansion of the ACC when the expansion target ACC of the power saving accelerator management system according to the embodiment of the present invention is ACC1.

[0050] Fig.16 <Features of the power saving accelerator management system according to the embodiment of the present invention <1> The control order of ACC expansion derivative> in.

[0051] Fig.17 To illustrate the reconstruction of the offload destination taking into account the optimal configuration of the power saving accelerator management system according to the embodiment of the present invention (feature <2> ) working description diagram.

[0052] Fig.18 To illustrate the features of the power saving accelerator management system according to the embodiment of the present invention <2> Figure 10 shows a diagram of <Redetermination of ACC after power off> and <Load distribution of tasks>.

[0053] Fig.19 To illustrate the power saving accelerator management system of the embodiment of the present invention, the following features are considered: <2> The control order of reconstruction of the optimal configuration of the offload destination.

[0054] Fig. 20 To express consideration Fig.19 Flowchart of reconstruction of an unload destination according to an optimal configuration of an unload destination determination unit in a control sequence.

[0055] Fig.21 To schematically illustrate the features of the power saving accelerator management system according to the embodiment of the present invention, <2> Reconstructed graph of the optimal configuration of the offload destination.

[0056] Fig. 22 To illustrate the scaling trigger (feature) based on traffic volume and performance information of the power saving accelerator management system according to the embodiment of the present invention <3> ) working description diagram.

[0057] Fig.23 To illustrate the power saving accelerator management system of the embodiment of the present invention, the following features are considered: <3> Figure 2. ACC scaling in and out for situations where there are too many resources and too few resources.

[0058] Fig.24 To illustrate the power saving accelerator management system based on the features of the embodiment of the present invention <3> The control sequence of the scaling triggers of the business volume and performance information in.

[0059] Fig.25 To express based on Fig.24 Flowchart of the scaling trigger of the business volume and performance information of the structure change trigger unit in the control sequence.

[0060] Fig.26This is a hardware configuration diagram showing an example of a computer that realizes the function of the accelerator offloading device according to the embodiment of the present invention.

[0061] Fig. 27 A diagram showing the structure of a DPDK system that controls HW including an accelerator.

[0062] Fig.28 This is a graph showing the traffic volume and ACC power when the traffic volume varies greatly throughout the day.

[0063] Fig.29 For schematic representation Fig.28 A graph of resources during the day and resources during the night. DETAILED DESCRIPTION

[0064] Hereinafter, a power-saving accelerator management system and the like in a mode for implementing the present invention (hereinafter referred to as “this embodiment”) will be described with reference to the drawings.

[0065] [Overall structure]

[0066] Figure 1 FIG. 1 is a schematic diagram of a power saving accelerator management system according to an embodiment of the present invention. Fig. 27 The same structural parts are marked with the same reference numerals. Figure 1 In the figure, hollow arrows represent the flow of data, and thin arrows represent control signals.

[0067] like Figure 1 As shown, the power-saving accelerator management system 1000 includes: an APL 30 having a plurality of APLs 1 and 2 and threads 15 and 25 ; an accelerator offloading device 100 ; and accelerators (ACCs) 11 and 21 having a plurality of IP cores 12 and 22 and device queues 13 and 23 .

[0068] The accelerator offloading device 100 is disposed between the APL 30 and the accelerators 11 and 21 mounted on the HW. The APL 30 can directly communicate with the offloading device 100 and thus can see its existence, but cannot see the physical devices 11 and 21.

[0069] [Accelerator Unloading Device 100]

[0070] The accelerator offloading apparatus 100 includes a pseudo device unit 110 , an offloading destination connecting unit 120 , an offloading destination determining unit 130 , a traffic collecting unit 140 , a device controlling unit 150 , an offloading destination reconfiguring unit 160 , a performance acquiring unit 170 , and a configuration change triggering unit 180 .

[0071] Here, the pseudo device unit 110, the offload destination connection unit 120, the offload destination determination unit 130, the traffic collection unit 140, and the device control unit 150 constitute a function unit 101 for dynamically changing the offload destination accelerator and sharing the accelerator of the change destination (characteristic <1> ). In addition, the unloading destination reconstruction unit 160 constitutes the unloading destination reconstruction unit 102 considering the optimal configuration (characteristic <2> ). In addition, the performance acquisition unit 170 and the structure change trigger unit 180 constitute the scaling trigger unit 103 based on the traffic volume and performance information (characteristic <3> ).

[0072] <Pseudo Device Unit 110>

[0073] The pseudo device unit 110 disguises that APL1 and APL2 (applications) are communicating with the accelerator, thereby hiding the switching of the connection destination from the application's perspective.

[0074] <Uninstall Destination Connection Unit 120>

[0075] The offload destination connecting section 120 connects the pseudo device section 110 and the accelerator of the offload destination according to the offload destination information provided by the offload destination determining section 130 (according to the offload destination determined by the offload destination determining section 130 ).

[0076] <Uninstallation Destination Determining Unit 130>

[0077] The offload destination determination unit 130 determines an offload destination based on the traffic volume information collected by the traffic volume collection unit 140 , and provides offload destination information for the application.

[0078] Furthermore, the offload destination determination unit 130 instructs the device control unit 150 to control the power supply of the ACC.

[0079] When the workload decreases, the offload destination determination unit 130 switches the offload destination of the task on one accelerator to another accelerator, and the device control unit 150 performs accelerator scaling (Scale In) to turn off the power of the accelerator.

[0080] <Traffic Volume Collection Unit 140>

[0081] The traffic volume collection unit 140 collects the current traffic volume information of the offload target being processed and / or the predicted traffic volume prediction information (described later). Fig. 22 ) and provides it to the uninstallation destination determination unit 130.

[0082] <Device Control Unit 150>

[0083] The device control unit 150 performs a power operation of turning on or off the power of the device including the accelerator according to the instruction of the unloading destination determination unit 130 .

[0084] The device control unit 150 performs a power operation to turn on the power of the remaining accelerators, and the offload destination determination unit 130 performs accelerator scaling (scaling out) to switch the offload destination of some tasks on the accelerator with performance risk to the accelerator.

[0085] <Uninstall Destination Reconstruction Unit 160>

[0086] The offload destination reconstruction unit 160 recalculates the offload destination based on the traffic volume information collected by the traffic volume collection unit 140, and provides the offload destination reconstruction information to the offload destination determination unit 130. Specifically, the offload destination reconstruction unit 160 initializes the current offload destinations of each APL1 and APL2 based on the traffic volume information obtained from the traffic volume collection unit 140, determines the desired offload destination from the beginning, and provides the offload destination reconstruction information to the offload destination determination unit 130.

[0087] Here, the offload destination reconfiguration unit 160 may be in a form that exists independently in an external server. By making the offload destination reconfiguration unit 160 exist independently in an external server, it can be applied to RIC (RAN Intelligent Controller) in RAN and the like.

[0088] Accelerator downsizing

[0089] When the power of the accelerator with greater power than that of the accelerator whose power is turned off by accelerator scaling down can be turned off, the offload destination reconstruction unit 160 provides the offload destination reconstruction information to the offload destination determination unit 130 in order to modify the offload destination of the task to the accelerator. The offload destination determination unit 130 that receives the provided information modifies the offload destination of the task based on the offload destination reconstruction information, and the device control unit 150 turns off the power of the accelerator with greater power.

[0090] · Task load distribution

[0091] The offload destination reconstruction unit 160 recalculates the offload destination based on the traffic volume information collected by the traffic volume collection unit 140, and, when the load distribution of the task can be performed for each minimum required ACC, provides the offload destination reconstruction information to the offload destination determination unit 130 in order to modify the offload destination of the task. The offload destination determination unit 130 that receives the provided information modifies the offload destination of the task based on the offload destination reconstruction information.

[0092] <Performance Acquisition Unit 170>

[0093] The performance acquisition unit 170 acquires performance information including delay and throughput of the application (performance information for each APL1 and APL2 ), and notifies the configuration change trigger unit 180 of the acquired performance information.

[0094] <Structure Change Triggering Unit 180>

[0095] The structural change triggering unit 180 determines whether the accelerator should be scaled down or expanded based on the traffic information collected by the traffic collection unit 140 and the performance information obtained by the performance acquisition unit 170, and triggers the accelerator to be scaled down or expanded to the unloading destination determination unit 130, or triggers the unloading destination reconstruction to the unloading destination reconstruction unit 160.

[0096] The configuration change triggering unit 180 determines whether to expand the capacity based on the performance of each of APL1 and APL2. If expansion is not necessary, the configuration change triggering unit 180 requests the traffic volume collecting unit 140 for traffic volume information.

[0097] Here, the performance acquisition unit 170 and the configuration change trigger unit 180 may be independently present in an external server. By making the performance acquisition unit 170 and the configuration change trigger unit 180 independently present in an external server, it can be applied to RIC in RAN and the like.

[0098] [surface]

[0099] The table included in each functional unit of the accelerator unloading device 100 will be described.

[0100] Figure 2 2 is a diagram showing the device mapping table 201 written by the off-load destination connecting unit 120 and referred to by the off-load destination determining unit 130 .

[0101] The device mapping table 201 associates application IDs with device IDs.

[0102] Figure 3 2 is a diagram showing the application management table 202 written by the performance acquisition unit 170 and referenced by the configuration change trigger unit 180 .

[0103] The application management table 202 stores the performance value, performance threshold, and operation status of each APL ID.

[0104] The performance threshold and the performance value are, for example, delay time. In addition, the operation state is, for example, operation / stop operation (active / down).

[0105] Figure 4 2 is a diagram showing the task table 203 written by the traffic collection unit 140 and referred to by the offload destination determination unit 130 and the offload destination reconfiguration unit 160 .

[0106] The task table 203 stores the traffic volume and traffic volume prediction value for each APL ID.

[0107] Figure 5 2 is a diagram showing the traffic volume table 204 written by the traffic volume collection unit 140 and referred to by the off-load destination determination unit 130 , the off-load destination reconfiguration unit 160 , and the configuration change trigger unit 180 .

[0108] The traffic volume table 204 stores the traffic volume, traffic volume prediction value, traffic volume lower limit value, and traffic volume upper limit value for each device ID.

[0109] Figure 6 2 is a diagram showing the device management table 205 written by the device control unit 150 and referred to by the off-load destination determination unit 130 and the off-load destination reconstruction unit 160 .

[0110] The device management table 205 stores the capacity, free capacity, and power status of each device ID.

[0111] The power state is the accelerator being turned on / off / degraded, etc.

[0112] The operation of the power saving accelerator management system configured as described above will be described below.

[0113] (Characteristics and working form)

[0114] feature <1> : Dynamically change the accelerator at the uninstallation destination and change the accelerator sharing at the destination

[0115] By switching the offload destination of the task without changing the application, <Condition 1: Transparency> is satisfied. By performing a power operation such as turning off the power of the accelerator to which the task is not offloaded, <Condition 2: Power saving> is satisfied.

[0116] In the case of a performance risk, <Condition 3: Performance> is satisfied by adding the load as an offload destination by performing a power operation such as turning on the power of the accelerator.

[0117] feature <2> : Reconstruction of offload destinations taking into account optimal configuration

[0118] Based on the current traffic volume, the accelerator to which the tasks of each application can be offloaded to reduce power consumption while satisfying performance is calculated and the offloading destination is determined, thereby satisfying both <Condition 2: Power saving> and <Condition 3: Performance>.

[0119] feature <3> : Scaling triggers based on traffic and performance information

[0120] By timely triggering the change of the offloading destination according to the business volume and performance value, <Condition 2: Power saving> and <Condition 3: Performance> are met at the same time.

[0121] [Dynamic change of uninstallation destination accelerator · Accelerator sharing of change destination (feature) <1> )]

[0122] Dynamically change the offload destination accelerator and change the destination accelerator sharing (feature <1> ) for explanation.

[0123] Figure 7 To illustrate the dynamic change of the offload destination accelerator and the sharing of the accelerator at the change destination (feature <1> ) of the power saving accelerator management system. Figure 1 The same components are marked with the same reference numerals. In the following description, corresponding functional parts are marked with bold frames.

[0124] feature <1> Depend on Figure 7 The functional unit 101 shown in the dotted line portion is implemented as follows.

[0125] <Features of the pseudo device unit 110 <1> Work in >

[0126] The pseudo device unit 110 pretends that the accelerator is communicating with APL1 and APL2, and conceals the switching of the connection destination.

[0127] The pseudo device unit 110 is connected to the APL1 and APL2 through the same interface as the conventional one, and provides a virtual queue (not shown) instead of the physical queues 13 and 23 of the device.

[0128] The pseudo device unit 110 uses a virtual queue instead of the physical queue in correspondence with the physical queue of the device, performs packet processing in the application thread 15, 25, and connects the device to APL1, APL2. The virtual queue is a queue displayed to the application thread 15, 25 instead of the physical queue (device queue) 13, 23.

[0129] Although APL1 and APL2 are not made aware of whether the actual specific device is accelerator 11 or accelerator 21, it is hoped that the specific device behind it can be hidden by making them communicate with the abstracted accelerator. The pseudo device unit 110 is connected to APL1 and APL2 with the same interface as the existing accelerator, and provides a virtual queue instead of the physical queue 13 and 23 of the device. In this way, APL1 and APL2 pretend to always communicate with the accelerator.

[0130] <Features of the offload destination connection unit 120 <1> Work in >

[0131] The offload destination connecting unit 120 connects the pseudo device unit 110 and the accelerator of the offload destination according to the offload destination determined by the offload destination determining unit 130 .

[0132] <Characteristics of the Traffic Collection Unit 140 <1> Work in >

[0133] The traffic volume collecting unit 140 collects the current traffic volume of the ACC resource and provides it to the offload destination determining unit 130 (see Figure 7 .

[0134] <Features of the Uninstallation Destination Determining Unit 130 <1> Work in >

[0135] The offload destination determination unit 130 determines an offload destination based on the traffic information of the traffic collection unit 140, and provides the offload destination connection unit 120 with the offload destination information for the application (see Figure 7 Arrow bb).

[0136] The offload destination determination unit 130 instructs the device control unit 150 to control the power supply of the ACC (see Figure 7 Arrow cc).

[0137] <Features of the device control unit 150 <1> Work in >

[0138] The device control unit 150 performs power operations such as turning the power of the device on or off according to the instruction of the uninstallation destination determination unit 130 .

[0139] Figure 8 for Figure 7 A diagram illustrating the working of <Too many resources> and <Too few resources> in the power saving accelerator management system.

[0140] The pseudo device unit 110 and the offload destination connection unit 120 switch the offload destination of the task without changing the application, thereby satisfying <Condition 1: Transparency>.

[0141] exist Figure 8 In the thread of APL1 shown in FIG. 1 , the unload destination corresponds to the device queue 13, and a request is sent to the accelerator 11 (see FIG. 1 ). Figure 7 Arrow dd), using polling mode or interrupt mode to receive the request after the processing is completed. In addition, in the thread of APL1, the unloading destination is relative to the device queue 23 (refer to Figure 7 Arrow ee), sends a request to the accelerator 21, and uses polling mode or interrupt mode to receive the request after processing.

[0142] In the case of <Too many resources>, the offload destination determination unit 130 determines that the ACC capacity is reduced, and the offload destination connection unit 120 performs connection switching (see Figure 7 In addition, the device control unit 150 performs an ACC power operation (here, the power supply of the accelerator 21 is turned off). Thus, the power saving accelerator management system satisfies <Condition 2: Power saving>.

[0143] In the case of <too few resources>, the device control unit 150 performs ACC power operation, and the offload destination determination unit 130 determines ACC capacity expansion. In addition, the offload destination connection unit 120 performs connection switching. Thus, the power saving accelerator management system satisfies <condition 3: performance>.

[0144] It should be noted that in the past, Fig. 27 As shown, the accelerator resources that are the objects of thread transmission and reception are fixedly allocated in units of device queues 13, 23, etc. when APL1 and APL2 are initialized (device queue 13 and accelerator 11 of APL1, device queue 23 and accelerator 21 of APL2 are fixedly allocated).

[0145] In contrast, in this embodiment, if Figure 8 As shown, the offload destination accelerator is dynamically changed so that the ACC is reduced in capacity when there are too many resources, or is expanded in capacity when there are too few resources. That is, the accelerator of the changed destination is shared.

[0146] <Features <1> ACC reduction in >

[0147] About Features <1> ACC reduction in Fig. 9 The control sequence and Fig.10 The flowchart is described below.

[0148] Fig. 9 To illustrate the characteristics <1> The control sequence of ACC reduction in .

[0149] The traffic volume collecting unit 140 collects the traffic volume of each ACC and notifies the offload destination determining unit 130 of the traffic volume information (step S101 ).

[0150] The offloading destination determination unit 130 determines the ACC to be reduced (the ACC to be powered off) and the new offloading destination ACC of the task being offloaded to the ACC based on the traffic volume information of each ACC (step S102). Fig.10 In the description.

[0151] The offload destination determination unit 130 notifies the offload destination connection unit 120 of the downsizing target ACC information and the offload destination information of each task (step S103 ).

[0152] The offload destination connection unit 120 updates the offload destination (device mapping table 201 ( Figure 2 ))(step S104), and notifies the uninstallation destination determination unit 130 that the update is completed (step S105).

[0153] The offload destination connection unit 120 confirms that all tasks of the shrinking target ACC have been processed (step S106). After completion, the offload destination connection unit 120 notifies the offload destination determination unit 130 of the completion of all tasks (step S107).

[0154] The uninstallation destination determination unit 130 notifies the device control unit 150 of the information of the target ACC to be reduced in size and power off the target ACC (step S108 ).

[0155] The device control unit 150 performs a power-off operation on the ACC (accelerator 11 ) based on the information on the ACC to be reduced (step S109 ).

[0156] The device control unit 150 checks the power state of the ACC until it can be confirmed that the power is turned off (step S110). The device control unit 150 immediately updates the device management table 205 ( Figure 6 ), and notifies the unloading destination determination unit 130 of the completion of power shut down (step S111).

[0157] Fig.10 To express Fig. 9 Flowchart of ACC reduction of the offload destination determination unit 130 in the control sequence of FIG.

[0158] In step S11 , the traffic volume collecting unit 140 obtains the traffic volume of each ACC.

[0159] In step S12, the unloading destination determination unit 130 selects the ACC to be shrunk with the largest free capacity. That is, the ACC with the largest free capacity is easy to be shrunk.

[0160] Here, the free capacity of the ACC is calculated by subtracting the total traffic volume of the tasks from the maximum traffic volume in a state where the performances of APL1 and APL2 are satisfied.

[0161] In addition, physical capacities such as the number of offload tasks, power limits, and temperature limits may be used instead of the free capacity of the ACC or in combination therewith.

[0162] In step S13 , the offloading destination determination unit 130 selects the task with the largest workload among the tasks of the shrinkage target ACC.

[0163] In step S14 , the offload destination determination unit 130 determines whether the task can be offloaded from the remaining ACCs to the ACC with the largest free capacity.

[0164] When unloading to the ACC having the largest free capacity cannot be performed (S14: No), the process proceeds to step S19.

[0165] If the task can be unloaded to the ACC having the largest free capacity ( S14 : Yes), in step S15 , the unloading destination determination unit 130 changes the unloading destination of the task.

[0166] In step S16 , the uninstallation destination determination unit 130 determines whether there is a task whose uninstallation destination has not been changed.

[0167] When there is a task whose offload destination has not been changed ( S16 : Yes), in step S17 , the offload destination determination unit 130 selects the task with the second largest workload, and returns to the above-mentioned step S14 .

[0168] When there is no task whose offloading destination has not been changed ( S16 : No), ACC downsizing is performed and the processing of this flow ends (step S18 ).

[0169] On the other hand, in the above-mentioned step S14, when unloading to the ACC with the largest free capacity cannot be performed (S14: No), in step S19, the unloading destination determination unit 130 determines whether there is another ACC to be reduced in capacity.

[0170] When there is another downsizing target ACC ( S19 : Yes), in step S20 , the unloading destination determination unit 130 selects the downsizing target ACC having the second largest free capacity, and returns to the above-mentioned step S13 .

[0171] When there is no other ACC to be shrunk ( S19 : No), the processing of this flow is terminated (no ACC is shrunk) (step S21 ).

[0172] Fig.11 This is a diagram schematically showing the reduction in size of the ACC when the ACC to be reduced is ACC2. Fig.11 The thin solid line frame in the figure represents the allowable traffic volume of ACC1. Fig.11 The thick solid line box in represents the allowed traffic volume of ACC2. Fig.11 In the example, the allowed traffic volume (spare capacity) of ACC1 is greater than the allowed traffic volume (spare capacity) of ACC2, which is indicated by the size of the box. Fig.11 The shadow in represents the ACC traffic.

[0173] Fig.11 <1>

[0174] The ACC traffic volumes are stored in the allowable traffic volumes of both ACC1 and ACC2. However, the allowable traffic volume of ACC1 is larger than that of ACC2. The ACC that is easy to shrink is the ACC with large idle capacity. Therefore, ACC2 is selected as the ACC to be shrunk.

[0175] Fig.11 <2>

[0176] As a task with a large amount of business, task b is selected from ACC2.

[0177] Fig.11 <3>

[0178] As the offloading destination of task b of ACC2, select ACC1. Fig.11 <3> In the example, task b is offloaded to ACC1.

[0179] Fig.11 <4>

[0180] Next, task a is selected from ACC2 as a task with a large amount of traffic.

[0181] Fig.11 <5>

[0182] As the offloading destination of task a of ACC2, select ACC1. Fig.11 <5> In addition to task b, task a is also offloaded to ACC1. In this state, the allowed traffic volume of ACC1 does not have enough free capacity to accept new tasks.

[0183] Fig.11 <6>

[0184] All tasks of ACC2 have been unloaded, so ACC2 can perform capacity reduction. ACC capacity reduction is performed. Here, ACC capacity reduction means that the power of ACC2 is turned off (power off is indicated by a dotted box).

[0185] <Features <1> ACC reduction derivative in>

[0186] exist Figures 9 to 11 In the description, the capacity reduction caused by power off is described.

[0187] Instead of adopting the capacity reduction accompanying the power off, the following method may be adopted.

[0188] When power can be saved by downgrade operation on the ACC side, the offload destination of tasks exceeding the downgrade operation performance of the ACC is changed, and the ACC downgrade operation is further performed.

[0189] Example (1): Reducing the number of IP cores in an FPGA and controlling power supply per IP core

[0190] Example (2): Circuit size reduction based on dynamic reconstruction in FPGA

[0191] Example (3): Voltage drop in ACC

[0192] Example (4): Clock frequency reduction in ACC

[0193] Fig.12 For <Feature <1> The control order of ACC shrinkage derivative> in. Fig.12 and Fig. 9 Features <1> The control sequence of ACC reduction> in corresponds.

[0194] The traffic volume collecting unit 140 collects the traffic volume of each ACC and notifies the offload destination determining unit 130 of the traffic volume information (step S201 ).

[0195] The offloading destination determination unit 130 determines the downgraded operation target ACC and a new offloading destination ACC of the task being offloaded to the ACC based on the traffic volume information of each ACC (step S202 ).

[0196] The offload destination determination unit 130 notifies the offload destination connection unit 120 of the downgraded operation target ACC information and the offload destination information of each task (step S203 ).

[0197] The offload destination connection unit 120 updates the offload destination (device mapping table 201 ( Figure 2 ))(Step S204), and notify the uninstallation destination determination unit 130 of the completion of the update (Step S205).

[0198] The offloading destination connection unit 120 confirms that all task processing of the downgraded operation target ACC is completed (step S206). After completion, the offloading destination connection unit 120 notifies the offloading destination determination unit 130 of task all completion notification (step S207).

[0199] The unloading destination determination unit 130 notifies the device control unit 150 of the downgraded operation target ACC information and the downgraded operation for the ACC (step S208 ).

[0200] The device control unit 150 performs a downgrade operation operation on the ACC (accelerator 11 ) based on the downgrade operation target ACC information (step S209 ).

[0201] The device control unit 150 checks the power supply state of the ACC until the degraded operation can be confirmed (step S210). The device control unit 150 immediately updates the device management table 205 ( Figure 6 ), and notifies the unloading destination determination unit 130 of the completion of the downgrade operation (step S211).

[0202] Above, for <Features <1> Next, the ACC reduction in the feature <1> ACC Expansion> for instructions.

[0203] <Features <1> ACC expansion in>

[0204] About Features <1> ACC expansion in Fig.13 The control sequence and Fig.14 The flowchart is described below.

[0205] Fig.13 To illustrate the characteristics <1> The control sequence of ACC expansion in .

[0206] The traffic volume collecting unit 140 collects the traffic volume of each ACC and notifies the offload destination determining unit 130 of the traffic volume information (step S301 ).

[0207] The offloading destination determination unit 130 determines the expansion target ACC (to offload part of the tasks currently being offloaded to the ACC to the new offloading destination) and the new offloading destination ACC of the tasks currently being offloaded to the ACC based on the traffic volume information of each ACC (step S302). Fig.14 In the description.

[0208] The offload destination determination unit 130 notifies the device control unit 150 of the expansion destination ACC information and the power on instruction (step S303 ).

[0209] The device control unit 150 performs a power-on operation on the ACC based on the expansion destination ACC information (step S304 ).

[0210] The device control unit 150 checks the power state of the ACC until it can be confirmed that the power is turned on (step S305). The device control unit 150 immediately updates the device management table 205 ( Figure 6 ), and notifies the unloading destination determination unit 130 of the completion of power on (step S306).

[0211] The offload destination determination unit 130 notifies the offload destination connection unit 120 of the offload destination information of each task (step S307 ).

[0212] The offload destination connection unit 120 updates the offload destination of each task based on the offload destination information of each task (step S308 ), and notifies the offload destination determination unit 130 of the update completion (step S309 ).

[0213] Fig.14 To express Fig.13 FIG. 1 is a flowchart of ACC expansion of the offload destination determination unit 130 in the control sequence of FIG.

[0214] In step S31 , the traffic volume collecting unit 140 obtains the traffic volume of each ACC.

[0215] In step S32 , the offload destination determination unit 130 selects the expansion target ACC having the smallest free capacity.

[0216] Here, the free capacity of ACC is calculated by subtracting the total workload of tasks from the maximum workload while satisfying the performance of APL1 and APL2. Physical capacity such as the number of offloaded tasks, power limit, and temperature limit may be used instead of the free capacity of ACC or in combination with it.

[0217] In step S33 , the unloading destination determination unit 130 selects the ACC with the smallest capacity among the ACCs after power-off as the expansion destination ACC.

[0218] In step S35, the offload destination determination unit 130 determines whether the task can be offloaded to the expansion destination ACC. If the task cannot be offloaded to the expansion destination ACC (S35: No), the process proceeds to step S41.

[0219] When the task can be offloaded to the expansion destination ACC ( S35 : Yes), in step S36 , the offload destination determination unit 130 changes the offload destination of the task.

[0220] In step S37, it is determined whether the free capacity of the expansion object ACC is smaller than the free capacity of the expansion destination ACC and whether there is a task whose offloading destination has not been changed.

[0221] When the available capacity of the expansion target ACC is smaller than the available capacity of the expansion destination ACC and there is a task whose offload destination has not been changed (S37: Yes), the task with the second smallest traffic volume is selected in step S38.

[0222] In step S39, it is determined whether the task can be offloaded to the expansion destination ACC.

[0223] If the task can be offloaded to the expansion destination ACC (S39: Yes), the process returns to the above step S36. That is, if the task can still be offloaded, the step of expanding the ACC is repeated.

[0224] In the above step S37, when the free capacity of the expansion object ACC is smaller than the free capacity of the expansion destination ACC, or when there is no task whose offloading destination has not been changed (S37: No), or in the above step S39, when the task cannot be offloaded to the expansion destination ACC (S39: No), ACC expansion is performed and the processing of this flow is terminated (step S40).

[0225] On the other hand, in the above step S35, when the task cannot be offloaded to the expansion destination ACC (S35: No), in step S41, it is determined whether there is another ACC whose power is turned off.

[0226] If there is another powered-off ACC ( S41 : Yes), in step S42 , the unloading destination determination unit 130 selects the powered-off ACC having the second smallest free capacity, and returns to the above-described step S33 .

[0227] When there is no other ACC whose power is turned off ( S41 : No), the processing of this flow ends (no ACC capacity expansion) (step S43 ).

[0228] Fig.15 The figure schematically shows the expansion of ACC when the expansion target ACC is ACC1. Fig.15 The thin dashed box in the figure represents the allowed traffic volume of ACC2. Fig.15 The thin solid line box in represents the allowed traffic volume of ACC1. Fig.15 In the example, the allowed traffic volume (spare capacity) of ACC1 is greater than the allowed traffic volume (spare capacity) of ACC2, which is indicated by the size of the box. Fig.15 The shading in represents the ACC traffic. In addition, the dotted box represents the power off.

[0229] Fig.15 <1>

[0230] In ACC1, tasks a, b, c, and d are stored as traffic. ACC2 is powered off. Therefore, ACC1 is selected as the expansion target ACC, and ACC2 is selected as the expansion destination ACC.

[0231] Fig.15 <2>

[0232] As a task with a small amount of business, task d is selected from ACC2.

[0233] Fig.15 <3>

[0234] As the offload destination for task d, select ACC2. Fig.15 <3> In the example above, task d is offloaded to ACC2.

[0235] Fig.15 <4>

[0236] Next, task c is selected from ACC1 as a task with a small amount of traffic.

[0237] Fig.15 <5>

[0238] As the offloading destination of task c, select ACC2. Fig.15 <3> In the example, task c is further unloaded on the basis of unloading task d to ACC2.

[0239] Fig.15 <6>

[0240] When you want to uninstall the next task, Fig.14 Step S39 becomes NG, and the process is transferred to capacity expansion execution, so ACC2 can perform capacity expansion execution. Execute ACC capacity expansion.

[0241] <Features <1> ACC expansion derivatives in>

[0242] exist Figures 13 to 15 In the description, the capacity expansion accompanying power on is described.

[0243] Instead of using the capacity expansion that accompanies power-on, the following method may be used.

[0244] When the ACC side can be improved in performance by cancelling the downgraded operation, the offload destination of the task that can be handled by cancelling the downgraded operation of the ACC is changed, and the downgraded operation of the ACC is canceled.

[0245] Example (1): Increase in the number of IP cores in FPGA and power control per IP core

[0246] Example (2): Circuit Scale-Up Based on Dynamic Reconstruction in FPGA

[0247] Example (3): Voltage increase in ACC

[0248] Example (4): Clock frequency increase in ACC

[0249] Above, for <Features <1> ACC expansion is described in the ACC expansion section.

[0250] Fig.16 For <Feature <1> The control order of ACC expansion derivative> in.

[0251] The traffic volume collecting unit 140 collects the traffic volume of each ACC and notifies the offload destination determining unit 130 of the traffic volume information (step S401 ).

[0252] The unloading destination determination unit 130 determines the expansion target ACC and the degraded operation cancellation ACC (step S402 ).

[0253] The unloading destination determination unit 130 transmits the downgraded operation cancellation ACC information and the power-on instruction to the device control unit 150 (step S403 ).

[0254] The device control unit 150 performs a step-down operation release operation on the accelerator 11 to confirm the step-down operation release (step S404 ).

[0255] The device control unit 150 confirms the release of the downgraded operation of the accelerator 11 (step S405 ).

[0256] The device control unit 150 notifies the offload destination connection unit 120 that the downgraded operation cancellation is complete (step S406 ).

[0257] The offload destination determination unit 130 notifies the offload destination connection unit 120 of the offload destination information of each task (step S407 ).

[0258] The offload destination connection unit 120 updates the offload destination information of each task based on the offload destination information of each task notified by the offload destination determination unit 130 (step S408 ).

[0259] The offload destination connection unit 120 notifies the offload destination determination unit 130 that the update of the offload destination of each task is completed (step S409 ).

[0260] Above, for <Features <1> ACC expansion derivatives> are explained in.

[0261] [Reconstruction of the offload destination taking into account the optimal configuration (feature <2> )]

[0262] Reconstruction of the offload destination taking into account the optimal configuration (feature <2> ) for explanation.

[0263] Reconstruction of offload destinations taking into account optimal configuration (feature <2> ) is achieved only through the above features <1> Power saving and performance improvement that cannot be achieved by capacity reduction or expansion.

[0264] Fig.17 For explaining the reconstruction of the unloading destination taking into account the optimal configuration (characteristic <2> ) of the power saving accelerator management system. Figure 1 The same components are marked with the same reference numerals. In the following description, corresponding functional parts are marked with bold frames.

[0265] feature <2> Depend on Fig.17 The reconstruction unit 102 of the offload destination taking the optimal configuration into consideration is implemented as shown in the dotted line portion of FIG.

[0266] Fig.17 The offload destination reconstruction unit 160 shown initializes the current offload destinations of the APL1 and APL2 based on the traffic information obtained from the traffic collection unit 140 , determines the desired offload destination from the beginning, and provides the offload destination reconstruction information to the offload destination determination unit 130 .

[0267] Reconstruction of offload destinations taking into account optimal configuration (feature <2> ) consists of the features of <Redetermination of ACC when power is turned off> and <Task load distribution>.

[0268] Fig.18 To illustrate the characteristics <2> Figure 10 shows a diagram of <Redetermination of ACC at Power Off> and <Task Load Distribution>. Fig.18 Mode 1 in the figure above means <Re-determination of ACC with power off>. Fig.18 Pattern 2 in the figure below represents <task load distribution>. Fig.18 The solid line box represents the maximum allowable traffic volume (idle capacity) of ACC. Fig.18 The shadow in represents the ACC traffic. Fig.18 The dotted box indicates that the power of ACC is turned off.

[0269] <Re-determination of ACC with power off>

[0270] The offloading destination reconstruction unit 160 recalculates the offloading destination based on the traffic volume information acquired by the traffic volume collection unit 140. When the power of the ACC with greater power than the ACC that has been powered off by ACC scaling down can be turned off, the offloading destination reconstruction unit 160 provides the offloading destination determination unit 130 with the offloading destination reconstruction information in order to modify the offloading destination of the task to the ACC. The offloading destination determination unit 130 that receives the provided information modifies the offloading destination of the task. The device control unit 150 turns off the power of the ACC with greater power, thereby facilitating <Condition 2: Power saving>.

[0271] For example, in Fig.18 In mode 1 of the above figure, ACC2 is powered off by reducing the capacity of ACC. ACC1 has a larger maximum allowable traffic volume (idle capacity) than ACC2. Therefore, power saving can be achieved by reducing the capacity of ACC1.

[0272] The unloading destination is recalculated based on the traffic information acquired by the traffic collection unit 140, and the unloading destination is rebuilt. Here, all the ACC traffic (task) of ACC1 is transferred to ACC2. Then, Fig.18 As shown by the hollow arrow in the figure above, by re-determining the ACC that is powered off, the power supply of ACC1 is turned off by reducing the capacity of ACC.

[0273] <Task Load Distribution>

[0274] The traffic volume collection unit 140 recalculates the offloading destination based on the acquired traffic volume information. When the load distribution of the task can be performed for each minimum required ACC, the traffic volume collection unit 140 provides the offloading destination determination unit 130 with the offloading destination reconstruction information to modify the offloading destination of the task. The offloading destination determination unit 130 that receives the provided information modifies the offloading destination of the task. When the traffic volume increases due to the load distribution of the task, the risk of performance degradation is reduced, thereby contributing to <Condition 3: Performance>.

[0275] For example, in Fig.18 In mode 2 of the figure below, the maximum allowable ACC traffic (spare capacity) is larger in ACC1 than in ACC2. However, the ACC traffic (tasks) are almost the same in ACC1 and ACC2. Therefore, there is a margin in the spare capacity of ACC1. In this state, when the traffic increases, ACC2 has no spare capacity, so it cannot process requests during the waiting time, or it may be lost, resulting in performance degradation. Therefore, if Fig.18 As shown by the hollow arrows in the figure below, by distributing the load by transferring part of the tasks of ACC2 to ACC1, the risk of performance degradation can be reduced when the business volume increases.

[0276] <Features <2> Reconstruction of the offload destination taking into account the optimal configuration in>

[0277] Reference Fig.19 The control sequence and Fig. 20 Flowchart of the feature <2> The reconstruction of the offload destination taking into account the optimal configuration is described in the following.

[0278] Fig.19 To illustrate the characteristics <2> The control sequence of reconstruction of the offload destination taking into account the optimal configuration.

[0279] The unloading destination reconstruction is a form of combining ACC reduction and ACC expansion after determining the initial minimum ACC and the unloading destination ACC of each task.

[0280] The traffic volume collecting unit 140 collects the traffic volume of each ACC and notifies the offload destination determining unit 130 of the traffic volume information (step S501 ).

[0281] The offload destination determination unit 130 determines the minimum ACC and the offload destination ACC of the task (step S502 ).

[0282] The offload destination determination unit 130 instructs the device control unit 150 to notify the expansion destination ACC information and turn on the power supply (step S503 ).

[0283] The device control unit 150 performs a power-on operation on the accelerator 11 and performs a power-on confirmation (step S504 ).

[0284] The device control section 150 notifies the unloading destination determination section 130 of the completion of power on (step S506 ).

[0285] The offload destination determination unit 130 notifies the offload destination connection unit 120 of the reduction target ACC information and the offload destination information of each task (step S507 ).

[0286] The offload destination connection unit 120 updates the offload destination information of each task based on the offload destination information of each task notified by the offload destination determination unit 130 (step S508 ).

[0287] The offload destination connection unit 120 notifies the offload destination determination unit 130 that the update of the offload destination of each task is completed (step S509 ).

[0288] The offload destination connection unit 120 confirms that all tasks of the shrinking target ACC are completed (step S510 ).

[0289] The offload destination connecting unit 120 notifies the offload destination determining unit 130 that all tasks are completed (step S511 ).

[0290] The uninstallation destination determination unit 130 instructs the device control unit 150 to notify the reduction target ACC information and to turn off the power supply (step S512 ).

[0291] The device control unit 150 performs a power-off operation on the accelerator 11 (step S513 ), and confirms that the power is off (step S514 ).

[0292] The device control section 150 notifies the unloading destination determination section 130 that the power shutoff is completed (step S515 ).

[0293] Fig. 20 To express Fig.19 FIG. 1 is a flowchart of reconstruction of an offload destination in consideration of the optimal configuration of the offload destination determination unit 130 in the control sequence of FIG.

[0294] In step S51 , the traffic volume collecting unit 140 obtains the traffic volume of each task.

[0295] In step S52 , the offload destination determination section 130 calculates the total workload of the tasks.

[0296] In step S53 , the offload destination determination unit 130 determines the minimum ACC capable of handling the total traffic volume as a placement destination ACC candidate.

[0297] In step S54 , the unloading destination determination unit 130 determines the allocation destination ACC having the largest free capacity.

[0298] In step S55 , the offload destination determination unit 130 selects the task with the largest amount of traffic.

[0299] In step S56, the offload destination determination unit 130 determines whether the task can be offloaded to the placement destination ACC. If the task cannot be offloaded to the placement destination ACC (S56: No), the processing of this flow ends.

[0300] When the task can be offloaded to the placement destination ACC ( S56 : Yes), in step S57 , the offload destination determination unit 130 changes the offload destination of the task.

[0301] In step S58 , the offload destination determination unit 130 determines whether there is a task that has not been rebuilt in consideration of the offload destination.

[0302] If there is a task that does not consider the reconstruction of the unload destination (S58: Yes), the process returns to the above step S54. If there is no task that does not consider the reconstruction of the unload destination (S58: No), the reconstruction of the unload destination is performed in step S59, and the processing of this flow ends.

[0303] <Determine the minimum ACC that can handle the total volume of business>

[0304] The following describes how to determine the minimum ACC that can handle the total traffic volume. As a basic concept in the reconstruction of the offload destination, tasks already in the ACC are not replaced, but each task is newly arranged in a completely blank ACC.

[0305] (1) The total of all ACC capacities is taken as the ACC capacity.

[0306] (2) Subtract the capacity of the ACC with the largest capacity among the remaining ACCs from the ACC capacity.

[0307] (3) Compare the ACC capacity and the total workload of the mission.

[0308] (3-1) If the ACC capacity is larger, the previously subtracted ACC is determined as an unnecessary ACC, and the process goes to (2) above.

[0309] (3-2) When the ACC capacity is smaller and there is an ACC with the second smallest capacity, the subtracted capacity is added back, and the capacity of the ACC with the second smallest capacity is subtracted, and the process proceeds to (3-1) above.

[0310] (3-3) When the ACC capacity is smaller and there is no ACC with the second smallest capacity, the process ends.

[0311] (4) The remaining ACC is determined as the minimum ACC.

[0312] Fig.21 Schematically showing <features <2> Reconstruction of the offload destination considering the optimal configuration in Figure >. Fig.21 The thin solid line frame in the figure represents the allowable traffic volume of ACC1 and ACC2. Fig.21 The shadows in the figure represent the ACC workload (tasks a, b, c, d). Fig.21 In the example, the allowed traffic volume (spare capacity) of ACC1 is greater than the allowed traffic volume (spare capacity) of ACC2, which is indicated by the size of the box. In addition, tasks a and b have larger traffic volumes than tasks c and d, which is indicated by the size of the dotted box.

[0313] Fig.21 <1>

[0314] Get the business volume of each task.

[0315] Fig.21 <2>

[0316] Select ACC1 as the configuration destination ACC, select task a as the task with the most traffic, and change the unloading destination to ACC1. The allowed traffic volume (idle capacity) of ACC1 is greater than the allowed traffic volume (idle capacity) of ACC2, so task a is selected in ACC1. In this case, select from tasks a and b with the most traffic volume in the ACC first.

[0317] Fig.21 <3>

[0318] Select ACC2 as the configuration destination ACC, select task b as the task with the most traffic, and change the unloading destination to ACC2. <2> In the example, task a has been selected for ACC1, but there is still free capacity in ACC1. On the other hand, there is no ACC traffic (task) in ACC2. Therefore, for the purpose of <load distribution of tasks>, task b is selected and the unloading destination is changed to ACC2.

[0319] Fig.21 <4>

[0320] Select ACC1 as the configuration destination ACC, select task c (the traffic volume of task c is second only to tasks a and b) as the task with the most traffic, and change the unloading destination to ACC1. <3> In the example above, tasks a and b of the same traffic volume are unloaded in ACC1 and ACC2 respectively. Therefore, in terms of the relationship between the allowed traffic volume (idle capacity), ACC1 and ACC2 can be said to have returned to the above situation. <1> Therefore, select task c and change the offload destination to ACC1.

[0321] Fig.21 <5>

[0322] ACC1 is selected as the configuration destination ACC, task d is selected as the task with a large amount of traffic, and the offloading destination is changed to ACC1. In ACC1, tasks a and c are selected, and task d is further selected. That is, although task d can also be selected to ACC2, priority is given to <load distribution of tasks>, task d is selected, and the offloading destination is changed to ACC2.

[0323] Fig.21 <6>

[0324] Task a, task c, and task d are selected for ACC1, and task b is selected for ACC2, and the offload destination reconstruction is performed.

[0325] The above is the reconstruction of the offload destination considering the optimal configuration (feature <2> ) was explained.

[0326] [Scaling triggers based on traffic and performance information (features <3> )]

[0327] Scaling triggers based on traffic and performance information (features <3> ) for explanation.

[0328] Scaling triggers based on traffic and performance information (features <3> ) Trigger the change of offloading destination in time according to the business volume and performance value, so as to achieve <Condition 2: Power saving> and <Condition 3: Performance> at the same time.

[0329] Fig. 22 For explaining the scaling trigger based on traffic and performance information (characteristic <3> ) of the power saving accelerator management system. Figure 1 The same components are marked with the same reference numerals. In the following description, corresponding functional parts are marked with bold frames.

[0330] feature <3> Depend on Fig. 22 The zoom trigger unit 103 shown in the dotted line portion is implemented as follows.

[0331] Fig. 22 The performance acquisition unit 170 shown acquires the current performance (delay, throughput, etc.) of APL1 and APL2 and provides the performance to the configuration change trigger unit 180 .

[0332] The structure change triggering unit 180 determines whether to issue ACC capacity reduction / expansion based on the traffic volume information obtained from the traffic volume collecting unit 140 and the performance information obtained from the performance acquiring unit 170, and triggers ACC capacity reduction / expansion to the offload destination determining unit 130. Alternatively, the structure change triggering unit 180 triggers the offload destination reconstruction unit 160 to reconstruct the offload destination.

[0333] Fig. 22 The power saving accelerator management system 1000 obtains the traffic volume prediction information ( Fig. 22 11).

[0334] The configuration change triggering unit 180 cooperates with the traffic volume prediction unit 200 in the external system to perform capacity reduction / expansion based on the subsequent traffic volume prediction.

[0335] Scaling triggers based on traffic and performance information (features <3> ) has the feature of scaling down / scaling ACC considering <too many resources> and <too few resources>.

[0336] Fig.23 To illustrate the characteristics <3> Figure 2. ACC scaling in / out considering "too many resources" and "too few resources". Fig.23 The above figure shows the change of business volume over time. Fig.23 The following graph shows how performance, such as throughput, changes over time.

[0337] <Too many resources>

[0338] like Fig.23 As shown in the above figure, when the traffic volume obtained from the traffic volume collecting unit 140 is lower than the lower threshold, the configuration change triggering unit 180 triggers the offload destination determining unit 130 to reduce the ACC capacity.

[0339] Therefore, timely capacity reduction is beneficial to <Condition 2: Power saving>.

[0340] <Too few resources>

[0341] like Fig.23 As shown in the figure below, when the performance obtained from the performance acquisition unit 170 is lower than the lower threshold, the configuration change trigger unit 180 triggers the ACC capacity expansion to the offload destination determination unit 130. In addition, when the traffic volume is higher than the upper threshold, the configuration change trigger unit 180 triggers the ACC capacity expansion to the offload destination determination unit 130.

[0342] Therefore, timely capacity expansion is beneficial to <Condition 3: Performance>.

[0343] Here, the structure change triggering unit 180 can be used together with Fig.23The triggering and Fig.23 The following figure shows the triggering of performance-based ACC expansion.

[0344] <Features <3> Scaling triggers based on traffic and performance information in >

[0345] Reference Fig.24 The control sequence and Fig.25 Flowchart of the feature <3> The scaling trigger based on business volume and performance information is explained in.

[0346] Fig.24 To illustrate the characteristics <3> The control sequence of scaling triggers based on traffic and performance information.

[0347] The performance acquisition unit 170 acquires the performance of each APL and notifies the configuration change trigger unit 180 (step S601 ).

[0348] The configuration change triggering unit 180 determines whether to expand the capacity based on the performance of each APL (step S602). If expansion is not necessary, the configuration change triggering unit 180 requests the traffic volume collecting unit 140 for traffic volume information (step S603).

[0349] The traffic volume collecting unit 140 collects the traffic volume of each ACC and notifies the configuration change triggering unit 180 (step S604 ).

[0350] The configuration change triggering unit 180 determines whether to expand the capacity based on the traffic volume of each ACC (step S605). If the capacity expansion is not necessary, the configuration change triggering unit 180 requests the traffic volume prediction unit 200 of the external system for traffic volume prediction information (step S606).

[0351] The traffic volume prediction unit 200 notifies the configuration change trigger unit 180 of the traffic volume prediction information for each APL (step S607 ).

[0352] The configuration change trigger unit 180 makes a capacity expansion judgment based on the traffic volume prediction information of each APL (step S608). If capacity expansion is not required, the configuration change trigger unit 180 makes a capacity reduction judgment (step S609). If capacity reduction is required, the configuration change trigger unit 180 sends an ACC capacity reduction trigger to the offload destination determination unit 130 (step S610).

[0353] Fig.25 To express Fig.24 Flowchart of the scaling trigger based on the traffic volume and performance information of the configuration change trigger unit 180 in the control sequence.

[0354] In step S61 , the performance acquisition section 170 acquires the performance of each APL.

[0355] In step S62 , the configuration change triggering unit 180 determines whether the APL below the performance threshold is zero.

[0356] When the APL lower than the performance threshold is 0 ( S62 : Yes), in step S63 , the configuration change triggering unit 180 acquires the traffic volume of each ACC.

[0357] In step S64 , the configuration change triggering unit 180 determines whether the ACC higher than the traffic volume upper limit threshold is zero.

[0358] When the ACC higher than the traffic volume upper limit threshold is 0 (S64: Yes), in step S65, subsequent traffic volume prediction information is acquired.

[0359] In step S66 , the configuration change triggering unit 180 determines whether the ACC predicted to be higher than the traffic volume upper limit threshold is zero.

[0360] In any of the cases where the APL lower than the performance threshold is not 0 in the above step S62 (S62: No), the ACC higher than the business volume upper threshold is not 0 in the above step S64 (S64: No), and the ACC predicted to be higher than the business volume upper threshold is not 0 in the above step S66 (S66: No), in step S68, the structure change trigger unit 180 triggers ACC expansion, and the processing of this flow ends.

[0361] When the ACC higher than the traffic volume upper limit threshold is predicted to be 0 in step S66 ( S66 : Yes), the configuration change triggering unit 180 determines whether the ACC lower than the traffic volume lower limit threshold is 0 in step S67 .

[0362] When the ACC that is lower than the traffic volume lower limit threshold is not 0 ( S68 : No), in step S69 , the configuration change triggering unit 180 triggers ACC capacity reduction, and the processing of this flow ends.

[0363] When the ACC that is lower than the traffic volume lower limit threshold is 0 ( S67 : Yes), in step S70 , the configuration change triggering unit 180 determines whether a certain time has passed since the last offload destination reconstruction.

[0364] If a certain time has passed since the last unload destination was rebuilt (S70: Yes), the configuration change triggering unit 180 triggers unload destination rebuilding in step S71, and the processing of this flow ends. If a certain time has not passed since the last unload destination was rebuilt (S70: No), the processing of this flow ends.

[0365] The judgment of whether or not there is an ACC predicted to exceed the traffic volume upper limit threshold is described.

[0366] The determination of whether or not there is an ACC predicted to be higher than the traffic volume upper limit threshold is performed, for example, as follows.

[0367] The workload of each task corresponding to the workload of each APL1 and APL2 after a certain period of time t is updated.

[0368] · For each ACC, the total value of the task workload after a certain time t is calculated.

[0369] · Compare each ACC with the upper threshold of the traffic volume. At this time, if t is very small, the upper threshold can be lowered for judgment.

[0370] [Hardware structure]

[0371] The accelerator unloading device 100 of the above embodiment is composed of, for example, Fig.26 The structure shown is implemented by a computer 900.

[0372] Fig.26 FIG. 1 is a diagram showing a hardware structure of an example of a computer 900 that realizes the function of the accelerator offloading device 100 .

[0373] The computer 900 includes a CPU 901, a RAM 902, a ROM 903, a HDD 904, an accelerator 905, an input / output interface (I / F) 906, a media interface (I / F) 907, and a communication interface (I / F: Interface) 908. The accelerator 905 and Figure 1 , Figure 7 , Fig.17 , Fig. 22 The accelerator 11 corresponds to.

[0374] The accelerator 905 is an accelerator (device) 11, 21 (which processes at least one of the data from the communication I / F 908 and the data from the RAM 902 at high speed) Figure 1 , Figure 7 , Fig.17 , Fig. 22 ). In addition, as the accelerator 905, a type (look-aside type) is used that returns the execution result to the CPU 901 or RAM 902 after executing the processing from the CPU 901 or RAM 902. On the other hand, as the accelerator 905, a type (in-line type) that enters between the communication I / F 908 and the CPU 901 or RAM 902 to perform processing may also be used.

[0375] The accelerator 905 is connected to an external device 915 via a communication I / F 908. The input / output I / F 906 is connected to an input / output device 916. The media I / F 907 reads and writes data from a recording medium 917.

[0376] The CPU 901 operates based on the program stored in the ROM 903 or the HDD 904, executes the program (application program, which may also be simply referred to as application) read into the RAM 902, and performs Figure 1 , Figure 7 , Fig.17 , Fig. 22 The program controls each part of the accelerator unloading device 100 shown. In addition, the program can also be distributed via a communication line or recorded in a recording medium 917 such as a CD-ROM.

[0377] The ROM 903 stores a boot program executed by the CPU 901 when the computer 900 is started, programs depending on the hardware of the computer 900 , and the like.

[0378] The CPU 901 controls an input / output device 916 composed of an input unit such as a mouse and a keyboard, and an output unit such as a display and a printer, via an input / output I / F 906. The CPU 901 obtains data from the input / output device 916 via the input / output I / F 906, and outputs generated data to the input / output device 916. In addition, as a processor, a GPU (Graphics Processing Unit) or the like can be used together with the CPU 901.

[0379] HDD 904 stores programs executed by CPU 901 and data used by the programs, etc. Communication I / F 908 receives data from other devices via a communication network (eg, NW (Network)) and outputs it to CPU 901, and also transmits data generated by CPU 901 to other devices via the communication network.

[0380] The media I / F 907 reads the program or data stored in the recording medium 917 and outputs it to the CPU 901 via the RAM 902. The CPU 901 loads the program related to the target processing from the recording medium 917 to the RAM 902 via the media I / F 907, and executes the loaded program. The recording medium 917 is an optical recording medium such as a DVD (Digital Versatile Disc), a PD (Phasechange rewritable disk), a magneto-optical recording medium such as an MO (Magneto Optical disk), a magnetic recording medium, a conductor storage tape medium, or a semiconductor memory.

[0381] For example, when the computer 900 functions as the accelerator unloading device 100 constituting one of the devices of the present embodiment, the CPU 901 of the computer 900 implements the function of the accelerator unloading device 100 by executing the program loaded on the RAM 902. In addition, the data in the RAM 902 is stored in the HDD 904. The CPU 901 reads and executes the program related to the target processing from the recording medium 917. In addition, the CPU 901 may also read the program related to the target processing from other devices via the communication network.

[0382] [Effect]

[0383] As described above, the accelerator unloading device 100 ( Figure 1 , Figure 7 , Fig.17 , Fig. 22 ) has multiple accelerators, and the accelerator unloading device unloads specific processing of the application to the accelerator, and the accelerator unloading device has: a traffic collection unit 140, which collects current traffic information of the unloading object processing and / or predicted traffic prediction information; a pseudo-device unit 110, which hides the connection destination switching from the application by disguising that the application is communicating with the accelerator; an unloading destination determination unit 130, which determines the unloading destination based on the traffic information collected by the traffic collection unit 140 and provides unloading destination information for the application; an unloading destination connection unit 120, which connects the pseudo-device unit 110 with the accelerator of the unloading destination according to the unloading destination information provided by the unloading destination determination unit 130; and a device control unit 150, which performs an electrical operation of turning on or off the power of the device including the accelerator according to the instruction of the unloading destination determination unit 130.

[0384] In this way, the accelerator's agent sends and receives the function change unloading destination of the task from the application, thereby switching the unloading destination of the task without changing the application. In addition, when the business volume decreases, the unloading destination of all tasks on one accelerator is switched to another accelerator, and the power of the accelerator is turned off (accelerator capacity reduction). In addition, the power of the remaining accelerator is turned on, and the unloading destination of some tasks on the accelerator with performance risk is switched to the accelerator (accelerator capacity expansion).

[0385] This allows applications to dynamically run the minimum number of accelerators required without any notice, thus reducing power consumption. By using a mechanism to expand the capacity of accelerators and distribute the load, it is possible to prevent performance degradation caused by a small number of accelerators in operation.

[0386] As a result, there is no need to add power-saving functions to applications, and the performance of applications will not deteriorate as the power consumption of the accelerator is reduced, which can reduce the power consumption of the accelerator. In other words, the application can unconsciously and dynamically run the minimum required accelerator, thereby reducing power consumption. By using the mechanism of accelerator expansion and load distribution, it is possible to prevent performance degradation caused by a small number of accelerators in operation.

[0387] When a plurality of accelerators are mounted on a server that runs an application such as vRAN, the following effects can be obtained by applying the accelerator offloading device 100 .

[0388] Power saving: By always operating only the necessary accelerator, unnecessary power consumption can be reduced.

[0389] Performance: By adding more accelerators when demand increases, services can be prevented from being affected by insufficient performance.

[0390] The accelerator offloading device 100 of this embodiment is characterized in that the offloading destination determination unit 130 switches the offloading destination of a task on one accelerator to another accelerator when the traffic volume decreases, and the device control unit 150 performs accelerator downsizing by turning off the power of the accelerator.

[0391] By doing so, when there are surplus accelerator resources, the performance of the application will not be reduced, and the power consumption of the accelerator can be reduced. As a result, the power consumed by the multiple accelerators installed in the server can be minimized.

[0392] The accelerator offloading device 100 of this embodiment is characterized in that the device control unit 150 performs a power operation to turn on the power of the remaining accelerators, and the offloading destination determination unit 130 switches the offloading destination of a portion of the tasks on the accelerator with performance risk to the accelerator expansion of the accelerator.

[0393] In this way, power operations such as turning on the power of the remaining accelerators are performed to switch the offloading destination of some tasks on the accelerator with performance risk to the accelerator (accelerator expansion). This can prevent performance degradation caused by a small number of operating accelerators.

[0394] The accelerator offloading device 100 of this embodiment is characterized by comprising an offloading destination reconstruction unit 160 that recalculates the offloading destination based on the traffic information collected by the traffic collection unit 140 and provides the offloading destination reconstruction information to the offloading destination determination unit 130 .

[0395] By doing so, the change of the offload destination is triggered timely according to the traffic volume information, so that <Condition 2: Power saving> and <Condition 3: Performance> can be achieved at the same time.

[0396] The accelerator offloading device 100 of the present embodiment is characterized in that, as a reconstruction of the offloading destination in consideration of the optimal configuration, for example, in <Redetermination of ACC with Power Off>, when the power of an accelerator with greater power than the accelerator whose power is turned off by accelerator downsizing can be turned off, the offloading destination reconstruction unit 160 provides the offloading destination reconstruction information to the offloading destination determination unit 130 in order to modify the offloading destination of the task to the accelerator, and the offloading destination determination unit 130 modifies the offloading destination of the task based on the offloading destination reconstruction information, and the device control unit 150 turns off the power of the accelerator with greater power. In addition, as a reconstruction of the offloading destination in consideration of the optimal configuration, in <Load Distribution of Tasks>, the traffic volume collection unit 140 recalculates the offloading destination based on the acquired traffic volume information, and when the load distribution of the task can be performed for each minimum required ACC, in order to modify the offloading destination of the task, the offloading destination reconstruction information is provided to the offloading destination determination unit 130, and the offloading destination determination unit 130 modifies the offloading destination of the task.

[0397] By doing so, the device control unit 150 turns off the power of the high-power ACC by <re-determining the ACC with power turned off>, which can contribute to <condition 2: power saving>. In addition, when the workload increases by <distributing the load of tasks>, it can contribute to <condition 3: performance> by reducing the risk of performance degradation.

[0398] The accelerator unloading device 100 of the present embodiment is characterized by comprising: a performance acquisition unit 170, which acquires performance information including delay and throughput of the application; and a structure change trigger unit 180, which determines whether the accelerator should be scaled down or expanded based on the traffic information collected by the traffic collection unit 140 and the performance information acquired by the performance acquisition unit 170, triggers the accelerator to scale down or expand to the unloading destination determination unit 130, or triggers the unloading destination reconstruction to the unloading destination reconstruction unit 160.

[0399] By doing so, the structure change trigger unit 180 triggers the change of the offload destination in a timely manner according to the traffic volume and performance value, thereby achieving <Condition 2: Power saving> and <Condition 3: Performance> at the same time. Specifically, when the traffic volume obtained from the traffic volume collection unit 140 is less than the threshold, the structure change trigger unit 180 determines that <Resources are too many>, and by triggering the offload destination determination unit 130 to reduce the capacity, the reduction can be achieved in a timely manner, which is beneficial to <Condition 2: Power saving>. In addition, when the traffic volume obtained from the traffic volume collection unit 140 is more than the threshold, or the performance obtained from the performance acquisition unit 170 is lower than the threshold, the structure change trigger unit 180 determines that <Resources are too few>, and by triggering the offload destination determination unit 130 to expand the capacity, the expansion can be achieved in a timely manner, which is beneficial to <Condition 3: Performance>.

[0400] In addition, among the various processes described in the above embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically by a known method. In addition, the information on the processing sequence, control sequence, specific names, various data, and parameters included in the above articles and shown in the drawings can be changed arbitrarily unless otherwise specified.

[0401] In addition, the structural elements of each device shown in the figure are conceptual functions and do not necessarily need to be physically configured as shown in the figure. In other words, the specific distribution and integration of each device is not limited to the figure, and all or part of them can be functionally or physically distributed and integrated in arbitrary units according to various workloads or usage conditions.

[0402] In addition, part or all of the above-mentioned structures, functions, processing units, processing methods, etc. can also be implemented by hardware, such as by designing in an integrated circuit. In addition, the above-mentioned structures, functions, etc. can also be implemented by software for interpreting and executing programs for the processor to implement various functions. Information such as programs, tables, files, etc. that implement various functions can be stored in a recording device such as a memory, a hard disk, an SSD (Solid State Drive), or an IC (Integrated Circuit) card, an SD (Secure Digital) card, an optical disk, or other recording media.

[0403] Description of Reference Numerals

[0404] 1, 2, 30: APL (application / application);

[0405] 11, 21: ACC (accelerator) (equipment);

[0406] 13, 23: device queue (physical queue);

[0407] 15, 25: application threads;

[0408] 100: accelerator unloading device;

[0409] 110: Pseudo-equipment department;

[0410] 120: Uninstall destination connection unit;

[0411] 130: an unloading destination determination unit;

[0412] 140: Business volume collection department;

[0413] 150: Equipment control unit;

[0414] 160: Unload destination reconstruction unit;

[0415] 170: Performance Acquisition Department;

[0416] 180: Structural change triggering unit;

[0417] 200: Business volume forecasting department;

[0418] 201: device mapping table;

[0419] 202: application management table;

[0420] 203: Task list;

[0421] 204: Business scale;

[0422] 205: Equipment management table;

[0423] 1000: Power saving accelerator management system.

Claims

1. An accelerator unloading device, characterized in that: A plurality of accelerators are provided, and the accelerator unloading device unloads specific processing of the application to the accelerator, and the accelerator unloading device has: A traffic volume collection unit, which collects current traffic volume information of an object being offloaded and / or predicted traffic volume forecast information; a pseudo device unit for hiding the switching of the connection destination from the perspective of the application in a manner of disguising that the application is communicating with the accelerator; an uninstallation destination determination unit, which determines an uninstallation destination based on the traffic information collected by the traffic collection unit, and provides uninstallation destination information for the application; an offload destination connecting unit, which connects the pseudo device unit and an accelerator at the offload destination according to the offload destination information provided by the offload destination determining unit; and The device control unit performs a power operation of turning on or off a power source of a device including the accelerator according to an instruction of the unloading destination determination unit.

2. The accelerator unloading device according to claim 1, characterized in that: The offload destination determination unit switches the offload destination of the task on one of the accelerators to another of the accelerators when the traffic volume decreases, and the device control unit performs accelerator downsizing to turn off the power of the accelerator.

3. The accelerator unloading device according to claim 1, characterized in that: The device control unit performs a power operation to turn on the power of the remaining accelerators, and the offload destination determination unit performs accelerator expansion to switch the offload destination of a part of the tasks on the accelerator with performance risk to the accelerator.

4. The accelerator unloading device according to claim 1, characterized in that: have: The off-load destination reconstruction unit recalculates the off-load destination based on the traffic volume information collected by the traffic volume collection unit, and provides the off-load destination reconstruction information to the off-load destination determination unit.

5. The accelerator unloading device according to claim 4, characterized in that: When the power of the accelerator having greater power than the accelerator whose power is turned off by accelerator scaling down can be turned off, the offloading destination reconstruction unit provides the offloading destination reconstruction information to the offloading destination determination unit in order to modify the offloading destination of the task to the accelerator. The unloading destination determination unit modifies the unloading destination of the task based on the unloading destination reconstruction information, The device control unit turns off the power of the high-power accelerator.

6. The accelerator unloading device according to claim 4, characterized in that: The offload destination reconstruction unit recalculates the offload destination based on the traffic volume information collected by the traffic volume collection unit, and provides the offload destination reconstruction information to the offload destination determination unit in order to modify the offload destination of the task when the load of the task can be distributed for each minimum required accelerator. The offload destination determination section modifies the offload destination of the task based on the offload destination reconstruction information.

7. The accelerator unloading device according to claim 4, characterized in that: have: A performance acquisition unit, configured to acquire performance information including delay and throughput of the application; as well as A structural change triggering unit determines whether to issue accelerator capacity reduction or accelerator capacity expansion based on the business volume information collected by the business volume collection unit and the performance information obtained by the performance acquisition unit, triggers accelerator capacity reduction or accelerator capacity expansion for the unloading destination determination unit, or triggers unloading destination reconstruction for the unloading destination reconstruction unit.

8. An accelerator unloading method, characterized in that: An accelerator unloading method for an accelerator unloading device, wherein the accelerator unloading device has a plurality of accelerators, and the accelerator unloads specific processing of an application to the accelerator. The accelerator unloading device performs: A step of collecting current traffic volume information of the object being offloaded and / or predicted traffic volume information; hiding the step of switching the connection destination from the application's perspective in a manner that disguises that the application is communicating with the accelerator; Determine an offload destination based on the collected traffic information, and provide offload destination information for the application; A step of connecting the application to the accelerator of the uninstallation destination according to the provided uninstallation destination information; as well as Following the instructions, a power operation step of turning the power of the device including the accelerator on or off is performed.

9. A program for causing a computer to function as the accelerator unloading device according to any one of claims 1 to 7.