Re: SSD OSDs - more Cores or more GHz

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It depends is the right answer imho. There are advantages to building smaller single-socket high frequency nodes. The CPUs are cheap which helps off-set the lower density node cost, and as has been mentioned in this thread you don't have to deal with NUMA pinning and other annoying complications which ultimately can cost you more pain in the long run than it's worth.

On the other hand, if you are trying to squeeze as many SSDs into a single box as possible and know what you are doing regarding NUMA pinning, you'll probably benefit from dual CPUs with lots of cores.

Each kind of setup has it's place. In our QA lab we just bought high-frequency single-core systems with a single P3700 NVMe to chew through the nightly Ceph testing. We also have dual socket nodes with lots of cores, multiple NVMe drives, and multiple hard drives in the same box.

Mark

On 01/20/2016 07:14 AM, Wade Holler wrote:
Great commentary.

While it is fundamentally true that higher clock speed equals lower
latency, I'm my practical experience we are more often interested in
latency at the concurrency profile of the applications.

So in this regard I favor more cores when I have to choose, such that we
can support more concurrent operations at a queue depth of 0.

Cheers
Wade
On Wed, Jan 20, 2016 at 7:58 AM Jan Schermer <jan@xxxxxxxxxxx
<mailto:jan@xxxxxxxxxxx>> wrote:

    I'm using Ceph with all SSDs, I doubt you have to worry about speed that
    much with HDD (it will be abysmall either way).
    With SSDs you need to start worrying about processor caches and memory
    colocation in NUMA systems, linux scheduler is not really that smart
    right now.
    Yes, the process will get its own core, but it might be a different
    core every
    time it spins up, this increases latencies considerably if you start
    hammering
    the OSDs on the same host.

    But as always, YMMV ;-)

    Jan


     > On 20 Jan 2016, at 13:28, Oliver Dzombic <info@xxxxxxxxxxxxxxxxx
    <mailto:info@xxxxxxxxxxxxxxxxx>> wrote:
     >
     > Hi Jan,
     >
     > actually the linux kernel does this automatically anyway (
    sending new
     > processes to "empty/low used" cores ).
     >
     > A single scrubbing/recovery or what ever process wont take more than
     > 100% CPU ( one core ) because technically this processes are not
    able to
     > run multi thread.
     >
     > Of course, if you configure your ceph to have ( up to ) 8 backfill
     > processes, then 8 processes will start, which can utilize ( up to ) 8
     > CPU cores.
     >
     > But still, the single process wont be able to use more than one
    cpu core.
     >
     > ---
     >
     > In a situation where you have 2x E5-2620v3 for example, you have 2x 6
     > Cores x 2 HT Units = 24 Threads ( vCores ).
     >
     > So if you use inside such a system 24 OSD's every OSD will have (
     > mathematically ) its "own" CPU Core automatically.
     >
     > Such a combination will perform better compared if you are using
    1x E5
     > CPU with a much higher frequency ( but still the same amout of
    cores ).
     >
     > This kind of CPU's are so fast, that the physical HDD ( no matter if
     > SAS/SSD/ATA ) will not be able to overload the cpu ( no matter
    which cpu
     > you use of this kind ).
     >
     > Its like if you are playing games. If the game is running smooth, it
     > does not matter if its running on a 4 GHz machine on 40%
    utilization or
     > on a 2 GHz machine with 80% utilization. Is running smooth, it
    can not
     > do better :-)
     >
     > So if your data is coming as fast as the HDD can physical deliver it,
     > its not important if the cpu runs with 2, 3, 4, 200 Ghz. Its
    already the
     > max of what the HDD can deliver.
     >
     > So as long as the HDD's dont get faster, the CPU's does not need
    to be
     > faster.
     >
     > The Ceph storage is usually just delivering data, not running a
     > commercial webserver/what ever beside that.
     >
     > So if you are deciding what CPU you have to choose, you only have to
     > think about how fast your HDD devices are. So that the CPU does not
     > become the bottleneck.
     >
     > And the more cores you have, the lower is the chance, that different
     > requests will block each other.
     >
     > ----
     >
     > So all in all, Core > Frequency, always. ( As long as you use
    fast/up to
     > date CPUs ). If you are using old cpu's, of course you have to
    make sure
     > that the performance of the cpu ( which does by the way not only
    depend
     > on the frequency ) is sufficient that its not breaking the HDD
    data output.
     >
     >
     >
     > --
     > Mit freundlichen Gruessen / Best regards
     >
     > Oliver Dzombic
     > IP-Interactive
     >
     > mailto:info@xxxxxxxxxxxxxxxxx <mailto:info@xxxxxxxxxxxxxxxxx>
     >
     > Anschrift:
     >
     > IP Interactive UG ( haftungsbeschraenkt )
     > Zum Sonnenberg 1-3
     > 63571 Gelnhausen
     >
     > HRB 93402 beim Amtsgericht Hanau
     > Geschäftsführung: Oliver Dzombic
     >
     > Steuer Nr.: 35 236 3622 1
     > UST ID: DE274086107
     >
     >
     > Am 20.01.2016 um 13:10 schrieb Jan Schermer:
     >> This is very true, but do you actually exclusively pin the cores
    to the OSD daemons so they don't interfere?
     >> I don't think may people do that, it wouldn't work with more
    than a handful of OSDs.
     >> The OSD might typicaly only need <100% of one core, but during
    startup or some reshuffling it's beneficial
     >> to allow it to get more (>400%), and that will interfere with
    whatever else was pinned there...
     >>
     >> Jan
     >>
     >>> On 20 Jan 2016, at 13:07, Oliver Dzombic
    <info@xxxxxxxxxxxxxxxxx <mailto:info@xxxxxxxxxxxxxxxxx>> wrote:
     >>>
     >>> Hi,
     >>>
     >>> Cores > Frequency
     >>>
     >>> If you think about recovery / scrubbing tasks its better when a
    cpu core
     >>> can be assigned to do this.
     >>>
     >>> Compared to a situation where the same cpu core needs to
    recovery/scrub
     >>> and still deliver the productive content at the same time.
     >>>
     >>> The more you can create a situation where an osd has its "own"
    cpu core,
     >>> the better it is. Modern CPU's are anyway so fast, that even
    SSDs cant
     >>> run the CPU's to their limit.
     >>>
     >>> --
     >>> Mit freundlichen Gruessen / Best regards
     >>>
     >>> Oliver Dzombic
     >>> IP-Interactive
     >>>
     >>> mailto:info@xxxxxxxxxxxxxxxxx <mailto:info@xxxxxxxxxxxxxxxxx>
     >>>
     >>> Anschrift:
     >>>
     >>> IP Interactive UG ( haftungsbeschraenkt )
     >>> Zum Sonnenberg 1-3
     >>> 63571 Gelnhausen
     >>>
     >>> HRB 93402 beim Amtsgericht Hanau
     >>> Geschäftsführung: Oliver Dzombic
     >>>
     >>> Steuer Nr.: 35 236 3622 1
     >>> UST ID: DE274086107
     >>>
     >>>
     >>> Am 20.01.2016 um 10:01 schrieb Götz Reinicke - IT Koordinator:
     >>>> Hi folks,
     >>>>
     >>>> we plan to use more ssd OSDs in our first cluster layout
    instead of SAS
     >>>> osds. (more IO is needed than space)
     >>>>
     >>>> short question: What would influence the performance more?
    more Cores or
     >>>> more GHz/Core.
     >>>>
     >>>> Or is it as always: Depeds on the total of
    OSDs/nodes/repl-level/etc ... :)
     >>>>
     >>>> If needed, I can give some more detailed information on the
    layout.
     >>>>
     >>>>    Thansk for feedback . Götz
     >>>>
     >>>>
     >>>>
     >>>> _______________________________________________
     >>>> ceph-users mailing list
     >>>> ceph-users@xxxxxxxxxxxxxx <mailto:ceph-users@xxxxxxxxxxxxxx>
     >>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
     >>>>
     >>> _______________________________________________
     >>> ceph-users mailing list
     >>> ceph-users@xxxxxxxxxxxxxx <mailto:ceph-users@xxxxxxxxxxxxxx>
     >>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
     > _______________________________________________
     > ceph-users mailing list
     > ceph-users@xxxxxxxxxxxxxx <mailto:ceph-users@xxxxxxxxxxxxxx>
     > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

    _______________________________________________
    ceph-users mailing list
    ceph-users@xxxxxxxxxxxxxx <mailto:ceph-users@xxxxxxxxxxxxxx>
    http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com



_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com




[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux