Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: antarus@g.o
Subject: Re: [gentoo-dev] RFC: Hosting daily gx86 squashfs images and deltas
Date: Fri, 17 Jan 2014 18:53:59
Message-Id: 20140117195344.42652878@pomiot.lan
In Reply to: Re: [gentoo-dev] RFC: Hosting daily gx86 squashfs images and deltas by Alec Warner
1 Dnia 2014-01-17, o godz. 10:18:58
2 Alec Warner <antarus@g.o> napisał(a):
3
4 > On Fri, Jan 17, 2014 at 8:27 AM, Michał Górny <mgorny@g.o> wrote:
5 >
6 > > Hello, all.
7 > >
8 > > I'm using squashfs to hold my Gentoo repositories on all of my systems
9 > > for some time. As you probably know, this allows me to save space while
10 > > keeping portage fast. However, it makes updating the tree quite
11 > > burdensome and time-consuming.
12 > >
13 > > We're already hosting daily gx86 tarballs on our mirrors, and deltas
14 > > made using diffball. Those can be used with Zac's emerge-delta-webrsync
15 > > to get daily updates done with minimal network overhead. Sadly, it
16 > > takes the whole process even more time consuming :).
17 > >
18 > > Therefore, I'd like to suggest an alternative solution that could help
19 > > out Gentoo users that use squashfs for gx86 and would like to be able
20 > > to get daily updates fast and easy.
21 > >
22 > > The idea is to host -- along with the tarballs -- daily squashfs images
23 > > of gx86 in a chosen format. Additionally, the images would come with
24 > > deltas made using xdelta3 or a similar tool. Those deltas -- with
25 > > a slight download overhead -- would allow very fast updates
26 > > of the squashfs.
27 > >
28 > > Now some numbers. I did some tests 'converting' late gx86 daily
29 > > tarballs to squashfs. I've used squashfs 4.2 with LZO compression
30 > > since it's quite good and very fast.
31 > >
32 > > 96M portage-20140108.sqfs
33 > > 96M portage-20140109.sqfs
34 > > 96M portage-20140110.sqfs
35 > > 96M portage-20140111.sqfs
36 > > 96M portage-20140112.sqfs
37 > > 96M portage-20140113.sqfs
38 > > 97M portage-20140114.sqfs
39 > > 97M portage-20140115.sqfs
40 > >
41 > > For deltas, I've used xdelta3 with max compression (-9) and djw
42 > > secondary compression (it gave ~0.1M smaller files than fgk
43 > > and ~0.5M gain than with no secondary compression).
44 > >
45 > > 4,9M portage-20140108.sqfs-portage-20140109.sqfs.vcdiff.djw
46 > > 6,3M portage-20140109.sqfs-portage-20140110.sqfs.vcdiff.djw
47 > > 5,6M portage-20140110.sqfs-portage-20140111.sqfs.vcdiff.djw
48 > > 8,9M portage-20140111.sqfs-portage-20140112.sqfs.vcdiff.djw
49 > > 6,3M portage-20140112.sqfs-portage-20140113.sqfs.vcdiff.djw
50 > > 7,8M portage-20140113.sqfs-portage-20140114.sqfs.vcdiff.djw
51 > > 8,5M portage-20140114.sqfs-portage-20140115.sqfs.vcdiff.djw
52 > >
53 > > As you can see, the deltas are quite large compared to the actual
54 > > changes. However, we could have expected that since we're diffing
55 > > a compressed filesystem. What's important, however, is that applying
56 > > it takes ~2.5 second on my 2 GHz Athlon64.
57 > >
58 >
59 > It wasn't clear to me, are these trees with metadata included?
60
61 Yes, full metadata with md5-cache. That's the same thing you get via
62 'emerge --sync'. And that's why the deltas are so big -- I recall three
63 big cache updates this week.
64
65 --
66 Best regards,
67 Michał Górny

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] RFC: Hosting daily gx86 squashfs images and deltas Christopher Head <chead@×××××.ca>