This program represents the original I/O behavior found in the CacluliX application.
It writes simulation results to a file in
The structure of the program is given by the following (pseudo) code:
open("output.frd") do i = 1, NUM_NODES write(*,*) node_properties(i) end do close("output.frd")
The number of nodes (
NUM_NODES) is typically in the order of millions.
Each node stores some kind of physical information (e.g. stress, flux, …).
In order to write these information to a file the program iterates over all nodes and issues a single write operation per node.
Each write operation writes data in a very small chunk (e.g. 8 byte) and there are millions of them.
In this original version of the program the I/O operations are not buffered by the operating system. Thus, this results in a performance degradation.The following experiments have been registered: