Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: Hosting daily gx86 squashfs images and deltas
Date: Fri, 17 Jan 2014 16:30:16
Message-Id: 52D95A83.5030804@gentoo.org
In Reply to: [gentoo-dev] RFC: Hosting daily gx86 squashfs images and deltas by "Michał Górny"
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA256
3
4 On 17/01/14 11:27 AM, Michał Górny wrote:
5 > Hello, all.
6 >
7 > I'm using squashfs to hold my Gentoo repositories on all of my
8 > systems for some time. As you probably know, this allows me to save
9 > space while keeping portage fast. However, it makes updating the
10 > tree quite burdensome and time-consuming.
11 >
12 > We're already hosting daily gx86 tarballs on our mirrors, and
13 > deltas made using diffball. Those can be used with Zac's
14 > emerge-delta-webrsync to get daily updates done with minimal
15 > network overhead. Sadly, it takes the whole process even more time
16 > consuming :).
17 >
18 > Therefore, I'd like to suggest an alternative solution that could
19 > help out Gentoo users that use squashfs for gx86 and would like to
20 > be able to get daily updates fast and easy.
21 >
22 > The idea is to host -- along with the tarballs -- daily squashfs
23 > images of gx86 in a chosen format. Additionally, the images would
24 > come with deltas made using xdelta3 or a similar tool. Those deltas
25 > -- with a slight download overhead -- would allow very fast
26 > updates 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 96M portage-20140109.sqfs 96M
33 > portage-20140110.sqfs 96M portage-20140111.sqfs 96M
34 > portage-20140112.sqfs 96M portage-20140113.sqfs 97M
35 > portage-20140114.sqfs 97M portage-20140115.sqfs
36 >
37 > For deltas, I've used xdelta3 with max compression (-9) and djw
38 > secondary compression (it gave ~0.1M smaller files than fgk and
39 > ~0.5M gain than with no secondary compression).
40 >
41 > 4,9M portage-20140108.sqfs-portage-20140109.sqfs.vcdiff.djw 6,3M
42 > portage-20140109.sqfs-portage-20140110.sqfs.vcdiff.djw 5,6M
43 > portage-20140110.sqfs-portage-20140111.sqfs.vcdiff.djw 8,9M
44 > portage-20140111.sqfs-portage-20140112.sqfs.vcdiff.djw 6,3M
45 > portage-20140112.sqfs-portage-20140113.sqfs.vcdiff.djw 7,8M
46 > portage-20140113.sqfs-portage-20140114.sqfs.vcdiff.djw 8,5M
47 > portage-20140114.sqfs-portage-20140115.sqfs.vcdiff.djw
48 >
49 > As you can see, the deltas are quite large compared to the actual
50 > changes. However, we could have expected that since we're diffing a
51 > compressed filesystem. What's important, however, is that applying
52 > it takes ~2.5 second on my 2 GHz Athlon64.
53 >
54 > So, even with the extra download time, the update is much faster
55 > than recreating the squashfs. And unlike some types of unionfs, it
56 > doesn't come with extra runtime slowdown.
57 >
58 > What do you think?
59 >
60
61 PLEASE DO! This sounds fantastic, and is something i've been
62 considering proposing for some time.
63 -----BEGIN PGP SIGNATURE-----
64 Version: GnuPG v2.0.22 (GNU/Linux)
65
66 iF4EAREIAAYFAlLZWoMACgkQ2ugaI38ACPAb0gEAwFPWdtI5J8l9QH1YTrKe2Mbm
67 OwPL4wGg9ORaHv0FkVcA/iLsP/z3uz3sJoWciR5ZCZ73HblyDgH/flAhakNhl3NZ
68 =ool3
69 -----END PGP SIGNATURE-----