——对小车最佳路径计算算法的ray部署和测试

报告介绍了在ROS-RT-thread系统中,使用Ray进行小车最佳路径计算算法的部署和测试。重点分析了响应时间、吞吐量和内存占用,并进行了单机部署的性能测试。通过优化Ray框架的函数调用结构,提升了约14%的性能。此外,探讨了基于Docker的分布式部署流程。
摘要由CSDN通过智能技术生成

lab4 报告

——对小车最佳路径计算算法的ray部署和测试

分析:

我们组的选题是ros-RT-thread系统,实现PC端ros负责复杂计算,stm32端ros负责控制电机等实时性任务,而PC端的复杂计算就可以用到本次实验中ray部署的分布式并行计算。

所以,我们把我们组最重要也是计算复杂性最高的小车最佳路径算法的程序进行了基于ray的部署和测试。

可以参考的指标:

1.响应时间(Rresponse Time)

响应时间就是从数据传入到结果输出之间的时间,这对于一个需要控制实时系统工作的程序是至关重要的,如果不能成功降低响应时间,这个系统的工作性能无疑是非常差的。

2.吞吐量(Throughput)

对于软件系统来说,“吞”进去的是请求,“吐”出来的是结果,而吞吐量反映的就是软件系统的“饭量”,也就是系统的处理能力,具体说来,就是指软件系统在每单位时间内能处理多少个事务/请求/单位数据等。当面对多个节点的控制时,吞吐量也十分重要。

3.资源使用率(Resource utilization)

常见的资源有:CPU占用率、内存使用率、磁盘I/O、网络I/O。

4.并发数 (Concurrency Level )

并发数体现了主节点能够处理的分支节点数,这对于ros-RT-thread的可扩展性非常重要。

5.错误率( Error Rate )

体现了程序出现错误的几率,这体现我们的实时系统的可靠性。

我们将选择响应时间、资源使用率和吞吐量进行测试。

ray单机部署

我们首先把程序通过ray部署到了单机上

import itertools
import ray


ray.init()

@ray.remote
def distance(x1, y1, x2, y2):
    ans = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)
    return ans


@ray.remote
def shortest_way(Location, n): #求局域最优解
    dis = [[0.0] * 1005] * 1005
    #找到所给坐标点的最短访问序列,并返回调整过的坐标序列
    min_dis = 10000000000000
    for i in range(0, n):
        for j in range(0, n):
            dis[i][j] = (Location[2 * i] - Location[2 * j]) * (Location[2 * i] - Location[2 * j]) + (Location[2 * i + 1] - Location[2 * j + 1]) * (Location[2 * i + 1] - Location[2 * j + 1])
 	..
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值