rfc3018.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,557 行 · 第 1/5 页

TXT
1,557
字号

   GTID and GJID are written at the instructions in the field of length
   4-16 octets.  The field FREE is not present at these identifiers (see
   section 2.1).  It is considered, that it contains the zero-value
   octets.  Length of the identifier is defined in header of the
   address.

   By sending of instructions CONTROL_REQ, TASK_REG and SESSION_OPEN,
   the protocol uses timeout.  The value of timeout is assigned by node
   and must be more than three intervals of the maximal time of delivery
   at the transport layer.  The timeout is not influenced the waiting
   period in queue to the transport layer.

5.1    Job Initiate

   The job concerns to the user application executed on VM.  The UMSP
   job initialization can be made simultaneously with the application
   user start or during its working.

   The task, appropriated to its job, is initialized on the node
   together with the job.  LTID is binding to this task.

   If the node, on which the user application was loaded, is chosen for
   JCP, the question of the job initialization lays beyond the scope of
   the network protocol.

   Other node can be chosen as JCP for the following reasons:

   o  The job initialization node is connected to network by slow-speed
      or overloaded channel.  It is undesirable to send the managing
      traffic.
   o  The node has no computing possibilities for conducting the
      managing tables.
   o  The authentication on the detailed node is necessary.

   If the other node is chosen for JCP, the node, that initiates the
   job, must register the job at JCP.




Bogdanov                      Experimental                     [Page 23]

RFC 3018             Unified Memory Space Protocol         December 2000


5.1.1     CONTROL_REQ

   The instruction "To request a control" (CONTROL_REQ) is sending from
   the node, initial the job, to JCP of other node.  The instruction has
   the following values of fields:

      OPCODE = 3
      PCK = %b00
      CHN = 0
      ASK = 1
      EXT = 0/1
      OPR_LENGTH = 2/3  ; Depends on LTID length.
      REQ_ID - The value is assigned by the sender node protocol and
               then will be sent in the response.
      Operands:
         4 octets: The control parameters profile.  This field has the
                   following format:

            bits
             0     1     2     3     4     5     6     7
            +-----+-----+-----+-----+-----+-----+-----+-----+
            |                                               |
            +                 JOB_LIFE_TIME                 +
            |                                               |
            +-----+-----+-----+-----+-----+-----+-----+-----+
            | CMT |    Reserved     |        VERSION        |
            +-----+-----+-----+-----+-----+-----+-----+-----+
            |                   Reserved                    |
            +-----+-----+-----+-----+-----+-----+-----+-----+


            JOB_LIFE_TIME

               2 octets.  The job lifetime in seconds.  The zero-value
               signifies that the restriction of the job lifetime is
               unused.

            CMT

               1 bit.  The flag of several JCP using.  This field is
               reserved for the future expansion of the protocol.

            VERSION

               1 octet.  The number of the UMSP version.  It must
               contain the value 1.





Bogdanov                      Experimental                     [Page 24]

RFC 3018             Unified Memory Space Protocol         December 2000


            Reserved

               3 + 8 bits.  All bits must be set to 0.

         4/8 octet: LTID of task of the job, assigned on the node, which
                    initiate the job (by the sender of this
                    instruction).
      The optional extension headers:
         _JOB_NAME  -  This header contains the name of the Job.  Is
                       assigned once and must not change further.
         _INACT_TIME - This header contains the inaction time (see
                       section 5.7).

   At reception of the CONTROL_REQ instruction JCP checks the LTID value
   from the received instruction and makes the following:

   (1) If the node, which has sent CONTROL_REQ, already has registered
       on JCP the active job with such LTID, the notification about
       abnormality end of the registered job is sent, as is described in
       section 5.5.2 (it is considered, that the node was reloaded).
       After that, the sanction to an initiation of the new job is sent.
   (2) If the node has no registered job with received LTID, it allows
       the new job initiation at once.

   If JCP confirms the control, it will send the instruction
   CONTROL_CONFIRM, or else CONTROL_REJECT.

5.1.2     CONTROL_CONFIRM

   The instruction "To confirm the control" (CONTROL_CONFIRM) is sent
   from JCP as the positive response to CONTROL_REQ instruction.
   CONTROL_CONFIRM has the following values of fields:

      OPCODE = 4
      PCK = %b00
      CHN = 0
      ASK = 1 ; The instruction does not need to be responded.  This flag
                specifies presence of the REQ_ID field.
      EXT = 0/1
      OPR_LENGTH = 1-4 ; Depends of length of the GJID.
      REQ_ID - The value is taken from the instruction CONTROL_REQ
      Operands:
         4-16 octets: The GJID assigned to the job on the JCP.

   The sending of the instruction CONTROL_REQ means request of control
   and request of task initiation.  Assigned to the task CTID is part
   GJID (field of the local memory address).




Bogdanov                      Experimental                     [Page 25]

RFC 3018             Unified Memory Space Protocol         December 2000


5.1.3     CONTROL_REJECT

   The instruction "To reject the control" (CONTROL_REJECT) is sent from
   JCP as the negative response to CONTROL_REQ instruction.
   CONTROL_REJECT has the following values of fields:

      OPCODE = 4
      PCK = %b00
      CHN = 0
      ASK = 1.  The instruction does not need to be responded.  This flag
                specifies presence of the REQ_ID field.
      EXT = 0/1
      OPR_LENGTH = 1/2 ; Depends on presence of the control parameters
                         profile field.
      REQ_ID - The value is taken from the instruction CONTROL_REQ
      Operands:
         2 octets: The basic error code.  The zero-value is not
                   available.
         2 octets: The additional error code.
         4 octets: The control parameters profile (see section 5.1.1),
                   that is allowed by JCP.  This is optional field.
      The optional extension headers:
         _INACT_TIME - This header contains the inaction time (see
                       section 5.7).
         _MSG - contains the arbitrary error description.

5.2    Task Initiate

   The job is executed on several nodes simultaneously.  The task,
   appropriate to it, must be initialized on each node.  There is
   corresponding only one task to one job on the node.  Each task must
   be connected only with one job.

   The task is initiated together with the job on the node, which had
   created the job.  On the other nodes, the task is initiated during
   the receiving of the first request on the opening of the session
   connection, which is appropriate to the job.  The request about
   openings of session connection contains GJID.  GJID contains the JCP
   address.  It is necessary to receive the sanction from JCP for the
   task start.  If the request about the opening of session has been
   received from JCP node, it is not necessary to request the sanction.

5.2.1     TASK_REG

   The instruction "To register a task" (TASK_REG) is sent from the
   node, which initials the task, to JCP of the remote node.  The
   instruction has the following values of fields:




Bogdanov                      Experimental                     [Page 26]

RFC 3018             Unified Memory Space Protocol         December 2000


      OPCODE = 6/7/8 ; For length CTID of 2/4/8 octets.
      PCK = %b00
      CHN = 0
      ASK = 1
      EXT = 0/1
      OPR_LENGTH = 2-8  ; Depends on length of the GTID and LTID.
      REQ_ID - The value is assigned by the sender node protocol and
               then will be sent in the response.
      Operands:
         2/4/8 octets: CTID of the task initiated the job.  It CTID is a
                       part GJID from the instruction SESSION_OPEN.
         4-16 octets: GTID, assigned on the node, initialed session
                      connection.  GTID is formed of sender addresses (at
                      transport layer) and field LTID of the instruction
                      SESSION_OPEN.
         2/4/8 octets:  LTID, assigned on the node, initialed the task
                        (by the sender of this instruction).
      The optional extension headers:
         _INACT_TIME - This header contains the inaction time (see
                       section 5.7).

   The instruction TASK_REG must be sent only if the task with given
   GJID was not initiated on the node.

   JCP confirms initiation of a task at observance of the following
   conditions:

   (1) Task with received GTID already has registered on JCP.
   (2) Task with LTID for the node requesting for initiation has not
       registered.

   In all other cases, JCP will not confirm a task.

   If JCP confirms the task, it will send the instruction TASK_CONFIRM,
   differently TASK_REJECT.

5.2.2     TASK_CONFIRM

   The instruction "To confirm the task" (TASK_CONFIRM) is sent from JCP
   as the positive response to TASK_REG.  TASK_CONFIRM has the following
   values of fields:

      OPCODE = 9
      PCK = %b00
      CHN = 0
      ASK = 1.  The instruction does not need to be responded.  This flag
                specifies the field REQ_ID presence.
      EXT = 0/1



Bogdanov                      Experimental                     [Page 27]

RFC 3018             Unified Memory Space Protocol         December 2000


      OPR_LENGTH = 1/2  ; Depends on length of the CTID.
      REQ_ID - The value is taken from the instruction TASK_REG.
      Operands:
         4/8 octets: The CTID assigned to the task on the JCP.
      The optional extension headers:
         _JOB_NAME - This header contains the name of the Job.

5.2.3     TASK_REJECT

   The instruction "To reject the task" (TASK_REJECT) is sent from JCP
   as the negative response to TASK_REG instruction.  TASK_REJECT has
   the following values of fields:

      OPCODE = 10
      PCK = %b00
      CHN = 0
      ASK = 1.  The instruction does not need to be responded.  This flag
                specifies presence of the REQ_ID field.
      EXT = 0/1
      OPR_LENGTH = 1
      REQ_ID - The value is taken from the instruction CONTROL_REQ
      Operands:
         2 octets: The basic error code.  The zero-value is not
                   available.
         2 octets: The additional error code.
      The optional extension headers:
         _INACT_TIME - This header contains the inaction time (see
                       section 5.7).
         _MSG - contains the arbitrary error description.

5.2.4     TASK_CHK

   With the purposes of a safety the node, which have received request
   about the opening of session connection, may check up at JCP the
   node, which has initialed connection, even if the task was already
   initiated.

   The instruction "To check up the task" (TASK_CHK) is sent from the
   node, which has received the ins

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?