📄 rfc3018.txt
字号:
Network Working Group A. BogdanovRequest for Comments: 3018 NKO "ORS"Category: Experimental December 2000 Unified Memory Space Protocol SpecificationStatus 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...............................................21Bogdanov 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..................................................51Bogdanov 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.....................................81Bogdanov Experimental [Page 3]RFC 3018 Unified Memory Space Protocol December 20001 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 20002 The UMSP Model2.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 0 - 12 octets. This field is unused by the protocol. It may contain any additional information, which is necessary for the control system of the node memory. If this field is not used, the zero value must be set in all octets. Using of this field results that the network instructions must contain only complete 16 - octet address and the short address of local memory cannot be
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -