Re: Distributed storage.

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Evgeniy Polyakov <johnpol@...>
Cc: <netdev@...>, <linux-kernel@...>, <linux-fsdevel@...>, Peter Zijlstra <peterz@...>
Date: Thursday, August 2, 2007 - 5:08 pm

On Tuesday 31 July 2007 10:13, Evgeniy Polyakov wrote:

Excellent!  This is precisely what the doctor ordered for the 
OCFS2-based distributed storage system I have been mumbling about for 
some time.  In fact the dd in ddsnap and ddraid stands for "distributed 
data".  The ddsnap/raid devices do not include an actual network 
transport, that is expected to be provided by a specialized block 
device, which up till now has been NBD.  But NBD has various 
deficiencies as you note, in addition to its tendency to deadlock when 
accessed locally.  Your new code base may be just the thing we always 
wanted.  We (zumastor et al) will take it for a drive and see if 
anything breaks.

Memory deadlock is a concern of course.  From a cursory glance through, 
it looks like this code is pretty vm-friendly and you have thought 
quite a lot about it, however I respectfully invite peterz 
(obsessive/compulsive memory deadlock hunter) to help give it a good 
going over with me.

I see bits that worry me, e.g.:

+		req = mempool_alloc(st->w->req_pool, GFP_NOIO);

which seems to be callable in response to a local request, just the case 
where NBD deadlocks.  Your mempool strategy can work reliably only if 
you can prove that the pool allocations of the maximum number of 
requests you can have in flight do not exceed the size of the pool.  In 
other words, if you ever take the pool's fallback path to normal 
allocation, you risk deadlock.

Anyway, if this is as grand as it seems then I would think we ought to 
factor out a common transfer core that can be used by all of NBD, 
iSCSI, ATAoE and your own kernel server, in place of the roll-yer-own 
code those things have now.

Regards,

Daniel
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Distributed storage., Evgeniy Polyakov, (Tue Jul 31, 1:13 pm)
Re: Distributed storage., Daniel Phillips, (Fri Aug 3, 8:41 pm)
Re: Distributed storage., Evgeniy Polyakov, (Sat Aug 4, 12:44 pm)
Re: Distributed storage., Daniel Phillips, (Sun Aug 5, 4:06 am)
Re: Distributed storage., Evgeniy Polyakov, (Sun Aug 5, 11:01 am)
Re: Distributed storage., Daniel Phillips, (Sun Aug 5, 5:35 pm)
Re: Distributed storage., Evgeniy Polyakov, (Mon Aug 6, 4:28 am)
Re: Distributed storage., Manu Abraham, (Fri Aug 3, 1:04 am)
Re: Distributed storage., Evgeniy Polyakov, (Tue Aug 28, 1:19 pm)
Re: Distributed storage., Evgeniy Polyakov, (Sat Aug 4, 1:03 pm)
Re: Distributed storage., Dave Dillow, (Fri Aug 3, 10:51 pm)
Re: Distributed storage., Manu Abraham, (Fri Aug 3, 11:44 pm)
Re: Distributed storage., Evgeniy Polyakov, (Fri Aug 3, 6:44 am)
Re: Distributed storage., Mike Snitzer, (Fri Aug 3, 12:09 am)
Re: Distributed storage., Daniel Phillips, (Fri Aug 3, 8:49 pm)
Re: Distributed storage., Evgeniy Polyakov, (Fri Aug 3, 6:42 am)
Re: Distributed storage., Daniel Phillips, (Thu Aug 2, 5:08 pm)
Re: Distributed storage., Evgeniy Polyakov, (Fri Aug 3, 6:26 am)
Re: Distributed storage., Daniel Phillips, (Fri Aug 3, 9:19 pm)
Re: Distributed storage., Evgeniy Polyakov, (Sat Aug 4, 12:37 pm)
Re: Distributed storage., Daniel Phillips, (Sun Aug 5, 4:04 am)
Re: Distributed storage., Evgeniy Polyakov, (Sun Aug 5, 11:08 am)
Re: Distributed storage., Daniel Phillips, (Sun Aug 5, 5:23 pm)
Re: Distributed storage., Jens Axboe, (Tue Aug 7, 8:05 am)
Re: Distributed storage., Daniel Phillips, (Tue Aug 7, 2:24 pm)
Re: Distributed storage., Jens Axboe, (Tue Aug 7, 4:55 pm)
Re: Distributed storage., Daniel Phillips, (Sun Aug 12, 7:36 pm)
Re: Distributed storage., Jens Axboe, (Mon Aug 13, 3:28 am)
Re: Distributed storage., Daniel Phillips, (Mon Aug 13, 4:59 am)
Re: Distributed storage., Jens Axboe, (Mon Aug 13, 5:12 am)
Re: Distributed storage., Daniel Phillips, (Mon Aug 13, 7:27 pm)
Re: Distributed storage., Jens Axboe, (Mon Aug 13, 3:45 am)
Re: Distributed storage., Daniel Phillips, (Mon Aug 13, 5:08 am)
Re: Distributed storage., Evgeniy Polyakov, (Mon Aug 13, 5:18 am)
Re: Distributed storage., Daniel Phillips, (Mon Aug 13, 6:12 am)
Re: Distributed storage., Evgeniy Polyakov, (Mon Aug 13, 7:03 am)
Re: Distributed storage., Daniel Phillips, (Mon Aug 13, 7:45 am)
Re: Distributed storage., Jens Axboe, (Mon Aug 13, 5:13 am)
Re: Distributed storage., Daniel Phillips, (Mon Aug 13, 5:55 am)
Re: Distributed storage., Jens Axboe, (Mon Aug 13, 6:06 am)
Re: Distributed storage., Daniel Phillips, (Mon Aug 13, 6:15 am)
Re: Distributed storage., Jens Axboe, (Mon Aug 13, 6:22 am)
Re: Distributed storage., Daniel Phillips, (Mon Aug 13, 6:32 am)
Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Wed Aug 8, 5:54 am)
Re: Block device throttling [Re: Distributed storage.], Daniel Phillips, (Mon Aug 13, 1:36 am)
Re: Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Mon Aug 13, 4:23 am)
Re: Block device throttling [Re: Distributed storage.], Daniel Phillips, (Mon Aug 13, 7:18 am)
Re: Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Mon Aug 13, 8:18 am)
Re: Block device throttling [Re: Distributed storage.], Daniel Phillips, (Mon Aug 13, 9:04 am)
Re: Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Tue Aug 14, 4:46 am)
Re: Block device throttling [Re: Distributed storage.], Daniel Phillips, (Tue Aug 14, 7:13 am)
Re: Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Tue Aug 14, 7:30 am)
Re: Block device throttling [Re: Distributed storage.], Daniel Phillips, (Tue Aug 14, 7:35 am)
Re: Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Tue Aug 14, 7:50 am)
Re: Block device throttling [Re: Distributed storage.], Daniel Phillips, (Tue Aug 14, 8:32 am)
Re: Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Tue Aug 14, 8:46 am)
Re: Block device throttling [Re: Distributed storage.], Daniel Phillips, (Tue Aug 14, 8:54 am)
Re: Block device throttling [Re: Distributed storage.], Daniel Phillips, (Mon Aug 13, 2:44 am)
Re: Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Mon Aug 13, 4:14 am)
Re: Block device throttling [Re: Distributed storage.], Daniel Phillips, (Mon Aug 13, 7:04 am)
Re: Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Mon Aug 13, 8:04 am)
Re: Block device throttling [Re: Distributed storage.], Daniel Phillips, (Mon Aug 13, 8:18 am)
Re: Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Mon Aug 13, 8:24 am)
Re: Block device throttling [Re: Distributed storage.], Daniel Phillips, (Mon Aug 13, 1:22 am)
[1/1] Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Wed Aug 8, 6:17 am)
Re: [1/1] Block device throttling [Re: Distributed storage.], Daniel Phillips, (Mon Aug 27, 5:57 pm)
Re: [1/1] Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Tue Aug 28, 5:35 am)
Re: [1/1] Block device throttling [Re: Distributed storage.], Daniel Phillips, (Tue Aug 28, 1:27 pm)
Re: [1/1] Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Tue Aug 28, 1:54 pm)
Re: [1/1] Block device throttling [Re: Distributed storage.], Daniel Phillips, (Tue Aug 28, 5:08 pm)
Re: [1/1] Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Wed Aug 29, 4:53 am)
Re: [1/1] Block device throttling [Re: Distributed storage.], Daniel Phillips, (Thu Aug 30, 7:20 pm)
Re: [1/1] Block device throttling [Re: Distributed storage.], Alasdair G Kergon, (Fri Aug 31, 5:41 pm)
Re: [1/1] Block device throttling [Re: Distributed storage.], Daniel Phillips, (Sun Sep 2, 12:42 am)
Re: [1/1] Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Fri Aug 31, 1:33 pm)
Re: [1/1] Block device throttling [Re: Distributed storage.], Daniel Phillips, (Sun Aug 12, 7:16 pm)
Re: [1/1] Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Mon Aug 13, 4:18 am)
Re: [1/1] Block device throttling [Re: Distributed storage.], Evgeniy Polyakov, (Wed Aug 8, 9:28 am)
Re: Distributed storage., Evgeniy Polyakov, (Mon Aug 6, 4:25 am)
Re: Distributed storage., Evgeniy Polyakov, (Fri Aug 3, 6:57 am)
Re: Distributed storage., Peter Zijlstra, (Fri Aug 3, 8:27 am)
Re: Distributed storage., Evgeniy Polyakov, (Fri Aug 3, 9:49 am)
Re: Distributed storage., Daniel Phillips, (Fri Aug 3, 3:41 pm)
Re: Distributed storage., Peter Zijlstra, (Fri Aug 3, 10:53 am)
Re: Distributed storage., Daniel Phillips, (Fri Aug 3, 3:48 pm)