ElectricAccelerator

2 minute read

About ElectricAccelerator

ElectricAccelerator® (“Accelerator”) is a software build accelerator that dramatically reduces software build times by distributing the build over a large cluster of inexpensive servers. Using a patented dependency management system, Accelerator identifies and fixes problems in real time that would break traditional parallel builds. Accelerator plugs into existing software development environments seamlessly and includes web-based management and reporting tools.

Accelerator components:

  • Electric Make® (”eMake”)

  • Electric File System (EFS)

  • Accelerator agents (”agents”)

  • Cluster Manager

  • Electrify

eMake

eMake, the main build application, is a new Make version invoked interactively or through build scripts. It reads makefiles in several different formats, including GNU Make and Microsoft NMAKE. eMake distributes commands to the cluster for remote execution and services file requests.

Electric File System (EFS)

Electric File System (EFS) is a special-purpose file system driver, monitoring every file access on the hosts and providing eMake with complete usage information. This driver collects dependency information, allowing eMake to automatically detect and correct out-of-order build steps. Each EFS driver instance is paired with an Accelerator agent. During the Accelerator installation process, the agent and EFS are installed at the same time.

ElectricAccelerator Agent (Agent)

As the user-level component running on the hosts, the agent and EFS are inseparable—the agent is an intermediary between eMake and EFS. Depending on your system configuration requirements, you may have one EFS/agent installed per virtual CPU.

Cluster Manager

The Cluster Manager machine is a server that contains two layers:

  1. A service layer to allocate agents to builds, collect build results, and monitor system activity, and

  2. A web server layer for the web interface.

Cluster Manager also allows users to view upcoming and past builds, view the status of agents in the cluster, and run reports.

Electrify

The Electrify component accelerates builds by parallelizing the build process and distributing build steps across clustered resources. You can use one of two methods to monitor your tools: a wrapper application or automatic process interception. For details about Electrify, see Electrify.

Cluster Manager and Other Components

Cluster Manager’s primary responsibility is agent allocation. However, through Cluster Manager, users also create and maintain the build infrastructure: build classes, user access, build history details, and manage agent activity.

Features

  • Build acceleration

    • Accelerates Make, Ninja, and Visual Studio builds

    • Discovers and optimizes dependencies

    • Provides JobCache for build avoidance

  • Test acceleration

    • Provides a test case mode for accelerating unit test and static code analysis test cycles

  • Cluster management

    • Configures policies for build classes and resources

    • Intelligently distributes builds across available infrastructure

    • Monitors cluster health and usage via dashboards and reports

    • Supports bursting to common cloud-based infrastructure

  • Insight

    • Visualizes parallel builds

    • Identifies dependencies visually

    • Creates reports for analyzing build meta data

  • Electrify

    • Accelerates additional build tools