Veloce Setup

  1. To activate Veloce, create the file config_veloce.tcl.
    % cd `vovserverdir -p hero`
    % vi config_veloce.tcl 
    It is assumed that VELES (by Mentor) is running on some host. In the following, assume such host is called fx1:
    #### VELOCE SECTION
    HeroVeloce::DeclareVeles -host fx1 -port 28500
  2. Modify the taskers.tcl file with these lines:
    # Add these lines to your taskers.tcl fie
    source $env(VOV_HERO_DIR)/zebu/hero_veloce_lib.tcl
    HeroVeloce::DeclareEmulatorTaskers
  3. Normally, in Veloce there is only one Hero wrapper, just like there is only one Veloce Enterprise Server (veles). Start the wrapper and the associated taskers with:
    % ves VELOCE
    % hero_veloce_start_wrapper
    % vovtaskermgr start 
  4. Verify that the taskers and wrappers are running with:
    % vovtaskermgr show
  5. To set up Hero as the distributions system for Veloce, in your veloce.config file, add:
    comp -distrib_flow custom
    comp -custom_task_distrib_conf_file $env(VOVDIR)/scripts/hero/veloce/veloce.distribution.config
  6. To setup Preemption for Veloce, you can add a few preconfigured preemption rules that allow a high-priority job to suspend a lower priority job.
    # Add this line to hero.swd/vovpreemptd/config.tcl
    source $env(VOVDIR)/scripts/hero/veloce/hero_veloce_preempt_rules.tcl
With Hero, you suspend a Veloce job by sending SIGTSTP to the "hero_veloce_select" job, and not, as one may expect, to the "hero_veloce_run" job. This is because in Hero, there are two distinct jobs to drive the emulators and the "hero_veloce_select" is the one that needs to be rescheduled. In turn, hero_veloce_select will suspend the hero_veloce_run and make sure that the preemption is complete and successful.