00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef BEOWULF_BEOWULFOPTS_C_DEFINED
00039 #define BEOWULF_BEOWULFOPTS_C_DEFINED
00040
00041 #include "Beowulf/BeowulfOpts.H"
00042
00043 #include "Component/ModelOptionDef.H"
00044
00045 #ifdef HAVE_ARPA_INET_H
00046 #include <arpa/inet.h>
00047 #endif
00048 #include <netinet/in.h>
00049
00050 const ModelOptionCateg MOC_BEOWULF = {
00051 MOC_SORTPRI_2, "Beowulf-Related Options" };
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074 const ModelOptionDef OPT_BeowulfSlaveNames =
00075 { MODOPT_ARG_STRING, "BeowulfSlaveNames", &MOC_BEOWULF, OPTEXP_CORE,
00076 "Comma-separated list of names of slaves to use, in the hostname:port "
00077 "format (default port will be used if not specified), or single absolute "
00078 "path to a text file that contains the node names, one per line.",
00079 "beowulf-slaves", '\0', "<host:port,host:port,...|/path/to/nodelist.txt>",
00080 "/etc/nodes" };
00081
00082
00083 const ModelOptionDef OPT_BeowulfMaster =
00084 { MODOPT_FLAG, "BeowulfMaster", &MOC_BEOWULF, OPTEXP_CORE,
00085 "Flags this as the master node",
00086 "beowulf-master", '\0', "", "false" };
00087
00088
00089 const ModelOptionDef OPT_TCPcommunicatorIPaddr =
00090 { MODOPT_ARG(in_addr), "TCPcommunicatorIPaddr", &MOC_BEOWULF, OPTEXP_CORE,
00091 "Our IP address to use for Beowulf communications (useful if we have "
00092 "several ethernet interfaces), or 0.0.0.0 to determine it automatically "
00093 "from our hostname",
00094 "ip-addr", '\0', "<int>.<int>.<int>.<int>", "0.0.0.0" };
00095
00096
00097 const ModelOptionDef OPT_TCPcommunicatorInQlen =
00098 { MODOPT_ARG(int), "TCPcommunicatorInQlen", &MOC_BEOWULF, OPTEXP_CORE,
00099 "Queue length for incoming messages, or zero for unlimited",
00100 "tcp-inqlen", '\0', "<int>", "100" };
00101
00102
00103 const ModelOptionDef OPT_TCPcommunicatorOuQlen =
00104 { MODOPT_ARG(int), "TCPcommunicatorOuQlen", &MOC_BEOWULF, OPTEXP_CORE,
00105 "Queue length for outgoing messages, or zero for unlimited",
00106 "tcp-outqlen", '\0', "<int>", "100" };
00107
00108
00109 const ModelOptionDef OPT_TCPcommunicatorInDropLast =
00110 { MODOPT_FLAG, "TCPcommunicatorInDropLast", &MOC_BEOWULF, OPTEXP_CORE,
00111 "Message dropping policy when incoming queue is full; if true, the "
00112 "most recent (last received) message will be dropped, otherwise, the "
00113 "least recent will be dropped",
00114 "tcp-indroplast", '\0', "", "false" };
00115
00116
00117 const ModelOptionDef OPT_TCPcommunicatorOuDropLast =
00118 { MODOPT_FLAG, "TCPcommunicatorOuDropLast", &MOC_BEOWULF, OPTEXP_CORE,
00119 "Message dropping policy when outgoing queue is full; if true, the "
00120 "most recent (last queued) message will be dropped, otherwise, the "
00121 "least recent will be dropped",
00122 "tcp-outdroplast", '\0', "", "false" };
00123
00124
00125 const ModelOptionDef OPT_TCPcommunicatorDisableShm =
00126 { MODOPT_FLAG, "TCPcommunicatorDisableShm", &MOC_BEOWULF, OPTEXP_CORE,
00127 "Disable the use of shared memory for faster transfers between two "
00128 "Beowulf nodes running on the same physical machine",
00129 "tcp-disable-shm", '\0', "", "false" };
00130
00131
00132 const ModelOptionDef OPT_SockServPort =
00133 { MODOPT_ARG(short), "SockServPort", &MOC_BEOWULF, OPTEXP_CORE,
00134 "Port on which to listen for incoming Beowulf connections, "
00135 "or 0 to determine it from /etc/services",
00136 "ip-port", '\0', "<int>", "0" };
00137
00138
00139 const ModelOptionDef OPT_BeowulfSelfQlen =
00140 { MODOPT_ARG(int), "BeowulfSelfQlen", &MOC_BEOWULF, OPTEXP_CORE,
00141 "Queue length for self-addressed messages, or zero for unlimited",
00142 "tcp-selfqlen", '\0', "<int>", "100" };
00143
00144
00145 const ModelOptionDef OPT_BeowulfSelfDropLast =
00146 { MODOPT_FLAG, "BeowulfSelfDropLast", &MOC_BEOWULF, OPTEXP_CORE,
00147 "Message dropping policy when self-addressed message queue is full; "
00148 "if true, the most recent (last received) message will be dropped, "
00149 "otherwise, the least recent will be dropped",
00150 "tcp-selfdroplast", '\0', "", "false" };
00151
00152
00153 const ModelOptionDef OPT_SingleChannelBeoServerQuickMode =
00154 { MODOPT_FLAG, "SingleChannelBeoServerQuickMode", &MOC_BEOWULF, OPTEXP_CORE,
00155 "Use quick mode where only the output map is sent back for each"
00156 "channel; this will break any program that attempts to access other"
00157 "channel results, such as the pyramid queue, submaps or clipPyramid",
00158 "scbserver-quickmode", '\0', "", "true" };
00159
00160 const ModelOptionDef OPT_BeowulfInitTimeout =
00161 { MODOPT_ARG(double), "BeowulfInitTimeout", &MOC_BEOWULF, OPTEXP_CORE,
00162 "Max time in seconds to wait for Beowulf initialization, "
00163 "or zero for unlimited",
00164 "beowulf-init-timeout", '\0', "<float>", "0" };
00165
00166
00167
00168
00169
00170
00171
00172 #endif // BEOWULF_BEOWULFOPTS_C_DEFINED