Do Parallellas Have Goldilocks Complex

Sunday, 20 Jul 2014 - 16:58 +0100 by Ralph McArdell Parallella, hardware

In my previous post Parallella Problems – Initial Investigations[1] I detailed the problems I was having with the 4 Parallella boards[2] in my mini-cluster and what I had done to investigate them. Since then I have been continuing my investigations and it looks like I might have found a reason and solution to the more serious problem suffered by the board that suffers complete system lock ups when running Epiphany chip[3] tests and examples.

Continue Reading

Parallella Problems – Initial Investigations

Monday, 14 Jul 2014 - 11:03 +0100 by Ralph McArdell Parallella, hardware, Linux, code, C

In my last two posts Building a Parallella Mini-Cluster[1] and Bringing Up a Parallella Mini-Cluster – Trials and Tribulations[2] I described constructing a small cluster of 4 Parallella boards[3] into a case with power and cooling and initial steps at getting the cluster up and running. I finished at the point where I knew of the following problems: One board has serious problems when using the Epiphany III chip[4] tending to lock up the whole system or at least the network (as I am connecting over ssh locking up or crashing the network looked the same as locking up the whole system).

Continue Reading

Bringing Up a Parallella Mini-Cluster – Trials and Tribulations

Saturday, 12 Jul 2014 - 16:35 +0100 by Ralph McArdell Parallella, hardware, Linux

My previous post Building a Parallella Mini-Cluster[1] dealt with physically building the cluster and ended at the point it could be switched on and off. The next stage is bringing the cluster up to a stable and usable state, and I am sorry to report that it has not been a trouble free ride and tracking down the problems is ongoing as of mid-July 2014. One thing I should mention is that before turning on the power for the first time I installed the provided heat sinks on the Zynq FPGA chips.

Continue Reading

Building a Parallella Mini Cluster

Thursday, 10 Jul 2014 - 16:58 +0100 by Ralph McArdell Parallella, hardware

In early May 2014 I finally received from Adapteva[1] my Parallella Kickstarter project[2] mini-cluster reward of 4 Parallella boards plus network switch, power adapters, cables etc. The reward was originally supposed to be delivered in May 2013 but suffered many delays and setbacks, as documented on the Parallella website[3] and forums[4]. As I was going away for a couple of weeks shortly after it arrived I took some pictures of the unboxing (see Figure 1) and put it all to one side.

Continue Reading

Some Clarification on Confusing BCM2835 SPI Master Documentation

Wednesday, 25 Sep 2013 - 18:01 +0100 by Ralph McArdell Raspberry Pi, hardware, spi

I have been adding support for peripheral types to my Raspberry Pi C++ peripherals library[1] and as a result have been reading the BCM2835 ARM Peripherals data sheet document[2] rather closely as well as the document’s errata page on eLinux[3]. I, like others, have been bumping into documentation errors – and even added one to the eLinux list errata. When I came to implement support for the Serial Peripheral Interface master (a.

Continue Reading

Comments on Comments…part 2: Some Example Code…

Sunday, 4 Aug 2013 - 15:49 +0100 by Ralph McArdell code, C++, GotW, concurrency

I have posted some example code on GitHub showing the Shared Immutable, Exclusive Setup ideas discussed in the Comments on comments to Herb Sutter’s updated GotW #6b solution (part 2) blog post to demonstrate the ideas: My thought was to create a type that was not just a simple chunk of memory, create wrapper types to add support for the intrusive Shared Immutable, Exclusive Setup pattern discussed in the blog post that allowed for easy specification of atomic and memory order policy.

Continue Reading

Comments on comments to Herb Sutter's updated GotW #6b solution (part 2)

Monday, 8 Jul 2013 - 15:53 +0100 by Ralph McArdell code, C++, GotW, concurrency

Previously[1] I wondered, from musing when reading Herb Sutter’s updated Guru of the Week 6b[2] article, how one might – in C++11 – enforce a concurrent usage pattern in which an object can only be modified after creation by the creating thread until all modifications are done when the object becomes immutable and concurrently accessible. Concurrent access before an object becomes immutable is considered an error as are attempts to modify an object that is immutable.

Continue Reading

Comments on comments to Herb Sutter's updated GotW #6b solution (part 1)

Friday, 31 May 2013 - 16:49 +0100 by Ralph McArdell code, C++, GotW, concurrency

I have been following Herb Sutter on his Sutter’s Mill[1] website and while reading the solution and comments to the posted solution to GotW #6b Solution: Const-Correctness, Part 2[2] some thoughts popped into my head. First to catch my eye were some comments on the overhead that may be incurred by std::atomic being only to do with what liberties the compiler can take with respect to optimising writes. This raised an eyebrow as I was under the impression that the need to force atomic operation effects to be globally and consistently visible has more of an effect on performance than reordering write restrictions.

Continue Reading