Hero Overview

Hero™ is Altair's solution to optimize the utilization of expensive emulators.

  • Automation: Manages large sessions of emulations submitted by multiple teams.
  • FairShare: Hero allocates emulator resources to teams based on fairness policies.
  • Reports: A rich set of reports is available to assess the utilization of the emulators.
  • Vendor independence: Hero works with all emulators by the major vendors.
  • Preemption: Where possible and supported by the vendor, Hero can preempt long running emulations if a more important emulation job needs to be run. The preempted emulation can then resume from the point of suspension.
  • Soft reservations: Emulators can be reserved for specific users, or projects for specific times during the day. The reserved emulators remain available for general use during the reservation period, but will be made available to the specified users and projects if they demand it.

Three Scheduling Solutions

Hero is a collection of utilities to schedule all activities related to using emulators onto the available resources. Typically customers start from any one of these activities and expand to the others at their own pace.
  1. The first activity to be scheduled is the preparation of the bit streams that need to be loaded into the emulators. This activity may involve the import and compilation of the design and is typically executed on ordinary computers using the appropriate software licenses. In its most advanced implementation, Hero can trace all dependencies from all source files to the final bit stream and accelerate the import and build by doing incremental parallel distributed builds.
  2. The second activity is the choice of the emulator and which specific resources on the emulator are to be used. Often this is predefined by existing policies, such as reservations of specific emulators, and therefore Hero only needs to honor such policies. In advanced use caeses, Hero is allowed to pick the best emulator that is not being used.
  3. The third activity to schedule is the list of tests (for example, a regression suite) that need to be run using specialized target computers connected to the emulator while a specific design is loaded into the emulator.

Emulator Scheduling Challenges

From a scheduler point of view, emulators are very much like ordinary computers because they can accept one or more jobs of a certain class. The key difference is that for ordinary computers it is easy to compute the "residual resources" that remain on the computer by subtracting the resources used by the job, while for emulators this computation is not easy.

For example, if an idle computer has 8 cores and 200 GB of RAM, the residual resources after launching a job that requests 2 cores and 50GB of RAM will be, trivially, 6 cores and 150GB.

On an emulator, instead, the computation of the residual resource is more complex, because emulator jobs have more complex resource requirements. For example, an ICE job may need to run on a specific board. In order to compute accurately the residual resources and to unify the access to the different types of emulators, Hero uses a software encapsulation called a wrapper for each of these emulators.

An emulator wrapper knows how to represent the status of the emulator and can tell us what resources are still available.

PDF Guides

Altair Hero Guide

Altair Accelerator Tutorials

Altair Accelerator Release Notes