Я пытаюсь выполнить простое смущающее параллельное чтение 24 файлов научных данных, каждый размером ~ 250 МБ, то есть всего ~ 6 ГБ.Данные представлены в формате 2D-массива.Он хранится в параллельной файловой системе и считывается из кластера, хотя сейчас я читаю только с одного узла.Данные в формате, аналогичном HDF5 (называется Adios), и считываются аналогично пакету h5py.Каждый файл занимает около 4 секунд для чтения.Я следую примеру лыжного мага, который читается здесь (http://docs.dask.org/en/latest/array-creation.html). Однако, я никогда не набираю скорость, независимо от того, сколько рабочих. Я подумал, что, возможно, я использовал это неправильно, и, возможно, использовал только 1 работника, нокогда я заполняю его, кажется, что там 24 работника. Как мне ускорить чтение этих данных?
import adios as ad
import numpy as np
import dask.array as da
import dask
bpread = dask.delayed(lambda f: ad.file(f)['data'][...],pure=True)
lazy_datas = [bpread(path) for path in paths]
sample = lazy_datas[0].compute()
#read in data
arrays = [da.from_delayed(lazy_data,dtype=sample.dtype,shape=sample.shape) for lazy_data in lazy_datas]
datas = da.stack(arrays,axis=0)
datas2 = datas.compute(scheduler='processes',num_workers=24)