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 + -
显示快捷键?