public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: Thomas Rast <trast@inf•ethz.ch>
To: "Nguyễn Thái Ngọc Duy" <pclouds@gmail•com>
Cc: <git@vger•kernel.org>, Junio C Hamano <gitster@pobox•com>,
	Ramsay Jones <ramsay@ramsay1•demon.co.uk>
Subject: Re: [PATCH v2 2/2] index-pack: support multithreaded delta resolving
Date: Mon, 12 Mar 2012 11:57:41 +0100	[thread overview]
Message-ID: <87y5r684t6.fsf@thomas.inf.ethz.ch> (raw)
In-Reply-To: <1331519549-28090-3-git-send-email-pclouds@gmail.com> ("Nguyễn	Thái Ngọc Duy"'s message of "Mon, 12 Mar 2012 09:32:29 +0700")

Nguyễn Thái Ngọc Duy <pclouds@gmail•com> writes:

> This puts delta resolving on each base on a separate thread, one base
> cache per thread. Per-thread data is grouped in struct thread_local.
> When running with nr_threads == 1, no pthreads calls are made. The
> system essentially runs in non-thread mode.

As discussed when we took the git-grep measurements, it may be
interesting to have a way to run 1 thread.  Can you put in such an
option?

> An experiment on a Xeon 24 core machine with linux-2.6.git shows that
> performance does not increase proportional to the number of cores. So
> by default, we use maximum 3 cores. Some numbers with --threads from 1
> to 16:
>
> 1..4
> real    1m16.310s  0m48.183s  0m37.866s  0m32.834s
> user    1m13.773s  1m15.537s  1m15.781s  1m16.233s
> sys     0m2.480s   0m3.936s   0m4.448s   0m4.852s
>
> 5..8
> real    0m33.170s  0m30.369s  0m28.406s  0m26.968s
> user    1m31.474s  1m30.322s  1m29.562s  1m28.694s
> sys     0m6.096s   0m6.268s   0m6.684s   0m7.172s

Interesting.  Is this a real 24-core machine or 12*2 hyperthreaded?
Does it use Turbo Boost and how far (how fast and on how many cores
simultaneously) does that go?

I'm asking because if Turbo Boost starts to wear off around 4 cores,
like these measurements suggest, then it may not be beneficial to spawn
threads on 2*2HT CPUs (found in many laptops) where Turbo Boost only
really works if you only use a single core.

Oh, and could you write a perf test for this? :-)

-- 
Thomas Rast
trast@{inf,student}.ethz.ch

  reply	other threads:[~2012-03-12 10:58 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-12  2:32 [PATCH v2 0/2] Multithread index-pack Nguyễn Thái Ngọc Duy
2012-03-12  2:32 ` [PATCH v2 1/2] index-pack: split second pass obj handling into own function Nguyễn Thái Ngọc Duy
2012-03-12  2:32 ` [PATCH v2 2/2] index-pack: support multithreaded delta resolving Nguyễn Thái Ngọc Duy
2012-03-12 10:57   ` Thomas Rast [this message]
2012-03-12 11:42     ` Nguyen Thai Ngoc Duy
2012-03-12 11:47       ` Thomas Rast
2012-03-12 12:18         ` Nguyen Thai Ngoc Duy
2012-03-13  0:32   ` Ramsay Jones
2012-03-14 10:29     ` Nguyen Thai Ngoc Duy
  -- strict thread matches above, loose matches on Subject: below --
2012-03-02  6:09 [PATCH " Junio C Hamano
2012-03-02 13:42 ` [PATCH v2 " Nguyễn Thái Ngọc Duy
2012-03-02 18:53   ` Junio C Hamano

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=87y5r684t6.fsf@thomas.inf.ethz.ch \
    --to=trast@inf$(echo .)ethz.ch \
    --cc=git@vger$(echo .)kernel.org \
    --cc=gitster@pobox$(echo .)com \
    --cc=pclouds@gmail$(echo .)com \
    --cc=ramsay@ramsay1$(echo .)demon.co.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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