硬件分配

以前做的是把一个软件分配到硬件,只需要让用背包问题最大化硬件的使用,但是没有让所有资源最大化。

对于下面的软件,假设 A 的性价比是最高,那么使用的算法就会优化A。

假设 A 不使用硬件优化时需要运行时间是 12

如果使用硬件优化,需要硬件面积是5,优化后运行时间是3

B 不使用硬件优化时需要运行时间是 5

如果使用硬件优化,需要硬件面积是2.5,优化后运行时间是3

C 不使用硬件优化时需要运行时间是 5

如果使用硬件优化,需要硬件面积是2.5,优化后运行时间是3

D 不使用硬件优化时需要运行时间是 6

如果使用硬件优化,需要硬件面积是5,优化后运行时间是2

硬件总面积是4 。

优化A会占有所有的硬件,也就是BCD无法使用硬件。

如果A使用硬件,那么不仅占用宝贵的硬件面积,而且软件部分没有被使用,而如果能同时使用软件资源和硬件资源,这样是最好的。当然,在A的性价比高到一定程度,使用A硬件也是很好。

如果优化A,使用时间是 A=3,B=5,C=5,D=6 ,需要时间是19。

如果最大化使用,是优化 B C,在运行 A=12 之后,进入运行B,这时软件运行是空闲,可以同时运行D,在运行B之后,已经软件运行D时间是3,D剩下运行时间3,而C开始硬件运行,需要时间是3。可以看到BC和D同时运行。

运行时间是 A=12 ,B=3,C=3,D=6,刚好BC和D同时运行,所以计算需要计算D运行的时间就好,得到12+6=18

需要时间比上面的好,下面的算法可以较好优化。

算法需要计算是否存在分支,如果存在分支,那么可以进行软件和硬件同时运行,在优化时优先考虑优化这部分。

分配还有一个问题,以前研究是把全部软件都放在处理器。但是对于软件不是同时运行,是运行了A再运行B,于是可以先把A放进处理器,之后再把B放进去。


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • win10 uwp 禁止编译器优化代码

    有时候写了一些代码,但是在优化代码的时候出错,但是如果不优化代码,性能很差。如何让编译器不优化一段代码?

    林德熙
  • docfx 做一个和微软一样的文档平台 下载安装创建文档文件生成文档查看文档添加文档添加代码文档做自己的修改忽略不使用的api继续在微软上开发

    开发中,有一句话叫 最不喜欢的是写文档,最不喜欢的是看别人家代码没有文档。那么世界上文档写最 la 好 ji 的就是微软了,那么微软的api文档是如何做的?难道...

    林德熙
  • win10 uwp 禁止编译器优化代码

    有时候写了一些代码,但是在优化代码的时候出错,但是如果不优化代码,性能很差。如何让编译器不优化一段代码?

    林德熙
  • 陈天奇等人提出TVM:深度学习自动优化代码生成器

    机器之心
  • 分享几道适合用来面试的 LeetCode 算法题

    Hi,大家好,这几天公司忙着年会,整个大部门去西安出差了几天,今天刚刚回来,所以我这几天没有怎么搭理公号。

    崔庆才
  • mongodb11天之屠龙宝刀(八)聚合函数与管道:sql与mongodb聚合函数对比

    mongodb11天之屠龙宝刀(八)聚合函数与管道:sql与mongodb聚合函数对比 原文连接:直通车

    学到老
  • mongodb11天之屠龙宝刀(八)聚合函数与管道:sql与mongodb聚合函数对比

    mongodb11天之屠龙宝刀(八)聚合函数与管道:sql与mongodb聚合函数对比 MongoDB 聚合 MongoDB中聚合(aggregate)主要...

    学到老
  • [嵌入式开发]·2016大学生智能汽车竞赛平衡组总结

    版权声明:版权所有--小宋是呢-- yansongsong.cn --...

    小宋是呢
  • 为什么说KVM是手游理想的虚拟化平台

    4) 方案生命周期长,从整体角度,综合多个游戏项目,长远来看,能节省大量重复性硬件投入成本;

    力哥聊运维与云计算
  • 继苹果之后,谷歌也要全面甩掉高通自己造芯

    最近,他们在印度的班加罗尔搭建了一个名为“gChips”的芯片团队,目标是消费类SoC,并且短时间内就拉来了十几位英特尔、英伟达、高通的技术大咖。

    镁客网

扫码关注云+社区

领取腾讯云代金券