public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Phillips <phillips@phunq.net>
To: Willy Tarreau <w@1wt.eu>
Cc: Chris Friesen <cfriesen@nortel.com>,
	Lars Marowsky-Bree <lmb@suse.de>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Grzegorz Kulewski <kangur@polcom.net>,
	linux-kernel@vger.kernel.org
Subject: Re: [ANNOUNCE] Ramback: faster than a speeding bullet
Date: Wed, 12 Mar 2008 00:17:56 -0800	[thread overview]
Message-ID: <200803120117.57644.phillips@phunq.net> (raw)
In-Reply-To: <20080311205340.GJ8953@1wt.eu>

On Tuesday 11 March 2008 13:53, Willy Tarreau wrote:
> On Tue, Mar 11, 2008 at 11:56:50AM -0800, Daniel Phillips wrote:
> > On Tuesday 11 March 2008 10:26, Chris Friesen wrote:
> > > I have experienced many 2.6 crashes due to software flaws.  Hung 
> > > processes leading to watchdog timeouts, bad kernel pointers, kernel 
> > > deadlock, etc.
> > > 
> > > When designing for reliable embedded systems it's not enough to handwave 
> > > away the possibility of software flaws.
> > 
> > Indeed.  You fix them.  Which 2.6 kernel version failed for you, what
> > made it fail, and does the latest version still fail?
> 
> Daniel, you're not objective. Simply look at LKML reports. People even
> report failures with the stable branch, and that's quite expected when
> more than 5000 patches are merged in two weeks. The question could even
> be returned to you: what kernel are you using to keep 204 days of uptime
> doing all that you describe ? Maybe 2.6.16.x would be fine, but even then,
> a lot of security issues have been fixed since the last 204 days (most of
> which would require a planned reboot), and also a number of normal bugs,
> some of which may cause unexpected downtime.

So we have a flock of people arguing that you can't trust Linux.  Well
maybe there are situations were you can't, but what can you trust?
Disk firmware?  Bios?  Big maybes everywhere.  In my experience, Linux
is very reliable.  I think Linus, Andrew and others care an awful lot
about that and go to considerable lengths to make it true.  Got a list
of Linux kernel flaws that bring down a system?  Tell me and I will not
use that version to run a transaction processing system, or I will fix
them or get them fixed.

But please do not tell me that Linux is too unreliable to run a
transaction processing system.  If Linux can't do it, then what can?

By the way, the huge ramdisk that Violin ships runs Linux inside, to
manage the raided, hotswappable memory modules.  (Even cooler: they
run Linux on a soft processor implemented on a big FPGA.)  Does anybody
think that they did not test to make sure Linux does not compromise
their MTBF in any way?

In practice, for the week I was able to test the box remotely and the
10 days I had it in my hands, the thing was solid as a rock.  Good
hardware engineering and a nice kernel I say.

> > If Linux is not reliable then we are doomed and I do not care about
> > whether my ramback fails because I will just slit my wrists anyway.
> 
> No, I've looked at the violin-memory appliance, and I understand better
> your goal. Trying to get a secure and reliable generic kernel is a lost
> game. However, building a very specific kernel for an appliance is often
> quite achievable, because you know exactly the hardware, usage patterns,
> etc... which help you stabilize it.

Sure.  Leaving out dodgy stuff like hald, other bits I could mention,
is probably a good idea.  Scary thing is, thinks like hald are actually
being run on servers but that is another issue entirely.

It wasn't too long ago that NFS client was in the dodgy category, with
oops, lockups, whathaveyou.  It is pretty solid now, but it takes a
while for the bad experiences to fade from memory.  On the other hand,
knfsd has never been the slightest bit of a problem.  Helpful
suggestion: don't run NFS client on your transaction processing unit.
It may well be solid, but who needs to find out experimentally?  Might
as well toss gamin, dbus and udev while you are at it, for a further
marginal reliability increase.  Oh, and alsa, no offense to the great
work there, but it just does not belong on a server.  Definitely do
not boot into X (I know I should not have to say that, but...)

> I think people who don't agree with 
> you are simply thinking about a generic file server. While I would not
> like my company's NFS exports to rely on such a technology for the same
> concerns as exposed here, I would love to have such a beast for logs
> analysis, build farms, or various computations which require more than
> an average PC's RAM, and would benefit from the data to remain consistent
> across planned downtime.

I guess I am actually going to run evaluations on some mission critical
systems using the arrangement described.  I wish I could be more specific
about it, but I know of critical systems pushing massive data that in
fact rely on batteries just as I have described.  For completeness, I
will verify that pulling the UPS plug actually corrupts the data and
report my findings.  Not by pulling the plug of course, but by asking
the vendors.

> If you consider that the risk of a crash is 1/year and that you have to
> work one day to rebuild everything in case of a crash, it is certainly
> worth using this technology for many things. But if you consider that
> your data cannot suffer a loss even at a rate of 1/year, then you have
> to use something else.

I consider 1/year way too high a failure rate for anything that gets
onto a server I own, and then there must necessarily be systems in
place to limit the damage.  For me, that means replication, or perhaps
synchronously mirroring the whole stack which is technology I do not
trust yet on Linux, so we don't do that.  Yet.

So here is the tradeoff: do you take the huge performance boost you
get by plugging in the battery, and put the necessary backup systems
in place or do you accept a lower performing system that offers higher
theoretical reliability?  It depends on your application.  My
immediate application happens to be hacking kernels and taking diffs
which tends to suck rather badly on Linux.  Ramback will fix that, and
it will be in place on my workstation right here, I will give my
report.  (Bummer, I need to reboot because I don't feel like backporting
to 2.6.20, too bad about that 205 day uptime, but I have to close the
vmsplice hole anyway.)  So I will have, say, a 3 GB source code
partition running under ramback and it will act just like spinning
media because of my UPS, except 25 times faster.

Of course the reason I feel brave about this is, everything useful
on that partition gets uploaded to the internet sooner rather than
later.  Nonetheless, having to reinstall everything would cost me
hours, so I will certainly not do it if I think there is any
reasonable likelihood I might have to.

> BTW, I would say that IMHO nothing here makes RAID impossible to use :-)
> Just wire 2 of these beasts to a central server with 10 Gbps NICs and
> you have a nice server :-)

Right.  See ddraid.  It is in the pipeline, but everything takes time.
We also need to reroll NBD complete with deadlock fixes before I feel
good about that.

Regards,

Daniel

  reply	other threads:[~2008-03-12  8:18 UTC|newest]

Thread overview: 153+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-10  6:46 [ANNOUNCE] Ramback: faster than a speeding bullet Daniel Phillips
2008-03-10  7:51 ` Grzegorz Kulewski
2008-03-10  8:23   ` Daniel Phillips
2008-03-10  9:37     ` Alan Cox
2008-03-10 21:03       ` Lars Marowsky-Bree
2008-03-11 11:14         ` Daniel Phillips
2008-03-11 11:23           ` Lars Marowsky-Bree
2008-03-11 11:50             ` Daniel Phillips
2008-03-11 17:26               ` Chris Friesen
2008-03-11 19:56                 ` Daniel Phillips
2008-03-11 20:53                   ` Willy Tarreau
2008-03-12  8:17                     ` Daniel Phillips [this message]
2008-03-12 14:41                       ` Mike Snitzer
2008-03-13 20:34                       ` Rik van Riel
2008-03-14  2:20                         ` Daniel Phillips
2008-03-11 21:56               ` Lars Marowsky-Bree
2008-03-11 23:02                 ` Daniel Phillips
2008-03-12 13:25                   ` Benny Amorsen
2008-03-12 13:30                     ` Alan Cox
2008-03-13 15:29                       ` Benny Amorsen
2008-03-14  9:30                       ` Pavel Machek
2008-03-14 11:07                         ` Ric Wheeler
2008-03-14 11:41                           ` Benny Amorsen
2008-03-14 12:12                             ` Ric Wheeler
2008-03-14 12:56                             ` Theodore Tso
2008-03-14 15:47                               ` Ric Wheeler
2008-03-14 16:49                                 ` Theodore Tso
2008-03-14 17:04                                   ` Ric Wheeler
2008-03-14 18:03                                   ` david
2008-03-14 19:03                                 ` writeback cache dangers " Pavel Machek
2008-03-14 19:29                                   ` Theodore Tso
2008-03-13  9:15                   ` Matthias Schniedermeyer
2008-03-11 23:30                 ` Daniel Phillips
2008-03-13 13:27                 ` Ric Wheeler
2008-03-13 19:02                   ` Daniel Phillips
2008-03-13 19:12                     ` Ric Wheeler
2008-03-13 19:38                       ` Daniel Phillips
2008-03-11  4:23       ` Daniel Phillips
2008-03-10  9:22 ` Alan Cox
2008-03-10 19:01   ` Rik van Riel
2008-03-11  4:28     ` Daniel Phillips
2008-03-11  3:50   ` Daniel Phillips
2008-03-11 13:32     ` Artur Skawina
2008-03-11 14:31       ` Artur Skawina
2008-03-12 13:11     ` Alan Cox
2008-03-12 17:29       ` Daniel Phillips
2008-03-12 18:11         ` Chris Friesen
2008-03-12 22:56           ` Daniel Phillips
2008-03-13  5:45             ` David Newall
2008-03-13  6:17               ` Daniel Phillips
2008-03-13  6:30                 ` David Newall
2008-03-13  6:50                   ` Daniel Phillips
2008-03-13  7:05                     ` David Newall
2008-03-13  7:13                       ` Daniel Phillips
2008-03-15 13:32                     ` Pavel Machek
2008-03-15 20:22                       ` Daniel Phillips
2008-03-15 21:33                         ` Pavel Machek
2008-03-15 21:47                           ` Daniel Phillips
2008-03-13  6:32                 ` david
2008-03-13  7:12                   ` Daniel Phillips
2008-03-13  7:55                     ` david
2008-03-13  8:06                       ` Daniel Phillips
2008-03-13  8:39                         ` david
2008-03-13  9:16                           ` Daniel Phillips
2008-03-13 16:25                             ` david
2008-03-13 19:32                               ` Daniel Phillips
2008-03-13 19:50                                 ` David Newall
2008-03-13 20:03                                   ` Daniel Phillips
2008-03-14 17:53                                     ` Jeff Moyer
2008-03-15 20:26                                     ` Pavel Machek
2008-03-15 20:40                                       ` Mike Snitzer
2008-03-15 21:05                                       ` Daniel Phillips
2008-03-15 20:18                             ` Pavel Machek
2008-03-15 20:51                               ` Daniel Phillips
2008-03-13  9:49                       ` Daniel Phillips
2008-03-13  5:39         ` David Newall
2008-03-13  6:14           ` Daniel Phillips
2008-03-13 13:22             ` Alan Cox
2008-03-13 19:14               ` Daniel Phillips
2008-03-13 20:27                 ` Rik van Riel
2008-03-14  2:23                   ` Daniel Phillips
2008-03-14  5:22                     ` David Newall
2008-03-14  5:42                       ` Daniel Phillips
2008-03-14 14:00                     ` John Stoffel
2008-03-15 20:59                 ` Willy Tarreau
2008-03-15 20:56                   ` Alan Cox
2008-03-15 21:25                     ` Daniel Phillips
2008-03-15 21:08                       ` Alan Cox
2008-03-15 21:51                         ` Daniel Phillips
2008-03-15 21:17                   ` Daniel Phillips
2008-03-15 21:03                     ` Alan Cox
2008-03-15 22:00                       ` Daniel Phillips
2008-03-15 23:05                         ` Alan Cox
2008-03-16 21:57                           ` Daniel Phillips
2008-03-16 21:55                             ` Alan Cox
2008-03-16 22:36                               ` Daniel Phillips
2008-03-16 22:46                                 ` Alan Cox
2008-03-16 23:39                                   ` Daniel Phillips
2008-03-17 11:53                                     ` Alan Cox
2008-03-17  1:31                             ` David Newall
2008-03-17  2:42                               ` Daniel Phillips
2008-03-17  3:59                                 ` david
2008-03-17  5:52                                   ` Daniel Phillips
2008-03-17  6:49                                     ` david
2008-03-17  8:16                                       ` Daniel Phillips
2008-03-17 10:39                                         ` Alan Cox
2008-03-17 13:52                                         ` Ric Wheeler
2008-03-17 14:42                                         ` david
2008-03-17 17:23                                           ` david
2008-03-17 17:30                                             ` Willy Tarreau
     [not found]                                             ` <200803180233.10156.phillips@phunq.net>
2008-03-18 13:03                                               ` David Newall
2008-03-18 16:36                                                 ` david
2008-03-31 11:40                                                   ` Daniel Phillips
2008-04-01  0:28                                                     ` david
2008-04-01  4:07                                                       ` Daniel Phillips
2008-04-01  4:23                                                         ` david
2008-04-01  6:08                                                           ` Daniel Phillips
2008-03-18 13:57                                               ` Alan Cox
2008-03-31 11:39                                                 ` Daniel Phillips
2008-03-17  7:14                                     ` David Newall
2008-03-17  8:25                                       ` Daniel Phillips
2008-03-17 18:56                                         ` David Newall
2008-03-23  9:33                                         ` Pavel Machek
2008-03-23 20:44                                           ` Daniel Phillips
2008-03-15 21:54                     ` Willy Tarreau
2008-03-15 22:33                       ` Daniel Phillips
2008-03-15 23:22                         ` david
2008-03-15 23:57                           ` Krzysztof Halasa
2008-03-15 23:22                         ` Willy Tarreau
2008-03-16  3:33                           ` Daniel Phillips
2008-03-16  5:24                             ` David Newall
2008-03-16 12:49                               ` Ingo Oeser
2008-03-16  6:56                             ` Willy Tarreau
2008-03-16 22:12                               ` Krzysztof Halasa
2008-03-16 13:14                             ` Alan Cox
2008-03-16 19:04                               ` Theodore Tso
2008-03-16 22:02                             ` Krzysztof Halasa
2008-03-15 23:18                     ` Bernd Eckenfels
2008-03-16  5:42                     ` David Newall
2008-03-16 20:48                       ` Daniel Phillips
2008-03-16 22:15                       ` Krzysztof Halasa
2008-03-16 22:38                         ` Daniel Phillips
2008-03-16 23:08                           ` Krzysztof Halasa
2008-03-16 23:43                             ` Daniel Phillips
2008-03-10 14:51 ` Artur Skawina
2008-03-10 18:49 ` Chris Snook
2008-03-11  5:06 ` Greg KH
2008-03-11  5:22   ` Daniel Phillips
2008-03-11  5:48     ` david
2008-03-11  6:27     ` Greg KH
2008-03-12 12:01 ` tvrtko.ursulin
2008-03-12 17:27   ` Daniel Phillips
     [not found] <OFA00954A4.45F32CA2-ON8025740B.005D7B40-8025740B.005EECA6@sophos.com>
2008-03-13 19:34 ` Daniel Phillips

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200803120117.57644.phillips@phunq.net \
    --to=phillips@phunq.net \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=cfriesen@nortel.com \
    --cc=kangur@polcom.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lmb@suse.de \
    --cc=w@1wt.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox