If your computer only has a single processor, you’re at increasing risk for “core envy.” The Intel Core 2 Duo chip in the latest Apple iMac, for example, contains two processors or cores, while the HP Pavilion Media Center desktop has a four-core chip. Sun has been making an eight-core version of its UltraSPARC T1 processor for data centers for two years, the Sony Playstation3 contains an eight-core processor, and eight-core processors for PCs will likely be on the market by 2009.
But don’t feel too bad: all of this extra processing power doesn’t necessarily translate into faster-running software. That’s because parallel programming—writing code that takes full advantage of multiple processors on a single chip—is an arcane art with relatively few masters. In fact, if not done correctly, parallelization can lead to problems that actually lower efficiency or even corrupt a program’s output.
Big companies like Microsoft and Intel are rushing to develop new programming methods that spread multiple “threads” of a program evenly across many cores. But for the thousands of software vendors who want to adapt their existing products for the multicore era, there’s no easy solution in view yet. That’s where Cilk Arts thinks it can help.
Based in Lexington, MA, the company was established just last year. Scientific founder Charles Leiserson, a professor of computer science and engineering at MIT and one of the world’s leading authorities on parallel programming, has been working since 1994 on a system called Cilk (hence the company’s name) that breaks programs written in the C programming language into multiple threads that run synchronously on multiple cores. Now Cilk Arts is licensing MIT Cilk and developing a new version, called Cilk++, that works with the much more popular C++ language, used by the developers of most Windows-compatible software. On Monday, in a step toward this goal, the company announced that it had closed a Series A funding round led by Stata Venture Partners. (The size of the round was not disclosed.)
CEO Duncan McCallum, who spent the last decade as a partner at Flagship Ventures and Bessemer Venture Partners, says he left the investing world to become part of Cilk because “a small company has an advantage when things are changing quickly.” And the advent of multicore processors represents a real “discontinuity” in the software business, McCallum believes. “There are more than 200 million parallel computers being built every year, and the number of cores is doubling with every generation of processors, so the problem is getting harder,” he says.
McCallum thinks the nearly 15 years of work Leiserson and his colleagues have put into Cilk gives the company a head start over its bigger rivals. MIT Cilk isn’t exactly a programming language; it’s actually a program that compiles and runs other programs inside it. Simply adding a few special MIT Cilk commands to existing C code is enough to prepare it to run inside MIT Cilk, which will break it up wherever possible into “threads” that can be executed in parallel.
Cilk++ will have all the same capabilities as MIT Cilk, but is being written from scratch with input from Cilk Arts’ target customers, according to McCallum. “With every customer we visit, we iterate,” McCallum says. “We learn something about the gaps in MIT Cilk, what’s missing from it that we should add to make it the ideal solution for a customer, and what things require new inventions.”
When Cilk++ is finished, customers will ideally be able to take programs that may be millions of lines long, add the appropriate keywords, then sit back and watch as the program runs on four or eight cores or more, with concomitant speedups. Cilk Arts plans to ship Cilk++ to paying customers sometime in 2008.
McCallum says that while he has no doubt that the technology will work, he does worry at times about competition from Intel, Microsoft, and the open source community. On the other hand, he says, “We’ve talked to dozens of customers, and I’m pretty sure from the conversations we’re having that we are closer to our customers and their problems than [our competitors] are. We definitely know that none of them are being successful with the alternatives.”
And McCallum thinks that all of the company’s early work with customers—including developers at large software vendors he can’t yet name—will help when the competition between parallel programming tools kicks into high gear. “It’s customer community where if you’ve got really good stuff, they’ll fall in love with it and be really enthusiastic about what they’re using,” he says. “If you capture the heart and mind of the developer you are really sticky.” With luck, that stickiness will serve Cilk Arts well into the era of 8-core architectures, 16 cores, and beyond.