建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

张辉

发帖: 80粉丝: 30

级别 : 金牌会员

发消息 + 关注

更新于2020年11月12日 09:19:54 462 12
直达本楼层的链接
楼主
显示全部楼层
[干货分享] 【鲲鹏开发套件体验笔记】体验感受

【鲲鹏开发套件体验笔记】张小白带你体验鲲鹏开发套件——C/C++源码迁移 

https://bbs.huaweicloud.com/forum/thread-87062-1-1.html 

【鲲鹏开发套件体验笔记】张小白带你体验鲲鹏开发套件——软件包重构

https://bbs.huaweicloud.com/forum/thread-87066-1-1.html 

【鲲鹏开发套件体验笔记】张小白带你体验鲲鹏开发套件——系统全景性能分析 

https://bbs.huaweicloud.com/forum/thread-87077-1-1.html 

【鲲鹏开发套件体验笔记】张小白带你体验鲲鹏开发套件——C/C++性能分析

https://bbs.huaweicloud.com/forum/thread-87080-1-1.html 

【鲲鹏开发套件体验笔记】张小白带你体验鲲鹏开发套件——Java性能分析

https://bbs.huaweicloud.com/forum/thread-87081-1-1.html 


在做了以上体验之后,谈一下对这块开发套件的体验感受。

追本溯源,鲲鹏开发体验套件的目的是让使用X86开发的开发者能把软件包更好的迁移到鲲鹏服务器上来。所以鲲鹏大大们才推出了这么一套代码移植和性能优化工具,这点思路是非常清晰的。

从任何一个Java或者C++语言的应用(工程)来看,任何应用系统都有这些公共的内容——操作系统,中间件,数据库,开源软件,商业软件,自研软件,应用配置等等。

这里面就会产生一个比较尴尬的内容:

假如一套由张小白开发的系统,使用了诸如RabbitMQ,Redis等开源软件。那么,张小白作为用户,需要知道的是:这些开源软件是否有ARM版本,也就是鲲鹏适合的版本。从这点来看,开发套件并没有特别提示的地方。所以,张小白的第一个建议,就是 鲲鹏开发套件能提供 鲲鹏服务器能够支持的 所有开源软件清单。并提出这些软件能支持的部分,以及可能存在迁移后不能支持的部分,甚至是根本无法移植到鲲鹏服务器的部分。

另外,如果张小白使用了一些商业软件(中间件或数据库),如IBM Websphere,Oracle,这些软件肯定不是鲲鹏能支持的。那么,张小白也需要知道,这些软件有没有替代品,如Websphere可以移植到tomcat,Oracle需要迁移到MySQL或者RDS。那么,这些迁移的方法又是什么?可行性有多大。鲲鹏开发套件能否在这方面做个提示。列出一个清单,标明商业软件迁移到鲲鹏支持的软件的清单,以及建议的移植方式。

第三,张小白的系统开发中可能使用了C,Python,Java,Go等各种语言,这些语言,除了C和Java,鲲鹏提供了开发套件之外,对于其他语言,迁移的建议又是什么?这些代码还能在鲲鹏服务器上很好的运行吗?这些是不是鲲鹏大大们也能好好考虑下。

那么,我们再回到C++和Java两个典型的代码迁移(代码适应系统)和代码优化(性能提升)的目的上来。除了将代码平移再优化,是否有其他的方式?因为如果是遗留系统,很多代码可能都不是基于微服务架构设计,也许是非常陈旧的代码和架构模式。在速度上和代码质量上未必能很高。在这种条件下,也许重构比移植的效果要更好。但是,到底是移植,还是重构呢?在性能优化这一块,鲲鹏开发套件能否提出一些指标,而这些指标不仅让开发者在ARM服务器上做测试,而且允许在X86服务器上做测试。(毕竟华为云也有很多X86的服务器)所以,张小白希望,在这一方面,鲲鹏开发套件也不用光想着如何将代码往里搬,也想想如何通过X86 ECS和鲲鹏ARM ECS的性能对比,更能体验出ARM服务器的优势。其实主要的目标,张小白想了一下,可以有以下几个方面:

  1. ARM服务器在性能上已经可以达到不输于X86服务器的水平

  2. 在ARM优化的基础上,某些特殊场景的系统,如类安卓的应用,其性能应该比X86还要高,因为它不需要模拟器应该就可以直接运行了。

  3. 鲲鹏服务器硬件和软件都代码自主可控,达到安全性的要求。

这样就能让用户更加理解鲲鹏迁移的重要意义。

最后,我们再说一下具体的代码迁移和代码优化两方面,个人感觉目前提供的鲲鹏开发套件,虽然在工具层面已经能符合迁移或优化的要求,但是在整体分类上,略显混乱。比如为啥C++的代码优化就在系统性能优化菜单里面,而Java性能优化工具就单列出一个功能菜单。从道理上来说,大家都是基于代码的性能分析,应该属于同级才对,如果是张小白设计,就会将其放入 代码优化的菜单,下面还会放Go代码优化,Python代码优化,Ruby代码优化等各个子功能。

另外,源码迁移菜单,也是一样,里面包含了C++代码迁移和Fortran代码迁移。张小白可以理解,Fortran代码迁移,可能是在高校进行科学计算用的Fortran系统做的迁移。但是,这是不是同样也是 基于语言的代码迁移吗?

从上面两端可以看出,其实代码迁移和优化是可以结合在一起的。两个功能都是对代码的修改。一个是为了让这个代码在ARM系统中可以跑起来,另一个是为了让这段代码在ARM系统中跑得更快。那么,比如在分析完用户的代码能否移植,提出改善建议后,接着对代码能否优化,提出性能优化建议,其实是完全可以放在一套功能中,这样感觉起来会更清晰。而且,这些都可以以语言来区分,比如C++的代码迁移和优化,Java的代码迁移和优化,Fortran的代码迁移和优化等等。鲲鹏大大看看,如果这样子,是不是感觉思路更清晰了呢?

好了,不多说了。张小白感觉自己也有点吹毛求疵的味道。其实现在鲲鹏开发套件也已经做得很好了。只是张小白希望,为了让开发者更了解更喜欢鲲鹏,进一步优化开发套件,开发者会看到鲲鹏大大们的诚意,也一定会多多支持华为,支持鲲鹏的。

(建议完,谢谢阅读)




举报
分享

分享文章到朋友圈

分享文章到微博

以德湖人

发帖: 0粉丝: 0

级别 : 新手上路

发消息 + 关注

发表于2020年11月12日 10:37:22
直达本楼层的链接
沙发
显示全部楼层

赞一个,具体的操作流程都写的这么仔细而且可以照着操作,学习了。

你提到的前三点也是感同深受,目前的功能已经有了不少了,可能对于应用过程中还需要更强大的功能才能满足迁移和调优的一些需求。

比如之前HC上看到的BoostKit之类的东东,是不是也可以有一个有机的集成?

点赞 评论 引用 举报

帕加尼风之子8866

发帖: 10粉丝: 2

级别 : 中级会员

发消息 + 关注

发表于2020年11月14日 13:41:16
直达本楼层的链接
板凳
显示全部楼层

大老张有点东西

点赞 评论 引用 举报

帕加尼风之子8866

发帖: 10粉丝: 2

级别 : 中级会员

发消息 + 关注

发表于2020年11月14日 13:41:48
直达本楼层的链接
地板
显示全部楼层

大老张多写好文章

点赞 评论 引用 举报

帕加尼风之子8866

发帖: 10粉丝: 2

级别 : 中级会员

发消息 + 关注

发表于2020年11月14日 13:42:55
直达本楼层的链接
5#
显示全部楼层

好了,不多说了。张小白感觉自己也有点吹毛求疵的味道。其实现在鲲鹏开发套件也已经做得很好了。只是张小白希望,为了让开发者更了解更喜欢鲲鹏,进一步优化开发套件,开发者会看到鲲鹏大大们的诚意,也一定会多多支持华为,支持鲲鹏的。 说的多好

评论
张辉 2020-11-14 13:54 评论

回我的贴也有码豆吗?

... 查看全部
点赞 评论 引用 举报

风起云涌1

发帖: 258粉丝: 11

级别 : 外部版主

发消息 + 关注

发表于2020年11月16日 14:25:11
直达本楼层的链接
6#
显示全部楼层

感谢大佬分享

点赞 评论 引用 举报

重新来过

发帖: 122粉丝: 3

级别 : 外部版主

发消息 + 关注

发表于2020年11月16日 16:17:11
直达本楼层的链接
7#
显示全部楼层

感谢大佬分享

点赞 评论 引用 举报

发帖: 128粉丝: 13

级别 : 外部版主

发消息 + 关注

发表于2020年11月17日 09:21:01
直达本楼层的链接
8#
显示全部楼层

感谢分享

点赞 评论 引用 举报

敬业的板砖工

发帖: 214粉丝: 19

级别 : 外部版主

发消息 + 关注

发表于2020年11月17日 10:26:58
直达本楼层的链接
9#
显示全部楼层

好厉害的  分享

点赞 评论 引用 举报

Jack20

发帖: 8粉丝: 103

级别 : 实习版主

发消息 + 关注

发表于2020年11月17日 11:02:46
直达本楼层的链接
10#
显示全部楼层

大佬厉害啊!感谢分享~

点赞 评论 引用 举报

赭山下有条清水河

发帖: 0粉丝: 0

级别 : 新手上路

发消息 + 关注

发表于2020年11月17日 20:36:57
直达本楼层的链接
11#
显示全部楼层

专门注册了个账号顶帖,写的非常好, 当前适配和调优是脱节的,其实这两块工作可以放到一起做的;

最关键是适配调优了以后得商用,不商用价值就无法体现

点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册