Re: [yocto] Suitable machine for yocto

2017-09-11 Thread Chris Tapp

> On 11 Sep 2017, at 09:24, Usman Haider  wrote:
> 
> 
> 
> On Mon, Sep 11, 2017 at 1:21 PM, Burton, Ross  > wrote:
> On 10 September 2017 at 12:00, Chris Tapp  > wrote:
> I have a similar spec, except I use an SSD for the build area and only 16GB 
> RAM (I don’t see more than about 12GB used during a build) - a build from 
> scratch (excluding download time) takes just under an hour.
> 
> The thing to remember with SSDs is that builds can write *a lot* of data and 
> this can destroy SSDs faster than you'd like.
> 
> Personally I find lots of RAM more cost effective.  If you've got a moderate 
> amount then a slow commit time in fstab lets the kernel batch writes wisely.  
> If you've got plenty of RAM (my machine has 64GB) then a good sized tmpfs 
> (32GB here) mounted at TMPDIR (the local.conf setting, not /tmp) in with 
> rm_work means you literally have no I/O latency.  To persist files either 
> copy them out or for example set DEPLOY_DIR to a real disk.
> 
> Ross
> 
> --
> ___
> yocto mailing list
> yocto@yoctoproject.org 
> https://lists.yoctoproject.org/listinfo/yocto 
> 
> 
> 
> 
> Thanks,
> 
> I'll consider this too. A lot of techincal stuff to learn here on this 
> mailing list :)

One thing you’ll find here is a lot of very knowledgable people who go out of 
their way to help as much as possible - got me going from a cold start very, 
very quickly :-)

A really good example of an excellent opensource project / community.

> Regards,
> Usman

--

Chris Tapp
opensou...@keylevel.com
www.keylevel.com


You can tell you're getting older when your car insurance gets real cheap!

-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] Suitable machine for yocto

2017-09-11 Thread Usman Haider
On Mon, Sep 11, 2017 at 1:21 PM, Burton, Ross  wrote:

> On 10 September 2017 at 12:00, Chris Tapp  wrote:
>
>> I have a similar spec, except I use an SSD for the build area and only
>> 16GB RAM (I don’t see more than about 12GB used during a build) - a build
>> from scratch (excluding download time) takes just under an hour.
>>
>
> The thing to remember with SSDs is that builds can write *a lot* of data
> and this can destroy SSDs faster than you'd like.
>
> Personally I find lots of RAM more cost effective.  If you've got a
> moderate amount then a slow commit time in fstab lets the kernel batch
> writes wisely.  If you've got plenty of RAM (my machine has 64GB) then a
> good sized tmpfs (32GB here) mounted at TMPDIR (the local.conf setting, not
> /tmp) in with rm_work means you literally have no I/O latency.  To persist
> files either copy them out or for example set DEPLOY_DIR to a real disk.
>
> Ross
>
> --
> ___
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
>

Thanks,

I'll consider this too. A lot of techincal stuff to learn here on this
mailing list :)

Regards,
Usman
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] Suitable machine for yocto

2017-09-11 Thread Usman Haider
On Mon, Sep 11, 2017 at 11:51 AM, Alex Lennon  wrote:

>
>
> On 11/09/2017 00:56, Mark Hatle wrote:
>
>> On 9/10/17 2:31 PM, Alex Lennon wrote:
>>
>>>
>>> On 10/09/2017 19:17, Mark Hatle wrote:
>>>
 On 9/10/17 11:14 AM, Alex Lennon wrote:

> On 10/09/2017 17:06, Mark Hatle wrote:
>
>> On 9/10/17 2:00 AM, Usman Haider wrote:
>>
>>> Hi,
>>>
>>> Can someone please recommend some good machine for yocto environment
>>> and
>>> building sdks. I am interested in RAM, hard disk space, processor.
>>>
>> You want fast I/O, as much RAM and as many (fast) cores as you can
>> afford.  I
>> don't think there is a single answer as what is 'best'.  It also
>> depends on
>> which Yocto Project versions, and which layers you are using as to
>> which
>> combination is best.
>>
>> I run builds on my laptop, 4-core/8-thread & SSD and 16 GB of ram
>> from a few
>> years ago.  It's fast, but I wouldn't want to do all of my
>> development on it.
>>
>> I've had 8-core/16-thread (32GB ram/standard disk), 16-core/32-thread
>> (72GB
>> ram/SAS-3 RAID), 24-core/48-thread (64GB ram/SATA - software RAID),
>> 72-core/144
>> thread (256 GB ram/hardware raid/SAS-3), and recently upgraded to
>> 96-core/192-thread (256 GB ram/hardware raid/SAS-3).
>>
>> I would not go below quad-core (8-thread) myself.  You can get a quad
>> core, good
>> quality machine for $1000 or less these day.  If you move up to the
>> larger
>> machines, you can even be able to get to a 24-core for less then
>> $5000.  By the
>> time you get to 96-core and all of the googles you are likely talking
>> $5 or
>> more.
>>
>> By clock raid, the 24-core machine is the fastest..  While the
>> 96-core monster
>> can do the builds the quickest.  But when you figure out
>> cost/performance/etc..
>> the 24-core is probably the best performance per dollar, and with
>> adequate RAM
>> (I'd say at least 64GB if not 128GB), and fast I/O you'll probably
>> get the
>> lowest price for the best performance in that category.
>>
>> If you need sheer speed and price is no option, then the (4 CPU w/ 24
>> core each)
>> 96-core monster (or even better) is what you want to go with.  256GB
>> ram would
>> be a minimum with that configuration (I'm not sure if more is
>> actually helpful,
>> I rarely end up in swap -- but I go get into situations where more
>> then 50% of
>> ram is used.)  With that many cores, disk I/O starts to become
>> obvious.  So
>> faster the better... SSDs would be the fastest, but of course the
>> most expensive.
>>
>> If your employer is paying for the machine, you may be able to get a
>> better then
>> normal machine by explaining how much time a faster machine will save
>> and how
>> comparing to your salary a machine is inexpensive.  (If you are a
>> contractor or
>> student, that changes of course.)  :)
>>
>> So my point is really, figure out how much money you have to spend.
>> My rule of
>> thumb is roughly:
>>
>> 1) Buy as many cores as you can.  Try to get a CPU that has
>> Hyperthreading or
>> equivalent to double the effective core count.  Fastest processing
>> speed helps
>> in repetitive cases vs full system builds.
>>
>> So if the choice is a 24 core @ 2.2GHz vs 22 core @ 2.5, I'd probably
>> go with
>> the 22-core.  While if it was 24 core @ 2.2GHz vs 8 core @ 4.2 GHz,
>> I'd go with
>> the 24 core.
>>
>> 2) Try to get at least 1 GB of ram per thread (2 GB per core..)  You
>> can cut
>> back on the ram (if necessary) once you hit 72 threads or so.   (72
>> threads
>> right now seems to cover most of the parallelization in a full system
>> build.
>> There are points in the system where it can parallelize MUCH more,
>> but they are
>> fairly rare.)
>>
>> 3) You need fast disks.  Software RAID works fine, but you likely
>> need to buy at
>> least a couple of disk to boost performance.  SSDs are fast, but lots
>> of builds
>> take space, so fast SATA or even better SAS drives are the best
>> performance per
>> cost.
>>
> This brings to mind a related question I keep coming back to as to the
> economics of a docker (or similar) image running a fast Yocto build in
> the cloud.
>
> i.e. set config params -> bring up server image on plaform A/B/C ->
> perform build taking time X/Y/Z -> store output images -> bring down
> server  == $ ?
>
> I find myself asking what the optimal cost per-build would be using
> this
> approach...
>
 I helped someone do some very -preliminary- figured a few years ago.
 The
 processing was 'cheap', but between storage 

Re: [yocto] Suitable machine for yocto

2017-09-11 Thread Burton, Ross
On 10 September 2017 at 12:00, Chris Tapp  wrote:

> I have a similar spec, except I use an SSD for the build area and only
> 16GB RAM (I don’t see more than about 12GB used during a build) - a build
> from scratch (excluding download time) takes just under an hour.
>

The thing to remember with SSDs is that builds can write *a lot* of data
and this can destroy SSDs faster than you'd like.

Personally I find lots of RAM more cost effective.  If you've got a
moderate amount then a slow commit time in fstab lets the kernel batch
writes wisely.  If you've got plenty of RAM (my machine has 64GB) then a
good sized tmpfs (32GB here) mounted at TMPDIR (the local.conf setting, not
/tmp) in with rm_work means you literally have no I/O latency.  To persist
files either copy them out or for example set DEPLOY_DIR to a real disk.

Ross
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] Suitable machine for yocto

2017-09-11 Thread Alex Lennon



On 11/09/2017 00:56, Mark Hatle wrote:

On 9/10/17 2:31 PM, Alex Lennon wrote:


On 10/09/2017 19:17, Mark Hatle wrote:

On 9/10/17 11:14 AM, Alex Lennon wrote:

On 10/09/2017 17:06, Mark Hatle wrote:

On 9/10/17 2:00 AM, Usman Haider wrote:

Hi,

Can someone please recommend some good machine for yocto environment and
building sdks. I am interested in RAM, hard disk space, processor.

You want fast I/O, as much RAM and as many (fast) cores as you can afford.  I
don't think there is a single answer as what is 'best'.  It also depends on
which Yocto Project versions, and which layers you are using as to which
combination is best.

I run builds on my laptop, 4-core/8-thread & SSD and 16 GB of ram from a few
years ago.  It's fast, but I wouldn't want to do all of my development on it.

I've had 8-core/16-thread (32GB ram/standard disk), 16-core/32-thread (72GB
ram/SAS-3 RAID), 24-core/48-thread (64GB ram/SATA - software RAID), 72-core/144
thread (256 GB ram/hardware raid/SAS-3), and recently upgraded to
96-core/192-thread (256 GB ram/hardware raid/SAS-3).

I would not go below quad-core (8-thread) myself.  You can get a quad core, good
quality machine for $1000 or less these day.  If you move up to the larger
machines, you can even be able to get to a 24-core for less then $5000.  By the
time you get to 96-core and all of the googles you are likely talking $5 or
more.

By clock raid, the 24-core machine is the fastest..  While the 96-core monster
can do the builds the quickest.  But when you figure out cost/performance/etc..
the 24-core is probably the best performance per dollar, and with adequate RAM
(I'd say at least 64GB if not 128GB), and fast I/O you'll probably get the
lowest price for the best performance in that category.

If you need sheer speed and price is no option, then the (4 CPU w/ 24 core each)
96-core monster (or even better) is what you want to go with.  256GB ram would
be a minimum with that configuration (I'm not sure if more is actually helpful,
I rarely end up in swap -- but I go get into situations where more then 50% of
ram is used.)  With that many cores, disk I/O starts to become obvious.  So
faster the better... SSDs would be the fastest, but of course the most 
expensive.

If your employer is paying for the machine, you may be able to get a better then
normal machine by explaining how much time a faster machine will save and how
comparing to your salary a machine is inexpensive.  (If you are a contractor or
student, that changes of course.)  :)

So my point is really, figure out how much money you have to spend.  My rule of
thumb is roughly:

1) Buy as many cores as you can.  Try to get a CPU that has Hyperthreading or
equivalent to double the effective core count.  Fastest processing speed helps
in repetitive cases vs full system builds.

So if the choice is a 24 core @ 2.2GHz vs 22 core @ 2.5, I'd probably go with
the 22-core.  While if it was 24 core @ 2.2GHz vs 8 core @ 4.2 GHz, I'd go with
the 24 core.

2) Try to get at least 1 GB of ram per thread (2 GB per core..)  You can cut
back on the ram (if necessary) once you hit 72 threads or so.   (72 threads
right now seems to cover most of the parallelization in a full system build.
There are points in the system where it can parallelize MUCH more, but they are
fairly rare.)

3) You need fast disks.  Software RAID works fine, but you likely need to buy at
least a couple of disk to boost performance.  SSDs are fast, but lots of builds
take space, so fast SATA or even better SAS drives are the best performance per
cost.

This brings to mind a related question I keep coming back to as to the
economics of a docker (or similar) image running a fast Yocto build in
the cloud.

i.e. set config params -> bring up server image on plaform A/B/C ->
perform build taking time X/Y/Z -> store output images -> bring down
server  == $ ?

I find myself asking what the optimal cost per-build would be using this
approach...

I helped someone do some very -preliminary- figured a few years ago.  The
processing was 'cheap', but between storage and network transfer costs.. it was
cheaper to buy a reasonable machine.. payback time was only a few months.

(cloud 'storage' is often very slow as well, because there are expectations of
migration and things like that.)

So as of a few years ago at least, the economics didn't factory the cloud -- 
yet.



Yeah that is more or less my thinking. Although I do imagine that if a
source mirror on an internal network leg could be set up then that might
significantly reduce chargeable network b/w...

premirror for downloads and sstate-cache shared between multiple customers could
reduce the network b/w far enough to make it economical.   But you would need to
trust other vendors since the sstate-cache can be manipulated to provide
malicious software (in some cases).  (And strengthening the sstate-cache
checking can cause enough extra overhead to make it 'cheaper' to build then use
sstate-cache in many cases.)


Re: [yocto] Suitable machine for yocto

2017-09-10 Thread Mark Hatle
On 9/10/17 2:31 PM, Alex Lennon wrote:
> 
> 
> On 10/09/2017 19:17, Mark Hatle wrote:
>> On 9/10/17 11:14 AM, Alex Lennon wrote:
>>>
>>> On 10/09/2017 17:06, Mark Hatle wrote:
 On 9/10/17 2:00 AM, Usman Haider wrote:
> Hi,
>
> Can someone please recommend some good machine for yocto environment and
> building sdks. I am interested in RAM, hard disk space, processor.
 You want fast I/O, as much RAM and as many (fast) cores as you can afford. 
  I
 don't think there is a single answer as what is 'best'.  It also depends on
 which Yocto Project versions, and which layers you are using as to which
 combination is best.

 I run builds on my laptop, 4-core/8-thread & SSD and 16 GB of ram from a 
 few
 years ago.  It's fast, but I wouldn't want to do all of my development on 
 it.

 I've had 8-core/16-thread (32GB ram/standard disk), 16-core/32-thread (72GB
 ram/SAS-3 RAID), 24-core/48-thread (64GB ram/SATA - software RAID), 
 72-core/144
 thread (256 GB ram/hardware raid/SAS-3), and recently upgraded to
 96-core/192-thread (256 GB ram/hardware raid/SAS-3).

 I would not go below quad-core (8-thread) myself.  You can get a quad 
 core, good
 quality machine for $1000 or less these day.  If you move up to the larger
 machines, you can even be able to get to a 24-core for less then $5000.  
 By the
 time you get to 96-core and all of the googles you are likely talking 
 $5 or
 more.

 By clock raid, the 24-core machine is the fastest..  While the 96-core 
 monster
 can do the builds the quickest.  But when you figure out 
 cost/performance/etc..
 the 24-core is probably the best performance per dollar, and with adequate 
 RAM
 (I'd say at least 64GB if not 128GB), and fast I/O you'll probably get the
 lowest price for the best performance in that category.

 If you need sheer speed and price is no option, then the (4 CPU w/ 24 core 
 each)
 96-core monster (or even better) is what you want to go with.  256GB ram 
 would
 be a minimum with that configuration (I'm not sure if more is actually 
 helpful,
 I rarely end up in swap -- but I go get into situations where more then 
 50% of
 ram is used.)  With that many cores, disk I/O starts to become obvious.  So
 faster the better... SSDs would be the fastest, but of course the most 
 expensive.

 If your employer is paying for the machine, you may be able to get a 
 better then
 normal machine by explaining how much time a faster machine will save and 
 how
 comparing to your salary a machine is inexpensive.  (If you are a 
 contractor or
 student, that changes of course.)  :)

 So my point is really, figure out how much money you have to spend.  My 
 rule of
 thumb is roughly:

 1) Buy as many cores as you can.  Try to get a CPU that has Hyperthreading 
 or
 equivalent to double the effective core count.  Fastest processing speed 
 helps
 in repetitive cases vs full system builds.

 So if the choice is a 24 core @ 2.2GHz vs 22 core @ 2.5, I'd probably go 
 with
 the 22-core.  While if it was 24 core @ 2.2GHz vs 8 core @ 4.2 GHz, I'd go 
 with
 the 24 core.

 2) Try to get at least 1 GB of ram per thread (2 GB per core..)  You can 
 cut
 back on the ram (if necessary) once you hit 72 threads or so.   (72 threads
 right now seems to cover most of the parallelization in a full system 
 build.
 There are points in the system where it can parallelize MUCH more, but 
 they are
 fairly rare.)

 3) You need fast disks.  Software RAID works fine, but you likely need to 
 buy at
 least a couple of disk to boost performance.  SSDs are fast, but lots of 
 builds
 take space, so fast SATA or even better SAS drives are the best 
 performance per
 cost.
>>> This brings to mind a related question I keep coming back to as to the
>>> economics of a docker (or similar) image running a fast Yocto build in
>>> the cloud.
>>>
>>> i.e. set config params -> bring up server image on plaform A/B/C ->
>>> perform build taking time X/Y/Z -> store output images -> bring down
>>> server  == $ ?
>>>
>>> I find myself asking what the optimal cost per-build would be using this
>>> approach...
>> I helped someone do some very -preliminary- figured a few years ago.  The
>> processing was 'cheap', but between storage and network transfer costs.. it 
>> was
>> cheaper to buy a reasonable machine.. payback time was only a few months.
>>
>> (cloud 'storage' is often very slow as well, because there are expectations 
>> of
>> migration and things like that.)
>>
>> So as of a few years ago at least, the economics didn't factory the cloud -- 
>> yet.
>>
>>
> 
> Yeah that is more or less my thinking. Although I do imagine that if a 
> source 

Re: [yocto] Suitable machine for yocto

2017-09-10 Thread Alex Lennon



On 10/09/2017 19:17, Mark Hatle wrote:

On 9/10/17 11:14 AM, Alex Lennon wrote:


On 10/09/2017 17:06, Mark Hatle wrote:

On 9/10/17 2:00 AM, Usman Haider wrote:

Hi,

Can someone please recommend some good machine for yocto environment and
building sdks. I am interested in RAM, hard disk space, processor.

You want fast I/O, as much RAM and as many (fast) cores as you can afford.  I
don't think there is a single answer as what is 'best'.  It also depends on
which Yocto Project versions, and which layers you are using as to which
combination is best.

I run builds on my laptop, 4-core/8-thread & SSD and 16 GB of ram from a few
years ago.  It's fast, but I wouldn't want to do all of my development on it.

I've had 8-core/16-thread (32GB ram/standard disk), 16-core/32-thread (72GB
ram/SAS-3 RAID), 24-core/48-thread (64GB ram/SATA - software RAID), 72-core/144
thread (256 GB ram/hardware raid/SAS-3), and recently upgraded to
96-core/192-thread (256 GB ram/hardware raid/SAS-3).

I would not go below quad-core (8-thread) myself.  You can get a quad core, good
quality machine for $1000 or less these day.  If you move up to the larger
machines, you can even be able to get to a 24-core for less then $5000.  By the
time you get to 96-core and all of the googles you are likely talking $5 or
more.

By clock raid, the 24-core machine is the fastest..  While the 96-core monster
can do the builds the quickest.  But when you figure out cost/performance/etc..
the 24-core is probably the best performance per dollar, and with adequate RAM
(I'd say at least 64GB if not 128GB), and fast I/O you'll probably get the
lowest price for the best performance in that category.

If you need sheer speed and price is no option, then the (4 CPU w/ 24 core each)
96-core monster (or even better) is what you want to go with.  256GB ram would
be a minimum with that configuration (I'm not sure if more is actually helpful,
I rarely end up in swap -- but I go get into situations where more then 50% of
ram is used.)  With that many cores, disk I/O starts to become obvious.  So
faster the better... SSDs would be the fastest, but of course the most 
expensive.

If your employer is paying for the machine, you may be able to get a better then
normal machine by explaining how much time a faster machine will save and how
comparing to your salary a machine is inexpensive.  (If you are a contractor or
student, that changes of course.)  :)

So my point is really, figure out how much money you have to spend.  My rule of
thumb is roughly:

1) Buy as many cores as you can.  Try to get a CPU that has Hyperthreading or
equivalent to double the effective core count.  Fastest processing speed helps
in repetitive cases vs full system builds.

So if the choice is a 24 core @ 2.2GHz vs 22 core @ 2.5, I'd probably go with
the 22-core.  While if it was 24 core @ 2.2GHz vs 8 core @ 4.2 GHz, I'd go with
the 24 core.

2) Try to get at least 1 GB of ram per thread (2 GB per core..)  You can cut
back on the ram (if necessary) once you hit 72 threads or so.   (72 threads
right now seems to cover most of the parallelization in a full system build.
There are points in the system where it can parallelize MUCH more, but they are
fairly rare.)

3) You need fast disks.  Software RAID works fine, but you likely need to buy at
least a couple of disk to boost performance.  SSDs are fast, but lots of builds
take space, so fast SATA or even better SAS drives are the best performance per
cost.

This brings to mind a related question I keep coming back to as to the
economics of a docker (or similar) image running a fast Yocto build in
the cloud.

i.e. set config params -> bring up server image on plaform A/B/C ->
perform build taking time X/Y/Z -> store output images -> bring down
server  == $ ?

I find myself asking what the optimal cost per-build would be using this
approach...

I helped someone do some very -preliminary- figured a few years ago.  The
processing was 'cheap', but between storage and network transfer costs.. it was
cheaper to buy a reasonable machine.. payback time was only a few months.

(cloud 'storage' is often very slow as well, because there are expectations of
migration and things like that.)

So as of a few years ago at least, the economics didn't factory the cloud -- 
yet.




Yeah that is more or less my thinking. Although I do imagine that if a 
source mirror on an internal network leg could be set up then that might 
significantly reduce chargeable network b/w...


Cheers,

Alex

--
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] Suitable machine for yocto

2017-09-10 Thread Mark Hatle
On 9/10/17 11:14 AM, Alex Lennon wrote:
> 
> 
> On 10/09/2017 17:06, Mark Hatle wrote:
>> On 9/10/17 2:00 AM, Usman Haider wrote:
>>> Hi,
>>>
>>> Can someone please recommend some good machine for yocto environment and
>>> building sdks. I am interested in RAM, hard disk space, processor.
>> You want fast I/O, as much RAM and as many (fast) cores as you can afford.  I
>> don't think there is a single answer as what is 'best'.  It also depends on
>> which Yocto Project versions, and which layers you are using as to which
>> combination is best.
>>
>> I run builds on my laptop, 4-core/8-thread & SSD and 16 GB of ram from a few
>> years ago.  It's fast, but I wouldn't want to do all of my development on it.
>>
>> I've had 8-core/16-thread (32GB ram/standard disk), 16-core/32-thread (72GB
>> ram/SAS-3 RAID), 24-core/48-thread (64GB ram/SATA - software RAID), 
>> 72-core/144
>> thread (256 GB ram/hardware raid/SAS-3), and recently upgraded to
>> 96-core/192-thread (256 GB ram/hardware raid/SAS-3).
>>
>> I would not go below quad-core (8-thread) myself.  You can get a quad core, 
>> good
>> quality machine for $1000 or less these day.  If you move up to the larger
>> machines, you can even be able to get to a 24-core for less then $5000.  By 
>> the
>> time you get to 96-core and all of the googles you are likely talking $5 
>> or
>> more.
>>
>> By clock raid, the 24-core machine is the fastest..  While the 96-core 
>> monster
>> can do the builds the quickest.  But when you figure out 
>> cost/performance/etc..
>> the 24-core is probably the best performance per dollar, and with adequate 
>> RAM
>> (I'd say at least 64GB if not 128GB), and fast I/O you'll probably get the
>> lowest price for the best performance in that category.
>>
>> If you need sheer speed and price is no option, then the (4 CPU w/ 24 core 
>> each)
>> 96-core monster (or even better) is what you want to go with.  256GB ram 
>> would
>> be a minimum with that configuration (I'm not sure if more is actually 
>> helpful,
>> I rarely end up in swap -- but I go get into situations where more then 50% 
>> of
>> ram is used.)  With that many cores, disk I/O starts to become obvious.  So
>> faster the better... SSDs would be the fastest, but of course the most 
>> expensive.
>>
>> If your employer is paying for the machine, you may be able to get a better 
>> then
>> normal machine by explaining how much time a faster machine will save and how
>> comparing to your salary a machine is inexpensive.  (If you are a contractor 
>> or
>> student, that changes of course.)  :)
>>
>> So my point is really, figure out how much money you have to spend.  My rule 
>> of
>> thumb is roughly:
>>
>> 1) Buy as many cores as you can.  Try to get a CPU that has Hyperthreading or
>> equivalent to double the effective core count.  Fastest processing speed 
>> helps
>> in repetitive cases vs full system builds.
>>
>> So if the choice is a 24 core @ 2.2GHz vs 22 core @ 2.5, I'd probably go with
>> the 22-core.  While if it was 24 core @ 2.2GHz vs 8 core @ 4.2 GHz, I'd go 
>> with
>> the 24 core.
>>
>> 2) Try to get at least 1 GB of ram per thread (2 GB per core..)  You can cut
>> back on the ram (if necessary) once you hit 72 threads or so.   (72 threads
>> right now seems to cover most of the parallelization in a full system build.
>> There are points in the system where it can parallelize MUCH more, but they 
>> are
>> fairly rare.)
>>
>> 3) You need fast disks.  Software RAID works fine, but you likely need to 
>> buy at
>> least a couple of disk to boost performance.  SSDs are fast, but lots of 
>> builds
>> take space, so fast SATA or even better SAS drives are the best performance 
>> per
>> cost.
> 
> This brings to mind a related question I keep coming back to as to the 
> economics of a docker (or similar) image running a fast Yocto build in 
> the cloud.
> 
> i.e. set config params -> bring up server image on plaform A/B/C -> 
> perform build taking time X/Y/Z -> store output images -> bring down 
> server  == $ ?
> 
> I find myself asking what the optimal cost per-build would be using this 
> approach...

I helped someone do some very -preliminary- figured a few years ago.  The
processing was 'cheap', but between storage and network transfer costs.. it was
cheaper to buy a reasonable machine.. payback time was only a few months.

(cloud 'storage' is often very slow as well, because there are expectations of
migration and things like that.)

So as of a few years ago at least, the economics didn't factory the cloud -- 
yet.

--Mark

> Cheers,
> 
> Alex
> 

-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] Suitable machine for yocto

2017-09-10 Thread Alex Lennon



On 10/09/2017 17:06, Mark Hatle wrote:

On 9/10/17 2:00 AM, Usman Haider wrote:

Hi,

Can someone please recommend some good machine for yocto environment and
building sdks. I am interested in RAM, hard disk space, processor.

You want fast I/O, as much RAM and as many (fast) cores as you can afford.  I
don't think there is a single answer as what is 'best'.  It also depends on
which Yocto Project versions, and which layers you are using as to which
combination is best.

I run builds on my laptop, 4-core/8-thread & SSD and 16 GB of ram from a few
years ago.  It's fast, but I wouldn't want to do all of my development on it.

I've had 8-core/16-thread (32GB ram/standard disk), 16-core/32-thread (72GB
ram/SAS-3 RAID), 24-core/48-thread (64GB ram/SATA - software RAID), 72-core/144
thread (256 GB ram/hardware raid/SAS-3), and recently upgraded to
96-core/192-thread (256 GB ram/hardware raid/SAS-3).

I would not go below quad-core (8-thread) myself.  You can get a quad core, good
quality machine for $1000 or less these day.  If you move up to the larger
machines, you can even be able to get to a 24-core for less then $5000.  By the
time you get to 96-core and all of the googles you are likely talking $5 or
more.

By clock raid, the 24-core machine is the fastest..  While the 96-core monster
can do the builds the quickest.  But when you figure out cost/performance/etc..
the 24-core is probably the best performance per dollar, and with adequate RAM
(I'd say at least 64GB if not 128GB), and fast I/O you'll probably get the
lowest price for the best performance in that category.

If you need sheer speed and price is no option, then the (4 CPU w/ 24 core each)
96-core monster (or even better) is what you want to go with.  256GB ram would
be a minimum with that configuration (I'm not sure if more is actually helpful,
I rarely end up in swap -- but I go get into situations where more then 50% of
ram is used.)  With that many cores, disk I/O starts to become obvious.  So
faster the better... SSDs would be the fastest, but of course the most 
expensive.

If your employer is paying for the machine, you may be able to get a better then
normal machine by explaining how much time a faster machine will save and how
comparing to your salary a machine is inexpensive.  (If you are a contractor or
student, that changes of course.)  :)

So my point is really, figure out how much money you have to spend.  My rule of
thumb is roughly:

1) Buy as many cores as you can.  Try to get a CPU that has Hyperthreading or
equivalent to double the effective core count.  Fastest processing speed helps
in repetitive cases vs full system builds.

So if the choice is a 24 core @ 2.2GHz vs 22 core @ 2.5, I'd probably go with
the 22-core.  While if it was 24 core @ 2.2GHz vs 8 core @ 4.2 GHz, I'd go with
the 24 core.

2) Try to get at least 1 GB of ram per thread (2 GB per core..)  You can cut
back on the ram (if necessary) once you hit 72 threads or so.   (72 threads
right now seems to cover most of the parallelization in a full system build.
There are points in the system where it can parallelize MUCH more, but they are
fairly rare.)

3) You need fast disks.  Software RAID works fine, but you likely need to buy at
least a couple of disk to boost performance.  SSDs are fast, but lots of builds
take space, so fast SATA or even better SAS drives are the best performance per
cost.


This brings to mind a related question I keep coming back to as to the 
economics of a docker (or similar) image running a fast Yocto build in 
the cloud.


i.e. set config params -> bring up server image on plaform A/B/C -> 
perform build taking time X/Y/Z -> store output images -> bring down 
server  == $ ?


I find myself asking what the optimal cost per-build would be using this 
approach...


Cheers,

Alex

--
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] Suitable machine for yocto

2017-09-10 Thread Mark Hatle
On 9/10/17 2:00 AM, Usman Haider wrote:
> Hi,
> 
> Can someone please recommend some good machine for yocto environment and
> building sdks. I am interested in RAM, hard disk space, processor.

You want fast I/O, as much RAM and as many (fast) cores as you can afford.  I
don't think there is a single answer as what is 'best'.  It also depends on
which Yocto Project versions, and which layers you are using as to which
combination is best.

I run builds on my laptop, 4-core/8-thread & SSD and 16 GB of ram from a few
years ago.  It's fast, but I wouldn't want to do all of my development on it.

I've had 8-core/16-thread (32GB ram/standard disk), 16-core/32-thread (72GB
ram/SAS-3 RAID), 24-core/48-thread (64GB ram/SATA - software RAID), 72-core/144
thread (256 GB ram/hardware raid/SAS-3), and recently upgraded to
96-core/192-thread (256 GB ram/hardware raid/SAS-3).

I would not go below quad-core (8-thread) myself.  You can get a quad core, good
quality machine for $1000 or less these day.  If you move up to the larger
machines, you can even be able to get to a 24-core for less then $5000.  By the
time you get to 96-core and all of the googles you are likely talking $5 or
more.

By clock raid, the 24-core machine is the fastest..  While the 96-core monster
can do the builds the quickest.  But when you figure out cost/performance/etc..
the 24-core is probably the best performance per dollar, and with adequate RAM
(I'd say at least 64GB if not 128GB), and fast I/O you'll probably get the
lowest price for the best performance in that category.

If you need sheer speed and price is no option, then the (4 CPU w/ 24 core each)
96-core monster (or even better) is what you want to go with.  256GB ram would
be a minimum with that configuration (I'm not sure if more is actually helpful,
I rarely end up in swap -- but I go get into situations where more then 50% of
ram is used.)  With that many cores, disk I/O starts to become obvious.  So
faster the better... SSDs would be the fastest, but of course the most 
expensive.

If your employer is paying for the machine, you may be able to get a better then
normal machine by explaining how much time a faster machine will save and how
comparing to your salary a machine is inexpensive.  (If you are a contractor or
student, that changes of course.)  :)

So my point is really, figure out how much money you have to spend.  My rule of
thumb is roughly:

1) Buy as many cores as you can.  Try to get a CPU that has Hyperthreading or
equivalent to double the effective core count.  Fastest processing speed helps
in repetitive cases vs full system builds.

So if the choice is a 24 core @ 2.2GHz vs 22 core @ 2.5, I'd probably go with
the 22-core.  While if it was 24 core @ 2.2GHz vs 8 core @ 4.2 GHz, I'd go with
the 24 core.

2) Try to get at least 1 GB of ram per thread (2 GB per core..)  You can cut
back on the ram (if necessary) once you hit 72 threads or so.   (72 threads
right now seems to cover most of the parallelization in a full system build.
There are points in the system where it can parallelize MUCH more, but they are
fairly rare.)

3) You need fast disks.  Software RAID works fine, but you likely need to buy at
least a couple of disk to boost performance.  SSDs are fast, but lots of builds
take space, so fast SATA or even better SAS drives are the best performance per
cost.
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] Suitable machine for yocto

2017-09-10 Thread Chris Tapp

> On 10 Sep 2017, at 12:53, Alex Lennon  wrote:
> 
> 
> 
> On 10/09/2017 12:00, Chris Tapp wrote:
>>> On 10 Sep 2017, at 09:05, Alex Lennon  wrote:
>>> 
>>> Hi Usman,
>>> 
>>> On 10/09/2017 08:00, Usman Haider wrote:
 Hi,
 
 Can someone please recommend some good machine for yocto environment and 
 building sdks. I am interested in RAM, hard disk space, processor.
 
 
>>> I use a AMD FX-8350 4GHz Eight-Core Processor on a GA-78LMT-USB3 mainboard 
>>> with 32GB RAM and a couple of 4TB drives, running Ubuntu 16.04.03 LTS.
>> I have a similar spec, except I use an SSD for the build area and only 16GB 
>> RAM (I don’t see more than about 12GB used during a build) - a build from 
>> scratch (excluding download time) takes just under an hour.
>> 
>> 
> 
> I am toying with putting an SSD in there. I use the Samsung Evo 1TB units for 
> day to day on my laptop and that has worked very well for me. Maybe I should 
> move that forward.

I use a 750 GB Evo - mainly so there’s lots of over-provisioning as builds 
create a lot of artefacts. Better wear than some HDDs though as the heads get a 
really hammering.

> 16GB is no doubt absolutely fine in general. I suppose in part it may depend 
> on how many tasks are executing in parallel on the CPU cores.
> 
> I find a very few recipes are _real_ memory hogs. I imagine I could get by 
> with less RAM but Chromium and possibly Qt5 stick in the mind as having 
> intermittent build issues when the RAM was lower.

Sure, it will depend on what’s being built - this machine is quite old now and 
16 GB needed a (not so) small mortgage when it was built ;-)

> 
> Cheers!
> 
> Alex
> 

--

Chris Tapp
opensou...@keylevel.com
www.keylevel.com


You can tell you're getting older when your car insurance gets real cheap!

-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] Suitable machine for yocto

2017-09-10 Thread Alex Lennon



On 10/09/2017 12:00, Chris Tapp wrote:

On 10 Sep 2017, at 09:05, Alex Lennon  wrote:

Hi Usman,

On 10/09/2017 08:00, Usman Haider wrote:

Hi,

Can someone please recommend some good machine for yocto environment and 
building sdks. I am interested in RAM, hard disk space, processor.



I use a AMD FX-8350 4GHz Eight-Core Processor on a GA-78LMT-USB3 mainboard with 
32GB RAM and a couple of 4TB drives, running Ubuntu 16.04.03 LTS.

I have a similar spec, except I use an SSD for the build area and only 16GB RAM 
(I don’t see more than about 12GB used during a build) - a build from scratch 
(excluding download time) takes just under an hour.




I am toying with putting an SSD in there. I use the Samsung Evo 1TB 
units for day to day on my laptop and that has worked very well for me. 
Maybe I should move that forward.


16GB is no doubt absolutely fine in general. I suppose in part it may 
depend on how many tasks are executing in parallel on the CPU cores.


I find a very few recipes are _real_ memory hogs. I imagine I could get 
by with less RAM but Chromium and possibly Qt5 stick in the mind as 
having intermittent build issues when the RAM was lower.


Cheers!

Alex

--
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] Suitable machine for yocto

2017-09-10 Thread Chris Tapp

> On 10 Sep 2017, at 09:05, Alex Lennon  wrote:
> 
> Hi Usman,
> 
> On 10/09/2017 08:00, Usman Haider wrote:
>> Hi,
>> 
>> Can someone please recommend some good machine for yocto environment and 
>> building sdks. I am interested in RAM, hard disk space, processor.
>> 
>> 
> 
> I use a AMD FX-8350 4GHz Eight-Core Processor on a GA-78LMT-USB3 mainboard 
> with 32GB RAM and a couple of 4TB drives, running Ubuntu 16.04.03 LTS.

I have a similar spec, except I use an SSD for the build area and only 16GB RAM 
(I don’t see more than about 12GB used during a build) - a build from scratch 
(excluding download time) takes just under an hour.

If you go for an Intel CPU, then having one with a decent turbo boost can help 
as some parts of the initial build only use a single core and it helps to get 
past that bottle-neck.

> 
> I find this more or less does the job although I drink more coffee nowadays...
> 
> Cheers,
> 
> Alex
> 
> -- 
> ___
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto

--

Chris Tapp
opensou...@keylevel.com
www.keylevel.com


You can tell you're getting older when your car insurance gets real cheap!

-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] Suitable machine for yocto

2017-09-10 Thread Alex Lennon

Hi Usman,

On 10/09/2017 08:00, Usman Haider wrote:

Hi,

Can someone please recommend some good machine for yocto environment 
and building sdks. I am interested in RAM, hard disk space, processor.





I use a AMD FX-8350 4GHz Eight-Core Processor on a GA-78LMT-USB3 
mainboard with 32GB RAM and a couple of 4TB drives, running Ubuntu 
16.04.03 LTS.


I find this more or less does the job although I drink more coffee 
nowadays...


Cheers,

Alex

--
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


[yocto] Suitable machine for yocto

2017-09-10 Thread Usman Haider
Hi,

Can someone please recommend some good machine for yocto environment and
building sdks. I am interested in RAM, hard disk space, processor.

Thanks
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto