290 likes | 383 Views
Accumulative Versioning File System Moraine and Its Application to Metrics Environment Mame. Tetsuo Yamamoto * Makoto Matsushita * Katsuro Inoue *,** * Osaka University, Japan ** Nara Institute of Science and Technology, Japan. Disc Capacity of 1995. $200-------- 0.54 Gbytes.
E N D
Accumulative Versioning File System Moraine and Its Application to Metrics Environment Mame Tetsuo Yamamoto * Makoto Matsushita * Katsuro Inoue *,** * Osaka University, Japan ** Nara Institute of Science and Technology, Japan
Disc Capacity of 1995 $200-------- 0.54Gbytes Free Space 0.39Gbytes Linux (Slackware2.2[Basic Applications+X window]) 0.15Gbytes
0.39Gbytes 100times 6times 0.15Gbytes Disc Capacity of 2000 $200 -------- 40Gbytes Free Space 39Gbytes Linux (RedHat7[Basic Applications+X window]) 1Gbytes
Benefits of Large Disc Capacity • Ordinary PC users • JPEG, MPEG, MP3, HTML, ... • Our Software Engineers • ? • We still use software product management scheme which were devised and developed under limited disc capacity in old days.
Archiving Software Product Evolution • 5 years ago, it was very expensive, practically impossible. • Now, it may be possible. FreeBSD 4.1.1 FreeBSD 2.0 23 Release Versions 100Mbytes 270Mbytes Develop using CVS 1994 2000 Current Archive Size 1Gbytes Current disks have enough space to archive product evolutions made by each engineer.
Development of Moraine and Mame Based on this motivation, we have devised two things. • Automatic SE product archive scheme -> Versioning file system Moraine Open structured, Non-proprietary • Quantitative development management framework -> Metrics environment Mame (Moraine As a Metrics Environment)
Design Policies of Moraine • Automatic Archiving • Moraine automatically records the fine-grained versions of all files. • Easy Operation • Users are not required to learn how to use Moraine. To do this, usual file read/write operations are hooked, and versioning works are performed by Moraine. • Open Structure • Moraine does not have to have proprietary data repository or versioning tools.
Newer Newer Newer Repository Actual file structure User Access Latest version file Users surface view Features of Moraine • Moraine always shows the only latest version in the repository to the user.
VFS Vertical File System Architecture of Moraine User Kernel User User Process VFS VCD Vertical File System Version Control Daemon VersionManagement Sub-System UFS Unix File system RCS VFS is designed as a stackable file system. It is a logical file system above physical file system like UFS. HDD Control Commands -retrieve versions -show a delta
Stackable File System • Stackable file system can be constructed without changing existent file system. • The output of a stackable file system is a file sent to the lower file system. • Stackable file system has a portability.
VCD Version Control Daemon VCD is a daemon process which acts as a bridge between the kernel and the version management sub-system. Architecture of Moraine User Kernel User User Process VFS VCD Vertical File System Version Control Daemon Control commands help to manage system behavior. VersionManagement Sub-System UFS RCS The version management sub-system performs the version create work such as delta computing between versions. HDD Control Commands -retrieve versions -show a delta
Evaluation of Moraine • To know that Moraine is practically acceptable, we have measured system performance and stored data size. • Measurement environment • We have compared Raw UFS (UNIX file system) with Moraine. • Machine: Pentium 166MHZ/48MB RAM We used such a low performance computer to increase comparison sensitivity.
Evaluation -Read- • We have measured a response time for a UNIX process to read files.
Evaluation -Write- • We have measured a response time for a UNIX process to write files.
Evaluation -Write- • We have measured a response time for a UNIX process to write files. Moraine+Sync: time for completion of all write operations
Evaluation -Data Size- 1/2 • We have applied Moraine to the student project of our university.
Overviews of Mame • Mame uses Moraine to collect metrics data. • Mame(Moraine As a Metrics Environment) is an infrastructure for quantitative product measurement of ordinary software development activities.
Features of Mame • Engineers do not need to change their working environments. • The data of various activities on the environment is automatically collected. • Mame provides fine-grained data and can be abstracted. • The data format is non-proprietary.
Development Environment -Metrics Tools -Version Viewer Architecture of Mame • Development environment for software engineers is put above Moraine. Development Activities Analysis data Moraine Read/Write files VFS VCD UFS RCS HDD Commands
Experiment of Using Mame • We have applied Mame to the student project which is the same one used as the evaluation of Moraine. • The metrics data was obtained after the project termination. • Metrics data • The number of files • The total lines of codes in the files • The number of C functions in the source files
Product Evolution 1/2 • The horizontal axis is the cumulative number of versions for C source files 147 147
Product Evolution 2/2 • The developer first created skeleton of functions, then he filled function bodies. 147
Discussions(Moraine) • Moraine automatically collects all versions of all files created or modified. • We can recover any old files and any old versions if necessary. • The performance of Moraine is enough as a basis of software development platforms.
Discussions(Mame) • There are no specific enforcement to the developers. • We can set up or change data collection policy during the project or after the project. • Ordinary metrics environmentsrequire predetermined data collection policy.
Related Work • COMPAQ(DEC) OpenVMS • The file system is the proprietary system. • ClearCase, PVCS, Visual Source Safe • Users have to recognize the systems and to issue check-in/check-out commands for the version management. • 3D Filesystem • Registering a new version requires some supporting tools associated with the file system. Our Moraine does not need any knowledge or commands of archiving for users.
Conclusion • We presented Moraine that automatically records the history of files. It is very practical. • We also presented Mame which collects data of various activities without a burden to the developers. This approach would be one answer to rapid increase of disk space.