Windows 操作系统中,“共享内存计算” 不能直接实现,因为内存资源是每个系统独立管理的物理资源。不过可以通过以下三种高级方案实现类似“共享内存“的分布式计算效果

Windows平台分布式架构 负载均衡 高并发 阅读详情

方案一:使用 分布式内存计算框架

(推荐)Apache Ignite / Hazelcast
数据分片
数据分片
计算机A
分布式内存网格
计算机B
并行计算
  1. 原理:

    • 在每台计算机上部署内存节点
    • 所有节点通过TCP/IP组成内存网格
    • 应用程序通过API透明访问全局内存
  2. 部署步骤:

    # 在两台电脑上均执行:
    # 1. 下载Apache Ignite
    Invoke-WebRequest https://archive.apache.org/dist/ignite/2.14.0/apache-ignite-2.14.0-bin.zip -OutFile ignite.zip
    Expand-Archive ignite.zip
    
    # 2. 启动节点(计算机A)
    .\apache-ignite-2.14.0-bin\bin\ignite.bat
    
    # 3. 启动节点(计算机B)指定A为种子节点
    .\apache-ignite-2.14.0-bin\bin\ignite.bat -J-DIGNITE_DISCOVERY_ADDRESSES=192.168.1.100:47500
    
  3. 代码示例(C#):

    var cfg = new IgniteConfiguration();
    using var ignite = Ignition.Start(cfg);
    
    // 创建分布式缓存
    var cache = ignite.GetOrCreateCache<int, double>("sharedCache");
    
    // 计算机A写入
    cache.Put(1, 123.45);  
    
    // 计算机B读取
    double value = cache.Get(1);  // => 123.45
    

方案二:使用 内存映射文件 + 网络共享

(适合小型数据集)
SMB共享
内存映射
计算机A
共享文件夹
计算机B
  1. 设置步骤:

    • 在计算机A创建共享文件夹(参考上一教程)
    • 在计算机B映射网络驱动器
    • 在两台电脑创建内存映射文件指向同一网络文件
  2. C++ 实现核心代码:

    // 计算机A (写入端)
    HANDLE hFile = CreateFile(L"\\\\PC-A\\Share\\data.bin", ...);
    HANDLE hMap = CreateFileMapping(hFile, ..., PAGE_READWRITE, 0, 1024, NULL);
    double* pData = (double*)MapViewOfFile(hMap, FILE_MAP_WRITE, ...);
    pData[0] = 3.14159;  // 写入共享数据
    
    // 计算机B (读取端)
    double* pShared = (double*)MapViewOfFile(...); // 映射同一文件
    printf("%f", pShared[0]); // 读取A写入的数据
    
  3. 限制:

    • 需要手动同步写入
    • 网络延迟影响性能
    • 文件锁可能冲突

方案三:使用 RDMA (远程直接内存访问)

(高性能/需要特殊硬件)
RoCE/RDMA网卡
零拷贝访问
计算机A
交换机
计算机B
  1. 硬件要求:

    • Mellanox/Chelsio RDMA网卡(支持RoCE v2)
    • 支持RDMA的交换机
  2. Windows配置:

    # 安装RDMA驱动
    Install-WindowsFeature Data-Center-Bridging, FS-SMBBW
    
    # 启用SMB Direct
    Set-SmbServerConfiguration -EnableSMBdirect $true
    
  3. 性能特点:

    • 延迟低于5μs
    • 带宽可达100Gbps
    • CPU占用接近0%

方案对比表

方案适用场景延迟复杂度硬件要求
分布式内存网格大规模并行计算1-10ms★★★☆☆标准以太网
内存映射文件+SMB小数据交换100-500μs★★☆☆☆任何网络
RDMAHPC高性能计算<5μs★★★★☆专用网卡/交换

实际选择建议:

  • 开发便捷性 ➜ Apache Ignite/Hazelcast
  • 低成本测试 ➜ 内存映射文件+SMB
  • 超高性能需求 ➜ RDMA+InfiniBand

特殊场景解决方案

GPU内存共享(如NVIDIA GPU Direct)
# 启用GPUDirect RDMA
nvidia-smi -e 1  # 开启PCIe访问标志

需要:

  • 支持GPUDirect的Tesla/Quadro显卡
  • Windows Server 2019+数据中心版
  • Mellanox ConnectX系列网卡

通过上述方案,虽然无法真正"共享物理内存",但可在分布式系统层面实现内存数据的共享访问和协同计算。

用于去除心电图(ECG)高频干扰的IIR滤波器实现(基于C#) 采用C#实现的ECG低通滤波器,可有效去除高频噪声。ECG信号采样频率为250Hz ,滤波器系数是采用matlab中的fdatool设计得到。滤波器系数可按照自己设计的结果修改。 立即下载

相关推荐

c语言利用RDMA技术实现客户端和服务器端互相读取对方内存

c语言利用RDMA技术实现客户端和服务器端互相读取对方内存。包含server.c和client.c ,gcc编译方法和使用方法

windows的PC如何进行分布式AI计算

需要注意的是,在部署 Spark 集群时,需要确保各台 Windows PC 之间的网络连接正常,并且防火墙等安全设置不会阻止 Spark 集群的通信。总之,要在多台 Windows 系统的 PC 机上进行分布式 AI 计算,需要选择合适的分布式计算框架,并进行相关的配置和编程工作。可以从官网下载 Java 的最新版本,并按照安装向导进行安装。运行 PySpark 脚本:可以在任意一台 PC 上运行 PySpark 脚本,Spark 会自动将任务分发到集群中的不同节点上进行计算,并将结果返回给主节点。

zhangzhechun的专栏 1580

Windows环境下的分布式并行计算平台搭建

主要讲述如何在Windows平台下进行matlab并行运算

Windows系统搭建Storm 分布式实时计算开发环境

1.准备工作 1.1 下载Storm apache-storm-2.0.0下载 1.2 下载安装 zookeeper 步骤详看本人博客 Window系统下搭建Zookeeper和Kafka环境 1.3 下载python 2. 安装Storm环境 2.1 下载解压Storm,默认配置即可,如有需要可修改D:\storm-2.0.0\conf 目录的storm.yaml文件 2.2 启动...

汉南最後の読書人 1360

局域网内不同主机间实时通信

局域网内不同主机间实时通信,类似聊天工具,需要Visual C++环境

Python + NX二次开发,如何配置Python的第三方库(包)?

地球人都知道python有强大的第三方库,可以各类骚操作,包括但不限于人工智能模块。在使用Python进行NX二次开发时,如果能够用得上这些第三方包,那将大大提高效率。本文详述了如何配置,实践证明:可行!

温良 1267

Windows下实现Hadoop MapReduce分布式计算框架

Windows下实现Hadoop MapReduce分布式计算框架详细教程。

qq_37755540的博客 996

关于光耦隔离与SP3485E芯片一起使用无法拉高485使能引脚问题

最近在做的一个项目,定制了一块STM32F407ZG的工控板,工控板载4个485接口全部都是只能接收数据,不能对外发送数据。1.接线不正确:接线不正确导致485收发出现问题。 2.程序端口初始化问题:控制光耦隔离的输入脚IO的初始化和置位状态有问题。 3.GPIO复用问题:控制对应串口的GPIO不是正点原子默认的GPIO,而是经过复用的其他IO,复用问题。 4.程序设置与485E芯片收发模式不对应:对于使能引脚的电平要根据光耦的输出情况确定输入IO与RE的关系,可能模式没有对应。 5.光耦隔离或者SP485

weixin_45862642的博客 2978

大数据学习环境配置——windows和macOS下的python+mysql+hadoop+spark配置

随着大数据的热度与市场需求不断提升,学习大数据的小伙伴越来越多,然而,大家的个人电脑平时可能都用做了打游戏,看剧,逛论坛,没有配置过一套适合于学习大数据的环境,于是乎感叹万事开头难,今天,就带大家打开大数据世界的大门,带领大家在自己的电脑下配置Hadoop+Spark+Mysql,当然,还有Python3+Jupyter Notebook的开发环境。

夏洛克江户川 2369

ESP32-P4实战:LVGL V9.4 PPA加速配置与性能对比

本文详细介绍了如何在ESP32-P4平台上配置LVGL V9.4的PPA硬件加速功能,通过启用PPA加速显著提升图形处理性能并降低CPU占用率。文章包含环境准备、配置步骤、性能对比及常见问题解决方案,帮助开发者高效利用ESP32-P4的PPA加速器优化嵌入式GUI应用。

rice5的博客 1190

【CASS精品教程】032:CASS11台阶画法案例大全

一、普通无边台阶 二、普通有边台阶 三、普通圆弧无边台阶 四、U型台阶 五、曲线U型台阶 六、L型台阶

智慧空间实验室 7466

微软HPC解决方案

首先我们先来看下高性能群集与其它几种群集的不同   高可用群集:群集所有节点,来维持一个应用的持续运作,如果当前应用所在节点失败,自动故障转移至其它节点 负载均衡群集:群集所有节点来平衡一个应用的访问请求,利用每个节点的响应,以提高应用效能,同时支持故障转移 分布式群集:群集所有节点来共同完成一件事,一件事可以被分散成若干小事由不同节点处理,最终汇总结果 高性能群集:群集所有节点来共同完...

amu628的博客 9574

Archery通过OpenResty代理转发后登录一直提示Forbidden

测试几遍,连账号密码都没用验证,因为不管输什么都是提示Forbidden。找到配置文件settings.py,下面命令可到配置文件路径。回到页面刷新,随便输入个账号密码,验证失败证明请求成功了。查看Preview,提示CSRF验证失败,请求被中断。域名:dba.hkeasyspeed.com。打开开发者工具查看,网络里面可以看到报403。添加一条配置,把你配置域名添加进去。可以看到页面可以正常访问到。进入Archery容器。重启Archery容器。正常输入账号密码,OK。

万物皆可学 3147

【系统架构设计师】综合知识篇

本文是软考系统架构设计师备考笔记,系统梳理了考试核心知识点,重点涵盖中间件技术、缓存问题和解决方案。主要内容包括: 中间件概述:定义位于OS与应用间的软件层,分类包括数据库访问、RPC、消息队列等,分析7大技术优点。 消息中间件:对比RabbitMQ/Kafka/RocketMQ特性,详解点对点和发布订阅模型,列举异步解耦、流量削峰等典型场景。 Redis缓存:介绍单线程模型、5种数据结构,重点分析RDB/AOF持久化机制和集群高可用方案。 缓存三大问题:通过流程图解析雪崩(随机过期时间/熔断降级)、穿透(

你的博客 881

Linux----Ubuntu系统官网下载iso镜像文件

Linux----Ubuntu系统官网下载iso镜像文件

MQ0522的博客 5万+

最新Python爬虫实战(入门爬虫篇)——案例15:微博热搜数据采集(详细爬虫思路截图+抓包动图演示+完整爬虫代码+详细注释)

本次案例通过 Python 爬虫技术,成功实现了对微博热搜 API 接口数据的批量爬取与 Excel 保存。代码采用模块化设计,包含接口请求、JSON 解析、数据提取、Excel 持久化等完整流程;通过模拟真实浏览器的请求头和 cookies,有效规避基础反爬策略,保证请求的稳定性。整个爬虫逻辑遵循“API请求 → JSON解析 → 数据提取 → 保存到Excel”的标准流程,与异步加载类网站的爬取范式高度一致。AJAX 接口抓包与分析。

努力让自己发光,对的人才能迎着光而来 7万+

goalng开发_开发篇

Go 面试,基础知识

qq_46640341的博客 1159

字节系,ali系,ks,pdd最新抓包方案

各大厂安卓逆向

qq_38759383的博客 1145

RDMA-远程直接数据存取

RDMA(Remote Direct Memory Access)技术全称,就是为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理功能。它消除了外部存储器复制和上下文切换的开销,因而能解放内存带宽和CPU周期用于改进应用系统性能。

顺其自然~专栏 528

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

RDMA编程1 建立侦听

RDMA编程 server端开发 Server端如何进行侦听和建立连接

winux的专栏 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

高颜军云计算

牛马大学生

weixin_59957436的博客 4359

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【亲测免费】 RDMA 示例项目介绍

RDMA 示例项目介绍 该项目是一个基于 RDMA (Remote Direct Memory Access) 技术的简单客户端-服务器示例。项目的主要编程语言是 C,同时使用了 CMake 作为构建系统。 项目基础介绍 RDMA 示例项目提供了一个基础的框架,用于展示如何使用 RDMA 技术在客户端和服务器之间进行高效的数据传输。项目包含一个服务器和一个客户端,两者通过 RDMA 连接进行通信。...

gitblog_00602的博客 482

【亲测免费】 探索高效数据传输之道:Windows平台下的XDMA驱动程序

探索高效数据传输之道:Windows平台下的XDMA驱动程序 【下载地址】XDMA驱动程序Windows版本 本资源仓库提供了专为x64架构计算机设计的XDMA驱动程序,适用于Windows 7及Windows 10操作系统。XDMA驱动旨在实现高效的数据传输,特别是在需要高性能I/O操作的应用场景中,如硬件加速、数据通...

gitblog_09803的博客 1255

分布式系统理论

分布式系统理论,Dubbo+ZooKeeper+SpringBoot示例

qq_63754844的博客 274

一文读懂RDMA: Remote Direct Memory Access(远程直接内存访问)

RDMA作为一种高效的网络通信技术,可以大大提高网络通信的性能和效率。通过硬件直接访问远程内存,RDMA避免了传统网络通信中的多次数据拷贝和上下文切换的开销,特别适用于高性能计算、大数据处理、分布式存储等场景。掌握RDMA的编程接口和编程技术,可以为构建高效的网络应用提供有力的支持。

异构算力老群群(在读985计算机博士生)的技术博客 4725

RDMA编程实践-SEND-RECEICVE原语应用

本文实现了rdma中send-receive双边原语的三种需求版本,从单次发送到两者都能多次发送。理解其中的代码逻辑,想要发送消息之前对端得创建一个recv队列用来接收消息。发送完了有一个发送完成队列,接收完了也有一个接收完成队列。最后双方断开连接需要一起断开,不能某一方执行disconnect另一方不执行。这一行代码是等待发送成功,发送成功之后,对方会给一个隐式信息表示我已经收到。

qq_45768588的博客 1683
上一篇: 局域网共享文件(Windows 之间)
下一篇: 两台Windows电脑共享GPU计算指南
知1而N
博客等级 码龄9年 1423粉丝 449原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值