Next: 5.3 Lessons to be
Up: 5. Evaluation Plan
Previous: 5.1 Criteria for Success
5.2 Experiments
I intend to compare file systems in several categories:
- In-kernel file systems produced automatically using FiST against
in-kernel hand written ones. For example Cachefs as described in Appendix
sec-appendix-typical-persistent-cachefs and [SunSoft94].
- User-level file systems produced automatically using FiST against
user-level hand written ones. For example Cryptfs as described in Appendix
sec-appendix-typical-in-core-cryptfs and [Blaze93].
- FiST generated file systems against another system that provides
native stacking, such as UCLA's work [Heidemann94].
- Various FiST generated file systems vs. each other. For example an
in-kernel Gzipfs (Appendix sec-appendix-typical-in-core-gzipfs)
against a user-level one.
For each category, I will run the following tests:
- 1.
- Compare the performance of the file systems with similar or identical
functionality.
- 2.
- Compare the size of the FiST input to the generated C code.
- 3.
- Compare the size of the FiST generated code to that of hand-written
file systems (when sources for the latter are available).
- 4.
- Compare the effort required to write a file system using FiST vs. hand
writing one (pending the availability of such information.)
Additionally I intend to find out how many different operating systems I can
generate a file system for, from the same FiST input.
Next: 5.3 Lessons to be
Up: 5. Evaluation Plan
Previous: 5.1 Criteria for Success
Erez Zadok
1999-12-07