Mam aplikację, która może być trywialnie zrównoleglona, ale jej działanie jest w dużej mierze zależne od operacji we / wy. Aplikacja odczytuje pojedynczą tablicę wejściową przechowywaną w pliku, który zwykle ma rozmiar 2-5 GB (ale spodziewam się, że liczba ta wzrośnie w przyszłości). Typowe obliczenia stosują tę samą operację do każdego wiersza lub kolumny tej tablicy. W przypadku operacji o dużym obciążeniu procesora uzyskuję bardzo dobre skalowanie do około 100 procesorów, ale w przypadku wolniejszych operacji dominują operacje we / wy i związana z nimi komunikacja (dostęp do systemu plików NFS) i nie mogę efektywnie używać więcej niż kilku procesorów.
Jakie są wydajne i przenośne (najlepiej przenośne) opcje w takiej sytuacji? Równoległy HDF5 wydaje się obiecujący. Czy ktoś ma z tym prawdziwe doświadczenie?
Czy MPI-I / O byłoby czymś wartym uwagi? Czy może efektywnie współpracować z danym układem plików, czy też muszę wszystko dostosowywać?