Tag Archives: linux

欧美的开源社区开始让人讨厌

  最近欧美的开源社区开始让人讨厌,不解决产业和技术的实际问题,就知道政治正确和哲学思辨。你看看这些社区光顾着在干啥:不准程序员讲“黑/白名单”,因为会冒犯非洲裔;要求各开源软件小组里必须至少有一个LGBT;还有自由软件和开源软件两派的意识形态争吵……

  唯一好点的是linux内核团队。就因为Linus本人的暴脾气,他只管代码写得是否干净没bug,架构是否优雅。你敢马马虎虎提交代码,他就在邮件组里当着全球程序员的面问候你全家女性。这人几十年如一日守护着linux操作系统内核的代码水准。其他没有“暴君”的开源社区,依靠投票扯来扯去,陷入“委员会设计”的臭味里,变得平庸而傲慢。

  (写到这停一下,当年我为了写《Joyfire Linux内核笔记》每天跟进Linux Kernel Mail List。还写了好多小新闻报道发在国内开源爱好者论坛里。一转眼20年过去了)

  Simba团队本来是复活Apache Ambri项目的全球首倡者,结果委员会效率非常低,听一个公司CEO讲,他们提交的bugfix能拖2年才合并。委员会里塞进来很多印度人,不干实事就会发邮件找茬。烦死了。请教了美国硅谷的几个开源创业的华人大佬,他们都一致建议,公司应该自主掌控开源社区,不要和Apache基金扯在一起。我已经下定决心,单独分出去建立自己的开源项目。反正70%的活都是中国人在实干。当然我们还会遵守开源协议游戏规则。大数据开源社区有兴趣的同学,到时候可以来看看。

关于开源的2条

  今年Linux内核维护者Qu Wenruo在内核维护邮件列表指出来自华为的开发者Leizhen等人提交的补丁有刷KPI嫌疑。热度迅速超过之前Linus关于疫苗的那一封。我看了一下,完善异常和日志格式,包括一些拼写错误。不像刷KPI,更像代码强迫症发作。不过最近中国企业有很多刷榜行为特别让人烦。比如大厂投资人突然把Github上的star当作一个指标,然后就各种造假。ym大虾回复我的朋友圈的时候,就这件事说:“应该不看动机看价值,该拒就拒,该收就收”。说得太对了。

  LoongArch对GNU Binutils的支持被合并了,共12个补丁。不过赶不上GCC 12了。Linux生态完整支持LoongArch要到2023年的GCC 13了。龙芯加油!顺便提一下,DataSimba已经支持龙芯CPU。刚做过正式测试,并拿到了信创认证。

Microsoft祝贺Linux诞生20周年

  嗯,你没看错。是Microsoft,他们制作了下面这个释放善意的视频。

  自1998年万圣节文档全面宣战之后,Microsoft对开源阵营的态度都很敌视。2000年,史蒂夫·鲍尔默还在说:“Linux is communism”;2001年,他又说:“Linux is a cancer”……

  直到2006年,IE团队和Firefox团队才开始礼尚往来。到了今年,刚发布的Linux 3.0中,Microsoft已经悄然位列RedHat、Intel、Novell与IBM之后,成为第五大Linux Kernel代码贡献者。

Linux内核即将进入3.0时代

  昨天Lyz美女编译Linux内核panic了,今天早上和她一起冲进机房去重启。每次进机房都觉得轰鸣声好像飞机的发动机。空调太冷,打喷嚏。

  5月30日,Linus在动身前往日本参加LinuxCon 会议前,将他的Kernel git tree 打上了3.0-rc1标签。漫长的2.6时代终于要结束了。

  2.4内核历时4年24个版本。2.6内核历时6年40个版本。这是关键性的10年,Linux内核已经成为互联网服务的基石,虽然PC桌面进展不明显,但在智能手机领域Android系统大红大紫。回想起99年在rainbow的机器上安装红帽子,那时候Linux刚刚摆脱黑客面纱,被IBM和Oracle等商业公司支持,很多大学老师也没听过。大学生只有在蓝宝石和AKA这类爱折腾的草根技术组织里才有机会接触开源的世界。如今计算机专业科班出身的孩子们,若没用过Linux都不好意思和别人打招呼。

章文嵩的技术报告

  上周末,淘宝网基础软件研发部的负责人章文嵩来计算所做技术报告,一直想记录一下。最近三天在家里照顾病人,所以没顾上写BLOG。

  大约是十年前在AKA的网站认识了章文嵩和他的LVS。 那时候我刚刚接触开源,正在阅读Linux内核源代码,积累俺的《joyfire linux笔记》。当时LVS正在争取成为第一个汇入Linux内核的Made in China项目,我等粉丝狂热崇拜,《joyfire linux笔记》里有专门一章收录LVS技术资料。

  隔了这么久,章文嵩的外貌似乎没啥变化。这次报告主要介绍淘宝网的基础设施,例如分布式文件系统(TFS)、K/V缓存系统(TAIR)。细节可以参考幻灯

  章文嵩提到他们正在踅摸倒排索引等技术,研发上千亿规模的全文检索功能(淘宝网站现有40亿条目,每年翻一番)。另一个设想是图片搜索,预计2年初步可用:女孩子们可用3G手机拍摄商场里的衣服和鞋子,然后发送到淘宝网站,搜索类似的商品信息。

  章文嵩认为,在网络服务基础中间件领域,商业专有产品性能无法令人满意,淘宝正在实施开源战略,一方面用开源产品把现有平台逐步替换掉,另一方面也对自主研发的基础设施进行开源。他们的TAIR刚刚开源,TFS 预计会在9月份开源。

  目前淘宝网平均一笔交易耗费0.4度电,可以煮熟4个鸡蛋。因此和Google一样也开始关心能耗问题,希望定制 低功耗的服务器。考虑到Memory Cache和Web Service等模块大都是I/O密集型的,对CPU主频要求不高,没必要安装最强悍的CPU。章文嵩抱怨INTEL只看重利润,漠视环保:淘宝希望大规 模采购ATOM处理器,得到的回答是“不符合公司战略”,不愿意ATOM挤占高端芯片的市场。最终选用了VIA处理器,关闭不必要的主板模块如USB,能 耗大大降低,实现了无风扇,依然有不错的处理吞吐量(单机柜6Gbps)。

AKA Linux内核开发者大会和pFind Team

  刚刚参加了AKA的Linux kernel开发者大会,主要关心的是多核并行和oprofile性能分析。近期pFind内核优化开始深入,需要用些更专业的优化技巧了。

  我在会上提了个问题:未来一段时间,多核和集群的性能瓶颈或编程难点在哪里?主讲人崔岩认为传统的系统总线在众核体系下已成为瓶颈。章峰老大补充说,他认为NUMA体系结构是方向。这种体系结构可以看作是多核和集群的混血杂交。按照Intel的Roadmap,到2013年家用电脑的CPU大约为256核。到时传统软硬件架构都要经受重大挑战。

  顺便也听了其他讲座。重温内核领域的很多技术,感觉好像见到老朋友。一个小细节是,讲座幻灯用是一台装了ubuntu的龙芯笔记本。

  回忆起大三时代,每周跑去听AKA的Linux系列技术讲座。有一讲的内容是阅读Linux kernel2.4的内存page管理部分,是在中关村附近一栋小破楼里讲的。当时四环没通,花了好多功夫摸过来。这次讲座激起了我阅读Linux内核的兴趣,可以说是“joyfire Linux笔记”的缘起吧。后来才知道这栋小楼就是计算所的老北楼。

  顺便贴一张俺们pFind帮派的全家福。在计算所新楼的11层拍的。

KernelTrap,晕

  好久没浏览KernelTrap.org,输入URL都有些内疚。先看到Jeremy Andrews的申明,说他九月份不会更新了,因为要搬家。然后看到一篇Linux: 2.6.16.y Lives On,开头全是历史知识普及(懒,不翻译了):

  “The Linux kernel development model changed a couple of years ago at the 2004 Kernel Summit [story]. At that time it was decided that as a team Linus Torvalds and Andrew Morton [interview] were doing a great job together maintaining the 2.6 kernel, using Andrew’s -mm kernel as a staging area with new features being allowed into the mainline kernel and ultimate stabilization left up to Linux distributions. In March of 2005, Greg KH and Chris Wright began maintaining a -stable patchset [story], accepting small, focused patches fixing real bugs or security issues……”

  这么多久违的人名和补丁包,有点激动。脑子里过电影,都是本科时代的情节:天天关注lkml和-mm更新;逃课去听AKA的内核分析;飞到深圳打工,往盒子里移植linux内核,宿舍的哥们帮我应付点名和作业;超崇拜Robert Love……

  刚听说Andrew Morton去Google了,一晃我的joyfire.net也三年没维护了,晕。这次pFind集群版的是个好机会,可以借此重新熟悉Linux开发。