?? rfc3018.txt
字號:
組織:中國互動出版網(http://www.china-pub.com/)
RFC文檔中文翻譯計劃(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
譯者:王安鵬(anpengwang anpengwang@263.net)
譯文發布時間:2002-1-9
版權:本中文翻譯文檔版權歸中國互動出版網所有??梢杂糜诜巧虡I用途自由轉載,但
必須保留本文檔的翻譯及版權信息。
Network Working Group A. Bogdanov
Request for Comments: 3018 NKO "ORS"
Category: Experimental December 2000
統一內存空間協議規范
(RFC3018——Unified Memory Space Protocol Specification)
本文檔的狀態
本備忘錄為Internet社區定義了一種實驗性協議,但沒有規定任何類型的Internet標準,
需要進一步討論和建議以便改進。本備忘錄的發布沒有限制。
版權信息
Copyright (C) The Internet Society (2000). All Rights Reserved.
摘要
本文定義的統一內存空間協議(UMSP)用于實現直接訪問遠程節點的內存。
本文使用的約定
文中使用的關鍵字“MUST”、“MUST NOT”、“REQUIRED”、“SHALL”、“SHALL NOT”、
“SHOULD”、“SHOULD NOT”、“RECOMMENDED”、“MAY”和“OPTIONAL”的含義
參見RFC2119。文中的語法規范采用RFC2234描述的擴展BNF范式(ABNF)。
目錄
1 簡介 2
2 UMSP模型 3
2.1 128位地址空間 3
2.2 計算模型 4
2.3 系統架構 5
3 指令格式 6
3.1 指令首部 7
3.2 擴展首部 8
3.3 指令操作數 9
3.4 地址格式 10
4 對指令的響應 11
4.1 RSP, RSP_P 11
4.2 SND_CANCEL 12
5 工作管理 12
5.1 工作初啟 13
5.2 啟動任務 15
5.3 建立會話連接 16
5.4 關閉會話 19
5.5 終止任務 20
5.6 工作完成 21
5.7 節點的活動控制 23
5.8 不使用會話連接的工作方式 25
6 虛擬機之間交換的指令 26
6.1 數據讀/寫指令 26
6.2 比較指令 28
6.3 控制傳輸指令 28
6.4 內存控制指令 29
6.5 其它指令 30
6.6 操作對象 31
7 鏈 37
7.1 順序鏈(Sequence) 37
7.2 事務(Transaction) 37
7.3 分段指令 39
7.4 緩沖 39
7.5 鏈的確認 40
7.6 基 - 偏移尋址方式 41
8 擴展首部 41
8.1 _ALIGNMENT 41
8.2 _MSG 41
8.3 _NAME 42
8.4 _DATA 42
8.5 _LIFE_TIME 42
9 資源搜索 43
9.1 VM_REQ 43
9.2 VM_NOTIF 44
10 安全性問題 45
11 文中使用的縮略語 45
12 參考 46
13 作者地址 46
14 版權聲明 47
1 簡介
UMSP是一種面向連接的網絡協議,對應于OSI模型中的會話層和表示層。該協議適
用于各種不同類型的系統,從基于專用處理器的簡單設備到通用計算機和計算機集群。該協
議采用提供可靠傳輸服務的傳輸層協議進行數據交換,但是對于不需要確認數據的傳輸也可
使用不可靠的傳輸協議。本文描述了TCP和UDP的使用。
為分布在網絡節點上的以128位組織的內存地址空間創建網絡環境是UMSP協議的根
本目的。協議定義了連接管理的算法和網絡基本指令的格式,但不對節點上的本地內存進行
管理。與傳統的網絡協議相比,不同節點上的用戶程序不再通過網絡基本指令的交換相互作
用,或者說不再對數據流工作,而是對遠程節點上的虛擬內存直接讀寫數據或者控制代碼的
傳輸。用戶程序不必關心協議和網絡的存在,只要使用128位地址指令就可以了。
首先假定在虛擬機(VM)系統上使用UMSP執行偽代碼。但是該協議也可在執行處理
器代碼組織分布式虛擬地址空間的系統(如集群或者通用計算機)上使用,另外協議的最小
子集可用于沒有操作系統的簡單設備上。該協議提供了設置連接參數不同的方法,能夠建立
高保護級別同時又不影響程序功能的系統。
原則上講,USMP可以簡化分布式系統的開發過程。通過USMP可以在不大幅度增加
程序標準化和開發代價的前提下,把大量、多型計算機上的信息和計算資源統一組織起來。
2 UMSP模型
2.1 128位地址空間
UMSP建立在128位分布式地址內存空間的基礎上。128位地址包括網絡類型信息、網
絡節點地址和本地內存地址,格式如下:
字節
0 1 16
+------+--------------+--------------------+----------------+
|頭部 | 保留 | 節點地址 | 內存地址 |
+------+--------------+--------------------+----------------+
整個地址長度固定為16個字節。其中:
1)首部(header):1個字節,地址首部字段完整定義了地址格式,其格式如下:
位
0 1 2 3 4 5 6 7
+-----+-----+-----+-----+-----+-----+-----+-----+
| 地址長度 | 網絡類型 | 地址碼 |
+-----+-----+-----+-----+-----+-----+-----+-----+
地址長度(ADDR_LENGTH)共4位,表示網絡地址的長度,保存節點地址
(NODE_ADDR)字段中的字節數,不允許是0;網絡類型(NET_TYPE)2位,表示節點
所在的網絡類型;地址碼(ADDR_CODE)2位,本地內存地址的長度編碼,這個字段的值
規定了本地內存地址的長度。該字段的取值以及相應的MEM_ADDR字段的長度如下:
%b00 - 16 bit
%b01 - 24 bit
%b10 - 32 bit
%b11 - 64 bit
頭部字段中的這三部分合起來稱為地址格式碼,明確的定義了節點所在的網絡。格式碼
的寫法是“N - - ”,比如N 4-0-2表示節點網絡地址長度為4個字節而內存地址為32位。
在本文中網絡類型0表示該地址格式是為IPv4網絡定義的。如果網絡類型是0,在書寫時
可以省略,比如N 4-0-2和N4-2 是等價的。如果網絡類型和地址碼都是0那么可以全部省
略不寫,格式碼就可以用一個數字表示。必須為每個全局網絡指定一個或多個地址格式碼,
即使單一系統也必須如此。
2)自由(FREE):0到12個字節,本協議沒有使用這個字段,可以在這個字段中保存
節點內存控制系統所需要的信息。如果該字段沒有使用,則所有的字節都必須設為0。加入
這個字段是為了保證網絡指令必須使用16字節地址格式,而不能使用本地內存的短地址格
式。
3) 節點地址(NODE_ADDR):1到13個字節,每種地址格式碼都單獨定義了該字段
的格式。節點地址不一定與實際的網絡地址完全一致,如果網絡地址很長,就需要在網絡內
組織一個能夠支持UMSP地址的子集。
4) 內存地址(MEM_ADDR):16/24/32/64位,本地內存地址。該字段保存節點地址
所指定系統的內存地址,節點負責控制自身的內存。本協議沒有定義該字段的使用順序和格
式。
對于用戶程序而言,這個128位地址是一個整體,用戶代碼并不了解所訪問內存的物理
地址。像數據一樣,128位內存地址也可以在節點之間傳輸,比如通過函數的參數緩沖區或
者復制數據的指令。因此對于所有節點而言每個節點必須是唯一標識的。并沒有把實際的網
絡和128位地址聯系起來的具體算法,因此必須預先知道所使用的地址格式。
由于UMSP擁有自己的地址空間,因此能夠把多個全球性網絡統一起來。節點可以通
過內部的本地網或者下一級的可定地址設備與不使用網絡通信的節點連接。地址格式碼確定
的每個節點必須能夠定義通過該地址時的網關響應方式。
2.2 計算模型
計算模型分為三層:工作、任務和控制線程。工作代表用戶程序,工作是分布式的,可
以同時在多個節點上運行。工作控制由稱為工作控制點(JCP)的節點集中執行,一個JCP
可以控制多項工作。JCP可以放在創建一項工作的同一個節點上,也可放在其他編址的網絡
節點上。任務是工作在各節點上的表示,任務包括一個或多個控制計算線程。每項工作在同
一個節點上只能有一個任務。相應的用戶程序結束后工作也就完成了,工作結束時它在各個
節點上的任務也同時完成。
工作擁有單獨的128位地址空間。地址空間采用分段組織方式,一段就是一個節點的本
地內存。此外,本協議允許采用對象工作方式,對象就是節點上相互關聯的單獨的內存。
任務線程代表具體的特定節點上虛擬機執行的控制線程,該線程可以訪問該項工作128
位地址空間內的任何地址。控制從一個(遠程)節點轉移到一個新地址,意味著在該地址所
屬遠程節點上創建一個新的線程。連續的代碼段不能分布到多個節點上。另外,也不可能從
多個節點上獲得分布式的連續內存空間。
本協議并不要求各虛擬機節點支持不涉及跨越不同內存空間的不同任務,也沒有強制要
求對多線程的支持。
本協議定義了全局工作標識符(GJID),它由控制該項工作的JCP分配。任何時刻在這
個一體化系統中所有處于激活狀態的GJID都是唯一的。工作可以包含不同類型的VM代碼,
不同類型的虛擬機可以放在一或多個節點上。由于規定了一個節點上不同虛擬機類型的成組
關聯機制,因此在特定的工作上下文中非標準代碼也可以在節點上執行。第9章將詳細討論
成組技術。虛擬機和組必須在常規內存空間中工作(使用內存管理的常規子系統)。
2.3 系統架構
基于虛擬機的系統架構如下圖所示:
節點 1 節點 2
-------- --------
+--------------------+ +--------------------+
| 用戶程序1 | | 用戶程序1 |
+-----------------------+ +-----------------------+
| 用戶程序N | | 用戶程序N |
+--------------------+ +--------------------+
+-----+ +-----+ +-----+ +-----+ +-----+ +-----+
| VM1 | | VM2 | . . . | VMn | | VM1 | | VM2 | . . . | VMn |
+--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+
| | | | | |
+--------------------------+ +--------------------------+
| | | |
| +-----+ U M S P | | U M S P |
| | JCP | | | |
| +-----+ | +-------------+------------+
+-------------+------------+ |
| +-----+-----+
+-----+-----+ | TCP |
| TCP | +-----+-----+
+-----+-----+ |
| |
+-----------------/ |
/------------------+
/
|
+-----+-----+
節點 N | TCP |
-------- +-----+-----+
|
+------------+------------+
| +-----+ |
| | JCP | U M S P |
| +-----+ |
+-------------------------+
圖1:基于虛擬機(VM)的系統結構
一個或多個虛擬機在UMSP的高層工作,虛擬機的層并不是網絡層,最后一層網絡層
是UMSP。因此虛擬機層并沒有自己的網絡成分,它與UMSP使用同一個操作碼字段。該
協議的最終服務用戶是用戶代碼,用戶代碼運行在虛擬機上。用戶代碼采用128位地址指令,
虛擬機把這些指令轉化成網絡命令,轉化通過在遠程機器上運行的UMSP協議完成。虛擬
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -