Linux.com

Home News Enterprise Computing Systems Management Introducing the $99 Linux Supercomputer

Introducing the $99 Linux Supercomputer

 

UbuntuThere was a time in computing when performance increases could be had by designing a more complex processor or turning up the clock speed. Those days are largely behind us and the most common solution at present is to add more cores to a symmetric multiprocessing (SMP) system, but this has practical scaling limits and there are downsides to a one-size-fits-all processor architecture.

The world's most powerful computers make use of parallel computing, using configurations such as Linux-based Beowulf clusters to distribute workloads across many thousands of processor cores. Closer to the other end of the scale, with desktop and mobile devices, compute intensive graphics processing is handled by high performance GPUs that are finely tuned for the task at hand.

Parallel computing and heterogeneous systems — with mixed types of computational units — are able to break through SMP scaling limits and achieve increased performance with reduced power consumption. However, they also come with their own challenges, and making parallel computing easy to use has been described as “a problem as hard as any that computer science has faced.”

With these challenges in mind the Parallella project has set out to help close the knowledge gap by developing an affordable, high performance and truly open parallel computing platform.

DiagramThe Parallella Computer

In October 2012 a Kickstarter campaign was successful in raising $898,921 to develop and produce  an initial run of the Parallella computer, a system equipped with a dual-core ARM A9 processor and either a 16 or 64-core Adapteva Epiphany floating-point accelerator. The project had just short of 5,000 backers and pledges of $99 or more being rewarded with at least one board with a 16-core device.

The Parallella computer was inspired in no small part by Raspberry Pi and will be credit card-sized with 1GB RAM available to the host and using MicroSD storage, providing Gigabit Ethernet, USB 2.0 and HDMI ports, and plenty of general purpose I/O (GPIO) for expansion via daughter cards.

The Epiphany chip provides RISC floating-point cores each with 32KB of local memory,that are connected together by an on-chip mesh network, which allows one core to transparently access the memory of every other core. In contrast to GPUs, Epiphany is MIMD - meaning Epiphanythat cores are able to operate independently and the architecture is easier to program for a wider range of applications.

In addition to a dual-core ARM processor, the Xilinx Zynq system-on-chip that is being used provides programmable logic, which is where the interface to the Epiphany chip will be implemented. The Parallella computer is an open source hardware design and the schematics and PCB layout will be published along with the HDL source code for the Epiphany interface.

The hardware will ship with Ubuntu pre-loaded. Driver sources will also be provided and there has already been interest expressed in developing support for other distributions.

Developing Software

EclipseThe Eclipse multicore IDE

Development is supported by the Epiphany SDK, which is based on GCC 4.7, GDB, the Eclipse IDE and newlib C library. This was developed by our Adapteva partner, Embecosm, who also managed the introduction of the Epiphany architecture into the GCC mainline.

Brown Deer Technology have developed a fully open source OpenCL implementation and this can be used to simplify the creation of applications which use both ARM and Epiphany cores.

The project is now looking to members of the community to lead on developing support for additional languages and frameworks with leads recently announced for Erlang and Python.

Potential Applications

The uses to which backers have said that they will put their Parallella computers to use include sound processing, video encoding, 3D scanning, computer visioning, neural networks, physical simulation and, importantly, learning parallel programming!

Software-defined radio is an application that frequently comes up and Parallella is particularly well suited to this since the programmable logic it provides is situated between the ARM host, Epiphany accelerator and GPIO, allowing for digital radio hardware to be more easily integrated.

The 16-core Epiphany chip delivers 26 GFLOPS of performance and with the entire Parallella computer consuming only 5 watts, making it possible to prototype compute-intensive applications with mobile device power budgets or equally to construct energy-efficient HPC clusters.

ClusterProject status

Testing a Beowulf cluster assembled from Parallella prototypes

The first prototypes went out to backers at the end of December 2012 with additional boards going out in January. These are based on an off-the-shelf Zedboard development system plus an Epiphany daughter card. Thes are virtually identical to the final design.

The Adepteva team is now working to meet a challenging timescale as a beta version of the credit card-seized board is due in February with release 1.0 due to go out to thousands of backers in May.

The tool chain sources are on GitHub and SDK packages have been provided to specific backers, and these will be made publicly available when the final hardware ships.

Python lead, Mark Dewing, has had some initial success with compiling the Python-on-a-Chip interpreter for Epiphany, testing this via the functional simulator provided by the SDK. Meanwhile Erlang Solutions has been working out how to approach Erlang support and will be sharing their initial thoughts on this in the coming weeks.

Next steps

The focus now is on completing the design and getting hardware out to backers, as well as establishing relationships between the Parallella community and those developing the languages, frameworks and applications that are vital to achieving the goal of democratizing access to parallel computing.

--

About Andrew

Andrew is an open technology consultant and writer; community lead for the Parallella project; and Open Source Hardware User Group (OSHUG) organizer.

 

Comments

Subscribe to Comments Feed
  • Rory MacDonald Said:

    Thanks Andy, great summary, I would love to discuss (& just to allow you to get a plug in) When is the next OSHUG meet?

  • Andrew Back Said:

    Hi Rory, Thursday 21st February. See http://oshug.org/event/23

  • Iacob Alexandru Said:

    99$ a super computer? i whant 3

  • alexk2009 Said:

    This is fascinating. If I did not have to earn a living developing software I might have time to get involved with this AND have a life. I started my parallel programming career on the Distributed Array Processor and published a number of papers involving parallel processing on the DAP, including a high point of using Cellular Automata to simulate polymer dynamics. I still think SIMD processing is simpler and more powerful than most people realise and indeed that Map-Reduce and Hadoop can be viewed as SIMD processing with a more flexible ( and scalable) architecture than the DAP. I still remember those days with pleasure.

  • OldMe Said:

    More info. on availability and ordering required. I am very keen to get my hand of two (not prototypes!) of these.......

  • Andrew Back Said:

    I'm afraid we're not able to give a date for post-Kickstarter orders just yet, but you can register your interest via the website and we'll make announcements via the blog and Twitter as soon as we have more information.

  • Dan Sutton Said:

    This is fascinating. Had you considered developing a language (or extensions to an existing language) which allows the programmer to assign threads to specific processor groups, or to request that threads be processed by certain numbers of processors? That might be very useful for massively multithreaded applications... just a thought...

  • Anonymous Coward Said:

    I'm not sure that would be a language thing as much as a library thing.

  • Dan Sutton Said:

    I think you can see it either way. The new release of C# has both: there's a few parallel processing and threading libraries, but there are also native commands to do things like wait for threads to start yielding results; to return enumerable lists one element at a time, when the caller requests each element (which is nice for things which take a while to create large lists) and so on.

  • Kursat Gol Said:

    Hi Andrew, Have you got any private e-mail address and can you share? I want to lead on developing support for Turkish my native language. Could you contact to me about this issue? Thank you and best regards.

  • Kursat Gol Said:

    My e-mail address is kursat.gol@oeee.web.tr

  • Anibal Giovani Manetta Said:

    Andrew, follow my email: giomanetta@gmail.com. I would like to receive information about the project supercomputer to $ 99,00 and also about Open Source User Group (Hardware OSHUG) I live in the city of Blumenau Brazil state of Santa Catarina. I am a professional in the field of software deployment management, have knowledge in linux and computer networks.

Upcoming Linux Foundation Courses

  1. LFD320 Linux Kernel Internals and Debugging
    04 Aug » 08 Aug - Virtual
    Details
  2. LFD405 Embedded Linux Development with Yocto Project
    04 Aug » 07 Aug - Santa Clara, CA
    Details
  3. LFD312 Developing Applications For Linux
    18 Aug » 22 Aug - Virtual
    Details

View All Upcoming Courses

Become an Individual Member
Check out the Friday Funnies

Sign Up For the Linux.com Newsletter


Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board