One of the most painful and joyful events in the life of a software company is the release of new software. While this seems like an obvious statement, let me just say to all my friends who are NOT in the software business — you have no idea.
Many customers, prospective customers, and industry observers shrug and even smirk at a press release that “merely” announces the release of a new version of an existing product. (Smirk away — here’s ours.) But it’s gratifying to receive congratulations from those who actually understand this process (thanks, friends at Microsoft!).
So now that the apparently-endless cycle of build and test is over, and the last (known) snafu has been fixed (how the %^$&$! did we put an uninstallable version of our SDK out on our community site?), we can take a deep breath, step back, and discuss what this release means — to our customers. Because, as our press release says, this is a software release entirely driven by our customers.
From the beginning, we set out to make the Digipede Network “radically easier to buy, install, learn, and use” than any other distributed computing platform. Reviewers say we’ve done that, and customers tell us they can come up to speed quickly with our software. Ah, but once a customer comes up to speed quickly, that customer gets ideas! “Why does Digipede use all the cores on each compute resource? Can we reserve one or more for other uses?” “When I try to delete thousands of jobs at once, weird things happen — are you guys just idiots or what?” “I thought you guys were supposed to be Microsoft-savvy; why can’t I host a .NET 4 application on your software?” “When we run millions of jobs with lots of really short tasks, the Digipede database gets really big — can you fix that?” You get the idea.
Well, to be honest, we never tested that “queue thousands of jobs while thousands of other jobs are running and then just delete the thousands that are queued” case, so yeah, weird things happened. Should be better now. And yeah, .NET 4 is a reasonable expectation from us — works fine now. Yes, it’s true that there are ways to make the Digipede database grow — and while we’ve always had tools for managing that, those tools are simpler and more useful now.
That multi-core thing turned out to be the most popular one though, and it’s been one of my pet issues for a while, so let’s talk about that in more detail. I’ve spoken at conferences, written articles, made videos, and given interview for years saying basically this:
- Mainstream developers know single-threaded object-oriented coding techniques, which take advantage of a single core.
- Meanwhile, chip makers are developing CPUs with more and more cores.
- The Digipede SDK is the simplest way for a mainstream developer to WRITE WHAT THEY KNOW (i.e., single-threaded object-oriented code) and EXECUTE that code on multiple cores on a chip, multiple chips in a box, and multiple boxes on a grid, all using the same programming paradigm.
And this has been great for us and for our customers — up to a point. For purely compute-intensive applications, this approach scales linearly in cores and machines up to hundreds and even thousands of multi-core compute resources. But many complex applications have a lot of I/O requirements as well, and just loading up (for example) an 8-core server (most likely, a dual quad-core box) with 8 cores worth of computation can actually slow down execution as processes wait for I/O.
So in the most recent release, we took a very simple brute-force approach to fixing this issue – we now allow users to “reserve” one or more cores per compute resource through a simple option in Digipede Control. Early users report excellent results, with 6 or 7 cores computing away while the remaining one or two handle all other chores (including I/O). Equally important, this approach is robust to additional increases in the number of cores per chip (which is forecast to reach several dozen within just a few years).
If you want to take the new version for a spin, ask for a free evaluation copy here.
Now, how about what’s NOT in our press release? Well, you won’t find the word “cloud” in there…
Is it just me, or has the cloud meme really jumped the shark? Look. I used cloud computing before it was called that, and I’ll use it after that name has wandered off into the scrapheap of forgotten marketing buzzwords. If a cloud is Google and a cloud is a cluster in a datacenter somewhere the user can’t see it, then a cloud is everything and nothing. If a cloud is Amazon or GoGrid, then sure, our customers can deploy the Digipede Network there, or they can deploy it on their own infrastructure (then, if they want to, they can tell their bosses they’ve built a “private cloud” for all I care!).
The market knows Digipede as a provider of distributed computing software for the Windows platform, and as a provider of high-productivity distributed computing tools for .NET developers. That’s our role in the cloud and on the ground and everywhere in between.