改变世界的开发者丨玩转“俄罗斯方块”的瑶光少年
本文分享自华为云社区《改变世界的开发者丨玩转“俄罗斯方块”的瑶光少年》,作者:华为云头条 。
2019 年 8 月,25 岁的童昊入职华为,当时他根本没有想到,两年后自己参与研发的瑶光资源二次调度通用求解器,每年可以为华为云节省数千万元,这也成为他参加工作两年多来最有成就感的事。
不久前,笔者电话采访了童昊,作为华为云一名年轻的研发工程师,童昊低调沉稳,言语间透着浓浓的理工科学霸气质,说起代码就展现出健谈的一面。
外界赋予了他 “瑶光少年”的称号,童昊却认为自己没有任何光环,他说,自己就是华为云千千万万年轻的开发者之一,对代码的热爱一如既往,随时准备迎接下一个挑战。
「天生爱挑战,婉拒谷歌的小城学霸」
一片树林里分出两条路,
而我选了人迹更少的一条,
因此走出了这迥异的旅途。
正如美国诗人罗伯特·弗罗斯特那首著名的《未选择的路》,“别人家的孩子”童昊在相同经历的同龄人中选择了少数人走的路。
童昊出生在一个普通的小城市,小时候和普通男孩一样,喜欢玩电脑游戏。小学一次偶然的机会,一个计算机兴趣班开启了他对计算机的浓厚兴趣。当时,中国的互联网浪潮在短暂的繁荣后经历了泡沫破裂,在信息相对闭塞的小城,计算机兴趣班和竞赛在很多人看来会影响学习,有点不务正业。童昊是幸运的,在家庭的支持下,从小学到中学,不断活跃在各类计算机竞赛中。这种对计算机、编程的痴迷,在大学时得到了充分释放。
如愿考上四川某知名理工类“双一流”院校后,从本科到研究生毕业的 7 年里,童昊除了专精学业,其他大部分时间都泡在一个又一个国际计算机竞赛中,为了备战竞赛,有时整个暑假都不回家。
这种对竞赛、对挑战的喜爱,让童昊成为学校 ACM 集训队拿竞赛金牌数量最多的学霸。他曾获 ICPC(ACM 国际大学生程序设计竞赛)亚洲区冠军、世界总决赛第 13 名;IEEEXtreme 编程挑战赛世界第 2 名;DIMACS 12th Implementation Challenge 冠军;并三次参加华为软件精英挑战赛总决赛,获季军。
作为一名计算机领域的顶尖学生,研究生毕业那年,童昊接到了不少顶尖科技公司的 offer。经过一段时间的思考,他选择了华为。
可能是个人偏好,我本身就喜欢去做一些有挑战性的、更有难度的,或者更具不确定性的事情,包括之前参加竞赛就是这样。另外,近几年华为不断加大力度招聘顶尖人才,感觉自己在华为能够得到更多的成长机会,更能发挥出自己的优势和能力。
就这样,童昊的个人选择与国内科技产业自主创新的大时代,以及华为大力投入人才培养的多种机遇相重合,迅速完成了从学霸到技术骨干的蜕变。
「优化“俄罗斯方块的窟窿”,竟然价值数千万元」
加入华为云,童昊参与的第一个项目与运筹优化有关,主要研发瑶光资源二次调度通用求解器。它要解决的核心问题是,如何智能整理云数据中心的物理资源碎片,提升数据中心的资源利用率,其核心技术之一 —— 智能调度和运筹优化,是童昊主攻的方向。
云服务商交付给客户的资源中,其中一大部分是虚拟机的资源,云主机的部署其实就是把虚拟机向物理机分配的过程。客户按需购买云上资源,会导致云上业务负载时刻被大批量地创建,又大批量地释放,导致资源池中的物理主机会随时产生一些资源碎片,无法被有效利用。
童昊将这一过程形象地比作“俄罗斯方块”游戏。“当不同形状的方块不断地累积又不断消除时,中间势必就会出现一些窟窿。这些窟窿对数据中心来讲,其实是被浪费的资源。尤其在业务体量很大的时候,对于数据中心的运营成本是很大的负担。”
而童昊所做的瑶光资源二次调度通用求解器就是填上这些“窟窿”。
听起来很简单,但具体实现起来,复杂度和多变性导致童昊和同事们面临的约束条件非常多,要实现的目标也非常多维度。这与之前参加的竞赛相比,挑战和难度都提升了几个量级。
一方面,我们要去追求极致的效果,要考虑很多不确定性的输入。当一个约束目标变了,之前很多精心设计的算法可能就不再可行了。另一方面,又要保证算法具有非常强的拓展性,去适配业务未来发展的需求。
童昊和同事们遭遇了前所未有的挑战,“之前,有一版算法马上就要上线了,突然又收到一些新的输入目标,类似这样的波折还有很多。”最终,童昊和团队跳出了传统的思维模式,创新性地做了一个针对二次调度问题的通用性的求解优化框架。
通过将底层算法与业务约束和目标解耦,再通过一个中间层模型关联起来,使求解器具备了一定的通用性。这样,不需要改变底层算法,用户就可以自定义自己的优化目标和优化约束。随后,瑶光求解器的创新在复杂的生产环境中得到了验证,其在华为云数据中心投入使用后,帮助华为云每年节省运营成本达数千万元。
通过瑶光的项目,为公司实实在在地创造了经济上的价值,对我来讲是蛮有成就感的。
瑶光项目之后,童昊又找到了新的挑战,也是云计算的另一个核心领域:云上身份认证和访问控制。虽然是全新的领域,但在团队中,童昊属于能力范围较广、算法能力较强的同学,在前辈和同事的帮助下,他很快就进入状态。
数据安全是客户上云最关心的一个问题,我们希望提供更多种属性的和类型的访问控制的能力,去加强用户的数据安全性。
「follow your heart,写代码是很快乐的事」
在华为云的短短两年多时间,从学霸到技术骨干,童昊不但迅速融入新环境,完成一个又一个挑战,自身也获得了加速成长。那么,是什么成就了今天的童昊?
童昊说,自己刚出校园不久,还有太多东西需要学习,如果非要说有什么经验分享,有两点:始终坚持兴趣和对自己精益求精的高要求。
我能分享的最大经验的就是 follow your heart。如果你学习一个事情能让你感觉到快乐或者有吸引力,这就是正确的,可以一直走下去的一个方向。计算机也是这样,你是不是能够在接触计算机,或解决一些问题的过程中,不断感觉到正反馈,感觉到成就感,能够从中去收获快乐。
童昊认为,自己对代码的兴趣,底层是对思维挑战的热爱。闲暇时间,除了打羽毛球、玩游戏等爱好,思考难题也是一大乐事。“大家一起去思考、讨论一个有意思的数学题,这本身对我是一件很快乐的事情。”
除了坚持热爱,童昊还有一个典型的特质:对自己的高要求。“有人认为,做一件事情,只要它能 Work,能满足最基本的需求就好了。这是我不能满足的。我更想去探索,去思考目前业界关于某个项目的最佳实践是什么样的,接着不断地去挖掘,并期望以最高的标准把它做完。”
其实,这种不断精进的内驱力、“今日之我已非昨日之我”的精神,也是华为云工程师共同的特点。童昊表示,“在华为,在我所处的团队里面,身边一直都有很多非常厉害的人。他们对自己所从事的领域,始终持续保持敬畏和热爱,不管是自己已经取得了什么样的成就。很多人已经是非常资深的专家,但依然保持非常谦虚的心态和持续学习的强大动力,很让人钦佩,我也希望成为这样的人。”
「写在最后」
谈到自己发展的规划,童昊非常清晰:坚持在云计算领域的技术路线,在广泛了解云计算相关的技术基础上,聚焦智能调度和运筹优化、安全控制两大方向。
这两块是业务上大的方向和目标,但具体拆分下来,底下有非常多探索性的领域,甚至可以去做业界都没有尝试过的事情。具体想去挑战什么样的问题,华为云和团队还是给了我比较大的选择自由。
少年强则国强,科技兴则国兴。
瑶光是北斗第七星,自古就可用来判断四季更迭、引向定时。
2021 年,华为研发投入 1427 亿元,在“全球科技企业研发投入榜单”排名第二;华为从事研究与开发的人员约 10.7 万名,约占公司总人数的 54.8%。一大批童昊这样的年轻开发者,就是支撑华为长期发展与科技创新的“瑶光”。每一天,童昊都在和华为其他 10 万开发者一起,用代码不断谱写属于这个时代开发者的人生故事。
华为伙伴暨开发者大会 2022 火热来袭,大会采用线上直播+线下 80 余个分会场联动的形式,聚焦伙伴和开发者最为关切的话题、释放更多潜力,携手伙伴共同成就。干货满满点击了解。
【精彩活动】
勇往直前·做全能开发者→12 场技术直播前瞻,8 大技术宝典高能输出,还有代码密室、知识竞赛等多轮神秘任务等你来挑战。即刻闯关,开启终极大奖!戳【勇往直前】踏上全能开发者晋级之路吧!
【技术专题】
未来已来,2022 技术探秘→聚焦华为各领域的前沿技术、重磅开源项目、创新应用实践。站在智能世界的入口,探索未来如何照进现实,干货满满点击了解!
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/1c08d17c13f7b88264bf20040】。文章转载请联系作者。
评论