All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Tapp <opensource@keylevel.com>
To: Darren Hart <dvhart@linux.intel.com>
Cc: Yocto Project <yocto@yoctoproject.org>
Subject: Re: Build time data
Date: Thu, 12 Apr 2012 23:43:12 +0100	[thread overview]
Message-ID: <9AE35C40-C519-49ED-9790-0E4BC9A42F39@keylevel.com> (raw)
In-Reply-To: <4F86E7E0.4080704@linux.intel.com>

On 12 Apr 2012, at 15:34, Darren Hart wrote:
> 
> 
> On 04/12/2012 07:08 AM, Björn Stenberg wrote:
>> Darren Hart wrote:
>>> /dev/md0        /build          ext4 
>>> noauto,noatime,nodiratime,commit=6000
>> 
>> A minor detail: 'nodiratime' is a subset of 'noatime', so there is no
>> need to specify both.
> 
> Excellent, thanks for the tip.
> 
>> 
>>> I run on a beast with 12 cores, 48GB of RAM, OS and sources on a
>>> G2 Intel SSD, with two Seagate Barracudas in a RAID0 array for my
>>> /build partition. I run a headless Ubuntu 11.10 (x86_64)
>>> installation running the 3.0.0-16-server kernel. I can build
>>> core-image-minimal in < 30 minutes and core-image-sato in < 50
>>> minutes from scratch.
>> 
>> I'm guessing those are rather fast cores? 
> 
> They are:
> model name	: Intel(R) Xeon(R) CPU           X5680  @ 3.33GHz

Nice, but well out of my budget - I've got to make do with what one of your CPUs costs for the whole system ;-)

> 
>> I build on a different type
>> of beast: 64 cores at 2.1GHz and 128 GB ram. The OS is on a single
>> SSD and the build dir (and sources) is on a RAID0 array of Intel 520
>> SSDs. Kernel is the same ubuntu 3.0.0-16-server as yours.
> 
> Now that I think about it, my downloads are on the RAID0 array too.
> 
> One thing that comes to mind is the parallel settings, BB_NUMBER_THREADS
> and PARALLEL_MAKE. I noticed a negative impact if I increased these
> beyond 12 and 14 respectively. I tested this with bb-matrix
> (scripts/contrib/bb-perf/bb-matrix.sh). The script is a bit fickle, but
> can provide useful results and killer 3D surface plots of build time
> with BB and PM on the axis. Can't seem to find a plot image at the
> moment for some reason...
> 
>> 
>> Yet for all the combined horsepower, I am unable to match your time
>> of 30 minutes for core-image-minimal. I clock in at around 37 minutes
>> for a qemux86-64 build with ipk output:
>> 
>> ------ NOTE: Tasks Summary: Attempted 1363 tasks of which 290 didn't
>> need to be rerun and all succeeded.
>> 
>> real    36m32.118s user    214m39.697s sys     108m49.152s ------
>> 
>> These numbers also show that my build is running less than 9x
>> realtime, indicating that 80% of my cores sit idle most of the time.
> 
> Yup, that sounds about right. The build has a linear component to it,
> and anything above about 12 just doesn't help. In fact the added
> scheduling overhead seems to hurt.
> 
>> This confirms what "ps xf" says during the builds: Only rarely is
>> bitbake running more than a handful tasks at once, even with
>> BB_NUMBER_THREADS at 64. And many of these tasks are in turn running
>> sequential loops on a single core.
>> 
>> I'm hoping to find time soon to look deeper into this issue and
>> suggest remedies. It my distinct feeling that we should be able to
>> build significantly faster on powerful machines.
>> 
> 
> Reducing the dependency chains that result in the linear component of
> the build (forcing serialized execution) is one place we've focused, and
> could probably still use some attention. CC'ing RP as he's done a lot there.

Current plan for a 'budget' system is:

DX79TO motherboard, i7 3820, 16GB RAM, a pair of 60GB OCZ Vertex III's in RAID-0 for downloads / build, SATA HD for OS (Ubuntu 11.10 x86_64).

That'll give me a 2.7x boost just on CPU and the SSDs (and maybe some over-clocking) will give some more.

Not sure if SSDs in RAID-0 will give any boost, so I'll run some tests.

Thanks to all for the comments in this thread.

Chris Tapp

opensource@keylevel.com
www.keylevel.com


  reply	other threads:[~2012-04-12 22:43 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-11 20:42 Build time data Chris Tapp
2012-04-11 21:19 ` Autif Khan
2012-04-11 21:38 ` Bob Cochran
2012-04-12  0:30 ` Darren Hart
2012-04-12  0:43   ` Osier-mixon, Jeffrey
2012-04-12  4:39   ` Bob Cochran
2012-04-12  7:10     ` Darren Hart
2012-04-12  7:35   ` Joshua Immanuel
2012-04-12  8:00     ` Martin Jansa
2012-04-12  9:36       ` Joshua Immanuel
2012-04-12 14:12       ` Darren Hart
2012-04-12 23:37         ` Flanagan, Elizabeth
2012-04-13  5:51           ` Martin Jansa
2012-04-13  6:08             ` Darren Hart
2012-04-13  6:38               ` Martin Jansa
2012-04-13  7:24               ` Wolfgang Denk
2012-04-17 15:29             ` Martin Jansa
2012-04-12 14:08   ` Björn Stenberg
2012-04-12 14:34     ` Darren Hart
2012-04-12 22:43       ` Chris Tapp [this message]
2012-04-12 22:56         ` Darren Hart
2012-04-18 19:41           ` Chris Tapp
2012-04-18 20:27             ` Chris Tapp
2012-04-18 20:55             ` Darren Hart
2012-04-19 22:39               ` Chris Tapp
2012-04-13  8:45       ` Richard Purdie
2012-04-19 10:00         ` Koen Kooi
2012-04-19 12:48         ` Joshua Immanuel
2012-04-19 12:52           ` Richard Purdie
2012-04-19 13:47             ` Samuel Stirtzel
2012-04-13  8:47       ` Björn Stenberg
2012-04-13 14:41         ` Darren Hart
2012-04-19  7:24           ` Björn Stenberg
2012-04-19 14:11             ` Darren Hart
2012-04-13  9:56   ` Tomas Frydrych
2012-04-13 10:23     ` Koen Kooi

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=9AE35C40-C519-49ED-9790-0E4BC9A42F39@keylevel.com \
    --to=opensource@keylevel.com \
    --cc=dvhart@linux.intel.com \
    --cc=yocto@yoctoproject.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.