From owner-freebsd-hackers@FreeBSD.ORG Thu Jul 24 04:59:39 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8A58637B401 for ; Thu, 24 Jul 2003 04:59:39 -0700 (PDT) Received: from bsdone.bsdwins.com (www.bsdwins.com [192.58.184.33]) by mx1.FreeBSD.org (Postfix) with ESMTP id ACE3E43FAF for ; Thu, 24 Jul 2003 04:59:38 -0700 (PDT) (envelope-from jwd@bsdwins.com) Received: from bsdone.bsdwins.com (localhost [127.0.0.1]) by bsdone.bsdwins.com (8.12.9/8.12.9) with ESMTP id h6OBvoVr092234; Thu, 24 Jul 2003 07:57:50 -0400 (EDT) (envelope-from jwd@www.bsdwins.com) Received: (from jwd@localhost) by bsdone.bsdwins.com (8.12.9/8.12.9/Submit) id h6OBvo29092233; Thu, 24 Jul 2003 07:57:50 -0400 (EDT) Date: Thu, 24 Jul 2003 07:57:50 -0400 From: John To: Diomidis Spinellis Message-ID: <20030724115750.GA92183@BSDWins.Com> References: <3F1F96A5.A7D2D221@aueb.gr> <20030724021426.A28546@xorpc.icir.org> <3F1FBD35.82A3629E@aueb.gr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3F1FBD35.82A3629E@aueb.gr> User-Agent: Mutt/1.4.1i cc: Luigi Rizzo cc: freebsd-hackers@freebsd.org Subject: Re: Network pipes X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Jul 2003 11:59:39 -0000 ----- Diomidis Spinellis's Original Message ----- > > Luigi Rizzo wrote: > > > > * the loss of encription on the channel is certainly something that might > > escape the attention of the user. I also wonder in how many cases you > > really need the extra performance to justify the extra plumbing > > mechanism. Once you pass a certain order of magnitute, it becomes an overriding priority. Thus the reason why many backup systems are hand crafted. > I felt the need for such functionality when moving GB data between > different machines for creating a disk copy and backup to tape. My > requirements may be atypical, this is why I asked for input. Your requirements are not atypical. There are folks out here dealing with 100s & 1000s of TB. > > * there are subtle implications of your new plumbing in the way > > processes are started. With "A | B | C" the shell first creates the > > pipes, then it can start the processes in any order, and they can > > individually fail to start without any direct consequence other > > than an I/O failure. "A |@ B |@ C" requires that you start things > > from the end of the chain (because you cannot start a process > > until you have a [socket] descriptor from the next stage in the > > chain), and if a process fails to start you cannot even start the > > next one in the sequence. Not that this is bad, just very different > > from regular pipes. > > It is even worse. You can not write "A |@ B |@ C" because sockets are > created on the originating host. For the above to work you would need a > mechanism to create another socket between the B and C machines. Maybe > the syntax should be changed to make such constructions > counterintuitive. Syntactic consistency should be a high priority. -john