For a project I have to deal with a dataset of 30 GB. I can use a very powerful supercomputer which would allow me to store all the dataset in the RAM memory for computing calculations on it (I would need the whole dataset for some of the algorithms I have to implement). The problem is that loading the dataset is still very slow.
I would like to ask you for practical suggestions to speed up the process. My idea was to divide the loading process into C++11 explicit threads, which would load separate chunks of data based on the thread index. I have also heard of the STXXL library, which however seems to deal with out-of-core computations, hence without loading data on the RAM (which I would like to avoid, since I have the necessary RAM — and I think I may obtain a result faster by loading the dataset on it).