Re: Arm ports build machines (was Re: Arch qualification for buster: call for DSA, Security, toolchain concerns)

2018-06-29 Thread Luke Kenneth Casson Leighton
spoke again to TL and asked if pine64 would be willing to look at
sponsorship witn rockpro64 boards (the ones that take 4x PCIe): if
someone from debian were to contact him direct he would happily
consider it.

i then asked him if i could cc him into this discussion and he said he
was way *way* too busy to enter into another mailing list discussion,
so if someone from debian emails me privately, off-list, i will then
cc him and/or put them in touch with him on irc.  i can also be
reached on freenode and oftc as "lkcl", if that is easier.

l.



Re: Arm ports build machines (was Re: Arch qualification for buster: call for DSA, Security, toolchain concerns)

2018-06-29 Thread Luke Kenneth Casson Leighton
On Fri, Jun 29, 2018 at 8:13 PM, Luke Kenneth Casson Leighton
 wrote:
> On Fri, Jun 29, 2018 at 6:59 PM, Jonathan Wiltshire  wrote:
>
>>>  also worth noting, they're working on a 2U rackmount server which
>>> will have i think something insane like 48 Rock64Pro boards in one
>>> full-length case.
>
>> None of this addresses the basic DSA requirement of remote management.
>> Troubling local hands to change a disk once in a while is reasonable; being
>> blocked waiting for a power cycle on a regular basis is not (and I can't
>> imagine hosting sponsors are wild about their employees' time being used
>> for that either).
>
> i know exactly what you mean, i've had to deal with data centres.
> i'll make sure that TL Lim is aware of this, and will ask him if
> there's a way to include remote power-management / power-cycling of
> boards in the planned product or if it's already been thought of.

 TL informs me that all the power and reset signals for all 48 of the
RockPro64s tucked into the full-length 2U case are brought out to the
back panel.  an MCU (or MCUs) or SBC (or SBCs) may therefore be
connected directly to those in order to provide *individual* remote
power / reset management of all 48 RockPro64s.  DIY remote power
management, but it is actual remote power management.

 l.



Re: Arm ports build machines (was Re: Arch qualification for buster: call for DSA, Security, toolchain concerns)

2018-06-29 Thread Luke Kenneth Casson Leighton
---
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68


On Fri, Jun 29, 2018 at 8:31 PM, Florian Weimer  wrote:
> * Luke Kenneth Casson Leighton:
>
>>  that is not a surprise to hear: the massive thrashing caused by the
>> linker phase not being possible to be RAM-resident will be absolutely
>> hammering the drives beyond reasonable wear-and-tear limits.  which is
>> why i'm recommending people try "-Wl,--no-keep-memory".
>
> Note that ld will sometimes stuff everything into a single RWX segment
> as a result, which is not desirable.

 florian, thank you for responding: i've put a copy of the insights
that you give into the bugreport at
https://sourceware.org/bugzilla/show_bug.cgi?id=22831#c16

> Unfortunately, without significant investment into historic linker
> technologies (with external sorting and that kind of stuff),

 yes, ah ha!  funnily enough the algorithm that i was asked to create
back in 1988 was an external matrix-multiply, i take it you are
talking about the same thing, where linking is done using explicit
load-process-save cycles rather than relying on swap.

> I don't
> think it is viable to build 32-bit software natively in the near
> future.

  i noted an alternative strategy in the bugreport: if binutils *at
the very least* were to look at the available resident RAM and only
malloc'd and used up to that amount, and kept only a few (or even just
one) object file in memory at a time and did all the linking for that,
it would be infinitely better than the current situation which is
*only going to get worse*.

>   Maybe next year only a few packages will need exceptions, but
> the number will grow with each month.

 well... that ignores the fact that at some point in the next few
years there will be a package that needs 16 GB of resident RAM to
link.   and a few years after that it will be 32 GB.  and that's on
64-bit systems.  the package's name will probably be "firefox", given
the current growth rate.

 does debian *really* want to have to upgrade all 64-bit systems in
the build farm first to 16 GB RAM and then to 32 GB and then to 64
GB??  can the powerpc64 systems and all other 64-bit architectures
even *be* upgraded to 16 GB then 32 GB then 64 GB of RAM??

 basically the problems faced by 32-bit systems are a warning shot
across the bows about ld not really being kept up-to-date with the
increases in software complexity that's being thrown at it.  it's
*NOT* just about 32-bit.

 this problem can basically be faced REactively... or it can be faced
PROactively: the historic linker strategies that you mention are i
feel going to be needed in some years' time *even for 64-bit*.

l.



Re: Arm ports build machines (was Re: Arch qualification for buster: call for DSA, Security, toolchain concerns)

2018-06-29 Thread Florian Weimer
* Luke Kenneth Casson Leighton:

>  that is not a surprise to hear: the massive thrashing caused by the
> linker phase not being possible to be RAM-resident will be absolutely
> hammering the drives beyond reasonable wear-and-tear limits.  which is
> why i'm recommending people try "-Wl,--no-keep-memory".

Note that ld will sometimes stuff everything into a single RWX segment
as a result, which is not desirable.

Unfortunately, without significant investment into historic linker
technologies (with external sorting and that kind of stuff), I don't
think it is viable to build 32-bit software natively in the near
future.  Maybe next year only a few packages will need exceptions, but
the number will grow with each month.  Building on 64-bit kernels will
delay the inevitable because more address space is available to user
space, but that's probably 12 to 18 month extended life-time for
native building.



Re: Arm ports build machines (was Re: Arch qualification for buster: call for DSA, Security, toolchain concerns)

2018-06-29 Thread Luke Kenneth Casson Leighton
On Fri, Jun 29, 2018 at 6:59 PM, Jonathan Wiltshire  wrote:

>>  also worth noting, they're working on a 2U rackmount server which
>> will have i think something insane like 48 Rock64Pro boards in one
>> full-length case.

> None of this addresses the basic DSA requirement of remote management.
> Troubling local hands to change a disk once in a while is reasonable; being
> blocked waiting for a power cycle on a regular basis is not (and I can't
> imagine hosting sponsors are wild about their employees' time being used
> for that either).

i know exactly what you mean, i've had to deal with data centres.
i'll make sure that TL Lim is aware of this, and will ask him if
there's a way to include remote power-management / power-cycling of
boards in the planned product or if it's already been thought of.

l.



Re: Arm ports build machines (was Re: Arch qualification for buster: call for DSA, Security, toolchain concerns)

2018-06-29 Thread Jonathan Wiltshire
On Fri, Jun 29, 2018 at 06:05:55PM +0100, Luke Kenneth Casson Leighton wrote:
>  apologies for repeating it again: this is why i'm recommending people
> try "-Wl,--no-keep-memory" on the linker phase as if it works as
> intended it will almost certainly drastically reduce memory usage to
> the point where it will stay, for the majority of packages, well
> within the 2GB limit i.e. within resident RAM.
[...]
>  most of them won't have native SATA: very few 32-bit ARM systems do.
> GbE is not that common either (so decent-speed network drives are
> challenging, as well).  so they'll almost certainly be USB-based
> (USB-to-SATA, which is known-unreliable), and putting such vast
> amounts of drive-hammering through USB-to-SATA due to thrashing isn't
> going to help :)
[...]
> 
>  the allwinner A20 and R40 are the two low-cost ARM systems that i'm
> aware of that have native SATA.
> 
> 
>  there is however a new devboard that is reasonably cheap and should
> be available really soon: the Rock64Pro (not to be confused with the
> Rock64, which does NOT have PCie), from pine64:
> https://www.pine64.org/?page_id=61454
> 
>  it's one of the first *low-cost* ARM dev-boards that i've seen which
> has 4GB of RAM and has a 4x PCIe slot.  the team have tested it out
> with an NVMe SSD and also 4x SATA PCIe cards: they easily managed to
> hit 20 Gigabits per second on the NVMe drive (2500 mbytes/sec).
> 
>  also worth noting, they're working on a 2U rackmount server which
> will have i think something insane like 48 Rock64Pro boards in one
> full-length case.
> 
>  the Rock64Pro uses the RK3399 which is a 4-core CortexA53 plus 2-core
> CortexA72 for a total 6-core SMP system, all 64-bit.
> 
>  if anyone would like me to have a word with TL Lim (the CEO of
> pine64) i can see if he is willing and able to donate some Rock64Pro
> boards to the debian farm, let me know.

None of this addresses the basic DSA requirement of remote management.
Troubling local hands to change a disk once in a while is reasonable; being
blocked waiting for a power cycle on a regular basis is not (and I can't
imagine hosting sponsors are wild about their employees' time being used
for that either).

Development boards just don't cut it any longer.

-- 
Jonathan Wiltshire  j...@debian.org
Debian Developer http://people.debian.org/~jmw

4096R: 0xD3524C51 / 0A55 B7C5 1223 3942 86EC  74C3 5394 479D D352 4C51



Re: Arm ports build machines (was Re: Arch qualification for buster: call for DSA, Security, toolchain concerns)

2018-06-29 Thread Luke Kenneth Casson Leighton
On Fri, Jun 29, 2018 at 5:21 PM, Steve McIntyre  wrote:

>>2G is also way too little memory these days for a new buildd.
>
> Nod - lots of packages are just too big for that now.

 apologies for repeating it again: this is why i'm recommending people
try "-Wl,--no-keep-memory" on the linker phase as if it works as
intended it will almost certainly drastically reduce memory usage to
the point where it will stay, for the majority of packages, well
within the 2GB limit i.e. within resident RAM.

 i'm really not sure why the discussions continue not to take this
into account, repeating the status-quo and accepting "packages are too
big" as if there is absolutely no possible way that this problem may
be solved or even attempted to be solved... ever.  i am very confused
by this.  perhaps it is down to latency in discussions as new people
contribute (but have signficant delay on reading), i don't know.


> Future options
> ==
>
> I understand DSA's reluctance to continue supporting dev boards as
> build platforms - I've been the one working on some of these machines
> in the machine room at Arm, and it's painful when you can't reliably
> reboot or get onto the console of crashed machines. We've also had a
> spate of disk failures recently which has caused extended downtime.

 that is not a surprise to hear: the massive thrashing caused by the
linker phase not being possible to be RAM-resident will be absolutely
hammering the drives beyond reasonable wear-and-tear limits.  which is
why i'm recommending people try "-Wl,--no-keep-memory".

 ... oh, i have an idea which people might like to consider trying.
it's to use "-Wl,--no-keep-memory" on the linker phase of 32-bit
builds.  did i mention that already? :)  it might save some build
hardware from being destroyed if people try using
"-Wl,--no-keep-memory"!


> I'm just in the middle of switching the arm64 machines here to using
> SW RAID to mitigate that in future, and that's just not an option on
> the dev boards. We want to move away from dev boards for these
> reasons, at the very least.

 most of them won't have native SATA: very few 32-bit ARM systems do.
GbE is not that common either (so decent-speed network drives are
challenging, as well).  so they'll almost certainly be USB-based
(USB-to-SATA, which is known-unreliable), and putting such vast
amounts of drive-hammering through USB-to-SATA due to thrashing isn't
going to help :)

 the allwinner A20 and R40 are the two low-cost ARM systems that i'm
aware of that have native SATA.


 there is however a new devboard that is reasonably cheap and should
be available really soon: the Rock64Pro (not to be confused with the
Rock64, which does NOT have PCie), from pine64:
https://www.pine64.org/?page_id=61454

 it's one of the first *low-cost* ARM dev-boards that i've seen which
has 4GB of RAM and has a 4x PCIe slot.  the team have tested it out
with an NVMe SSD and also 4x SATA PCIe cards: they easily managed to
hit 20 Gigabits per second on the NVMe drive (2500 mbytes/sec).

 also worth noting, they're working on a 2U rackmount server which
will have i think something insane like 48 Rock64Pro boards in one
full-length case.

 the Rock64Pro uses the RK3399 which is a 4-core CortexA53 plus 2-core
CortexA72 for a total 6-core SMP system, all 64-bit.

 if anyone would like me to have a word with TL Lim (the CEO of
pine64) i can see if he is willing and able to donate some Rock64Pro
boards to the debian farm, let me know.

l.



Arm ports build machines (was Re: Arch qualification for buster: call for DSA, Security, toolchain concerns)

2018-06-29 Thread Steve McIntyre
On Fri, Jun 29, 2018 at 11:23:25AM +0200, Julien Cristau wrote:
>On 06/29/2018 09:16 AM, Uwe Kleine-König wrote:
>>>
>>> [DSA Sprint report]:
>>> https://lists.debian.org/debian-project/2018/02/msg4.html
>> 
>> In this report Julien Cristau wrote:
>> 
>>> In short, the hardware (development boards) we're currently using to
>>> build armel and armhf packages aren't up to our standards, and we
>>> really, really want them to go away when stretch goes EOL (expected in
>>> 2020).  We urge arm porters to find a way to build armhf packages in
>>> VMs or chroots on server-class arm64 hardware.
>> 
>> If the concerns are mostly about the hardware not being rackable, there
>> is a rackable NAS by Netgear:
>> 
>>  
>> https://www.netgear.com/business/products/storage/readynas/RN2120.aspx#tab-techspecs
>> 
>> with an armhf cpu. Not sure if cpu speed (1.2 GHz) and available RAM (2
>> GiB) are good enough. The machine can run mainline Linux[1]. I think
>> U-Boot doesn't support this machine in mainline though.
>> 
>Rackable, while good, is only part of it.  The main part is remote
>management.  I'm not seeing any mention of ipmi or anything like that in
>the datasheet?
>
>2G is also way too little memory these days for a new buildd.

Nod - lots of packages are just too big for that now.

So, here's a summary of the current build/porter machines we have for
the arm ports.

armel/armhf *only* build machines
=

We're mostly using dev boards to build 32-bit arm stuff yet.

 * 7 Marvell Armada XP machines: dev boards supplied in a box, 4GiB
   RAM - see http://photos.einval.com/gallery/2014_marvell_buildd
   These are nice powerful little machines, but they're a PITA to
   manage for power (won't cold boot without a button push) and serial
   (USB serial exposed only). We have 6 of these as build boxes and 1
   porter box, and I have a spare ready to go into service if
   desired. They *don't* have NEON, so we also still have:

 * 1 Freescale imx53 dev board as a porter box - old, slow Cortex A8
   machine with only 1GiB of RAM. This works better for serial, but
   remote power issues again - needs a button push to cold boot. Will
   happily retire this once we have NEON available by default.

Each of these dev boards only has support for 1 disk, so disk failures
are painful.

arm64 build machines


These are all more normal computers, with better support for remote
power and serial, DIMM slots, multiple disks, etc.

 * APM Mustang (X-Gene 1): officially EOL, but working fine for
   now. Normal server-class machine (although supplied in a small
   desktop case!) with some onboard server management stuff. We
   currently have one of these. We used to have more loaned/hosted by
   Linaro, and I've had an offer of more of these if we're
   interested. They'll build and run A32 (32-bit instruction set) as
   well as A64.

 * Gigabyte MP30-AR0 (X-Gene 1): server systems based on the Mustang
   core - see
   https://b2b.gigabyte.com/Server-Motherboard/MP30-AR0-rev-11#ov
   Capable of building/running A32 and A64.

 * AMD Seattle (Opteron A1100): officially EOL too, but working
   fine. Same as the Softiron 3000, 2U rackmount case. Capable of
   building/running A32 and A64. One of these has just been configured
   to build armhf only.

Future options
==

I understand DSA's reluctance to continue supporting dev boards as
build platforms - I've been the one working on some of these machines
in the machine room at Arm, and it's painful when you can't reliably
reboot or get onto the console of crashed machines. We've also had a
spate of disk failures recently which has caused extended downtime.
I'm just in the middle of switching the arm64 machines here to using
SW RAID to mitigate that in future, and that's just not an option on
the dev boards. We want to move away from dev boards for these
reasons, at the very least.

So, at the moment as far as I can see we're happy with our current
arm64 build machines. They are ageing, so obviously I'm continuing to
look out for new options there as well. *But* my priority is new
options for 32-bit building too. Following standard Debian practice,
we want to build *natively* (i.e. not using cross-building or using
hardware emulation). Building 32-bit code on a 64-bit platform should
not be an issue so long as the platform can also execute that 32-bit
code directly.

I am not aware of any 32-bit Arm *server* platforms shipping
today. Some have existed in the past (e.g. Calxeda), but almost
universally people have moved on to 64-bit now. The awkward thing that
is now becoming more common in the arm64 server world is that quite a
few of the vendors are not seeing any value in A32 support so they're
leaving it out of their CPUs. We'll need to be careful about that.

Options I can see today for new publically available machines are
here. I'm sure I'll have missed something obvious - please feel free
to improve on this list!

 *