9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] Regarding venti block size
@ 2009-02-16 10:25 anooop.anooop
  2009-02-16 11:52 ` matt
                   ` (6 more replies)
  0 siblings, 7 replies; 16+ messages in thread
From: anooop.anooop @ 2009-02-16 10:25 UTC (permalink / raw)
  To: 9fans

Hello All,

I want to store some big files on venti.  size range around 200MB.  Is
there any way to do this?

This is what I get when I try to store files of size around 300KB :
"write: input too big: max block size is 57344"

I was wondering may be if increase the block size in arena partition
this can be done. so I tried to format arena with block size 200M but
it gave the error below.

"anoop@allatoona:/usr/local/plan9/bin$ venti/fmtarenas -a 3800M -b
200M  arenas0. /dev/sda6 &
[1] 32604
anoop@allatoona:/usr/local/plan9/bin$ block size too large, max 65536"

Any help is greatly appreciated.

Thanks.

Regards,
Anoop



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9fans] Regarding venti block size
  2009-02-16 10:25 [9fans] Regarding venti block size anooop.anooop
@ 2009-02-16 11:52 ` matt
  2009-02-16 14:16   ` erik quanstrom
  2009-02-16 14:20 ` erik quanstrom
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 16+ messages in thread
From: matt @ 2009-02-16 11:52 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

anooop.anooop@gmail.com wrote:
> Hello All,
>
> I want to store some big files on venti.  size range around 200MB.  Is
> there any way to do this?
>
> This is what I get when I try to store files of size around 300KB :
> "write: input too big: max block size is 57344"
>
> I was wondering may be if increase the block size in arena partition
> this can be done. so I tried to format arena with block size 200M but
> it gave the error below.
>
> "anoop@allatoona:/usr/local/plan9/bin$ venti/fmtarenas -a 3800M -b
> 200M  arenas0. /dev/sda6 &
> [1] 32604
> anoop@allatoona:/usr/local/plan9/bin$ block size too large, max 65536"
>

why are you choosing such a big block size ?

Blocks size and file size are related such that ceil(filesize /
blocksize) = numberofblocks

The larger the blocksize the less likely you are of coalescing any (or
that's what my intuition says). Sure, there's a tradeoff but the
research has been done already and < 64k blocks looks to have been found
appropriate.


If your file is 300Kb and your blocksize 200M then every distinct 300kB
file will occupy 200Mb of actual disk.


Also, 200Mb is not a big file!!









^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9fans] Regarding venti block size
  2009-02-16 11:52 ` matt
@ 2009-02-16 14:16   ` erik quanstrom
  0 siblings, 0 replies; 16+ messages in thread
From: erik quanstrom @ 2009-02-16 14:16 UTC (permalink / raw)
  To: 9fans

> The larger the blocksize the less likely you are of coalescing any (or
> that's what my intuition says). Sure, there's a tradeoff but the
> research has been done already and < 64k blocks looks to have been found
> appropriate.

what's the goal?  the absolute smallest repository
or access speed?  sharing means seeks.  seeks are
deathly slow if you're using disks.

there was a time when there was a compelling
argument for reducing the number of i/o operations
for performance by increasing the block size.
i'm not sure that argument is as strong as it once
was.

- erik



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9fans] Regarding venti block size
  2009-02-16 10:25 [9fans] Regarding venti block size anooop.anooop
  2009-02-16 11:52 ` matt
@ 2009-02-16 14:20 ` erik quanstrom
  2009-02-16 15:56 ` anooop.anooop
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 16+ messages in thread
From: erik quanstrom @ 2009-02-16 14:20 UTC (permalink / raw)
  To: 9fans

> This is what I get when I try to store files of size around 300KB :
> "write: input too big: max block size is 57344"

this is why god^wken used filesystems.

try vac(1), fossil(4) or if you need something
esoteric you can roll your own filesystem with
venti-file(2).

- erik



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9fans] Regarding venti block size
  2009-02-16 10:25 [9fans] Regarding venti block size anooop.anooop
  2009-02-16 11:52 ` matt
  2009-02-16 14:20 ` erik quanstrom
@ 2009-02-16 15:56 ` anooop.anooop
  2009-02-16 16:17   ` matt
  2009-02-16 17:03   ` Russ Cox
  2009-02-16 17:17 ` roger peppe
                   ` (3 subsequent siblings)
  6 siblings, 2 replies; 16+ messages in thread
From: anooop.anooop @ 2009-02-16 15:56 UTC (permalink / raw)
  To: 9fans

On Feb 16, 9:32�am, quans...@quanstro.net (erik quanstrom) wrote:
> > This is what I get when I try to store files of size around 300KB :
> > "write: input too big: max block size is 57344"
>
> this is why god^wken used filesystems.
>
> try vac(1), fossil(4) or if you need something
> esoteric you can roll your own filesystem with
> venti-file(2).
>
> - erik

Thank you so much for the replies.

This is what I am planning to do.

1. take a file, split it into many different parts (each part is
char*)
2. store each part on a venti server and collect the scores
3. when I need the file back, provide the scores to the venti and get
the parts back
4. merge the parts and create the file back

The problem is that I was planning on keeping the number of parts is
fixed. So depending on the file size, the part size will vary. And
therefore sometimes the (part = block) that I store will be more than
the current upper limit of 64k.

It would be great if you could let me know your thoughts on this.

Regards,
Anoop



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9fans] Regarding venti block size
  2009-02-16 15:56 ` anooop.anooop
@ 2009-02-16 16:17   ` matt
  2009-02-16 17:03   ` Russ Cox
  1 sibling, 0 replies; 16+ messages in thread
From: matt @ 2009-02-16 16:17 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs


>
> This is what I am planning to do.
>
>
>
I have a few wheel designs here in my basement too,



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9fans] Regarding venti block size
  2009-02-16 15:56 ` anooop.anooop
  2009-02-16 16:17   ` matt
@ 2009-02-16 17:03   ` Russ Cox
  2009-02-16 17:11     ` erik quanstrom
  1 sibling, 1 reply; 16+ messages in thread
From: Russ Cox @ 2009-02-16 17:03 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

> The problem is that I was planning on keeping the number of parts is
> fixed. So depending on the file size, the part size will vary. And
> therefore sometimes the (part  block) that I store will be more than
> the current upper limit of 64k.
>
> It would be great if you could let me know your thoughts on this.

I think you will need to rewrite both venti and the
venti protocol to get around the 64k limit.
I started to do this once and decided it was
too large a change to bother.  If you don't care
about coalescing duplicate blocks (and you
don't seem to), why not use an extent-based
file system instead?

Russ


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9fans] Regarding venti block size
  2009-02-16 17:03   ` Russ Cox
@ 2009-02-16 17:11     ` erik quanstrom
  0 siblings, 0 replies; 16+ messages in thread
From: erik quanstrom @ 2009-02-16 17:11 UTC (permalink / raw)
  To: 9fans

> I think you will need to rewrite both venti and the
> venti protocol to get around the 64k limit.
> I started to do this once and decided it was
> too large a change to bother.  If you don't care
> about coalescing duplicate blocks (and you
> don't seem to), why not use an extent-based
> file system instead?

i guess i'm not up to speed yet.  what is the advantage
of supporting blocks of different sizes?

- erik



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9fans] Regarding venti block size
  2009-02-16 10:25 [9fans] Regarding venti block size anooop.anooop
                   ` (2 preceding siblings ...)
  2009-02-16 15:56 ` anooop.anooop
@ 2009-02-16 17:17 ` roger peppe
  2009-02-16 17:28 ` anooop.anooop
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 16+ messages in thread
From: roger peppe @ 2009-02-16 17:17 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

2009/2/16  <anooop.anooop@gmail.com>:
> I want to store some big files on venti.  size range around 200MB.  Is
> there any way to do this?

maybe i'm being stupid, but isn't that precisely what the
vac format (as documented in http://www.cs.bell-labs.com/sys/doc/fossil.pdf)
and its block tree structure is there for?



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9fans] Regarding venti block size
  2009-02-16 10:25 [9fans] Regarding venti block size anooop.anooop
                   ` (3 preceding siblings ...)
  2009-02-16 17:17 ` roger peppe
@ 2009-02-16 17:28 ` anooop.anooop
  2009-02-16 19:08   ` lucio
  2009-02-17  0:17   ` matt
  2009-02-17  9:53 ` anooop.anooop
       [not found] ` <2c60577b-edf1-4f3c-bdd9-d8b1b2859a5b@x38g2000yqj.googlegroups.co>
  6 siblings, 2 replies; 16+ messages in thread
From: anooop.anooop @ 2009-02-16 17:28 UTC (permalink / raw)
  To: 9fans

On Feb 16, 11:20�am, mattmob...@proweb.co.uk (matt) wrote:

> I have a few wheel designs here in my basement too,

did you mean that I am trying to re-invent the wheel?  :-)
Please do let me know if there is already some functionality to store
and retrieve a single file without breaking up the file and calling
the "write" client for the parts. I am new to plan9 and venti and an
not fully aware of all the available clients for venti.
I was reading up on vac and vbackup but they talk about backing up
file system trees and disks which is not what I am looking for. I just
need to store away one single file or block of data,  get a score and
later use the score to get the file back.

~Anoop



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9fans] Regarding venti block size
  2009-02-16 17:28 ` anooop.anooop
@ 2009-02-16 19:08   ` lucio
  2009-02-16 19:24     ` ron minnich
  2009-02-17  9:53     ` anooop.anooop
  2009-02-17  0:17   ` matt
  1 sibling, 2 replies; 16+ messages in thread
From: lucio @ 2009-02-16 19:08 UTC (permalink / raw)
  To: 9fans

> I was reading up on vac and vbackup but they talk about backing up
> file system trees and disks which is not what I am looking for.

People are happy to use zip to compress (and archive, but who cares?)
a single file, it can't be much different to use vac in the same vein?

++L




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9fans] Regarding venti block size
  2009-02-16 19:08   ` lucio
@ 2009-02-16 19:24     ` ron minnich
  2009-02-17  9:53     ` anooop.anooop
  1 sibling, 0 replies; 16+ messages in thread
From: ron minnich @ 2009-02-16 19:24 UTC (permalink / raw)
  To: lucio, Fans of the OS Plan 9 from Bell Labs

>> I was reading up on vac and vbackup but they talk about backing up
>> file system trees and disks which is not what I am looking for.


I don't get this comment. You want to backup a file, right? What about
'file system tree' is incompatible or not what you are looking for?

rno



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9fans] Regarding venti block size
  2009-02-16 17:28 ` anooop.anooop
  2009-02-16 19:08   ` lucio
@ 2009-02-17  0:17   ` matt
  1 sibling, 0 replies; 16+ messages in thread
From: matt @ 2009-02-17  0:17 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

I don't get why you're dicking around with block sizes but I guess it's
just learning :)

If these functions don't allow you to create and read/write files in a
venti then my current project is screwed - it compiles but I haven't
started testing it!

venti-file(2)
venti-cache(2)

vtdial()
vtcachealloc()
vtfileopenroot()
vtfilecreateroot()
vtfilecreate()
vtfileopen()
vtfilegetentry()
vtfileread()
vtfilewrite()
vthangup()
vtfreeconn()
>




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9fans] Regarding venti block size
  2009-02-16 10:25 [9fans] Regarding venti block size anooop.anooop
                   ` (4 preceding siblings ...)
  2009-02-16 17:28 ` anooop.anooop
@ 2009-02-17  9:53 ` anooop.anooop
       [not found] ` <2c60577b-edf1-4f3c-bdd9-d8b1b2859a5b@x38g2000yqj.googlegroups.co>
  6 siblings, 0 replies; 16+ messages in thread
From: anooop.anooop @ 2009-02-17  9:53 UTC (permalink / raw)
  To: 9fans

> i guess i'm not up to speed yet.  what is the advantage
> of supporting blocks of different sizes?
>
> - erik

I am doing a part of a bigger project which involves splitting files
into many pieces and storing them separately for security reasons. I
thought of using each piece as a block of data to be stored on a venti
server. But since the number of parts a file will be split into need
to be constant the block size varies. But may be this is not the right
way to do it. I am now re-considering splitting files into number of
pieces = filesize/block size.

>  If you don't care
> about coalescing duplicate blocks (and you
> don't seem to), why not use an extent-based
> file system instead?
>
> Russ

It is necessary for me to avoid duplicate blocks and hence it doesnt
look like other alternatives will work here.

> maybe i'm being stupid, but isn't that precisely what the
> vac format (as documented inhttp://www.cs.bell-labs.com/sys/doc/fossil.pdf)
> and its block tree structure is there for?

I have to learn more about vac before I say anything about this. I
will get back after catching up. but what I understand is vac backs up
file system trees on the server. I am on linux and using plan9port.And
I am using raw partitions for arena, index and bloom filter and do not
have a fossil fs. If vac can store a single file and retrieve it, then
I will be able to use this to store the parts of the original file.

I was using "venti/write -h 127.0.0.1 < datablock" to store file parts
until I hit the upper limit when I started using "comparatively"
bigger files which gave bigger than 64k parts.

~Anoop



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9fans] Regarding venti block size
  2009-02-16 19:08   ` lucio
  2009-02-16 19:24     ` ron minnich
@ 2009-02-17  9:53     ` anooop.anooop
  1 sibling, 0 replies; 16+ messages in thread
From: anooop.anooop @ 2009-02-17  9:53 UTC (permalink / raw)
  To: 9fans

On Feb 16, 2:26�pm, rminn...@gmail.com (ron minnich) wrote:
> >> I was reading up on vac and vbackup but they talk about backing up
> >> file system trees and disks which is not what I am looking for.
>
> I don't get this comment. You want to backup a file, right? What about
> 'file system tree' is incompatible or not what you are looking for?
>
> rno

Vac is what I need. I got confused by the vac manpage into thinking
vac takes snapshots of file sytem.
If it was not for you guys I would have tried to implement my own
version of vac. :-)
Thank you to all.

Regards,
Anoop



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9fans] Regarding venti block size
       [not found] ` <2c60577b-edf1-4f3c-bdd9-d8b1b2859a5b@x38g2000yqj.googlegroups.co>
@ 2009-02-17 13:38   ` erik quanstrom
  0 siblings, 0 replies; 16+ messages in thread
From: erik quanstrom @ 2009-02-17 13:38 UTC (permalink / raw)
  To: anooop.anooop, 9fans

> > i guess i'm not up to speed yet.  what is the advantage
> > of supporting blocks of different sizes?
> >
> > - erik
>
> I am doing a part of a bigger project which involves splitting files
> into many pieces and storing them separately for security reasons. I
> thought of using each piece as a block of data to be stored on a venti
> server. But since the number of parts a file will be split into need
> to be constant the block size varies. But may be this is not the right
> way to do it. I am now re-considering splitting files into number of
> pieces = filesize/block size.

i ment that question to be aimed at
venti.

- erik



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2009-02-17 13:38 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-16 10:25 [9fans] Regarding venti block size anooop.anooop
2009-02-16 11:52 ` matt
2009-02-16 14:16   ` erik quanstrom
2009-02-16 14:20 ` erik quanstrom
2009-02-16 15:56 ` anooop.anooop
2009-02-16 16:17   ` matt
2009-02-16 17:03   ` Russ Cox
2009-02-16 17:11     ` erik quanstrom
2009-02-16 17:17 ` roger peppe
2009-02-16 17:28 ` anooop.anooop
2009-02-16 19:08   ` lucio
2009-02-16 19:24     ` ron minnich
2009-02-17  9:53     ` anooop.anooop
2009-02-17  0:17   ` matt
2009-02-17  9:53 ` anooop.anooop
     [not found] ` <2c60577b-edf1-4f3c-bdd9-d8b1b2859a5b@x38g2000yqj.googlegroups.co>
2009-02-17 13:38   ` erik quanstrom

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).