X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FSALOME_ResourcesManager.idl;h=375f3273e6fec3f9420610f159d1b464e9fbbcc8;hb=e196d7e6dbb65ed976b18fcc776d6f85a3ae3dfc;hp=8938ba4cbb1c834e41b38664d54fc7334d25c292;hpb=641929d327319a80b4fc6f6157605a21f46413c4;p=modules%2Fkernel.git diff --git a/idl/SALOME_ResourcesManager.idl b/idl/SALOME_ResourcesManager.idl old mode 100755 new mode 100644 index 8938ba4cb..375f3273e --- a/idl/SALOME_ResourcesManager.idl +++ b/idl/SALOME_ResourcesManager.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -35,12 +35,18 @@ module Engines typedef sequence ResourceList; //! components list typedef sequence CompoList; - +typedef sequence IntegerList; + //! Type to describe required properties of a resource struct ResourceParameters { //! resource name - manual selection + /*! If a name is provided, the resource will be imposed. + If the name is an empty string, the resource will be chosen to match + the other parameters. + */ string name; + //! host name string hostname; //! if true select only resources that can launch batch jobs @@ -49,18 +55,41 @@ struct ResourceParameters boolean can_run_containers; //! if given required operating system string OS; - //! if given list of components that could be loaded on a container - //! Optional if no resource are found with this constraint + //! if given, list of components that could be loaded on a container. + /*! Ignored if no resources are found with this constraint.*/ CompoList componentList; // Permits to order resources - //! required number of proc + //! required number of processors + /*! This parameter must be specified explicitly, because it is not provided + by the resource definition. + */ long nb_proc; + //! required memory size + /*! This parameter must be specified explicitly, because it is not provided + by the resource definition. + + The parameter specifies the maximum memory value that could be allocated + for executing the job. This takes into account not only the data that + could be loaded by the batch process but also the linked dynamic library. + A possible problem, for example in the case where you use the ssh + emulation of a batch system, is to get an error message as below + when libBatch tries to run the ssh command: +\verbatim +/usr/bin/ssh: error while loading shared libraries: libcrypto.so.0.9.8: failed +to map segment from shared object: Cannot allocate memory +\endverbatim + In this example, the mem_mb was set to 1MB, value that is not + sufficient to load the dynamic libraries linked to the ssh + executable (libcrypto.so in the error message). + So, even in the case of a simple test shell script, you should + set this value at least to a standard threshold as 500MB. + */ long mem_mb; //! required frequency long cpu_clock; - //! required number of node + //! required number of nodes. Can be used when submitting slurm jobs. long nb_node; //! required number of proc per node long nb_proc_per_node; @@ -81,14 +110,18 @@ struct ResourceDefinition string hostname; //! Type of the resource ("cluster" or "single_machine") string type; - //! protocol to connect to the resource - //! protocol used to start a remote container (ssh or rsh) + //! protocol to connect to the resource and to start a remote container + //! Possible values: + //! "rsh" : uses rsh and rcp + //! "ssh" : uses ssh and scp + //! "rsync" : uses ssh and rsync string protocol; //! login name to use to start a remote container string username; //! salome application to use to start a remote container string applipath; - //! list of available components + //! list of available components. + //! An empty list means every component is available. CompoList componentList; //! operating system @@ -156,6 +189,15 @@ interface ResourcesManager */ void RemoveResource(in string resource_name, in boolean write, in string xml_file) raises (SALOME::SALOME_Exception); + + //! Create a machine file for PaCO container + string getMachineFile(in string resource_name, in long nb_procs, in string parallelLib) + raises (SALOME::SALOME_Exception); + + //! Return list of resources available (regarding content of CatalogResources.xml). And for each resource the number of proc available of it. + void ListAllAvailableResources(out ResourceList machines, out IntegerList nbProcsOfMachines) raises (SALOME::SALOME_Exception); + + ResourceList ListAllResourcesInCatalog() raises (SALOME::SALOME_Exception); }; };