VOV Projects

A "project" is a named collection of jobs, together with all the files that are used and produced by those jobs. The contents of VOV projects can be custom organized.

Each design project is associated with one vovserver. The vovserver is started at the beginning of the project and normally runs until the project completes. Running in the background, the vovserver monitors the activity of the tools invoked by the designers, builds and manages the dependencies, services requests from the users, and dispatches jobs to the taskers.

Each VOV project may have its own private set of computing resources, or may interface to an existing compute farm, for example Accelerator or other schedulers.

Examples of projects:
  • Compiling a program on one platform
  • Compiling a program on N platforms
  • Running regression for a software product
  • Designing a chip or some sub-blocks of a chip
  • Managing a workload (Accelerator)
  • Managing the sampling of FlexNet Publisher daemons (Monitor)

VOV Projects Types

The following VOV projects are associated with Altair products.

Product Default Project Name Default Project Directory
Monitor licmon $VOVDIR/../../licmon
Accelerator vnc $VOVDIR/../../vnc
Accelerator Plus wx $VOVDIR/../../wx
Allocator la $VOVDIR/../../la
FlowTracer -none- -none-

VOV Project Server Host

The vovserver can run on a host that meets the following requirements:
  • The host has access to all the design data, directly or through network file systems (such as NFS).
  • The host has adequate main memory: least 64MB of RAM for graphs with 20,000 files in the graph - each node in the graph uses about 1kB of RAM.

If the majority of the project files are stored in file systems residing on a single host (the file server), then the vovserver is best run on that host to avoid possible complications due to NFS or unsynchronized clocks. If internal policies or technical reasons discourage running the vovserver on the file server, then any other host can be used.

The combination of host:port must be unique among all running vovserver. It is not recommended to start servers with the same project name on different hosts; this leads to confusion for the users. However, running multiple servers with different names on the same host is an acceptable practice.

Create a VOV Project

  1. To create a new VOV project for Accelerator, Monitor, Allocator, or Accelerator Plus, please use the appropriate manager script, as per the table below:
    Product Manager Command Specialized Action
    Monitor lmmgr Checks that auxiliary daemons and scripts are up-to-date. The vovproject command does not check.
    Accelerator ncmgr Checks that auxiliary daemons and scripts are up-to-date. The vovproject command does not check. Also creates the necessary entry in the NC_CONFIG_DIR (usually $VOVDIR/local/vncConfig).
    Accelerator Plus wxmgr Checks that auxiliary daemons and scripts are up-to-date. The vovproject command does not check. Also creates the necessary entry in the NC_CONFIG_DIR (usually $VOVDIR/local/vncConfig).
    Allocator lamgr Checks that auxiliary daemons and scripts are up-to-date. The vovproject command does not check.
  2. To create a new VOV project for FlowTracer, use the vovproject create command.
    % vovproject create -type <type> -port <port> -dir vovadmin <projectname>
    Option Description
    -type Select the project type which influences only the creation of a new project; the initialization of the project files. These files control the project environment, tasker machines, users, security, etc., and are copied from the project type directory to the configuration files of the newly-created project.

    The standard project types are usually augmented by the VOV site administrator to include ones specific to your site's work environment. This reduces the need for users to configure their own projects. The types are defined as subdirectories in $VOVDIR/local/ProjectTypes.

    If no specific type is named, the new project will receive the template configuration files from the generic type. The following standard project types are available:
    Project Type
    Description
    generic
    The default type. Specialized for FlowTracer.
    licadm
    Specialized for an older form of Altair licensing based on vovserver, now replaced by ALM.

    More types can be added by creating new subdirectories and by modifying the template configuration files in the directory for that project type. Start a new project type by copying the configuration files from the "$VOVDIR/../common/etc/ProjectTypes/generic" type, and change them to suit the needs at your site.

    For example, you might create a Simulation type, or a PhysicalDesign type, with specific tasker machines.

    -port Choose a port number for the project. It is required that each project running on a host has a unique port; this is an operating system restriction. By default, the port number is computed automatically by hashing the project name into the range 6200-6255. It is possible for two project names to map to the same port. Such port collisions are handled by searching upward in the registry (starting at 720O) until an open port is found.
    Note: To run multiple projects concurrently on the same host, ensure they use different ports.
    -dir Choose the directory where you want to store all administration files for the project. The directory in which the vovserver is launched is called the server working directory (SWD). The server working directory contains the VOV database as well as all the project specific files.

    By default, the server working directory is ~/vov on UNIX and $VOVDIR/swd on Windows. For very important projects, the server working directory is explicitly set in an area where it can be subject to the same revision control methods as all the rest of the design data. In such cases, the directory is often called vovadmin.

    You also need to consider the canonical name of the Server Working Directory. For further information, refer to Canonical and Logical File Names.

    <projectname> Choose a name for the project. The project name can be any alphanumeric string, such as: cpu, badge, MicroProcessor, mike, xyz99. The name is case sensitive. Special characters, underscores "_" and dashes "-" are allowed.

    The name of the project and the host must each be 100 characters or less.

    The following strings are not allowed as project names: "unknown" "none".

    The project name is used to compute the default port number used by the vovserver to listen for connections. See above for restrictions on the port number.

    The following is an example of creating a project using the default port number, the default type generic, and the default working directory:
    % vovproject create test
    Creating a new project:
    Directory /Users/designerabc/vov
    Type      generic
    Name      test
    Port      automatic
    vovproject 11/11/2015 07:28:30: message: Creating directory /Users/designerabc/vov/test.swd/.
    vovproject 11/11/2015 07:28:30: message: Created setup file '/Users/designerabc/vov/test.swd/setup.tcl'
    vovproject 11/11/2015 07:28:30: message: Copying initial DB config file...
    vovproject 11/11/2015 07:28:36: message: Starting a VovServer
    for project    test@mac05.local
    PORT=automatic
    vovserver Nov 11 07:28:36 VOV server MacOS/2015.11 Nov  5 2015 09:17:16
    Copyright © 1995-2020, Altair Engineering
    vovserver Nov 11 07:28:36 Version MacOS/2015.11 Nov  5 2015 08:55:57 Copyright © 1995-2020,Altair Engineering
    vovserver Nov 11 07:28:36 Project was started on: Thu Nov 11 07:28:36 2015
    vovserver Nov 11 07:28:36 The server port is 6392
    vovserver Nov 11 07:28:36 Running with capacity 256
    vovserver Nov 11 07:28:36 ###########  READY TO RECEIVE port=6392  ###########
    vovserver Nov 11 07:28:36 The server pid is 41613
    vovserver Nov 11 07:28:36 << Redirecting output  /Users/designerabc/vov/test.swd/logs/server.2015.11.11.log >>