Banner Banner

IOSIG: Declarative I/O-stream properties using pragmas

Masoud Gholami
Florian Schintke

June 20, 2022

Non-functional properties of IO-streams are typically not specified and passed to the used middleware or operating system. Knowing properties such as the expected access pattern, reliability, and visibility for data would allow a better storage resource selection by the infrastructure and thus could improve overall performance. With pragma annotations, we let developers declare the intended data access for their file descriptors and automatically redirect the corresponding input/output to the most appropriate storage device of the user’s system. Our automatic resource selection lets applications leverage system storage capabilities better, often delivers improved performance (in some cases by orders of magnitude), and relieves uninformed users from having to make the best choice manually.