rfc3018.txt

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

TXT
1,557
字号






Network Working Group                                        A. Bogdanov
Request for Comments: 3018                                     NKO "ORS"
Category: Experimental                                     December 2000


              Unified Memory Space Protocol Specification

Status of this Memo

   This memo defines an Experimental Protocol for the Internet
   community.  It does not specify an Internet standard of any kind.
   Discussion and suggestions for improvement are requested.
   Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2000).  All Rights Reserved.

Abstract

   This document specifies Unified Memory Space Protocol (UMSP), which
   gives a capability of immediate access to memory of the remote nodes.

Conventions used in this document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC-2119 [2].

   The following syntax specification uses the augmented Backus-Naur
   Form (ABNF) as described in RFC-2234 [3].

Table of Contents

   1.  Introduction...................................................4
   2.  The UMSP Model.................................................5
     2.1  128-bit Address Space.......................................5
     2.2  Computing Model.............................................7
     2.3  System Architecture.........................................9
   3.  Instruction Format............................................11
     3.1  Instruction Header.........................................12
     3.2  Extension Headers..........................................15
     3.3  Instruction Operands.......................................17
     3.4  Address Formats............................................17
   4.  Response of the Instructions..................................19
     4.1  RSP, RSP_P.................................................20
     4.2  SND_CANCEL.................................................20
   5.  Jobs Management...............................................21



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


     5.1  Job Initiate...............................................23
       5.1.1  CONTROL_REQ............................................24
       5.1.2  CONTROL_CONFIRM........................................25
       5.1.3  CONTROL_REJECT.........................................26
     5.2  Task Initiate..............................................26
       5.2.1  TASK_REG...............................................26
       5.2.2  TASK_CONFIRM...........................................27
       5.2.3  TASK_REJECT............................................28
       5.2.4  TASK_CHK...............................................28
     5.3  Establishment of session connection........................29
       5.3.1  SESSION_OPEN...........................................29
       5.3.2  SESSION_ACCEPT.........................................31
       5.3.3  SESSION_REJECT.........................................31
       5.3.4  Connection Profile.....................................32
     5.4  Session Closing............................................33
       5.4.1  SESSION_CLOSE..........................................34
       5.4.2  SESSION_ABEND..........................................35
     5.5  Task Termination...........................................35
       5.5.1  TASK_TERMINATE.........................................36
       5.5.2  TASK_TERMINATE_INFO....................................36
     5.6  Job Completion.............................................37
       5.6.1  JOB_COMPLETED..........................................37
       5.6.2  JOB_COMPLETED_INFO.....................................38
     5.7  Activity Control of Nodes..................................38
       5.7.1  _INACTION_TIME.........................................39
       5.7.2  STATE_REQ..............................................40
       5.7.3  TASK_STATE.............................................41
       5.7.4  NODE_RELOAD............................................42
     5.8  Work without session connection............................42
   6.  Instructions of Exchange between VM...........................44
     6.1  Data Reading/Writing Instructions..........................45
       6.1.1  REQ_DATA...............................................45
       6.1.2  DATA...................................................46
       6.1.3  WRITE..................................................46
       6.1.4  WRITE_EXT..............................................47
     6.2  Comparison Instructions....................................47
       6.2.1  CMP....................................................47
       6.2.2  CMP_EXT................................................48
       6.2.3  Response to Comparison Instructions....................48
     6.3  Control Transfer Instructions..............................48
       6.3.1  JUMP, CALL.............................................48
       6.3.2  RETURN.................................................49
     6.4  Memory Control Instructions................................50
       6.4.1  MEM_ALLOC..............................................50
       6.4.2  MVCODE.................................................50
       6.4.3  ADDRESS................................................51
       6.4.4  FREE...................................................51
       6.4.5  MVRUN..................................................51



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


     6.5  Other Instructions.........................................52
       6.5.1  SYN....................................................52
       6.5.2  NOP....................................................53
     6.6  Work with Objects..........................................53
       6.6.1  Reading/Writing of the Objects Data....................54
         6.6.1.1  OBJ_REQ_DATA.......................................54
         6.6.1.2  OBJ_WRITE..........................................55
         6.6.1.3  OBJ_WRITE_EXT......................................56
       6.6.2  Comparison Instructions of the Objects Data............56
         6.6.2.1  OBJ_DATA_CMP.......................................56
         6.6.2.2  OBJ_DATA_CMP_EXT...................................57
       6.6.3  Execution of the Objects Procedures....................57
         6.6.3.1  CALL_BNUM..........................................57
         6.6.3.2  CALL_BNAME.........................................58
         6.6.3.3  GET_NUM_PROC.......................................59
         6.6.3.4  PROC_NUM...........................................59
       6.6.4  The Objects Creation...................................59
         6.6.4.1  NEW, SYS_NEW.......................................60
         6.6.4.2  OBJECT.............................................61
         6.6.4.3  DELETE.............................................61
       6.6.5  The Objects Identification.............................61
         6.6.5.1  OBJ_SEEK...........................................62
         6.6.5.2  OBJ_GET_NAME.......................................62
   7.  Chains........................................................62
     7.1  Sequence...................................................63
     7.2  Transaction................................................64
       7.2.1  _BEGIN_TR..............................................64
       7.2.2  EXEC_TR................................................65
       7.2.3  CANCEL_TR..............................................66
     7.3  Fragmented instruction.....................................66
     7.4  Buffering..................................................67
     7.5  Acknowledgement of chains..................................69
     7.6  Base-displacement Addressing...............................70
   8.  Extension Headers.............................................71
     8.1  _ALIGNMENT.................................................71
     8.2  _MSG.......................................................71
     8.3  _NAME......................................................72
     8.4  _DATA......................................................72
     8.5  _LIFE_TIME.................................................72
   9.  Search of resources...........................................73
     9.1  VM_REQ.....................................................75
     9.2  VM_NOTIF...................................................75
   10.  Security Consideration.......................................77
   11.  Used Abbreviations...........................................78
   12.  References...................................................79
   13.  Author's Address.............................................80
   14.  Full Copyright Statement.....................................81




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


1  Introduction

   UMSP is the network connection-oriented protocol.  It corresponds to
   session and presentation layers of model OSI.  The protocol is
   designed for implementation in a wide class of systems, from simple
   devices based on the dedicated processors, up to universal computers
   and clusters.

   For the data exchange, the protocol uses transport layer service with
   reliable delivery.  It is possible to use not providing reliable
   delivery protocol for the transmission of not requiring
   acknowledgement data.  This document describes use TCP and UDP.

   The creation of network environment for the organization 128-bit
   address space of memory distributed between Internet nodes is the
   basic purpose of the protocol UMSP.  The protocol defines algorithm
   of the connections management and format of network primitives.  It
   doesn't control local memory on the node.

   As against the traditional network protocols, the user applications
   on different nodes interact not by the network primitives exchanging
   or working with the dataflows, but by immediate data reading/write or
   control transfers to the code in virtual memory of the remote node.
   The user's application can know nothing about existence of the
   protocol and network, and simply use the instructions with 128-bit
   addresses.

   Firstly, it is supposed to use UMSP in systems based on the virtual
   machines (VM), executing the pseudo-code.  However, the protocol may
   be used in systems executing a processor code, for example, in
   clusters or in universal operational systems, for the organization of
   the distributed virtual address space.  Besides, the minimal profile
   of the protocol may be used in simple devices, which do not have the
   operational system.

   The protocol gives various means for set the connection parameters
   and allows building systems with a high protection level without
   restriction applications functionalities.

   UMSP can essentially simplify the distributed systems development
   process.  It gives an opportunity to unite not only information, but
   also calculating resources of the large number of polytypic computers
   without significant expenses for the programs standardization and
   development.







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


2  The UMSP Model

2.1  128-bit Address Space

   UMSP is based on the 128-bit distributed address memory space model.
   The 128-bit address contains the information about the network type,
   network node address and local memory address.  It has the following
   format:

   Octets
    0      1                                                    16
   +------+--------------+--------------------+----------------+
   |Header|     FREE     |     NODE_ADDR      |    MEM_ADDR    |
   +------+--------------+--------------------+----------------+

   Complete address length is fixed and is equal to 16 octets.

   Header

      1 octet.  Address header field completely defines the address
      format.  The header has the following format:

      Bits
       0     1     2     3     4     5     6     7
      +-----+-----+-----+-----+-----+-----+-----+-----+
      |      ADDR_LENGTH      |  NET_TYPE | ADDR_CODE |
      +-----+-----+-----+-----+-----+-----+-----+-----+

      ADDR_LENGTH

         4 bits.  The length of the network address.  This field
         contains the number of octets in the NODE_ADDR field.  The
         value 0 is not allowed.

      NET_TYPE

         2 bits.  The network type.  This field specifies a type of
         network, in which the node is.

      ADDR_CODE

         2 bits.  The length code of the local memory address.  The
         value of this field specifies the length of the local memory
         address.  The following values of the field and appropriated to
         them length of the field MEM_ADDR are defined:






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


            %b00 - 16 bit
            %b01 - 24 bit
            %b10 - 32 bit
            %b11 - 64 bit

      The values combination of the three fields of heading is named
      address format number.  These fields unequivocally define a
      network, in which the node is located.  Format number writes as
      follows:

         N <ADDR_LENGTH> - <NET_TYPE> - <ADDR_CODE>

      For example, N 4-0-2 defines the address with length of the node
      network address 4 octets and memory address with the length 32
      bits.  The network type 0 for such address format is defined for
      the network IPv4 in the presented document.  If the network type
      is equal to zero, it may be missed during the writing of the
      address format number.  For example, format N 4-0-2 and 4-2 are
      equivalent.  If both fields NET_TYPE and ADDR_CODE are set to
      zero, they may be omitted.  Thus, a format number writes as one
      figure.

      One or several address format numbers must be assigned for each
      global network, included in unified system.

   FREE

⌨️ 快捷键说明

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