public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Jeremy Rubin <jeremy.l.rubin.travel@gmail.com>
To: Jean-Paul Kogelman <jeanpaulkogelman@me.com>
Cc: bitcoin-dev@lists.linuxfoundation.org
Subject: Re: [bitcoin-dev] Defining a min spec
Date: Fri, 3 Jul 2015 13:33:03 +0800	[thread overview]
Message-ID: <CAJ+8mEOrO3ZvKCiTsX7VzF5Lwug+QE7x+k2EP1nQeqzSuK7AtA@mail.gmail.com> (raw)
In-Reply-To: <8019E8A9-AADF-44FE-99BF-8E1CB740E4B7@me.com>

[-- Attachment #1: Type: text/plain, Size: 5738 bytes --]

Jean-Paul,

I think you're missing what I'm saying -- the point of my suggestion to
make Rocket a min-spec is more along the lines of saying that the Rocket
serves as a fixed point, Bitcoin Core performance must be acceptable on
that platform, however it can be lower. Yes there are conversion factors
and different architectures will perform differently. However, there still
must be some baseline, a point at which we can say processors below it no
longer are supported. I am saying that line should never be set so high as
to exclude presently available open hardware.

Ultimately, this ends up making an odd, but nice, goal for Bitcoin
development. If Bitcoin Core needs more MIPS, the community must ensure the
availability of open hardware that it can run on.

Jeff,

Moxie looks fantastic! The reason I thought RISC-V was a good selection is
the very active development community which is pushing the performance of
the ISA implementations forward. Can you speak to the health of Moxie
development? Ultimately, ensuring support for many open architectures would
be preferable. Are there other reasonable open-source processors that you
are aware of?

I would be willing to work on a design a Bitcoin specific open-hardware
processor, up to the FPGA bound, if this would be useful for this goal.

On Fri, Jul 3, 2015 at 12:19 PM, Jean-Paul Kogelman <jeanpaulkogelman@me.com
> wrote:

> Ideally, the metrics that we settle on would be architecture agnostic and
> have some sort of conversion metric to map it onto any specific
> architecture. An Intel based architecture is going to perform vastly
> different from an ARM based one for example.
>
> Simple example: The PS3 PPE and Xbox 360 CPU are RISC processors that run
> at 3.2GHz, but their non-vector performance is rather poor. You’d be lucky
> to get about 33% effective utilization out of them (up to 50%, tops, but
> that’s really pushing it), so if you were to map this onto another
> architecture, you’d have at least a 3x conversion from this end alone (the
> other end could also have a scaling factor).
>
> Ultimately, how these values are expressed isn’t the important part. It’s
> the ability to measure the impact of a change that’s important. If some
> metric changes by, say, 5%, then it doesn’t really matter if it’s expressed
> in MIPS, INTOPS, MB or GB. The fact that it changed is what matters and
> what the effect is on the baseline (that ultimately could be expressed as a
> certain specific hardware configuration). It would probably be practical to
> have a number of comparable concrete min spec configurations and even more
> ideal would be if people in the community would have these systems up and
> running to do actual on-target performance benchmarks.
>
>
> jp
>
>
> On Jul 2, 2015, at 8:13 PM, Jeremy Rubin <jeremy.l.rubin.travel@gmail.com>
> wrote:
>
> Might I suggest that the min-spec, if developed, target the RISC-V Rocket
> architecture (running on FPGA, I suppose) as a reference point for
> performance? This may be much lower performance than desirable, however, it
> means that we don't lock people into using large-vendor chipsets which have
> unknown, or known to be bad, security properties such as Intel AMT.
>
> In general, targeting open hardware seems to me to be more critical than
> performance metrics for the long term health of Bitcoin, however,
> performance is still important.
>
> Does anyone know how the RISC-V FPGA performance stacks up to, say, a
> Raspberry Pi?
>
> On Thu, Jul 2, 2015 at 10:52 PM, Owen Gunden <ogunden@phauna.org> wrote:
>
>> I'm also a user who runs a full node, and I also like this idea. I think
>> Gavin has done some back-of-the-envelope calculations around this stuff,
>> but nothing so clearly defined as what you propose.
>>
>> On 07/02/2015 08:33 AM, Mistr Bigs wrote:
>>
>>> I'm an end user running a full node on an aging laptop.
>>> I think this is a great suggestion! I'd love to know what system
>>> requirements are needed for running Bitcoin Core.
>>>
>>> On Thu, Jul 2, 2015 at 6:04 AM, Jean-Paul Kogelman
>>> <jeanpaulkogelman@me.com <mailto:jeanpaulkogelman@me.com>> wrote:
>>>
>>>     I’m a game developer. I write time critical code for a living and
>>>     have to deal with memory, CPU, GPU and I/O budgets on a daily basis.
>>>     These budgets are based on what we call a minimum specification (of
>>>     hardware); min spec for short. In most cases the min spec is based
>>>     on entry model machines that are available during launch, and will
>>>     give the user an enjoyable experience when playing our games.
>>>     Obviously, we can turn on a number of bells and whistles for people
>>>     with faster machines, but that’s not the point of this mail.
>>>
>>>     The point is, can we define a min spec for Bitcoin Core? The number
>>>     one reason for this is: if you know how your changes affect your
>>>     available budgets, then the risk of breaking something due to
>>>     capacity problems is reduced to practically zero.
>>>
>>>
>>>
>>> _______________________________________________
>>> bitcoin-dev mailing list
>>> bitcoin-dev@lists.linuxfoundation.org
>>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>>
>>>  _______________________________________________
>> bitcoin-dev mailing list
>> bitcoin-dev@lists.linuxfoundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
>
>

[-- Attachment #2: Type: text/html, Size: 8034 bytes --]

  reply	other threads:[~2015-07-03  5:33 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-02  4:04 [bitcoin-dev] Defining a min spec Jean-Paul Kogelman
2015-07-02  7:18 ` Henning Kopp
2015-07-02  8:33   ` Jean-Paul Kogelman
2015-07-02 12:33 ` Mistr Bigs
2015-07-02 14:52   ` Owen Gunden
2015-07-03  3:13     ` Jeremy Rubin
2015-07-03  3:25       ` Jeff Garzik
2015-07-03  4:19       ` Jean-Paul Kogelman
2015-07-03  5:33         ` Jeremy Rubin [this message]
2015-07-03  6:18           ` Jean-Paul Kogelman
2015-07-03 10:55           ` Jeff Garzik

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=CAJ+8mEOrO3ZvKCiTsX7VzF5Lwug+QE7x+k2EP1nQeqzSuK7AtA@mail.gmail.com \
    --to=jeremy.l.rubin.travel@gmail.com \
    --cc=bitcoin-dev@lists.linuxfoundation.org \
    --cc=jeanpaulkogelman@me.com \
    /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