Distributed OrcaFlex

Distributed OrcaFlex is a suite of programs that enables a collection of networked, OrcaFlex licensed computers to run OrcaFlex jobs, transparently, using spare processor time.

Distributed OrcaFlex consists of three separate programs. A Distributed OrcaFlex client program is run on each machine available to run jobs (each such machine must have an OrcaFlex license). One machine on the network runs a Distributed OrcaFlex server program that coordinates the list of jobs to be run and allocates jobs to the clients. Finally, a Distributed OrcaFlex viewer program can be run on any machine. This viewer program displays the current list of jobs and their current status (e.g. pending, running, completed etc.) and allows jobs to be submitted and stopped.

Each client can be enabled (willing to accept jobs) or disabled (set to refuse jobs) at any time. Also, a client currently running a job can be told to abort the job, and the server will then reallocate the job to a different client where it will restart from the latest stored state.

When the client program is allocated a job it runs the job but it does so at low operating system priority. The effect of this is that the job runs as a background task that does not significantly interfere with other tasks on that machine. So if the machine is otherwise idle (e.g. at night) then the job will run at maximum speed, but if a user is working on the machine then they do not notice significant degradation in performance since their work takes priority and the Distributed OrcaFlex job only runs when the machine has done the user's work. There is therefore normally no need to disable clients.

Downloading and Installing Distributed OrcaFlex

The latest version of Distributed OrcaFlex is 4.0a which can be installed by following these steps:

  1. Download DOF Manual.pdf (277 KB) which contains documentation for Distributed OrcaFlex including an installation guide.
  2. Download DistributedOrcaFlex.zip (5.6 MB), unzip the contents, and run the extracted file Setup.exe.

Note: During the installation you will be prompted for a set of credentials for the Client service to run under. We recommend that you create a new user, for example, DOFUser that can then be used for all installations of the Distributed OrcaFlex client. This user should be created before you begin the installation and only be used for the Distributed OrcaFlex client service. This user must have “Log on as a service” rights and have been granted enough rights to be able to read and write all areas of the network filing system that jobs may be submitted from including the location of the default OrcFxAPI.DLL files. The "Log on as a service" right is normally set by group policy on the domain controller.

32/64 bit installation

OrcaFlex 9.6 introduced 64 bit versions of the OrcaFlex executables. In order to use the 64 bit OrcFxAPI.dll, a 64 bit version of the Distributed OrcaFlex client program must be used. The installation program gives you the option of running either the 32 bit or 64 bit version of the client.

Be aware that if you run the 64 bit version of the client then you will not be able to process jobs using 32 bit versions of OrcFxAPI.dll. So, if you need to process jobs with OrcaFlex 9.5 or earlier then you must run the 32 bit version of the client since those older versions of OrcaFlex are only available as 32 bit executables.

Once you are prepared to commit to OrcaFlex 9.6 and later you can start running the 64 bit version of the client. Note that you do not need to switch every single client on your network to the 64 bit version at the same time. It is possible to operate a mixed installation where you have some clients running 32 bit and others running 64 bit.

In order for such a mixed installation to work, the clients must be able to locate a version of the OrcFxAPI.dll that matches the architecture of the host process. So, a 32 bit client can only load 32 bit DLLs, and a 64 bit client can only load 64 bit DLLs. This issue is dealt with by means of directory naming convention. You must organise the directory that contains the OrcFxAPI DLLs like this:

    MyOrcFxAPIDirectory
        Win32 
            OrcFxAPI.dll (the 32 bit version) 
        Win64 
            OrcFxAPI.dll (the 64 bit version)

So long as the two OrcFxAPI DLLs are arranged in this way, the 32 bit DLL inside a folder named Win32 and the 64 bit DLL inside a folder named Win64, the client program will load the appropriate DLL regardless of which version of the DLL is specified when submitting jobs.

What's New

Version 4.0a

The client program is now available in both 32 and 64 bit versions. The 64 bit version needs to be used to take advantage of the 64 bit version of OrcaFlex that was introduced in OrcaFlex 9.6. All other Distributed OrcaFlex components remain 32 bit programs.

Version 3.2f

Better handling of jobs processing when there are not enough OrcaFlex licenses available.

Version 3.2c – e

Minor bug fixes.

Version 3.2b

Can now handle significantly larger numbers of jobs (>20,000)

Version 3.1a

  • The “Add File” dialog has been redesigned so you can now specify if an analysis should be statics or dynamics.
  • When running statics, Distributed OrcaFlex will now export Shear7 output files for all lines that include Shear7 in statics.

Version 3.0a

  • The Distributed OrcaFlex Client now runs as a windows service, no longer requiring a user to have logged into the machine before processing of jobs can begin.
  • Load balancing has been improved allowing jobs to be moved from a faster, heavily loaded machines to slower, but underutilised machines.
  • Memory footprint has been significantly reduced (requires OrcaFlex 9.3 or greater).
  • Improved user control over how many jobs a Distributed OrcaFlex client will take on.