All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/4] socketed based data connection
@ 2010-12-21 16:49 Qing He
  2010-12-21 16:19 ` [PATCH 1/4] python method fix Qing He
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Qing He @ 2010-12-21 16:49 UTC (permalink / raw)
  To: poky

This patch set enables remote data access in the exec'd task process.

Some test data:
I've conducted a poky-image-minimal build on two different machines
with and without the patch, the result are as follow:

2 core weybridge: worker count=4, make -j4
  without patch
    real: 161min
    user: 237min
    sys:  56min
  with patch
    real: 138min
    user: 196min
    sys:  45min
4 core nehalem: worker count=4, make -j4
  without patch
    real: 88min
    user: 218min
    sys:  37min
  with patch
    real: 83min
    user: 160min
    sys:  29min

the user+sys has an improvement of around 20%~30%, however the
real runtime improvement is less significant. It's probably
because of the thread workload unbalance on multicore, or in another
word, some CPUs are not fully loaded during the build. e.g. when
do_rootfs_rpm is run, there is probably no other tasks running.

Haven't done any test against single thread running, but it should
have a much more considerable impact.


Known problems:
1. fetcher is not working at the moment, maybe bitbake needs an explicit
InheritFromOS(), but that produces some inconsistency in PATH in my previous
run
2. do_rootfs_rpm has some problem in the first run


Next step and possible future usage:
1. organize remote data to a separate class
2. although we have reverted to fork for task running, a remote data mechanism
would work for a more separate build (e.g. distributed build)
3. the added code in bitbake-runtask is to run necessary initializations for a
working environment, this is part of cooker. The current cooker seems too heavy
and may be broken down into several pieces according to functionalitiies

Thanks,
Qing


Pull URL: git://git.pokylinux.org/poky-contrib.git
  Branch: qhe/datasock
  Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=qhe/datasock

Thanks,
    Qing He
---


Qing He (4):
  python method fix
  sstate.bbclass: workaround
  data_smart: remote data
  socket based worker data

 bitbake/bin/bitbake-runtask  |   80 +++++++++++++++++++++++++++++++++--------
 bitbake/lib/bb/data_smart.py |   25 ++++++++++++-
 bitbake/lib/bb/methodpool.py |    6 +++
 bitbake/lib/bb/parse/ast.py  |    2 +-
 bitbake/lib/bb/runqueue.py   |   68 ++++++++++++++++++++++++++++++++----
 meta/classes/sstate.bbclass  |    2 +-
 6 files changed, 157 insertions(+), 26 deletions(-)



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-12-22  5:53 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-21 16:49 [RFC 0/4] socketed based data connection Qing He
2010-12-21 16:19 ` [PATCH 1/4] python method fix Qing He
2010-12-21 16:24 ` [PATCH 2/4] sstate.bbclass: workaround Qing He
2010-12-21 16:30 ` [PATCH 3/4] data_smart: remote data Qing He
2010-12-21 16:38 ` [PATCH 4/4] socket based worker data Qing He
2010-12-21 17:25 ` [RFC 0/4] socketed based data connection Qing He
2010-12-22  5:52   ` Tian, Kevin
2010-12-21 17:38 ` Richard Purdie

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.