> > Ł> I want to parallize zfs send to make it faster. 
> > Ł> dmu_sendbackup could allocate buffer, that will
> be used for buffering output.
> > Ł> Few threads can traverse dataset, few threads
> would be used for async read operations.
> > 
> > Ł> I think it could speed up zfs send operation
> 10x.
> > 
> > Ł> What do you think about it ?
> 
> You're right that we need to issue more i/os in
> parallel -- see 6333409 
> "traversal code should be able to issue multiple
> reads in parallel"

When do you think it will be available ?

> However, it may be much more straightforward to just
> issue prefetches 
> appropriately, rather than attempt to coordinate
> multiple threads.  That 
> said, feel free to experiment.

How can I prefetch data ? Traverse dataset in second thread ?

Correct me if I'm wrong. 
Adding simple buffering could speed up sending operation. Now for each packet
we are calling [b]vn_rdwr[/b] function.

What do you think about smaller dmu_replay_record_t struct.
Remove
  char drr_toname[MAXNAMELEN];
from drr_begin struct and for DRR_BEGIN command add read/write MAXNAMELEN bytes.
 
 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to