accumulative versioning file system moraine and its application to metrics environment mame

29
1 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

Upload: shelley

Post on 17-Jan-2016

26 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

1

Accumulative Versioning File System Moraine and Its Application to Metrics Environment MameTetsuo Yamamoto *

Makoto Matsushita *

Katsuro Inoue *,**

* Osaka University, Japan** Nara Institute of Science and Technology, Japan

Page 2: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

2

Disc Capacity of 1995

$200-------- 0.54Gbytes

Linux (Slackware2.2[Basic

Applications+X window]) 0.15Gbytes

Free Space0.39Gbytes

Page 3: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

3

Disc Capacity of 2000

$200 -------- 40Gbytes

Linux (RedHat7[Basic Applications+X

window]) 1Gbytes

Free Space39Gbytes

0.39Gbytes

100times

0.15Gbytes

6times

Page 4: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

4

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.

Page 5: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

5

Archiving Software Product Evolution

5 years ago, it was very expensive, practically impossible.Now, it may be possible.

Current disks have enough space to archive product evolutions made by each engineer.

FreeBSD 2.0

1994 2000

FreeBSD 4.1.1

Current Archive Size 1Gbytes

100Mbytes 270MbytesDevelop using CVS

23 Release Versions

Page 6: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

6

Development of Moraine and Mame

Based on this motivation, we have devisedtwo things.

Automatic SE product archive scheme-> Versioning file system Moraine

Open structured, Non-proprietaryQuantitative development management framework

-> Metrics environment Mame (Moraine As a Metrics Environment)

Page 7: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

7

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.

Page 8: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

8

Features of Moraine

Moraine always shows the only latest version in the repository to the user.

Newer

Repository

AccessUser

Actual file structure

Newer

Latest version file

Users surface view

Newer

Page 9: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

9

Architecture of MoraineUser UserKernel

HDD

UserProcess

VFS VCD

RCS

UFSVersion ManagementSub-System

-retrieve versions-show a delta

Control Commands

Vertical File System Version Control Daemon

Unix File system

VFS is designed as a stackable file system. It is a logical file system above physical file system like UFS.

VFSVertical File System

Page 10: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

10

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.

Page 11: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

11

Architecture of MoraineUser UserKernel

HDD

UserProcess

VFS VCD

RCS

UFSVersion ManagementSub-System

-retrieve versions-show a delta

Control Commands

Vertical File System Version Control Daemon

The version management sub-system performs the version

create work such as delta computing between versions.

VCDVersion Control Daemon

VCD is a daemon process which acts as a bridge between the kernel and

the version management sub-system.

Control commands help to manage system behavior.

Page 12: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

12

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.

Page 13: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

13

Evaluation -Read-We have measured a response time for a UNIX process to read files.

0123456789

10

1 2 3 4 5 6 7 8 9 10# of sequentical file read(1MB distinct files each)

Tim

e(S

ec.

) MoraineRaw UFS

Page 14: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

14

Evaluation -Write-We have measured a response time for a UNIX process to write files.

0

5

10

15

20

25

30

35

1 2 3 4 5 6 7 8 9 10# of sequentical file write(1MB distinct files each)

Tim

e(S

ec.

) MoraineRaw UFS

Page 15: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

15

Evaluation -Write-We have measured a response time for a UNIX process to write files.

Moraine+Sync: time for completion of all write operations

0

5

10

15

20

25

30

35

1 2 3 4 5 6 7 8 9 10# of sequentical file write(1MB distinct files each)

Tim

e(S

ec.

)

Moraine+SyncMoraineRaw UFS

Page 16: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

16

Evaluation -Data Size- 1/2

Student1

Student2

Student3

LOC 9339 4067 2543

# of files 45 20 18Final file size(KB)

225 117 73

# of all versions

533 249 357

# of versions of source codes

311 147 247

We have applied Moraine to the student project of our university.

Student1

Student2

Student3

LOC 9339 4067 2543

# of files 45 20 18Final file size(KB)

225 117 73

# of all versions

533 249 357

# of versions of source codes

311 147 247

Page 17: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

17

Evaluation -Data Size- 2/2

225

1388

117

546

73

604

0

200

400

600

800

1000

1200

1400

KB

Student1 Student2 Student3

Raw UFS

Moraine

Page 18: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

18

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.

Page 19: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

19

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.

Page 20: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

20

Architecture of Mame

Development environment for software engineers is put above Moraine.

DevelopmentEnvironment

-Metrics Tools-Version Viewer

Read/Write files

DevelopmentActivities

Analysis data

HDD

VFS VCD

UFSRCS

Commands

Moraine

Page 21: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

21

Experiment of Using MameWe 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

Page 22: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

22

Product Evolution 1/2

The horizontal axis is the cumulative number of versions for C source files

LOC

0

1000

2000

3000

4000

5000

0 50 100

versions

lines

The number of files

0

5

10

15

20

25

0 50 100

versions

#

147 147

Page 23: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

23

Product Evolution 2/2The number of C functions

0

20

40

60

80

100

120

0 50 100

versions

#

The developer first created skeleton of functions, then he filled function bodies.

147

Page 24: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

24

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.

Page 25: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

25

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 environments

require predetermined data collection policy.

Page 26: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

26

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.

Page 27: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

27

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.

Page 28: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

28

The End

Page 29: Accumulative Versioning File System  Moraine  and Its Application to Metrics Environment  Mame

29

Version Viewer