버퍼링에 관한 문제

sungjin의 이미지

프로그램 개발 중에 HDD 관련 데이터를 버퍼링해야 하는 문제가 생겼습니다.

주어진 시간안에 동작을 끝마쳐야 하는데, 이 동작은 Processing하는 부분과 HDD에 파일로 Read/Write하는 동작으로 이루어져 있습니다.

Processing하는 부분은 고칠수가 없고, 파일 Read/Write하는 부분은 버퍼링또는 버퍼캐쉬를 이용해서 개선시켜볼려고 합니다.

구현이 쉬운 파일 데이티 버퍼링 알고리즘이나 참조할 만한 자료가 있다면 알려주시면 고맙겠습니다.

감사합니다.

익명 사용자의 이미지

가장 빠른 IO는 mmap을 이용하는 것입니다.(메모리 점유가 크다는 단점이...)
유닉스/리눅스의 버퍼캐시를 모방해서 응용수준에서 한번~ 더 구현하는 것도 방법이겠고,
circular queue와 같은 버퍼를 공유메모리에 두고, 하는 방법도 있겠군요.

짬뽕해서 한번 만들어보세요.