Key Questions to Ask When Going Parallel

Can you provide commercially robust improvements of parallel libraries I am currently using?

Many parallel numerical libraries, perhaps SCALAPACK being the most famous, are open source and familiar to some users. Nonetheless, these libraries are newer, more complex, and less well tested than their older counterparts. These libraries often go under the heading of research projects. Ask your provider if they just plugged in the library or if they have made proprietary tests and improvements to the basic software. Many vendors just take the libraries hoping that they are correct, leaving the user in a "buyer beware" situation.

Can I integrate C and Fortran serial and/or parallel code?

The ability to put a "front end" on traditional parallel and serial codes can be extremely valuable for debugging and productivity. You should not be prevented from readily plugging in existing codes – most popularly serial C or Fortran, surrounded with a parallel FOR loop, or C/MPI and Fortran/MPI. Existing codes in other high level languages and low level languages should also integrate nicely with no user requirement about data distribution. For example, suppose the user wants to solve 100 linear systems of equations with a custom solver written in C, and the data for each of the 100 systems is not local to a processor, the programmer should not have to be concerned with getting the data into the right place.

How focused is the vendor on parallel computing?

Depending on the scope and importance of the new parallel programming project, a vendor’s commitment may be relevant. For example, if a small team is purchasing an 8-processor cluster for offloading occasional computations, the vendor’s focus on parallel computing may not be a critical issue. But for many enterprise environments, where parallel codes are in service for years (and sometimes decades), a vendor’s focus is critical. One relevant metric is the fraction of revenue that comes from serving the high-performance parallel computing segment, because this can serve as a leading indicator of how much time and money companies invest to understand and invest in solving a market’s problems.

How stable and robust is the technology?

You need to understand the product’s maturity. A reasonable measure is the number of major releases the product has gone through (remember Windows 2.0, 3.0, 3.1? Widespread acceptance of Windows did not really start until 3.1). This scope would also extend to the research and community developments for the various open-source or academic projects that were ultimately taken commercial.

Is this the right platform for my application?

The right HPC software will not just get the job done in a current project, but also serve as the foundation for future work. How rich and broad such a platform needs to be is situation-specific, and would depend on questions like: What suite of desktop tools does the team want to use in the development of custom parallel applications? How important is the product’s extensibility, through an API or SDK, to plug in future off-the-shelf or custom codes? How important is it that the platform support both interactivity during the application development, refinement, and discovery process; as well as large batch runs?

Is the vendor an innovator?

Naturally, this may not be important in every situation. But when solving the largest, most complex – and often most important problems – vendor innovation matters. In those cases, the problem with choosing a follower is not just in the timing of a new product or feature availability, but that the company processes, culture, and approach may hinder it from delivering necessary breakthroughs. Put another way, "if they are not the lead dog, their view never changes" – and this has potentially important implications for customers.

Ilya Mirman is the Vice President of Marketing for Interactive Supercomputing, Inc. You can contact him through the company website


About Interactive Supercomputing
Interactive Supercomputing (ISC) launched in 2004 to commercialize Star-P, an interactive parallel computing platform. Star-P enables automatic parallelization and interactive execution of existing desktop simulation applications on high-performance computers. Based in Waltham, Mass., the privately held company markets Star-P for a range of security, intelligence, manufacturing, energy, biomedical, financial, and scientific research applications. More information about ISC is available at www.interactivesupercomputing.com



    Login Form

    Share The Bananas

    Creative Commons License
    ©2005-2012 Copyright Seagrove LLC, Some rights reserved. Except where otherwise noted, this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. The Cluster Monkey Logo and Monkey Character are Trademarks of Seagrove LLC.