diproxy 最近的时间轴更新
diproxy

diproxy

V2EX 第 350543 号会员,加入于 2018-09-19 10:09:48 +08:00
diproxy 最近回复了
@Owenjia
谢谢
@clbigdata
我们不会因为一个人的学历而拒绝他。
需要说明的是,名校在简历上始终是一个加分项,二本相比名校天然是有劣势的,你需要付出更多的努力才能弥补这种劣势,在自己专业领域里有加分项会更容易让你脱颖而出。以 linux 内核这个领域为例,下面这些是很关键的加分项,都是你可以通过努力能做到的:
1. 你在原来的公司已经证明了自己 (社招)
2. 你给 linux 内核社区做过贡献,开发过有价值的 feature ,fix 过有难度的 bug
3. 你维护着有影响力的开源项目,或者做过贡献
4. 发表过相关的论文
5. 你在行业会议上做过演讲
6. 你有自己的技术博客,记录了你对技术的深入理解
7. 你对 linux 内核某个子系统理解的较深入,或者你代码能力较强,这一点是你在面试中可以证明自己的,而前面那些点会更容易让你拿到面试机会。

加油少年!
@kingcanfish
内核团队不直接面向业务,所以没有赶工期的要求,工作时间上相对灵活些。
内核的一些特性往往都要做很久,一旦做出来就是长期持久的收益,所以我们对内核的要求是稳而不是快。
@anufether

linux 内核开发并不是什么高大上的东西,也没有什么高深莫测的,只要你感兴趣,结合书籍看源码,然后积极参与社区讨论,你会很快就精通的。

书籍:深入理解 LINUX 内核 ,Linux 设备驱动程序,UNIX 环境高级编程,UNIX 网络编程,深入理解计算机系统等经典书籍。
源码: https://github.com/torvalds/linux
社区讨论: https://lore.kernel.org/all/ (最好订阅你感兴趣的子系统的邮件列表)
@timewarp

> 第四点那在我司是彻底不可能了,引入高配 amd 机器还得因为 numa 性能问题改为单路了,解决不了性能问题就解决掉 numa...

AMD 跨 numa 问题确实比 intel 要突出,我们刚引入 AMD 罗马的时候也是遇到很多跨 NUMA 的性能问题,在这方面我们做了很多的工作,现在已经很少有跨 NUMA 导致的业务性能分层问题了。 我们现在的主力机型就是 AMD 了,包括罗马米兰热那亚,intel 我们会逐步淘汰掉。

你们不会是在 bios 关闭 numa 吧,如果是这样的话,那是在跟我们走完全相反的路,我们在计划开启 sub-numa 来创建更多的 numa 。AMD 机器的 CPU 核数普遍很多内存普遍都很大,罗马和米兰以 256 为主,热那亚以 384 为主,内存基本都是 512G 以上。CPU 多+内存大,这导致 Linux 内核的内存管理出现了很多瓶颈,比如 zone->lock, 如果你改为单一 numa 的话,这个锁冲突会更严重。zone->lock 的冲突问题我也在跟社区讨论: https://lore.kernel.org/linux-mm/CALOAHbBTTs=4o=DsNL5f+dvt3fEwABTFMF25japrGL_FEzWSPA@mail.gmail.com/ 。 我也在尝试优化掉这个 zone->lock, 只是现在我每天要处理的事情很多,很难在单一某个技术点上长时间持续投入下去,所以这一块进展很慢。如果你感兴趣的话,你也可以去优化这一块。

> 全公司自上而下其实没看到对技术有什么追求,可能自从当年章文嵩走了之后整个技术氛围就老化了。

一朝被蛇咬,十年怕井绳。
欢迎加入我司,一起推动国内 Linux 内核技术的进步。
@timewarp
从收益的角度会比较难,很多东西都是说不清道不明的,如果谈收益,老板还会跟你谈 ROI ,投入是否值得。
但从解决业务问题和满足业务需求的角度就容易了。以我们从 4.19 升级到 6.1 为例:
1. 我们遇到的一些内核问题在高版本已经修复了,但回合过来工作量很大。
2. 一些业务想要使用一些新特性,但 4.19 不支持,回合过来这些特性也费时费力,比如有业务想使用 iouring ,有些业务想使用 bpf networking 。
3. 新内核可以更好的追踪业务问题。使用 bpf 来更高效的找到业务问题的 rootcause ,bpf 在各个内核版本迭代都很快,升级到新版本更容易定位业务问题。
4. 新硬件,这个就看公司了,拼多多在新硬件的引进上是相对较快的 新硬件的新特性往往需要新内核支持。

这就要求在平时工作中把当前内核无法解决的问题给记录下来,每个问题都有对应的业务,这些业务在你想要升级内核的时候就会帮助你。
至于我们想要升级到 6.12 ,主要是:
1. 容器场景下 cfs 表现堪忧,试试 eevdf 或者 sched_ext ,我们在测试环境中验证了 eevdf 在某些场景确实优于 cfs 。
2. bpf 又做了很多迭代,比如 token ,可以满足业务在自己容器跑 bpf 而需要特权或者 cap 。
3. 我们在 6.1 上又积累了一些新问题。
4. 我们又引入了一些新硬件。

但我觉得最重要的一点是,公司高层对待新技术的开放性,没有这一点,其他上面我写了那么多文字都是扯淡。拼多多在这方面远好于贵司。高层的态度决定了公司的风格。
@timewarp
上层业务的容灾性越好 升级内核的压力就会越小,拼多多的上层业务这块做的还是不错的。我们升级内核通常会先选一些优先级较低或者容灾性较强的业务,这能发现新内核里比较严重的 bug 。然后再逐步铺开新内核。
新内核没有那么脆弱,但还是有很多的问题,我们升级的过程中也是压力挺大,新内核里的新问题往往是出在新特性上,一些经验:
1. 新特性最好做到可配置,出问题时可以快速关闭,定位根因后再打开。
2. 使用 livepatch 来快速修复内核 bug ,我们这边对 livepatch 很依赖,很多 bugfix 或者一些特性部署都是通过 livepatch 做的。
3. 如何快速识别是否是新内核引入的问题,这个就只能靠个人经验了。

总之,拼多多还是非常鼓励使用新技术的,只要能给业务带来价值。至于前司,我不太好说什么,只能说过于保守了。
@timewarp
北京没有岗位,只在上海有。
新内核才能做出新东西,才有新挑战,不过也会有新问题,使用新内核压力也比较大,要踩别人没踩过的坑,这些坑也都是成长的机会。
以前的公司使用的内核都较老,比如 3.10 ,4.X ,分析清楚一个内核问题后发现都被别人在新内核里已经解决了,想要实现一个新特性发现都被别人在新内核里使用更好的框架给淘汰了,这是很没有成就感的。
一些私心:国内内核的开发水平跟国外差距很大,很重要的一个原因是国内使用的都是老旧的内核,做不出新东西。我期望能使用新技术跟上国外的脚步。超越很难,先跟上。
@sadj0aihnsdo
我不清楚这件事情具体的背景,也不清楚事情的真实性。
我只能从我的做操作系统的角度来谈谈我对操作系统安全性的看法:
对于操作系统人而言,操作系统的安全性是至关重要的,在我待过的所有公司里都会把操作系统的安全性放在很重要的位置,我们会及时回合 cve ,一般通过热升级来解决安全问题,如果热升级无法解决,我们会重启服务器来解决,这部分成本不小。
为了操作系统的安全性,这些大厂都会投入很多研发成本,所以我们看到大厂的信息基本不会被人盗取,如果存在的话,那只能说明他们的研发能力太弱或者不重视研发。
然而,我们经常会看到手机用户的信息被盗取这类信息,是手机做不到安全性和隐私的保障吗?显然不是的,看看苹果手机,很少会有这种事情。但 andriod 手机为什么这么多问题,显然手机厂商不愿意投入研发成本来保护用户数据。
如果存在盗取用户信息的行为,这显然是不对的。厂商不愿意投入研发成本来保护用户 这也是不对的。
@kami2soul

一叶障目 不见泰山
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2536 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 73ms · UTC 11:36 · PVG 19:36 · LAX 04:36 · JFK 07:36
Developed with CodeLauncher
♥ Do have faith in what you're doing.