Hi, I am new to this list.

I have recently started using the open embedded repository to build a
distribution for a mini-cluster that I am building at the moment.  While
there is some documentation about how to use bitbake, I personally found it
hard to find documentation on how bitbake worked from the base up, while
there are some good discussions on here on the inner workings of bb, in code
documentation is pretty minimal.

I have started reading through the code to try and figure out how bb works
and what the different componants are.  If anyone knows any resources that
could help me, please do let me know.  I am looking at maybe documenting the
code 1.6.x  and would like it if it was helpful to everyone; I have used
doxygen in the past but would very much like to hear what you would like to
use.

Regarding the sqlite db backend, I had a query. Were the tests conducted
using in-memory db or a filesystem db ? From past experience with real-time
applications I found sqlite performance to be especially _very_ slow on
writes using db's stored on the filesystem, sqlite finalizes every single
operation and has no buffering (it may be different now).  However as
someone no the list mentioned python dictionaries are probably almost always
faster than doing it on a sql back-end.  However sql might bring to the
table, a stricter structure and the ability to tie together sophisticated
queries - to ease tedious operations like joins.

I was wondering whether anyone has considered using a cluster to speed up
builds ? A very simple approach would be to have the base directory mounted
over nfs over all nodes, and then dispatch jobs by running rsh using a
scheduling algorithm.  I have seen that there is a parallel build option
within bb but I haven't played with that option.  As I understand bb can run
jobs on <n> number of threads and provided that the machine you are running
it on has more than one core a speedup can be achieved.

I am wondering whether multi-threading is going to be used in bitbake-ng.
Because most machines have two cores and to the most four, the approach of
multi-threading (shared memory programming) is not very scalable when it
comes to clusters.  While there are abstractions available that will make a
cluster of computers appear as one enabling multithreading to run
transparently, it is hard to squeeze power out using smp programming.
Rather I would use message-passing systems using standard tcp/ip style ipc,
and because of the class of application (long process cycle, short messaging
in between) using message passing wouldn't impose very much overhead on
purely smp machines.

I would very much like to hear any responses.

cheers,

-ravi =)
_______________________________________________
Bitbake-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bitbake-dev

Reply via email to