Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Open Source

Low-Power ARM-Based Build Server Delivers

For the last few months, I have been talking about the seismic shift in the application development world thanks in part to the accelerating momentum behind tablet computing. But even with these new client user interfaces, there remains the need to connect to a remote back-end to allow the clients to do something interesting and worthwhile. If your needs are specific and highly targeted, and you also want to benefit from a quiet running computer with very low power needs, Israeli-based CompuLab has an attractive offer for developers to consider. Its Linux-friendly Trim-Slice desktop system is available in an aggressively priced developer configuration that is worthy of a closer look.

Figure 1:The Trim-Slice can be used as a compact Linux desktop computer.

Trim-Slice is powered by an NVIDIA Tegra 2 dual-core ARM Cortex A9 processor running at 1 GHz. The Tegra 2 also sports a peppy GeForce GPU with 1 GB DDR2 RAM to bring snappy, fluid graphics to life via Trim-Slice's HDMI 1080p and DVI-D video outputs. And yes, this is the same processor found in a number of Android tablets on the market today.

The Trim-Slice package also features a Gigabit Ethernet port and built-in 802.11n WiFi. Bluetooth is available via a USB dongle bundled with the package. Speaking of USB, the Trim-Slice has 4 USB 2 ports as well as a micro-USB port and a mini connector for RS232 connectivity. The Trim-Slice H model can also be configured with a 2.5" SATA drive.

Figure 2: The front of the Trim-Slice consists of an RS232 adapter port, SD card slot, power button/indicator, 2 USB ports, and 1 Micro USB port. There's also a Kensington lock on the side.

Trim-Slice ships preinstalled with Ubuntu 11.04 (aka "Natty Narwhal") stored on the built-in 32-GB SATA SSD. In addition to Ubuntu, several other ARM-based Linux distributions are also being tailored for the Trim-Slice, including Fedora and Slackware. Even Oracle is in on the game, optimizing Java SE to run on ARM-based systems like Trim-Slice.

If you need more than the 32-GB on-board SSD, you can populate the dual SDHC slots (one standard and one micro-SD sized) with SD. Since SDHC supports up to 32-GB SD and micro-SD cards, Trim-Slice can be configured with 96-GB of Flash storage even before adding the 2.5" SATA drive. Given its low-power chip and storage configurations, Trim-Slice can run with as little as 2W of power consumption. And its low-power, fanless operation provides developers with a quiet, cool-running set-top box ready for customization.

Figure 3: The back of the Trim-Slice consists of a WiFi antenna port, 2 more USB ports, an S/PDIF Line-in, 12V DC power, Line-out/Video-in, GigE network port, and an HDMI primary and DVI-D secondary display ports. There's also a micro-SD slot on the side.

Using the Trim-Slice

The first thing you'll notice about the Trim-Slice is how small it is compared to other computing alternatives. Indeed, for the price of an Apple Mac Mini server, you could buy two Trim-Slices and they will fit in the same physical space that the single Mac Mini consumes. Of course, the NVIDIA TEGRA 2 computing power of the Trim-Slice can hardly match the Intel Core i5 processor in the Mac Mini, and the sluggish user interface of the Ubuntu 11.04 desktop proves this. However, these performance aspects will hopefully be improved with the upcoming release of the Ubuntu 11.10 (aka "Oneiric Ocelot") optimized for the Trim-Slice environment.

While the unboxing, set up, and initial boot went smoothly (though boot-up times off the SATA2 drive is a bit on the pokey side), the system exhibited some problems. The built-in WiFi drivers failed to load unless I booted the system with all USB and display devices disconnected. Next, the GPU optimized graphics were only applicable to X11, not any of the GStreamer video playback codecs. The 2D performance was functional, but not very fun to use.

Then things went off the deep end when I ignorantly accepted Ubuntu's repeated suggestion of upgrading to the 11.10 release. Having not read in advance CompuLab's forum posts that 11.10 was not ready for prime time on the Trim-Slice, I proceeded to perform the upgrade unaware of the consequences. Two and a half hours later, I was left with a non-bootable mess. Fortunately, CompuLab offers a Trim-Slice friendly Ubuntu 11.04 image download from its website. After dd'ing the image onto an SD card, mounting the card in the front SD card slot, powering the Trim-Slice back up, copying the image to the SATA drive and rebooting, the reimaged Ubuntu system had returned Trim-Slice back to its originally functioning state. I then followed CompuLab's advice of adding the Trim-Slice developer repository to the system. All 11.04-related file updates since have proceeded without incident since.

A Work In Progress

The current state of Trim-Slice is definitely usable from a simple server or automated back-end controller of sorts. I continuously tested the Trim-Slice as a wireless node on my network for a week for this review (I could have easily extended the duration, but I had a posting deadline to meet), and it was rock stable the entire time. The test was mostly under the moderate load of frequent git pushes and pulls, cron'd Python scripts running every couple minutes. Trim-Slice never failed.

That said, Trim-Slice is still evolving, which is why CompuLab is seeking to add dedicated programmers to its developer program to accelerate its broader adoption. The upcoming Ubuntu 11.10 release later this month along with the port of Android 4.0 some time in the next month or two should prove to be great catalysts to achieving this goal. In the meantime, Trim-Slice is quite stable in its current state and should keep developers busy and satisfied while they wait for these new OSes to be made available to the platform.

For Serious Developers Only

The discount offered by CompuLab for the developer model is significant considering the number of high-end components assembled into such a small package. As such, CompuLab only offers the developer discount to those who will help further propel the platform forward, either by using the unit as a prototyping system for future Trim-Slice-targeted applications, by contributing to the ARM open source codebase that Trim-Slice relies on, or by promoting the open hardware principles espoused by CompuLab.

It's also in CompuLab's best interest to work closely with developers, and the company has responded to developer requests such as adding a debugger board with Joint Test Action Group (JTAG) support for testing. And because the Trim-Slice is an open platform, mechanical and SBC diagrams are freely available for download from the Trim-Slice Wiki along with the U-Boot, Linux kernel, firmware updater, and OS installer images.

CompuLab is actively promoting NVIDIA's chipset for desktop Linux use. It also has a louder collective voice for developers seeking assistance, patches, and modifications from the vendor. For example, when the first batch of Trim-Slices shipped to developers, requests for display drivers with ARM hardfloat support were fielded by CompuLab and, thanks to its close NVIDIA partnership, were able to have the drivers working within days for builds of ArchLinux and MeeGo. CompuLab also plans for future Trim-Slices to have an analog video input port in the design once the software supports it. One additional factoid of interest to Android developers is that CompuLab is working on a port of Ice Cream Sandwich (Android 4.0) to run on the Trim-Slice hardware. Doing so could make the Trim-Slice a useful Android target to use for Android application development and deployment purposes.

For the non-developer (i.e., hobby enthusiast, corporate user, etc.), Trim-Slice can be purchased at the regular price, which is still a bargain given the fact that a comparably configured desktop computer would have cost twice as much a year ago, consumed far more electricity, and undoubtedly been a lot noisier.

Ideas Aplenty

According to CompuLab, Trim-Slice is already in the hands of some very well-known commercial customers in the automotive, digital-signage, entertainment, and thin-client markets. My personal computing expectations for Trim-Slice include an inexpensive yet full-featured office desktop client machine, an ultra-quiet dedicated low-volume server, a home automation controller, and a Git repository. Once the NVIDIA drivers have been optimized for GStreamer hardware acceleration, I'm also looking forward to seeing how Trim-Slice performs as an ultra-quiet MythTV box.

In the meantime, I set up and successfully used the Trim-Slice as a back-end development server and code repository that I paired with my tablet configuration from my Post PC articles. That scenario worked beautifully. I didn't have to worry about the wasted energy needed to power a full-size server for this type of back-end task. And because the Trim-Slice is so small and quiet, I was able to mount it between my cable modem and router. From a physical systems management perspective, this made it easy to visually check that all systems were go and all lights were literally green.

While some may think that the Trim-Slice awaits a killer app to bundle the hardware with, it has already found a place in my application development-centric universe. Progressive programmers and those interested in promoting open hardware solutions may be just as satisfied as I was with the range of possibilities and the future development potential that this small yet powerful Trim-Slice box provides.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.