You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

1.

2. Actor cache

Initial request

To add  a little complexity to the FC2K generated wrappers would be to add an optional new port (triggered by a choice in the GUI) which would take as input 0 or 1.

  • In the case of a 1, the physics code would be called in the usual way, but the result would also be "remembered" internally by the wrapper.
  • In the case of a 0, the physics code would not be called, but the result remembered by the wrapper would be replayed.

This would allow for cleaner, less complicated workflows and a great deal more flexibility in changing the frequency with which codes are called.

3.

An additional, Boolean, port useCachedResults has been added to actors generated by FC2K

3.1. Cache OFF

Port useCachedResults  is not connected or it is connected but set to false.

Actor execution:

  1. Kepler Java actor calls C/Fortran wrapper
  2. Wrapper:
    1. Input IDSes are read from database
    2. User subroutine is called
    3. user subroutine finishes


3.2. Cache ON

Port useCachedResults  is connected and set to true.


4. Sandbox

"Sandbox" - a directory, in which actor will be run. Before execution of FC2K generated actor, containing user code,  directory will be changed to "sandbox", and after actor finishes, current directory will be switched back to previous value. The name (path) of "sandbox" directory will be created automatically or specified by user in actor configuration dialog. 

Actor will use existing directory or will create it, if directory not exists. All directories created automatically or having user specified relative path will be created under <SANDBOX_ROOT> ( $ITMSCRATCH/KEPLER_SANDBOXon the Gateway).

4.1. FC2K settings:


"Use sandbox" - enables / disables "sandbox"

"Sandbox" disabled

  • Actor behavior not changed, comparing to previous versions
  • A temporary directory is created  in "Standalone" "Batch" "MPI" or "Debug-standalone" execution modes ( $HOME/public/KEPLEREXECUTION/<actor_name>_<timestamp> )

"Sandbox" enabled:

  • actor uses sandbox
  • a sandbox parameters shown in actor configuration dialog (see next paragraph)


4.2. Actor configuration dialog:

  1. Run in sandbox
    • Values: TRUE/FALSE
    • Defines if application could be run in any directory or in specified one ("sandbox")
    • Default value: FALSE
  2. Sandbox lifetime
    •  Values: "Actor execution", "Workflow execution"
    • Defines if sandbox directory should be accessible only for given execution of particular actor ("Actor execution") or during the whole run of the workflow ("Workflow execution")
    • Default value: "Actor execution"
  3. Clean up sandbox
    • Values: TRUE/FALSE
    • Determines if content of checkbox should be cleaned up before
      • Every execution of the actor (if lifetime is set to "Actor execution")
      • First execution of the actor in workflow (if lifetime is set to "Workflow execution")
      • Default value: TRUE

      If an option "Clean up sandbox" is selected, it deletes the whole content of directory(warning)

  4. Sandbox directory path
    • Text field
    • Empty field:
      • Default value:  <SANDBOX_ROOT>/<UNIQUE_ACTOR_INSTANCE_NAME>_<PROCESS_ID>
      • name is unique to given instance of an actor, in case if there are several instances of one actor in WF
      • name is unique to given instance of a running Kepler, in case if there are several instances of Keplers' running in parallel
    • User specified value
      • It may be only relative to <SANDBOX_ROOT> - a directory  with user specified name will be created under   <SANDBOX_ROOT> (if not exists)
      • FC2K performs no action on provided name (i.e. it is used "as it is" without any changes to make it unique etc.)
      • User specified name may contain system environment variables 
      • Directory within <SANDBOX_ROOT> could be a link to any other existing directory. It allows to use directories from the outside of sandbox to be used. (Please do this responsible - potential risk of data lost if an option "Clean up sandbox" or "Delete sandbox" is selected.



  5. Delete sandbox
    • Values: TRUE/FALSE
    • Determines if sandbox dir should be cleared:
      • when actor finishes (in case if lifetime is set to "Actor execution")
      • when workflow finishes in case if lifetime is set to "Workflow execution")
    • Default value: TRUE





  • No labels