Cloud tools automate sequential C code analysis for multi-threading - Embedded.com

Cloud tools automate sequential C code analysis for multi-threading

A cloud-based tool for parallelizing sequential C code has been developed by Vector Fabrics BV (Eindhoven, The Netherlands).

The first in a planned family of cloud computing tools, vfAnalyst enables software engineers to identify the most promising parallelization opportunities so that they can create an effective multicore implementation.

Hosted on the Amazon Elastic Compute Cloud (EC2) – a secure server facility accessed through a standard web browser – vfAnalyst is paid for on a pay-as-you-go basis – a business model that minimizes up-front costs and eliminates software and hardware maintenance issues for customers.

Developing a multi-threaded program from sequential code is a time-consuming and expensive process to manage manually, particularly when multi-threading has not been explicitly planned ahead of time.

The tools graphic interface eases identification of  which portions of the program can be run in parallel and what kinds of data communications are needed in order to ensure that the multi-threaded code will operate identically to – but faster than – the sequential code.

In addition, vfAnalyst is intended to help engineers who are tasked with parallelizing legacy sequential code: engineers can do the project without having to know in detail how the code works.

Through its browser-based interface, the exploration of parallelization options can be simplified to three steps: identifying those portions of the code that would benefit from parallelism; of those, having vfAnalyst show the best candidates for partitioning; and of those, picking the ones that have the lowest cost.

The analysis is done irrespective of target platform, allowing analysis of code destined for servers or embedded systems.

The second product in the tool family – vfSoftware – will be launched later this year.  It starts with the kind of analysis that vfAnalyst provides, but then combines that with specific system knowledge to create multi-threaded code for multicore x86-based systems.

Software engineers will be able to fully explore alternative partitions, mapping options, and libraries and select a solution from a cost-benefit curve.

The tool can then either automatically implement that solution in a fraction of the time it would take to do manually or, if the user prefers, give specific instructions on how to implement the solution manually. vfSoftware can also be used to improve the performance of existing multi-threaded code.

Like vfAnalyst, vfSoftware also makes use of the cloud, which will allow more thorough design exploration than would be possible on all but the largest private computer farms.

Vector Fabrics in 2007 by Mike Beunder, Martijn Rutten, Paul Stravers and Jos van Eijndhoven.  It is backed by Point One Innovations and the Technostarters Fund, both based in Eindhoven.

Related information:

How to analyze C-code for parallelization

Vector Fabrics

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.