매우 CPU 집약적 인 (프로 시저 바인딩 된) 과학적 소프트웨어로 작업하고 있지만 디스크에 데이터를 자주 작성해야합니다./o 경계).계산 집약적 인 작업을 수행하는 동안 디스크에 데이터를 효율적으로 저장하는 방법
이 (OpenMP)에 병렬 처리를 추가하고 디스크 쓰기 요구 사항을 해결하는 가장 좋은 방법이 무엇인지 궁금합니다. 시뮬레이션이 HDD에서 기다려야하는 이유는 없습니다 (현재 진행중입니다).
나는 이것을위한 '우수 사례'를 찾고 있는데, 속도는 내가 가장 신경 쓰는 부분이다 (이것들은 대단히 긴 시뮬레이션 일 수있다). 하나의 CPU 바인딩 (시뮬레이션)이고 다른 하나는 IO-바인딩 :
감사 ~ 알렉스
먼저 생각 : 시뮬레이션은 두 개의 프로세스를 가지고 있으므로 별도의 프로세스를 가진
디스크에 실제 기록을 (파일 쓰기). 이것은 복잡하게 들린다.
아마도 파이프/버퍼일까요? 나는 이것들에 익숙하지 않으므로 가능한 해결책 일 수 있습니다.
나는 1 방향 파이프가 내가 갈 방법이라고 생각한다. 나는 너무 심하게 막는 문제에 직면 할 것이라고 생각하지 않는다. theres 많은 데이터가 생성되지, 난 단지 스레드를 분리 싶었어요. 많은 양의 데이터를 생성하는 경우 실제 보관해야 할 데이터 양을 재고해야합니다. – machinaut