GE反射内存实时通讯网络解决方案
时通讯网络是用于需要较高实时性要求的应用领域的专用网络通讯技术,一般采用基于高速网络的共享存储器技术实现。它除了具有严格的传输确定性和可预测性外,还具有速度高、通信协议简单、宿主机负载轻、软硬件平台适应性强、可靠的传输纠错能力、支持中断信号的传输等特点。 本方案选用 GE FANUC 公司的反射内存卡构建实时反射内存网络。该实时网络除具有一般共享内存网络的优点外,还具有网络延迟小、技术成熟、可靠性高、集成简单、扩展方便等优势。 反射内存卡连接方式分为单向环形连接和星形连接两种,单向环形网络结构具有先天的“无冲突”、“全负载”、自然排序和严格确定传输延迟功能。这种网络结构下,所有的节点无论以何种方式,同时以的速率突发或持续传送数据,环形网络都可以借助物理结构自然的实现无冲突的排序和传播,不会对网络实时性能和传输性能构成任何不利影响。网络一旦构成,任意两点间的传输延迟都是严格确定的。不仅如此,数据发送方还能利用环形回路,实时可靠的计算传输延迟和接收确认,具有极高的容错性和可靠性。但是单向环形连接方法存在一个弊病,就是传输时所有的板卡必须加电才可以连通工作。解决此弊病的方法是采用星形连接,通过反射内存 HUB 来旁路损坏或者掉电的板卡,构成更稳定的网路结构。反射内存是一种强实时高带宽局域网技术,在互连的计算机间提供高效的数据传输。强实时网络应用领域已经越来越广泛的采用这种技术。 反射内存网络在所有互连的节点中虚拟出一段全局共享的网络内存,在分布系统中实现内存至内存的通信,因此应用程序没有软件开销。每台结点机上插一块反射内存卡,卡上带有双端口内存。每个节点机的各层应用软件可以直接读写反射内存卡上的内存。当数据被写入一台机器的反射内存卡的内存中后,反射内存卡自动通过光纤传输到所有其他连在网络上的反射内存卡的内存里相应的位置,传输延迟只有几百纳秒。即,所有反射内存卡上的内存总是同步更新为完全相同的内容,就像虚拟出一段全局共享内存一样。而各节点机在访问数据时,只要访问本地的反射内存卡内存即可,无需设备驱动程序和网络协议。反射内存网络具有以下主要特点高速度和高性能 由于反射内存网络可以大幅度的提高集群系统之间的通讯速度,因此特别适合替代传统的 LANs 、总线转发器和 DMA 不能满足需求的应用。 GE FUNAC 新推出的 5565 系列反射内存卡,其传输速度已达到 174M 字节 / 秒。使用光纤,不仅可以连接更多的节点(到 256 个节点),而且具有很高的抗冲击、抗干扰性能。反射内存卡是完全的物理通讯,不需要任何软件协议开销,这是其他局域网传输无法相比的。测试结果表明,从数据写入 RAM 到传到另一个结点的反射内存卡上,只有不到 400 纳秒的时延。使用方便 在使用全局共享内存时,由于对内存的访问是独占型的,所以存在仲裁问题。而反射内存通过向每个节点机提供一套相同的数据备份来避免这一问题,这使得各节点可以并发的访问相同的内容,不再需要考虑仲裁的问题,访问反射内存卡的内存与访问自身的内存没有差别。各节点间的数据一致性是由反射内存保证的,对应用软件是透明的。另外,反射内存卡的安装也十分简单,只需将反射内存卡插在机器主板的一个可用槽口上,再将各台计算机通过光纤网或扁平数据线连接在一起就可以了。不需要额外的驱动程序。独立于操作系统和处理机 反射内存卡初是在 VME 总线上使用的,现在已经可以在 PCI 、 PMC 、 Compact PCI 、等多种总线上使用了,这就可以将 ALPHA 、 Power PC 、 Macintosh 、奔腾等计算机通过反射内存实时网络连接在一起,组成一个集群系统,而不需考虑操作系统和处理机的问题。 这样做的为一问题是 不同计算机的字节排序可能会不同,不同的机器间通讯时,需要作字节排序的转换工作,在 GE FUNAC 的反射内存中,这一转换由反射内存板自动完成,不需要软件开销。确定的数据传输时间 当数据被写入本地的反射内存卡的内存中时,就被同时传输到其他相连的计算机上,没有软件延迟,硬件延迟固定且极小。 5565 系列反射内存卡在节点间传输数据时只需 400 纳秒。这种确定的时间延迟为设计实时应用提供了有效的保证。经济、高效 许多系统设计人员往往希望在较短的时间内,花费尽量少的开销实现一个集群系统,而大部分时间和开销有花费在系统互连的软件和硬件上。在这种情况下,反射内存卡是一种非常好的选择。首先,反射内存卡的数据传输速率是非常吸引人的,而且不需要象以太网样需要多层协议。其次,反射内存卡使用简单,不需要开发额外的通讯软件,这有利于提高系统的可靠性,另外,也节省了软件的开发费用。
GE反射内存实时通讯网络解决方案的更多相关文章
- B/S(Web)实时通讯解决方案
B/S的实时通讯实现起来比较麻烦,因为http协议是无状态的,导致一些实时消息通知和聊天等功能比较难以实现,本文主要简述几种自己之前常用的几种方式. 1.传统的HTTP协议是无状态的 传统的HTTP协 ...
- [渣译文] SignalR 2.0 系列:SignalR的高频实时通讯
原文:[渣译文] SignalR 2.0 系列:SignalR的高频实时通讯 英文渣水平,大伙凑合着看吧…… 这是微软官方SignalR 2.0教程Getting Started with ASP.N ...
- C/C++ 用libcurl库进行http通讯网络编程
C/C++ 用libcurl库进行http通讯网络编程 目录索引: 一.LibCurl基本编程框架 二.一些基本的函数 三.curl_easy_setopt函数部分选项介绍 四.curl_easy_p ...
- [转]linux下iftop工具的安装与使用详解(图文)——实时的网络流量,监控TCP/IP连接(单机)
原文链接:http://www.jbxue.com/LINUXjishu/10735.html 在linux中监控系统资源.进程.内存占用等信息,可以使用top命令.查看网络状态可以使用netstat ...
- (二): 基于ZeroMQ的实时通讯平台
基于ZeroMQ的实时通讯平台 上篇:C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)----(一):整体介绍 通讯平台作为 ...
- 实时通讯系列目录篇之SignalR详解
一. 简单说几句 最早使用SignalR的时候大约是两年前了,记得当时是一个OA中消息的实时提醒,轮询的方式有点耗资源,WebSocket写起来又比较麻烦,最终选择了SignalR,当时是什么版本已经 ...
- WebSocke实时通讯协议
WebSocket 是什么? WebSocket 是一种网络通信协议.RFC6455 定义了它的通信标准. WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议 ...
- 前端实现实时通讯-----ajax长连接
因为web运行模式为请求-响应,服务端无法主动发起通讯,所以通讯实时性存在各种问题,ajax轮询可以模拟及时通讯,但连接太频繁将给服务端带来很大压力,不频繁则实时性很差. 下面介绍在web上真正实现实 ...
- C++ 用libcurl库进行http通讯网络编程 【转】
http://www.cnblogs.com/moodlxs/archive/2012/10/15/2724318.html C++ 用libcurl库进行http通讯网络编程 目录索引: 一.Lib ...
- 实时通讯之Socket.io
WebSocket WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术.使用WebSocket,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成 ...
随机推荐
- 解决VUE中document.documentElement.scrollTop为0(转)
原文地址:https://blog.csdn.net/WDCCSDN/article/details/82107374 Vue中document.documentElement.scrollTop的值 ...
- IP与bigint互转
IP转为bigint create function [dbo].[iptobigint](@ipinfo varchar(16)) returns bigint as begin declare @ ...
- 微信小程序中注册页面设计
.wxml <text>姓名</text> <input placeholder="请输入姓名" bindinput="getname&qu ...
- 在win10上装vmware虚拟机+ubuntu一打开就蓝屏重启怎么办?
一般就是虚拟机和系统一些性能不兼容导致的 因为我原来装的版本是15.0的vmware,现在重新装了16的vmware
- 实验十 团队作业7:团队项目用户验收&Beta冲刺
项目 内容 课程班级博客链接 2018级卓越班 这个作业要求链接 实验十 团队名称 零基础619 团队成员分工描述 任务1:亚楠,桂婷任务2:团队合作任务3:团队合作任务4:荣娟,鑫 团队的课程学习目 ...
- 【LeetCode回溯算法#06】复原IP地址详解(练习如何处理边界条件,判断IP合法性)
复原IP地址 力扣题目链接(opens new window) 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255 ...
- 一次.net code中的placeholder导致的高cpu诊断
背景 最近一位朋友找到我,让我帮看他们的一个aspnet core service无端cpu高的问题.从描述上看,这个service之前没有出现过cpu高的情况,最近也没有改过实际的什么code.很奇 ...
- MyBatisPlus映射匹配兼容性
字段映射与表名映射 1.当数据库表名tbl_user与实体类名User不一致时:在实体类上添加 :@TableName("tbl_user") package com.itheim ...
- Redis与Kafka的区别
第一: Kafka与Redis PUB/SUB之间较大的区别在于Kafka是一个完整的系统,而Redis PUB/SUB只是一个套件(utility)--没有冒犯Redis的意思,毕竟它的主要功能并不 ...
- ECC(SM2) 简介及 C# 和 js 实现【加密知多少系列】
〇.简介 椭圆曲线密码学(Elliptic curve cryptography:ECC),一种建立公开密钥加密的演算法,基于椭圆曲线数学.利用有限域上椭圆曲线的点构成的 Abel 群离散对数难解性, ...