基于Parsec+zerotier+moon实现平板超低延迟控制电脑

一、

所需设备

pc、pad、linux云服务器

流程

下载注册parsec-注册安装zerotier实现内网穿透-建立moon服务器

二、

1、Parsec

Parsec 是一款低延迟的远程桌面和游戏串流工具,适合多人协作或远程游戏。

官网注册账号,下载parsec安装到windows、pad,在电脑和平板上登录同一账号

 Download Parsec | Parsec

2、zerotier

ZeroTier 是一款强大的 P2P 虚拟组网工具,可以轻松创建安全的私有网络(类似 VPN),适用于远程办公、游戏联机、服务器管理、IoT 设备互联等场景。

注册账号并创建网络

下载windows端

Download - ZeroTier

选择Join new network

输入zerotier网页中的网络id加入网络组

pad使用kaaass开发的zerotierfix,提供了更加方便的接入moon服务器的功能

Releases · kaaass/ZerotierFix · GitHub

输入相同的网络id,点击添加网络即可

在zerotier网页手动授权刚才接入的两台设备

3、moon服务器

  1. 云服务器安装zerotier
curl -s https://install.zerotier.com/ | sudo bash

加入到同一个网络
zerotier-cli join <Network ID>

2前往安装目录(Linux下)
cd  /var/lib/zerotier-one
  1. 执行,生成moon.json文件
zerotier-idtool initmoon identity.public > moon.json
  1. 修改moon.json文件
vi moon.json

字段中修改:“stableEndpoints”: [“服务器的ip/9993”]
  1. 生成签名文件,这一步之后会生成一个000000xxxxxxxxx.moon的文件,同时把这个文件下载到本地,之后要用
zerotier-idtool genmoon moon.json
  1. 将这个文件移动至moons.d文件夹,注意把文件名替换成你自己的
mkdir moons.d
mv 000000xxxxxxxxx.moon moons.d
service zerotier-one restart  # 之后重启服务器端B的Zerotier

zerotier-cli listmoons

正确显示ip端口,且格式正确,则配置正常

服务器官网,打开安全组,在出入方向都要开放9993端口,采用UDP协议

zerotier客户端加入moon服务器

windows

zerotier安装路径在c盘program data文件夹下

one目录下创建moons.d文件夹,将服务器下载下来的文件00000xxxx.moon拷贝进去。

重启windows服务

搜索服务
在服务中找到Zerotier One 右键重新启动

  1. 检测是否配置成功,等等几分钟执行。
zerotier-cli listpeers

后面会有一个MOON标志,中间是你的服务器IP端口,如果是-1就是有问题

 

pad

点击右上角入轨-导入moon节点-选择入轨导入

moon地址是服务器下载的moon文件名,不包括扩展名.moon

000000xxxxxxxxx.moon

 添加后,进入软件主页右上角节点列表

 

正常显示moon版本,延迟,ip端口说明成功连接

最后,尝试parsec连接,成功后可以使用平板愉快的控制电脑了

参考:

Parsec + zerotier + moon 配置内网穿透+远程操作(延迟在20ms左右,真正实现远程游戏无延迟)_经验分享_Arven_X-GitCode 开源社区

【Parsec + ZeroTier】校园网内免费远程桌面(支持游戏)_zerotier parsec-CSDN博客

 

 

 

 

 

 

 

### 配置和运行 gem5 模拟器中的 ARM 架构与 PARSEC-3.0 gem5 是一种功能强大的全系统计算机体系结构仿真平台,支持多种架构的模拟,其中包括 ARM 构架。PARSEC (Princeton Application Repository for Shared-Memory Computers) 3.0 提供了一系列多线程应用程序作为基准测试工具集。 #### 安装和配置 gem5 支持 ARM 架构 为了使 gem5 能够成功模拟 ARM 构架下的工作负载,需完成以下设置: 1. **下载并编译 gem5** 下载最新版本的 gem5 并按照官方文档说明进行构建。对于 ARM 架构的支持,推荐使用 `--with-arm-isas` 参数来启用特定于 ARM 的指令集支持[^1]。 ```bash scons build/ARM/gem5.opt -j$(nproc) ``` 2. **准备操作系统镜像文件** 使用适合 ARM 处理器的操作系统盘符(如 Linux 发行版)。可以采用预定义好的 Disk Image 或者自行制作满足需求的虚拟磁盘环境[^2]。 3. **创建启动脚本** 编写用于初始化系统的 Python 启动脚本来加载 OS 和应用软件包。下面是一个简单的例子展示如何指定 CPU 类型、内存大小以及硬盘映射关系等参数[^3]: ```python import m5 from m5.objects import * system = System() system.clk_domain = SrcClockDomain() system.clk_domain.clock = '1GHz' system.clk_domain.voltage_domain = VoltageDomain() # Processor setup system.cpu = ArmO3CPU(cpu_id=0) # Memory bus and memory controller configuration system.membus = SystemXBar() system.mem_ctrl = DDR3_1600_x64(size='2GB') system.mem_ctrl.port = system.membus.master # Cache hierarchy definition omitted here... process = Process() process.cmd = ['<path_to_parsec_binary>'] system.cpu.workload = process system.cpu.createThreads() root = Root(full_system=True, system=system) m5.instantiate() exit_event = m5.simulate() print('Exiting @ tick {} because {}'.format(m5.curTick(), exit_event.getCause())) ``` #### 整合 PARSEC-3.0 到 gem5 中 要让 PARSEC 应用程序能够在 gem5 上执行,则需要遵循这些步骤: 1. **安装 PARSEC 工具链** 参考 PARSEC 文档获取其源码,并针对目标硬件平台交叉编译所有组件。确保最终生成可移植至仿真的二进制格式的应用实例[^4]。 2. **调整输入数据路径** 如果某些解析依赖外部资源或者大型数据库,请确认它们被正确打包进入初始状态快照之中以便访问[^5]。 通过上述方法即可实现基于 gem5 对 ARM 设备上运行 PARSEC 基准测试的工作流建模分析目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值