Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Vector Fabrics Introduces Pareon for Multicore Software Optimization

Vector Fabrics Introduces Pareon for Multicore Software Optimization

This item in japanese


The Dutch company Vector Fabrics recently introduced its tool called Pareon. According to the company’s  press release, the tool allows to optimize applications for multicore systems.

While multicore systems have become widely available even in mobile devices, it is inherently hard to leverage their multicore capabilities within software applications. In addition, writing multicore code is tedious and error-prone, as the MIT lectures by Prof. Saman Amarasinghe and Dr. Rodric Rabbah show.

To ease the burden, Pareon’s toolset comprises tools such as

  • An analysis tool that  tries to detect threading bugs, and,
  • a hardware modelling engine that prevents developers from introducing performance bottlenecks or slowdowns.

Pareon uses the following process to optimize multicore software:

1. Insight: Pareon thoroughly analyzes and runs the program on a model of the multicore hardware, and then presents intuitive program visualizations that give the developer keen insight into the program’s execution, internal dependencies, and memory behaviour. This allows developers to focus on memory bottlenecks and compute bottlenecks right from the start.
2. Investigate: Using a point-and-click interface, the developer quickly adds parallelism where it has the biggest impact on performance. Code constructs that prevent parallelism are quickly identified so that they can be removed. Pareon immediately shows the impact of the parallelization on program performance, taking into account the multiple processors, memory and cache bottlenecks, synchronization and communication and even thread scheduling overhead.
3. Implement: After selecting the best parallelization strategy in the investigation phase, Pareon outlines detailed and straightforward code refactoring steps that implement the parallel constructs. This keeps the developer in control of the parallel code while eliminating the risk of introducing hard-to-detect and correct bugs.

Engineers interested in trying out the tool and checking whether it can live up to its expectations might register at the product web site.

Rate this Article