All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Swarbrick <daniel.swarbrick@profitbricks.com>
To: ceph-devel@vger.kernel.org
Subject: Re: CRC32 of messages
Date: Mon, 29 Jun 2015 13:30:31 +0200	[thread overview]
Message-ID: <mmra8n$ifi$1@ger.gmane.org> (raw)
In-Reply-To: <CAC6JEv938Os5jcNoV08vQJ6tLnR8y1kKLHR_z1iNRHXitQkMmw@mail.gmail.com>

On 29/06/15 12:51, Gregory Farnum wrote:
> 
> Yes, we have our own CRC32 checksum because loooong ago (before I
> started!) Sage saw a lot of network corruption that wasn't being
> caught by the TCP checksums so he added some to the Ceph message
> stream. I can't tell you with any authority whatsoever how common that
> problem is, but I don't think we're turning them off by default in
> upstream. :)

If the CRC32 implementation in Ceph is that dated (particularly the
software implementations that will be used on AMD hardware), would it be
worth checking out some of the updated implementations, such as the
slice-by-16 or chunked methods?

I found this link http://create.stephan-brumme.com/crc32/ and tried
running the benchmark on an AMD Opteron 6386 SE system, with the
following results:

bitwise          : CRC=221F390F, 47.525s, 21.546 MB/s
half-byte        : CRC=221F390F, 11.828s, 86.576 MB/s
  1 byte  at once: CRC=221F390F, 6.347s, 161.332 MB/s
  4 bytes at once: CRC=221F390F, 2.875s, 356.178 MB/s
  8 bytes at once: CRC=221F390F, 2.004s, 510.932 MB/s
4x8 bytes at once: CRC=221F390F, 1.929s, 530.811 MB/s
 16 bytes at once: CRC=221F390F, 1.892s, 541.179 MB/s
 16 bytes at once: CRC=221F390F, 1.926s, 531.797 MB/s (including
prefetching)
    chunked      : CRC=221F390F, 1.919s, 533.656 MB/s

AFAIK, Ceph uses the slice-by-8 method if no hardware crc32 is found.


  reply	other threads:[~2015-06-29 11:30 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-26 16:49 CRC32 of messages Erik G. Burrows
2015-06-26 17:51 ` Somnath Roy
2015-06-29  6:27   ` Dałek, Piotr
2015-06-29  7:00     ` Somnath Roy
2015-06-29  7:31       ` Dałek, Piotr
2015-06-29  6:31 ` Dałek, Piotr
2015-06-29  6:55   ` Dan van der Ster
2015-06-29 10:51     ` Gregory Farnum
2015-06-29 11:30       ` Daniel Swarbrick [this message]
2015-06-29 11:37         ` Gregory Farnum
2015-06-29 12:20         ` Dałek, Piotr

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='mmra8n$ifi$1@ger.gmane.org' \
    --to=daniel.swarbrick@profitbricks.com \
    --cc=ceph-devel@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.