Most developers building executables today use a flavor of the original Unix Make program that was created in the 1970s. Over the years, the program has been refined by developers looking to optimize the make process, reduce build errors and increase the speed with which executables are completed.
Most enterprise applications today are designed with concurrencies in the executable builds. Large enterprise software such as Oracle or Microsoft database servers, for instance, are made up of several thousand source files, and in principal"given enough machines and manual orchestration"most of the files necessary to build an executable can be compiled concurrently.
MARIO MOREJON Technical Editor
Executing a build using multiple machines running different processes concurrently, or in parallel, has been tried often but is usually unsuccessful. Many of the steps necessary to create an executable are not independent of each other and often require dependencies that are not described in make files.
Existing make programs do not provide developers with a way to track and specify dependencies across multiple make files. What's more, certain steps in the build can begin before build dependencies are created, resulting in out-of-order executions and build errors.
Electric Cloud, a two-year-old Silicon Valley startup, has a patent-pending make system that aims to solve these problems and speed executable build times. Electric Cloud 2.0 is a software-build accelerator that converts inexpensive servers into build clusters. This saves valuable time, reduces build errors and can replace the most widely used versions of Make programs"GNU Make, Microsoft NMake and System V Make. Electric Cloud uses the same file format and the same command-line parameters as other Make software, and behaves almost exactly like common make tools used by developers. Electric Cloud is compatible with Sun Microsystems' Solaris, Microsoft Windows and RedHat Linux operating systems.
The software consists of three components: Electric Make, Cluster Manager and Electric File System.
Electric Cloud uses the Electric File System to observe and record every file accessed by the steps in a build. Electric Make uses that information to deduce dependencies and to correct itself if errors occur. If Electric Make detects an error, it discards the bad build results and runs that step again later in a build once all of the dependencies are complete. Wherever dependencies do not exist in a make or sub-make file, Electric Cloud executes those steps in parallel.
Older Make programs typically run each compilation step sequentially on the machine where a build is invoked. This process severely limits compilation speed. Instead, Electric Cloud distributes the build among a cluster of inexpensive servers so several build steps can execute in parallel.
Using Cluster Manager, Electric Cloud 2.0 farms out steps in a build to different nodes in the cluster so the build can be executed more quickly. If developers want an even speedier build, they simply add more nodes to the cluster to increase processing power. Once a build is complete, Electric Make alerts Cluster Manager that the nodes are free to use for other builds.
Since Electric Make is nearly identical to standard Make programs, the documentation and user's manual for the software is minimal.
The Cluster Manager software is accessible through both an HTML interface and an XML Web service.
Electric Cloud is currently lending clusters to customers and solution providers that might be interested in the solution. The vendor is building relationships with solution providers through this pilot program and plans on using these relationships to build a channel program.
The starting price for Electric Cloud 2.0 is $50,000 for a basic configuration.
CHANNEL PROGRAM SNAPSHOTS > ELECTRIC CLOUD 2.0 COMPANY: Electric Cloud Mountain View, Calif. (650) 968-2950 www.electric-cloud.com DISTRIBUTORS: Direct from vendor TECH RATING: CHANNEL RATING:
Note: Vendors can earn up to five stars for technical merit and five for their channel program. If the average of these two scores is four stars or greater, the product earns CRN Test Center Recommended status.
To continue reading this article, please download the free CRN Tech News app for your iPad or Windows 8 device.