Although not always, most of the time startups will bring something new to the market. Sometimes new is incremental, adding more to existing functionality. Sometimes new is a major shift, extending the market beyond its existing boundaries. And sometimes new is so new that it takes time to place it, to put brackets around it and fit it into the greater scheme of life, as an engineer or as a consumer. Today, the multicore architecture is not a new phenomenon; the reasons for its appearance and growth are understood and accepted. It is like looking into the engine compartment of your car and noticing that there are two engines, closing the hood and getting back to driving the car. It is all the same, right?
Unfortunately, for software engineering it is not so. Developing applications for multicore architectures has been the territory of the selected few working at for instance Intel, AMD, gaming companies or supercomputer facilities. However, multicore architectures have become pervasive and software engineering finds itself at a crossroads: should it continue to pretend that multicore is but an afterthought, appearing when the platform is chosen and some “modifications” need to be made? Or should the whole approach of multicore or parallel programming be brought up front, as a generic part of the software development cycle? Vector Fabrics believes it is the latter and with its Pareon tool release it is putting those first foot prints in the sand: providing software engineers with the capabilities to determine the performance of their algorithms on multicore platforms, long before even the platform is physically available to them and long before the algorithm has turned into a product.
We believe that an engineer should start thinking about the parallel character of his or her application at the start of the development. Not only will that result in the most elegant solution, it is also the most effective and the cheapest. Similar to the hunt for software defects, which has become an integral part of software engineering, the later in the production process a bug is discovered, the more expensive and time consuming it is to resolve it. The ultimate pain is when a bug is discovered by a customer in a released product. Vector Fabrics’ Pareon tool brings the ability to the software engineer to make multicore analysis a standard part of the development flow. Of course, we also realize that at the same time a lot (some data indicates that it is up to 80%) of the software ending up on multicore platforms is legacy code. Pareon provides full support for the analysis and parallelization (correct-by-construction!) of legacy code also, including legacy code that contains binary libraries.
With a 15-day free trial I hope your footprints will soon join ours on that pristine beach of multicore program development. It is a long and sizeable beach with many twists and turns including heterogeneous patches, DSP rocks, OpenCL winds and GPGPU barriers. Pareon will be there to help you navigate and deliver your products faster and better than you can possibly do today. But even more important is that Pareon will ensure that your development continues to be fun, letting you focus on the creative parts of development and not on the bookkeeping of hundreds or even thousands of dependencies in the code. After all, we became software engineers because we like to be creative and like to build applications that match the hardware they run on, not because we like to be bookkeepers.