- Created on Sunday, 08 June 2014 14:32
- Last Updated on Saturday, 17 January 2015 09:41
Today should have been a day of great delight as my personal supercomputer, or Parallella the Epiphany III processor with Xilinx Zynq 7020 FPGA, finally appeared in my hands after many months of delay. However, I wasn't exactly jumping up and down with joy for, as like most "supercomputing for everyone" enthusiasts, I was suffering from "where is my Parallella" fatigue.
Parallella first appeared as a Kickstarter project, in October 2012, where it did wonderfully well in raising $898,921 in its allocated fund raising slot. However, at the time I didn't back the project, as the $3 million stretch goal required for the production run of the 64-core version, the Epiphany IV processor, was not met.
You can read about my observations using the Parallela kit in the Blog Category: OpenCL, Altera SDK and the Parallella Post. Also, you can read about my projects using the Parallella kit in the Project Series - The Parallella Chronicles (link coming soon).
However, I hadn't missed the boat, because sometime after the project was successfully funded a pre-ordering offer appeared for a 16-core, Epiphany III, Parallella board with a Zynq 7020 FPGA all for the princely sum of $199. This was too good an opportunity to miss considering that the Zedboard (www.zedboard.org), which hosts the same FPGA, but not the Epiphany III, retails for $395. So I gladly dipped my hands into my shallow pocket and pre-ordered one. However, as most observers of the Parallella Saga know, it has been a chronicle of broken promises and unfulfilled dreams ever since.
Figure 1: Parallella - The Supercomputer for Everyone: The second generation Parallela board, which is slightly different from the version offered during the Kickstarter campaign.
Finally, almost 17 months after preordering, the company behind Parallella, Adapteva, got their act together, issued some apologies and sent emails alerting backers, in case they had forgotten, that their orders would be dispatched immanently. Yeah! Saga over and parallel computing here we come!
However, little did I know that although Adapteva's drama was coming to an end mine was just starting. On May 20th I received a dispatch notification email and a DHL tracking number accompanied by the encouraging news that the DHL tracking number allowed me to keep an eye on the whereabouts of my board. However, hourly tracking soon turned to daily tracking, as my package was delayed for one reason or another. The tracking timeline can be seen, in Figure 2, below.
Figure 2: DHL Package Tracking: Package started out in the US on the 19th May, but did not reach my front door until June 4th.
Finally, it crossed the pond and arrived in the U.K where, as if unaware of the more than a year's delay, HM Revenue & Customs decided to add even more of a delay by composing and mailing a letter informing me that I owed £33.18 in customs duties. Saga? This was turning into more of a modern day tragedy.
Quite thankfully I could pay the charges online, which I did. At last, after more than a year's delay, the object of desire known as Parallella was delivered by the local courier company. However, as I was out at the time of delivery, a calling card was left and the package was returned to the local depot. Rearranging the delivery for two days later, on a day I would be at home meant waiting, by now unenthusiastically, for its arrival.
The knock on the door when it finally came two days later meant opening the door, signing for the package, closing the door and putting the package down to one side, while I went back to reading and replying to emails. This was indeed very strange behaviour for a computer enthusiast, however, as mentioned previous, Parallella fatigue had already set in.
Figure 3: The Parallella Package: When it finally arrived consisted of, in my case, the credit-card sized parallella board and a self-assembly acrylic case.
Eventually, and not unreluctantly, I got round to getting out my camera to take photographs to support this review. I also got out my notebook and opened the package. Inside the package were two smaller credit sized boxes, one for the Parallella and the other containing the self-assembly acrylic case, as can be seen, in Figure 3, above.
Given all the delays one would be forgiven for thinking that I should have been baying for blood at this stage, but far from it. A package opening activity is always an exciting affair, which seemed to have reignited my fire, so to speak. Also, now that the board was finally in my possession what else could go wrong? Little did I know!
Opening the first of the two boxes revealed the credit-sized, illusive Parallella, seen next to Intel's Galileo in Figure 4 below. While the Galileo is supported by Intel's flawless and sleek marketing machine, the Parallella's emergence on to the parallel computing scene does not appear to have had that much resource put into its launch. In fact it seems to have been the opposite, a home brew marketing exercise not unexpected of a Kickstarter project.
Figure 4: The Parallella compared in size to Intel's Galileo.
Apart from the development board the first box opened also contained an important note and a heatsink. Crumbs, this is all I need I thought, as I tried to comprehend the note (See Figure 5 below). The heat sink issue I was aware of from reading the Parallella community forum pages (http://forums.parallella.org/). It is as an insurance policy for the Zynq FPGA, which gets terribly hot probably due to the incessant switching of its high-speed differential pairs connected to the Epiphany processor. One cannot help but think that if high-speed transceivers, typically utilised in PCI Express, had been used instead this excessive heat issue may never have arisen.
Figure 5: The Parallella kit contains a 17mm x 17mm heatsink, as well as an important note informing you that your problems have just begun.
However, I could not comprehend why a fan was recommended, but not included in the kit. This meant even more delay before the board could be fired up, literally not physically, as research was need into the type and size of fan required and the consequences of not using one. Quite fortunately a post on the community forum suggested adopting a Raspberry Pi solution, which led me to the bay. A search for a Raspberry Pi heatsink produced a reasonable selection of items including those shown in the Figure 6 below.
Eventually, I opted for one of the cheapest with the reasoning being that I hadn't exactly seen any return in my investment in Parallella so far and I was fearful of chucking good money after what could turn out to be bad. Don't get me wrong I'm no cheapskate, especially when it comes to spending on research into innovation and technology, but being Parallella fatigued wariness had crept in.
Figure 6: Raspberry Pi fan and heatsink solutions suit seem to suit the Parallella.
The heatsink and fan package I chose, seen in Figure 7 below, consisted of a 17mm by 17mm x 8mm fan, which roughly is the length and width of the heatsink included in the Parallella package. Three aluminium heatsinks, of varying sizes, are also included. However, as there did not seem any means, visually, of connecting the fan to the heatsink I emailed the seller posing the question.
The encouraging response I received back from the seller, a few hours later, was that he did not know either and that he just sold the stuff. Fair enough, I thought and contrived to buy two. Since it would take two to three weeks for the items to arrive from Singapore, there was enough time for me to figure it out for myself. Yet more delay, but you know what they say in for a penny in for a pound.
Figure 7: A Heatsink and Fan for the Parallella "borrowed" from Raspberry Pi 's world.
Waiting a few more weeks after a year and a half's delay didn't irk me at all, neither did it cause any foaming at the mouth. If anything it was water off a duck's back. Also, having never programmed in OpenCL, my programming language of choice for the Parallella, the delay would allow me to research OpenCL programming. The extra waiting time could also be used to study the Xilinx Zynq FPGA's and the Epiphany's datasheets, ideal bedtime reading material. I also had my eye on the OpenCL green book.
Open Computing Language (OpenCL) is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs) and other processors - Wikipedia.
Getting back to that important note, the most puzzling aspect of it was the concept behind a non-conforming powered USB hub. WT*? I had recently bought a USB 3.0 as well as a USB 2.0 hub for use with other projects, which should have been suitable. The thought that they may not be "Parallella conformant" was really taking the biscuit.
Figure 8: Micro Secure Digital Card. A uSD card is required to store the LINUX operating system, which is run on the dual ARM core processors in the Zynq FPGA. What does class 6 mean? The class is the rated speed, which is related to data transfer of the card. The higher the class the faster the data transfer rate. Is this card classy enough for the Parallella? I can only hope so.