Re: Distributed storage.

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Daniel Phillips <phillips@...>
Cc: <netdev@...>, <linux-kernel@...>, <linux-fsdevel@...>, Peter Zijlstra <peterz@...>
Date: Friday, August 3, 2007 - 6:57 am

On Fri, Aug 03, 2007 at 02:26:29PM +0400, Evgeniy Polyakov (johnpol@2ka.mipt.ru) wrote:

Another major issue is network allocations.

Your initial work and subsequent releases made by Peter were originally
opposed on my side, but now I think the right way is to use both
positive moments from your approach and specialized allocator -
essentially what I proposed (in the blog only though) is to bind a
independent reserve for any socket - such a reserve can be stolen from
socket buffer itself (each socket has a limited socket buffer where
packets are allocated from, it accounts both data and control (skb)
lengths), so when main allocation via common path fails, it would be
possible to get data from own reserve. This allows sending sockets to
make a progress in case of deadlock.

For receiving situation is worse, since system does not know in advance
to which socket given packet will belong to, so it must allocate from
global pool (and thus there must be independent global reserve), and
then exchange part of the socket's reserve to the global one (or just
copy packet to the new one, allocated from socket's reseve is it was
setup, or drop it otherwise). Global independent reserve is what I
proposed when stopped to advertise network allocator, but it seems that
it was not taken into account, and reserve was always allocated only
when system has serious memory pressure in Peter's patches without any
meaning for per-socket reservation.

It allows to separate sockets and effectively make them fair - system
administrator or programmer can limit socket's buffer a bit and request
a reserve for special communication channels, which will have guaranteed
ability to have both sending and receiving progress, no matter how many
of them were setup. And it does not require any changes behind network
side.

-- 
	Evgeniy Polyakov
-
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)