Pervasive
Sign in | Join | Help
in

Pervasive DataRush

This blog is syndicated from the Pervasive DataRush site.

April 2008 - Posts

  • Multicore Parallel Programming: Can We Please do it Right This Time? – IEEE Electronic Design Processes Workshop 2008

    Dr. Tim Mattson of Intel is someone to whom we listen closely. He has a better sense of the current situation than nearly anyone else we have spoken with, and he understands and appreciates our efforts with DataRush. He recently spoke at the IEEE DATC Electronic Design Processes Workshop, and this article highlights some of his points.

    Mattson demolished another favorite idol of computer science: the parallel programming language. It’s a well-known trait of computer scientists that they will try to solve every problem with a new programming language. The parallel programming problem is no exception. Mattson displayed an eye chart listing the names of nearly 250 parallel programming languages developed just during the 1990s. “This is silly,” said Mattson, “If creating a new language was the solution, the problem would already be solved. This is not the path to a solution.”

  • Programming Language popularity

    Although less frequently now, cccasionally we are still asked about our choice of Java as the language we used to create DataRush. There were many reasons, all valid, but my initial response when I heard the question was why not Java? I had not understood how much market perception still existed around the original impressions from a decade ago -- Java is slow, is big, is constraining. But those who are actively writing applications today are clear on the reality of Java today. We were recently told that in one of our most interesting arenas, financial services, over 50% of new applications are being developed in Java, for example. But the topic still comes up, and I was pleased to be pointed to this link showing the top 10 languages over time.

    The TIOBE Programming Community index gives an indication of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. The popular search engines Google, MSN, Yahoo!, and YouTube are used to calculate the ratings.

  • The Complexities of Black Boxes

    As we begin deploying the first real production apps using DataRush, we find ourselves studying and digging ever deeper into the best ways to improve performance. (see Jim Falgout's JDJ cover story for some discussion of this). We are fortunate that we have good tools and sharp engineers, but more information is always better. This interesting article discusses some aspects of the JVM as a black box, and the challenges of that perspective.

    "...most important of all, so long as the JVM remains a black box, the "myths, legends and lore" will haunt us forever. Remember when all the Java performance articles went on and on about how method marked "final" were better-performing and so therefore should be how you write your Java code? Now, close to ten years later, we can look back at that and laugh, seeing it for the micro-optimization it is, but if challenged on this idea, we have no proof. There is no way to create demonstrable evidence to prove or disprove this point. Which means, then, that Java developers can argue this back and forth based on nothing more than our mental model of the JVM and what "logically makes sense"."

    "Some will suggest that we can use micro-benchmarks to compare the two options and see how, after a million iterations, the total elapsed time compares. Brian Goetz has spent a lot of time and energy refuting this myth, but to put it in some degree of perspective, a micro-benchmark to prove or disprove the performance benefits of "final" methods is like changing the motor oil in your car and then driving across the country over and over again, measuring how long until the engine explodes. You can do it, but there's going to be so much noise from everything else around the experiment--weather, your habits as a driver, the speeds at which you're driving, and so on--that the results will be essentially meaningless unless there is a huge disparity, capable of shining through the noise."

More Posts
© 2008 Pervasive Software Inc. All Rights Reserved.