Find John Fast!!
The popular paradigm of the computer is a web client, and large chunks of the software development effort is connected to web development. But Tracey and I are still trapped with the notion of the computer as a problem solver, not as part of the solution but as a solver. We use the computer to solve hard problems and we currently are trying to solve unsolvable problems.
Multicore Testing Requires Real Parallelism to Happen
Testing an application prepared to run concurrent code can become a nightmare for old-fashioned testing platforms. Multicore testing requires new techniques, new expertise and new hardware. For example, you cannot guarantee a parallelized application's accuracy testing it on computers with single core microprocessors.
Sunny Multicore Days Ahead? Maybe? Kinda?
So maybe there is hope for the Sun worshipers after all. In a recent interview (Reuters May 7, 2009), Oracle's Larry Ellison made a commitment to further SPARC technology. "We want to work with Fujitsu to design advanced features into the SPARC microprocessor aimed a improving Oracle database performance".
Beware of Those That Claim Linear Performance Increases
Allow me to begin this blog post with the summary: It really depends on the application.
Did You Just Call me a 'Programmer'?
You can get five programmers in a room to give you six different definitions of parallelism. I've been in situations where a bunch of programmers were throwing the terms "parallel programming" and "multithreading" around assuming that they were all on the same page. I have to be careful because these days even the term "programmer" carries a certain amount of controversy, depending on the company one keeps.
Work Stealing Queues in .Net 4 and in Previous Versions
.Net 4.0 Beta 1 offers a new and improved thread pool engine. It uses work stealing queues to provide nice load-balancing capabilities, better performance and greater scalability. The work stealing mechanism allows you to reduce the scheduling overhead in highly parallelized algorithms.
Lightweight Concurrency: Threads are on a Diet
Most modern programming languages are adding lightweight concurrency capabilities. Why is this happening? It is a response to the multicore revolution. You need more parallelism in your applications and you need it without adding a great overhead.
Apple's Grand Central Dispatch: Path to Multicore
Apple has taken multicore to heart with Grand Central Dispatch, a deeply ingrained capability of their Snow Leopard OS to really help with using multicore parallelism. I'm a big fan, including the fact that it is not all new.
Going Parallel: Part 4 -- Enter Intel Parallel Studio
A Domain-Specific Language to Let Groovy Go Parallel
Groovy is an agile dynamic language for the Java Platform. It runs on the JVM (Java Virtual Machine). It supports Domain-Specific Languages (DSLs). Last week, GParallelizer 0.7 release added exciting intuitive ways to handle tasks, actors and message. Great news for the Groovy community in order to go parallel.
Parallel Impetus to Transform Computer Science
David Bader, Executive Director of High-Performance Computing at Georgia Tech, talks about parallel algorithms, hardware architectures for parallel programming, and the need for teaching parallelism as the norm in computer science.




