February 28th, 2010 () architecture, software engineering, theoretical computer science › admin › No Comments
Suppose we have a state machine Q, that implements a common first in first out queue. The input alphabet of Q consists of “Deq” and “Enq x” where “x” ranges over a set of values, say, V. Let’s fix the max length of Q at some constant k. As usual, given a sequence of events [...]
February 25th, 2010 () software engineering, theoretical computer science › admin › No Comments
The connection between group structure and pipeline design seems like it merits a lot more attention than it gets. It’s not too hard to show that in a pipeline like the one to the right, the induced monoid of M1 must be a homomorphic image of the composite state machine. This immediately brings in the [...]
February 8th, 2010 () data center, green power, software engineering › admin › No Comments
Lovins observes that power inputs in many industrial processes go into a bottleneck that makes power conservation hard if you start at the wrong end. The power goes into a long pipeline of process that emerges on the other end with some useful (in theory) work. If you start on the power input end, then [...]
February 7th, 2010 () marketing, software business, software engineering › admin › No Comments
Coverity has a program that reads other programs looking for errors. The company started as a research project from Stanford (how unusual!) and the Communications article is really about what they found in commercial world. One thing they found was a lot of crappy programmers.
Upon seeing an error report saying the following loop body was [...]
February 6th, 2010 () embedded systems, software business, software engineering › admin › No Comments
Jamie Kitman’s look at the twisted path Toyota followed to it’s current difficulties inspired me to think about software and money – two topics I spend way too much time thinking about. As a purely disinterested observer (ahem) it has come to my attention, repeatedly, that manufacturing companies undervalue, underinvest in, and undertest software. On [...]
February 4th, 2010 () academics, theoretical computer science › admin › No Comments
Please see this ever modifying page which seeks to demonstrate in a poorly organized, yet humorous manner, what the hell I’m trying to accomplish with this primitive recursive state machine stuff.
And as an added bonus – the great “Recursive Functions” book by Rozsa Peters contains the following remarkable note that has nothing to do with [...]
February 2nd, 2010 () software engineering › admin › No Comments
… multi-GHz superscalar quad-core processors can execute approximately 100 million instructions per Joule, assuming all cores are active and avoid stalls or mispredictions. Lower-frequency in-order CPUs, in contrast, can provide over 1 billion instructions per Joule—an order of magnitude more efficient while still running at 1/3rd the frequency. Worse yet, running fast processors below their [...]
February 2nd, 2010 () architecture, theoretical computer science › admin › No Comments
There’s a correspondence between the notions of “combinational” and “sequential” in digital circuit engineering and some structure in state machines (and therefore monoids) that seems interesting.
In digital logic, a “combinational” circuit like a logic gate has can be associated with a time T so that the output depends only on input signals applied over the [...]