Real-time Embedded Linux and POSIX RTOSs For Microcontrollers (MCUs)

Friday, June 29, 2007

A Stunning Parallel Multicore Approach

Having been at Multicore Expo a few months ago, I was stunned by what I read a few minutes ago. It was the "elephant on the table" that nobody talked about. Companies did not want to discuss it because of their vested interests and I can only imagine that the researchers were incredibly jealous or as ignorant as I.

Having worked in the area of multiprocessing for many years, the promise of automatic parallel behavior generated by a compiler was thought of as an ideal. We never got their in the 90s but it seems that we are making real progress today. A team at College Park have done some remarkable work to solve the fundamental parallelism issues that plague most computers with a technique called "explicit multithreading". You can find some details here and here. Wen and Vishkin both deserve a huge amount of credit for creating this solution.

The other approaches that approach this on a higher level from Peak Stream (now owned by Google) and Rapid Mind both assume that there is an automatic parallelizer to allocate chunks of work to processors and that all the parallelization is done for you. The disadvantage of their approaches is that everything must be an array. This approach is quite unnatural for most programmers although it is possible to learn it. Math majors would certainly like this approach.

Another disadvantage is that their efforts (Peak Stream and Rapid Mind) focus on trying to maximize resource utilization for standard Von Neuman machines in an attached processor model while this new approach seems much simpler and lends itself to static allocation because IPC times will be ignored.

The XMT approach doesn't use an attached model but assumes that the processor has inherent parallelism. The difference is that the scheduling seems to be much clearer and communication times become minimal. This approach also seems to suffer from the same limitation that resources go unused if there is nothing that can be done in parallel. In fact, it is this reason that has many semiconductor companies holding back on large multicore architectures.

I will look at the programming models in more detail next but it seems that this machine could benefit from both automation of parallel operations and the ability to explicitly code each parallel thread.

The future signal processors are going to be really fun if technology like this hits the market anytime soon. I wonder what the follow on to Niagara 2 will really look like?

Monday, June 25, 2007

Restarting And Marketing

I've been restarting a products company and the marketing has changed so much over the past few years! For example, on the good side:

  • SugarCRM offers great value - open source, why spend 75K?
  • SEO tools (I hope google's not reading this) - open source
  • portals for Engineers - why leave your cube to find anything?
  • and the best help a guy like me could ask for ...
  • lots few trees cut down
  • more time with the family

At the same time, there is some downside as well:

  • the world has been replaced by voicemail
  • email filters kill many requests
  • shows are smaller and smaller
  • margins are thinner
  • channels are becoming lower cost
  • prices are falling
  • products are volume

It is sure a different place - and still lots of fun....

Comments