I keep looking out for interesting examples of parallel software, and there is constant trickle of these. This past week I spotted a couple of new ones in the EDA field: SPICE simulation and chip timing analysis.
I am a skeptic when it comes to technology. Despite working in the tech field — or maybe because I am — I always expect technology to fail or at least disappoint. But sometimes that instinct is actually wrong! Here are two recent examples when I felt “wow, that was pretty good” about some fairly mundane pieces of computerized equipment.
I should have known to expect trouble when I tried out DataViz ActiveSync on my new G900… the first thing it said was that “in order to avoid problems, we will deactivate the synchronization towards PC Suite”. Ah well. I assumed you could get it back…
But that was not so easy. I quickly realized that ActiveSync was pointless for me, since the setup I have for my data is not “everything on the corporate server, period”, which is the usecase ActiveSync is built for. But when I told ActiveSync to stop synchronizing certain categories of data, that lock it had put up still applied it turned out. With no way I could find to turn it off. So suddenly my phone just did not want to synchronize with my PC.
I just got myself a new phone, having tired of my old P990i getting a bit unreliable. It was only about two years old, but I guess I was pretty rough on it. My new phone a the SonyEricsson G900, and I am actually very happy about it.
Edit: inserted a couple of updates after a couple of more days of use.
Cadence technical blogger Jason Andrews wrote a short piece a couple of days ago on his perception that host-based execution is becoming unncessary thanks to fast virtual platforms. In “Is Host-Code Execution History“, he tells the story of a technique from long time ago where a target program was executed directly on the host, and memory accesses captured and passed to a Verilog simulator. The problem being solved was the lack of a simulator for the MIPS processor in use, and the solution was pretty fast and easy to use. Quite interesting, and well worth a read.
However, like all host-compiled execution (which I also like to call API-level simulation) it suffered from some problems, and virtual platforms today might offer the speed of host-compiled simulation without all the problems.
Chip Design Magazine published an article by me in their August/September 2008, about Getting Software into the Hardware Design Loop. The article is about the technical and marketing aspects of how chip designers can get early feedback from software and systems designers, early in the hardware design process. The vehicle for this? Virtual platforms, obviously.
I am a skeptic in many ways, especially considering talk on how things are “different” now compared to some “then” (that often happen to be my own generation’s frame of reference). In particular, I react quite skeptically to news that the “kids of today” are completely different from their parents in how they use communications devices and their expectations of work and how the world works. For some reason, I just think “ah well, in the end people tend to be pretty much alike”. Also, I would like to believe that I also use modern communications devices just like the kids do (but looking closely, obviously I do not).
Strongly recommended thread at stackoverflow: http://stackoverflow.com/questions/102714/what-was-your-first-home-computer is about your first home computer. Some good product shots, and also some really funny things inserted.
I have recently discovered stackoverflow.com and I must say it is something I very much recommend. The idea is simple, and the details rich and interesting.