180 likes | 293 Vues
This research explores the performance of Linux memory-mapped file system calls, specifically comparing `mmap` to the traditional `read` system call. The study involves reading a 256MB file on a system with 128MB of memory, and it seeks to classify performance inconsistencies and identify their root causes. Initial findings indicated slowdowns linked to I/O pauses, prompting the development of a rigorous test suite. The research concludes that inconsistencies and slowdowns are primarily due to the I/O disk scheduler, necessitating further testing with various kernel modifications for deeper analysis.
E N D
CS Honors Research:Memory Mapped files in LinuxResults Kousha Najafi Prof: Eddie Kohler Grad Student: Steve VanDeBogart 6.6.08
Research Topic • Explore Linux memory-mapped-file system call performance. • Find and classify inconsistencies when compared to read system call
mmap vs read (Forwards old) Reading 256MB file on system with 128MB memory
mmap vs read (Forwards) Reading 256MB file on system with 128MB memory
mmap vs read (Backwards old) Reading 256MB file on system with 128MB memory
mmap vs read (Backwards) Reading 256MB file on system with 128MB memory
Progress • Figure out what causes the inconsistencies • Inconsistencies in timing fixed by slowing down algorithm. • Figure out what causes the slowdown • Slowdown caused by pauses in io • Slowdown and inconsistencies are related
Methods of attack • Jump in and investigate source • Used small test programs to show ideas • Good progress in beginning • Reached a brick wall • Expanded test suit to cover more cases • Strengthened code to include more cases
Methods of attack (Continued) • Started to simulate algorithm • Started with block traces • Block traces looked very similar • The real problem showed itself…
Conclusions • Inconsistencies and slowdowns appear to be due to io disk scheduler • More tests need to be done with various modifications kernels to further isolate problem