libsysve  2.9.0
Accelerated I/O

"Accelerated I/O" is a feature which improves I/O performance by efficient data transfer between VE and VH. More...

int ve_is_acc_io_enabled (void)
 Accelerated IO APIs. More...
 

Detailed Description

"Accelerated I/O" is a feature which improves I/O performance by efficient data transfer between VE and VH.

The throughput and the latency of the below read/write family system calls will be improved.

Please set environment variable VE_ACC_IO=1 to enable accelerated I/O.

$ export VE_ACC_IO=1
$ ./a.out
Note
A VE process uses 32 huge pages (64MB huge pages memory), when Accelerated I/O is enabled.
Data is transferred every 4MB when accelerated I/O is enabled. So, read/write family system calls will not be atomic when the size is more than 4MB.

Users can set the environment variable VE_ACC_IO_VERBOSE=1 to display whether accelerated IO is enabled or disabled to standard error when exit VE process.

$ export VE_ACC_IO=1
$ export VE_ACC_IO_VERBOSE=1
$ ./a.out
Accelerated IO is enabled
$ export -n VE_ACC_IO
$ export VE_ACC_IO_VERBOSE=1
$ ./a.out
Accelerated IO is disabled

Function Documentation

int ve_is_acc_io_enabled ( void  )

Accelerated IO APIs.

Please include "libsysve.h" in the source file. This is a function of libsysve which checks accelerated IO is enabled or disabled.

Note
Even if user sets the environment variable to enable accelerated IO, accelerated IO might be disabled in case of no enough resource. At that time, this function returns 0.
If a multi-thread program requests IOs in parallel, all of them might not be handled as accelerated IOs. Some of them might be handled as normal IOs due to lack of resources. This function returns 1 if at least one IO is handled as an accelerated IO.
Return values
0Accelerated IO is disabled.
1Accelerated IO is enabled.
-1On failure