和“开源之夏优秀选手们”对齐一下颗粒度,形成一套组合拳

01/05 18:58
阅读数 20

Alluxio开源之夏项目已圆满结束

在此祝贺各位同学顺利完成项目并收获满满

其中,赵子豪同学参与的

《基于分段读写的 Alluxio 对象存储性能优化》项目

更是获得了“最佳质量”奖



带着对项目过程和他们开源故事的期待

我们采访了参与Alluxio项目的三位同学

希望通过他们的视角

了解他们的编程之旅

(对齐一下颗粒度)

以及在Alluxio开源之夏项目中的收获与成长


嘉宾&项目介绍


项目名称

《基于分段读写的 Alluxio 对象存储性能优化》

嘉宾&项目介绍


项目名称

《完善和巩固 Alluxio 集成 S3 底层存储的元数据同步及数据读写测试用例》

嘉宾&项目介绍


项目名称

《基于 Rust 的高性能 Alluxio 缓存 SDK 实现》

左右滑动


采访详情

走进嘉宾

OSPP:请简单介绍一下自己:

赵子豪:我是赵子豪,本科就读于北京师范大学计算机科学与技术专业,目前是北京大学软件工程专业在读硕士生,也是 Alluxio 研发实习生。


董欣然:我是董欣然,本硕就读于北京大学计算机专业,目前是 Alluxio 研发实习生。


林正顺:我叫林正顺,来自江苏无锡,本科和研究生都就读于南京大学软件学院。


OSPP:最开始是在哪里了解到开源的,是什么让你决定参与开源?可以简单介绍一下:

赵子豪:我之前没有参与过开源活动,开源之夏是我参加的第一个开源活动。很感谢 Alluxio 能够提供如此宝贵的机会,让我能够与其他开发者合作,可以学习和贡献开源项目,这对我的技术成长和职业发展带来很多好处。


董欣然:我是在使用 Github 时了解到开源社区的,我发现 Github 上有许多学习资料,降低了新手学习成本。第一次参加的开源项目是开发一款 PDF 阅读插件,我和合作伙伴基于开源软件 PDF.js,开发了带有多功能进度条的浏览器插件,提升 PDF 阅读体验。该项目还获得 2022 年中国大学生计算机设计大赛一等奖。


林正顺:我是从大四开始接触到开源文化的,开源之夏是我参与的第一个开源活动,让我深入了解了开源社区的创作规则和参与流程,最终做出了一些成果,我觉得这是一件非常有成就感和有意义的事情。


参与开源和开源之夏

OSPP:是在哪里了解到开源之夏活动的,参与活动的契机是什么?:

赵子豪:最早听说一位学长参与了开源之夏活动。我一直对开源软件和开源社区有着浓厚的兴趣,因此当我看到开源之夏提供的机会时感到非常激动。我认为这是一个展示自己技能、学习和与其他开发者互动的绝佳机会,这也是我决定参与活动的契机。


林正顺:之前在逛知乎的时候偶然看到有人推荐计算机相关专业的学生去参加这类相关的开源活动来丰富自己的履历,然后就一直在关注开源之夏活动。我在项目开始之前希望能够完成比较有含金量的项目,在这个过程中提升自己的专业能力和项目经历,这几个目标最终都有实现。


OSPP:请简单介绍一下 Alluxio 社区,以及你在本届开源之夏中承担的项目:

赵子豪:在我眼中,Alluxio 社区是一个充满活力和创新的开源社区。它汇集了来自全球各地的开发者和用户,共同致力于推动分布式存储和计算技术的发展。Alluxio 社区提供了丰富的文档和资源,鼓励开发者分享经验和交流想法,同时也积极参与解决问题和合作开发新功能。社区成员之间的互动和支持使得 Alluxio 变得更加强大和可靠。


在本届开源之夏中,我承担的开源项目是“基于分段读写的 Alluxio 对象存储性能优化”。我完成了以下工作:对象存储文件分段读功能的完善与性能提升、对象存储文件分片写功能的完善与性能提升、完成相关功能的单元测试、编写技术文档。这些工作的成果将有助于提升 Alluxio 对象存储的性能和稳定性,并使 Alluxio 能够更高效地对对象存储进行分段读写操作。


董欣然:Alluxio 在系统软件领域成就颇丰,Alluxio 社区优秀的导师和工作氛围使我心驰神往,非常开心能够成为 Alluxio 的一员,在 Alluxio 大家庭中成长。

我在本届开源之夏中承担的项目是“完善和巩固 Alluxio 集成 S3 底层存储的元数据同步及数据读写测试⽤例”。我完善了 S3 作为底层存储时元数据同步和数据读写访问的⽤例覆盖,部署了 Alluxio 北向和南向 S3 接⼝,从⽽打通从客户端到底层存储的逻辑链路;通过模拟 HTTP 请求和 S3 存储接⼝,确保 Alluxio 在测试场景和真实场景下⾏为⼀致。我编写了查询和修改元数据以及查询和上传(多段)⽂件的测试⽤例,通过组合多种请求参数,以达到对真实场景的全⾯测试覆盖。


林正顺:Alluxio 是一个开源的分布式存储系统,旨在为大数据计算框架提供快速、可扩展的存储层,它充当计算框架和底层存储系统之间的中间层,提供高性能的数据访问,解决大数据计算中的数据访问速度和效率问题。我在本次开源之夏活动中完成的是《基于 Rust 的高性能 Alluxio 缓存SDK实现》,基于 Rust 实现 SPDK 库对 SSD 设备的直接访问并封装为缓存 SDK 提高数据的访问效率。


OSPP:参与完整的开源项目开发与实习工作有什么区别:

赵子豪:在开源项目开发中,我更多地与开源社区成员进行合作和交流,共同推动项目的发展。我需要了解并遵循项目的开发规范和流程,与其他开发者协同工作,进行代码审查和版本控制。而在实习工作中,我可能更多地与团队内部的成员合作,按照公司的流程和目标进行开发。此外,实习工作可能会有更多的项目管理和商业考虑,而开源项目则更注重技术贡献和社区共享。


OSPP:你与导师以及社区其他成员在开发过程中的沟通交流如何?开源社区内的项目工作给你带来了什么收获:

董欣然:我的导师王宇阳是一位严以律己宽以待人的技术大咖,他耐心解答我的幼稚提问,指导我调试代码、解决环境配置问题。在导师以及社区其他成员的指导下,我的技术水平飞速进步,Alluxio 的同事们不论在能力还是性格上都非常优秀,我很感激 Alluxio 小伙伴给予的帮助。


OSPP:在项目中遇到最印象深刻的问题是什么?如何解决的:

林正顺:项目中遇到印象最深刻的问题是项目后期需要将 SPDK 的 Rust 封装接入到 Pelikan 缓存框架时遇到了 OpenSSL 和 BoringSSL 库的冲突,两者的大多数函数和变量都相同但是不能够兼容,在网上搜索了很久都没有找到很好的解决方法。最后的解决方案是选择统一都使用 BoringSSL,将 SPDK 库依赖的 OpenSSL 并且 BoringSSL 中没有的函数找出来重新改写。


寄语

OSPP:你看好未来哪个技术领域的发展,为此你做了哪些准备:

赵子豪:我非常看好云原生领域的未来发展,特别是人工智能和云服务的结合。云原生技术为构建可扩展、高效和可靠的应用提供了一种创新的方法,而人工智能作为一项快速发展的技术,尤其是今年大模型的推出,将极大程度上改变我们的生活和工作方式,可以说人类的社会即将因此发生巨大变化。为了迎接这个发展趋势,我一直在积极做一些准备工作,持续学习和研究云原生技术的最新发展和实践案例;此外,我也积极参与人工智能与云服务的开源项目,而 Alluxio 正在推动下一代分布式大数据/AI 缓存架构的探索和实践,这为我提供了一个非常好的参与契机。


OSPP:你觉得开源对你所学的专业帮助大吗?鼓励一下想要参与开源的同学们吧:

赵子豪:开源对我所学的专业帮助非常大。我的研究生所学专业是软件工程,和开源之夏的项目非常契合。通过参与开源项目,我有机会接触到实际的软件开发过程,这让我不仅学到了更多的技术知识和实践经验,还培养了解决问题、协作团队和沟通交流的能力。开源还提供了一个广阔的学习平台,我可以自由地探索和贡献,将理论知识与实际应用相结合。因此,我非常鼓励有兴趣的同学们参与开源,它将为你们的学习和职业发展带来巨大的帮助和机会。


林正顺:开源项目贡献能够让学生获得有含金量的项目经历来充实自己的简历,在与其他开发者协同工作的过程中提升沟通和合作的能力,在 code review 过程中学习如何写出干净、可维护的代码。在就业选择上,通过关注和参与不同领域的开源项目能够让学生了解到各个领域具体是做什么的,进而选择自己喜欢的领域去深入学习。


OSPP:对于代码质量的提升、开发技能的提高有什么学习方法和技巧吗:

董欣然:Alluxio 社区设计了完善的编程规范,通过在 Alluxio 的实践工作,可以很好地把握编程技巧。除此之外,提高开发技能和效率的方法是实时记录,把实践过程中遇到的困难以及思考整理成文档,有助于加深理解,对于后续的开发工作事半功倍。


通过参与开源之夏

将有机会与来自全球的开发者一起合作

为真实的开源项目做出贡献

这不仅是一个学习和提升技术能力的机会

还能够拓宽视野、锻炼解决问题的能力

建立起与业界专家的联系


开源项目的开发过程

可能会遇到各种挑战和困难

但正是通过解决这些问题

形成自己的“组合拳”

才能不断成长和进步

(此段参与感悟来自赵子豪)


【推荐阅读】


精选智库


本文分享自微信公众号 - Alluxio(Alluxio_China)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部