SERVER INTERNAL DATA TRANSFER DEVICE, SERVER INTERNAL DATA TRANSFER METHOD, AND PROGRAM
A controller that transmits data from a device including an accelerator to an application when the device is used for the application includes: a packet arrival monitoring unit that monitors communication between the device and an APP thread corresponding to the application and measures a packet arrival timing; and a polling control unit that wakes up the APP thread and causes the APP thread to perform packet processing at the time of packet arrival at which the packet arrival monitoring unit detects the packet arrival and causes the APP thread to sleep when there is no packet arrival.
1 . An on-server data transmission device that transmits data from a HW (Hardware) device including an accelerator to an application when the HW device is used for the application, the on-server data transmission device comprising:
at least one processor with memory,
a packet arrival monitor configured to monitor communication between the HW device and an APP (application) thread corresponding to the application and measures a packet arrival timing; and
a polling controller configured to wake up the App thread and causes the APP thread to perform packet processing at a time of packet arrival at which the packet arrival monitoring unit detects the packet arrival; and causes the APP thread to sleep when there is no packet arrival.
2 . The on-server data transmission device according to claim 1 , comprising:
a pseudo device configured to correspond to a physical queue and to cause the APP thread to perform packet processing by using a virtual queue instead of the physical queue of the HW device and thereby to connect the HW device to the application; and
a proxy configured to dynamically change connection between the virtual queue and the physical queue.
3 . An on-server data transmission method of an on-server data transmission device that transmits data from a HW device including an accelerator to an application when the HW device is used for the application, the on-server data transmission device executing:
monitoring communication between the HW device and an APP (application) thread corresponding to the application and measuring a packet arrival timing; and
waking up the APP thread and causing the APP thread to perform packet processing at a time of packet arrival at which arrival of a packet is detected and causing the APP thread to sleep when there is no packet arrival.
4 . A non-transitory computer-readable storage medium storing a program that causes a computer serving as an on-server data transmission device that transmits data from a HW device including an accelerator to an application when the HW device is used for the application to execute:
a packet arrival monitoring of monitoring communication between the HW device and an APP (application) thread corresponding to the application and measuring a packet arrival timing; and
a polling control of waking up the APP thread and causing the APP thread to perform packet processing at the time of packet arrival at which arrival of a packet is detected and causing the APP thread to sleep when there is no packet arrival.