[CWB] ARM a viable platform for CWB?

Stefan Evert stefanML at collocations.de
Tue Aug 6 12:27:24 CEST 2013


Hi Trevor,

if you have a full-fledged Linux environment on ARM, I don't see any obvious reason why this shouldn't be possible.  Just follow the installation guide for Linux/Ubuntu.  The shell script install-scripts/cwb-install-ubuntu should give you an idea which extra packages are needed (though the Debian names might be slightly different).

If you're thinking about setting up a CWBweb server, this shouldn't be difficult either, as long as you can install Apache, PHP and MySQL.

The most likely gotchas I can think of are the following:

 - Library dependencies: CWB needs to be linked against recent versions of Glib2, PCRE and GNU Readline on your platform. For CWB 3.4.x, this libraries need to include Unicode (UTF-8) support. If you don't depend on UTF-8, you could also try installing the 3.0 branch of CWB, which has fewer external dependencies.

 - Memory-mapping: CWB accesses all index files through memory mapping.  If your ARM doesn't have hardware support for this, mmap() might not be available or might be very inefficient.  I'm looking forward to hearing more about your experience!

 - RAM and stack usage: CWB is intended for workstations with a fairly large amount of RAM, so most of the code doesn't mind wasting a few MBytes if that makes things easier or a bit faster. 15 years ago, CWB used to run on computers with 512 MB RAM (which were some of the bigger workstations available at the time ...), but it would often use a substantial amount of swap space; in the meantime, we've also increased the sizes of various static buffers in the code. Note that some static buffers are allocated on the stack (mainly to avoid memory leaks), which is assumed to be at least a few MB in size. If your ARM platform skimps on stack size, you might run into trouble with complex queries.

If you decide to give it a try, please do keep us posted about your experience.

Cheers,
Stefan


On 24 Jul 2013, at 22:26, Trevor Jenkins <trevor.jenkins at suneidesis.com> wrote:

> I've been commissioning some ARM-based plug computers today and noticed that as part of the Debian Linux installation setup there is a copy of MySQL. It crossed my mind that perhaps the spare device I have might make a good ad hoc CWB server to test out various options. Before I give in to my flight of fancy anyone have a technical opinion on whether hosting CWB on ARM would be viable?
> 
> Specifically I have a spare DreamPlug that was originally intended for some other, now abandoned project, that I can use. This has a Kirkwood 88F6281 processor, which is basically an ARMv5, and 512MB of RAM. Disk space can be either local via an eSATA connector or remote using a couple of 10/100/1000Mbps ethernet channels. The more recent Raspberry Pi devices has similar ARM processors, the slightly more advanced ARMv6 instruction set. That processing on a DreamPlug (or even Raspberry Pi) might be sluggardly isn't an issue–I can leave the device running for days if necessary–what I'm interested in finding out first of all is whether it's sensible to even think about the enterprise. Or am I just being affected by the  uncharacteristic heatwave that the UK is experiencing at the moment.



More information about the CWB mailing list