Linux TCP作为服务器连接的单连接、Select、Poll和Epoll方式:C/C++实现高效的服务器通信
在Linux服务器开发中,TCP(Transmission Control Protocol)作为面向连接的通信方式,为实现可靠的服务器通信提供了强大支持。不同的服务器连接方式,如单连接、Select、Poll和Epoll,各有优势,可以根据连接数和性能需求选择合适的方式。本文将深入探讨这四种方式的实现原理,并给出C/C++代码例子,帮助读者更好地理解和使用这些方式。
Linux TCP作为服务器连接方式:建立稳健高效的服务器通信
在Linux服务器开发中,TCP(Transmission Control Protocol)是一种常用的传输层协议,它为服务器与客户端之间的连接提供可靠的、面向连接的通信方式。本文将深入探讨Linux TCP作为服务器连接方式的工作原理,包括服务器端的建立、连接管理和数据传输,以帮助读者建立稳健高效的服务器通信。
基于英特尔®DL Boost技术的 AI 性能优化
黄文欢介绍了基于英特尔®深度学习加速(Intel®DL Boost)技术的 AI 性能优化相关内容。首先介绍了英特尔®AVX-512 及深度学习加速技术在各代英特尔®至强®处理器上的演进,包括第一代深度学习加速技术 VNNI;第二代®深度学习加速技术 BFloat16;及下一代深度学习加速技术 AMX。接下来,和大家一起分享了这些深度学习加速技术在龙蜥社区 AI SIG 中的应用及带来的性能提升,包括对深度学习框架 TensorFlow 和 PyTorch 的优化,及用于模型压缩的优化工具 INC。最后介绍了下一代至强可扩展处理器 Sapphire Rapids 上 AMX 技术,并分享了其理论性能提升及相关应用场景。
龙蜥社区走进Intel MeetUp 社区理事长马涛致辞
Intel 在龙蜥社区围绕 Intel 芯片等方面的工作,我认为主要有以下 3 个比较重要的特点: 第一个是全面性。龙蜥社区在整个场景方面是非常丰富的,无论是云原生、机密计算、应用加速等等。这些丰富的场景以及如何在这些场景下去围绕操作系统、Intel 的芯片来进行场景化、定制化的加速是龙蜥的核心的技术。 第二 Intel 在龙蜥社区参与的很多工作是非常深入的。针对刚才提到的场景,Intel 在龙蜥社区做了非常多的定制和优化。所以说龙蜥在如何使用 Intel 芯片去加速应用,让应用跑得更快、更稳和更好等方面是积累丰富的经验。 第三 Intel 在龙蜥社区做出的很多工作也是在全球领域非常领先的。 所以总结来看, Intel 在龙蜥社区贡献的三个关键词是:全面、深入和领先。
龙蜥社区走进Intel MeetUp 理事杨继国致辞
Intel 是龙蜥社区首批理事成员单位,多次参加技术委员会和运营委员会的工作,创建并维护 Intel 架构兴趣小组,将 Intel 的新平台、新特性、新优化都贡献并集成到龙蜥社区发行版中,使得广大平台用户能第一时间在龙蜥操作系统上获得对新平台的支持,进而使得龙蜥操作系统在全球范围内的操作系统发行版本中走在前列。 龙蜥社区自成立以来吸引了众多业界生态伙伴以及广大开源开发者的广泛参与。我觉得以下两方面特别重要: 第一点是不同领域的生态伙伴的加入,整个生态结构更加多样和完整。龙蜥社区生态伙伴已超过两百家,涵盖了不同的领域,生态更加丰富健壮。 第二点是广泛的开发者参与,社区更具生命力和活力。龙蜥社区已经建立了多个技术方向的特殊兴趣小组,不断吸引着广大开发者加入到社区,推动社区在各个技术领域上的创新。
SPDK 高性能存储实践与优化
童坤坤对 SPDK 的概念原理做了介绍,包括 SPDK 实现高性能的核心要点、SPDK 线程模型、通道模型等。结合 SPDK 在移动云虚拟云主机应用场景,阐述了虚拟化技术、I/O 虚拟化、虚拟化分类、virtio 原理、vring IO 请求流程、基于 qemu-vhost 的半虚拟化存储。并介绍了移动云在 SPDK 实践中遇到的问题以及应对与优化,包括 SPDK 可运维监控、SPDK 存储热迁移、SPDK 热更新、SPDK 快速恢复。最后介绍 SPDK 演进历史并对 SPDK 未来做出展望。
Intel 新平台虚拟化技术演讲
李肖瑶介绍了未来 Intel 在虚拟化技术方面的新功能。新功能可以分为两类,一类为需要做虚拟化支持的新功能,即由 hypervisor 将新功能正确地虚拟化给虚拟机,使得虚拟化系统可以使用,如 CET、AMX、Arch LBR、PKS、UI。另一类为针对虚拟化的新功能,由 hypervisor 支持使用来增强 hypervisor 的能力或安全性,如 SVA、SIOV、TDX、 Bus Lock Detection、 Notify VM exit、IPI virtualization。
英特尔®资源调配技术(英特尔®RDT)与业务混布
崔龙一开始介绍了多核心服务器上,由于资源共享带来的云上服务 QoS 波动,以及 Intel RDT特性对于内存带宽和 L3 cach e用量的监测和分配技术对于保证 QoS 的保障作用 ,intel RDT 特性在上游 Kernel 的支持情况。接着详细介绍了如何通过 pqos 和 Kernel resctrl 接口使用 Intel RDT。同时还以 speccpu 为例,说明了不同负载,对资源的敏感程度差异较大。最后介绍了一系列 Intel RDT 在实际业务混部中部署的实例。
中移动算力网络中的云原生虚拟化
中国移动信息技术中心 PaaS 架构师魏宝辉分享了《中移动算力网络中的云原生虚拟化》技术演讲。他对中国移动算力网络的基本布局规划做了简要介绍,算力网络是以算为中心、网为根基的新型信息基础设施 。通过技术升级实现算力无处不在、网络无所不达、智能无所不及的愿景。 在多样性算力的开发过程中,对云原生技术栈的需求愈发突显,开发团队多,发布调试频繁,对 k8s 集群环境需求量大,但是算力资源有限,开发环境的供给速度,跟不上业务的发展速度。中国移动信息技术中心通过 kubevirt 的云原生虚拟化技术,结合 gitops,云 ide 等工具体系,打造了自动化交付的全功能开发环境。在技术上采用了 vm in pod 的模式,并将 k8s 集群放入 pod 内。有效突破了物理机供给 k8s 集群紧张的情况,实现了用 8 台物理主机交付 170 多个开发集群。这种高效的自动化交付能力,也通过云原生虚拟化技术屏蔽了底层的硬件差异,以标准化的 k8s 交付方式,满足开发者的集群使用需求,提升算力资源的利用率,释放更大的算力价值。
中国软件行业协会常务副秘书长陈宝国为龙蜥峰会致辞
中国软件行业协会常务副秘书长陈宝国为龙蜥峰会致辞:“随着计算能力的发展,器件、计算无处不在,由计算所带来的操作系统的演化和进化也在不断地生成。”他说到:“桌面、服务器、移动端、智能设备大量涌现,操作系统应运而生,操作系统怎么发展?龙蜥为操作系统的发展提供了一条解决的方案,也给操作系统的业界带来一个启示。”
圆桌讨论:RISC-V 的发展现状和未来方向
在圆桌讨论中,笨叔的一番话语引起了在场嘉宾和观众的强烈共鸣,“我有一个感觉,我们都觉得 RISC-V 最近很火,特别是在国内外高校教学和科研方面,国内大部分的 985 高校,还有部分的 211 高校,他们计算机相关的专业的核心课程已经慢慢取代了原来的 mips 和 x86,转向 RISC-V 作为一个教学,所以高校对 RISC-V 的热情为产业界输出大量的人才,那么对国内自研芯片的发展起到一个推动的作用。另外一方面,我观察到国内做芯片的这些厂商,大部分都是采用 Arm 的 IP 来做,但是已经有不少的厂商,他们也在慢慢尝试采用 RISC-V。大家比较一致的观点,虽然 RISC-V 软硬件生态还不是很完善和完美,但是 RISC-V 是一个趋势,现在正处于趋势的起步阶段。” PLCT 实验室吴伟也表示,“RISC-V 不仅仅只是一个趋势,仅去年一年,全球 RISC-V 芯片的出货量就达到了 100 亿颗,在广大的嵌入式领域中,RISC-V 已经是完完全全地占有了自己的一席之地。而且 RISC-V 也正以惊人的速度向我们视线所及的所有领域开始扩张。”
浙江省软件行业协会秘书长王小号为龙蜥峰会致辞
浙江省软件行业协会秘书长王小号说道,“我在我的笔记本电脑上安装了龙蜥操作系统,虽然比较专业,但是凭着我多年的‘Linux 高手’的经验,成功地安装并且使用,体验非常地良好。龙蜥社区一直秉承着共创数字化发展开源新基建的使命,兼顾兼容 CentOS 生态,保障用户业务连续性和依托云计算场景自主创新的技术路线,正在迈进高质量发展阶段。作为软件行业协会,为我们的软件商、开发商、平台商、渠道商、服务商和生态伙伴搭建多方交流的平台,助力企业在数字发展的浪潮中有新作为、有新突破,我们协会愿意一直支持。”
一站式自动化测试平台的探索与实践
开源软件发展迅速,应用非常广泛,其质量保证在开源社区以及评测机构都面临巨大的挑战,传统的自动化测试平台在运行模式、测试场景上具有非常大的局限。龙蜥社区的开源项目 T-One 一站式质量协作平台,打通了从测试设计、测试计划、用例集成、测试部署、测试执行、结果分析、测试报告等整个测试流程闭环,源于阿里云操作系统团队经过多年的内部业务打磨,支撑了 30 多个团队产品质量保证的通用自动化测试平台,超过 930 万小时的运行时间,具有非常高的稳定性和运行效率。 T-One 在龙蜥社区开源后,通过 T-One SIG 兴趣组,构建了开源版、企业版、机构版三大下游版本,多家合作单位接入社区开源版或者内部独立部署,共同贡献,在社区获得了快速的发展。电子五所于 2021 年 12 月加入龙蜥社区作为合作伙伴,基于T-One SIG 在社区合作开发了 T-One 机构版,在 testlib 组件上进行了非常深入的合作,共同参与测试需求管理、用例管理、设备管理等模块的开发,积极推动评测平台标准化。后续会进一步加深合作,双方基于开源模式,持续完善 T-One 功能,提升评测效率,在 AI 技术引入、下一代质量技术标准的探索上,加深与龙蜥社区的合作,共同把 T-One 打造成为具有广泛影响力的标准化质量平台。
手机内核稳定性的治理与实践
我们了解的 Linux 稳定性都是基于 x86 和 Arm 服务器上的,然而在手机上的系统稳定性,也值得我们去一探究竟。魅族科技高级工程师、龙蜥系统运维SIG Contributor 白浩文与嘉宾一起谈一谈《手机内核稳定性的治理与实践》。他首先简要介绍了稳定性问题的来源,以及开发过程。重点举例介绍了运行时动态检测的一些方法以及相关原理。在实践中,魅族手机在开发阶段引入了一些新的特性来提高捕捉内存异常的概率,其中也包括从上游龙蜥社区引入的改进特性。为了全方位监控和解决稳定性问题,魅族也在智能化分析问题和提升效能方面做了相应工作。最后,还作了简要的总结和阐述所面临的一些挑战。
Linux IPC(进程间通信)管理:深入解析ipcs和ipcrm命令的用法与示例
在Linux操作系统中,进程间通信(IPC)是实现进程之间数据传递和同步的关键机制。Linux提供了多种IPC方式,如消息队列、信号量和共享内存等。为了优化系统性能与稳定性,及时管理和清理IPC资源非常重要。本文将深入介绍ipcs和ipcrm命令的使用方法,并给出丰富的示例,以帮助读者更好地理解IPC资源管理的实践技巧。
探究Linux中消息队列和共享内存产生“Invalid Argument”错误的原因
在Linux操作系统中,消息队列和共享内存是进程间通信的常见方式。然而,有时候在使用这些机制时,可能会遇到“Invalid Argument”错误。本文将探讨导致此问题的可能原因,包括参数设置错误、权限问题、资源限制等,并提供相应解决方案。
平头哥在 RISC-V 软件生态的探索和实践
熊健以平头哥最新发布的无剑 600 SoC 平台和曳影 1520 开发板为出发点,阐述了平头哥软件团队对开源社区的贡献,以及龙蜥社区与平头哥 RISC-V 的生态互补。 在无剑 600 平台上,平头哥与龙蜥社区、中科院软件所 PLCT 实验室进行了软硬件全栈的联合优化,完成了 RISC-V 与龙蜥操作系统的 3000 多个基础包适配,并在曳影 1520 上首次运行 FireFox 浏览器、LibreOffice 等大型桌面级软件,以及 Hexo 和 Open Rocket 等基于 NodeJS 和 JAVA 的应用,极大拓展了 RISC-V 的想象力。 平头哥是 RISC-V 国际基金会董事会成员,领导基金会中的数据中心、存储管理、安卓、安全等 11 个技术方向,重要性及数量居世界前列、中国机构首位。在 RISC-V 国际舞台上,平头哥正推进 RISC-V 国际标准制定,推动全球 RISC-V 技术与生态发展。
龙蜥云原生社区发展 & kata 社区共建
阿里云资深技术专家、龙蜥云原生 SIG 成员刘奖,蚂蚁集团高级技术专家、龙蜥云原生 SIG Maintainer 彭涛为现场嘉宾带来《龙蜥云原生社区发展 & kata 社区共建》主题分享。 刘奖和大家一起探讨了在云原生技术和应用飞速发展的历史机遇下,龙蜥社区支持云原生技术、应用与商业的相关思考。他首先介绍了云原生技术的发展及典型软件架构,接着从云原生技术发展和操作系统自身演进两个方面提出构建“龙蜥云原生操作系统”的必要性和必然性。也分享了龙蜥云原生未来系统架构的构建思路,从一个传统的 OS 支撑 K8S 发行版,到利用容器化的思想构建云原生 OS 的发行版;并重点讲述龙蜥云原生在 OS系统构建的进展,即站在云原生容器化 OS 的思路上,输出Anolis Cloud Native Suite(ACNS),其中会包括容器优化的 OS,以及云原生运行时、节点管控、云原生网络与存储。 彭涛则分享了龙蜥云原生社区与上游社区之间的关系,并以 Kata 社区为主要案例,龙蜥云原生作为链接上游 kata 与下游用户的桥梁,以产品化方式输出给用户使用,并将关键特性贡献到上游社区
龙蜥云原生 SIG 未来建设
阿里云产品专家、龙蜥云原生SIG Contributor黄韶宇在现场为嘉宾分享了《龙蜥云原生 SIG 未来建设》主题演讲。阐述了龙蜥云原生 SIG 的定位和产出:“龙蜥云原生领域的圆桌会议提供者和组件发行版 owner”和“面向开发者的优秀能力组件和面向用户的易用、好用、接地气的云原生发行版和场景化解决方案”。回顾了龙蜥云原生 SIG 的工作,在成立的 4 个月的时间里,龙蜥云原生 SIG 补齐了龙蜥社区里面云原生能力基础并引入了 10 个组件,同时也建立了一些社区的规则,而最重要的关键节点是发布了龙蜥云原生 SIG 的产品 ACNS,提供了高效便捷、安全稳定、强大丰富的云原生套件。最后描述了云原生 SIG 中开发者和用户的相互推动关系,表达了对于开发者和用户的强烈渴望,希望有更多的参与者一起建立繁荣、强大的社区。
联通基于龙蜥操作系统的实践
联通软件研究院副总架构师肖微做了《联通基于龙蜥操作系统的实践》主题演讲,分享内容主要包含三个方面:第一个是联通对于操作系统的现状和诉求,第二个是联通在龙蜥社区里面的一些工作和联通内部基于龙蜥操作系统的一个实践情况,第三个是联通对于整个操作系统未来工作的一些展望和技术的诉求。 “操作系统向下管理硬件、向上管理应用软件,因此操作系统是一个非常好的生态,所以不仅仅只是联通,操作系统的工作需要整个产业进行协同。联通做这操作系统的创新也是希望和龙蜥社区,以及整个产业链一起,共同打造一个非常好的生态。龙蜥社区中立、开放的运营理念和分层分类的标准化的技术理念,作为社区成员非常认可,作为用户也是非常赞扬,希望一起共同把社区和操作系统做好。”
快速发展的 RISC-V 软件生态
吴伟介绍了 RISC-V 在全球的发展趋势,然后分享了自己的三个基本观测:“摩尔定律是有极限的,而算力需求没有极限”、“软件系统的复杂度是超线性增长的”、“有能力驾驭软件开发复杂度的开发者是有限的”。基于这些假设,推导出了 2 个推论:“开源软件吞噬一切”、“必然会出现自由开放的指令集”。从而揭示了 RISC-V 成功的原因:“在合适的时间提出了足够好的设计理念,并且开创了新的商业模式”。吴伟表示,当前正是基础软件领域的“狂欢”,RISC-V 的发展带来了大量的工作量和机会。同时,吴伟还展示了 PLCT 实验室的 RISC-V 集群计划和许愿池计划,吸引所有对 RISC-V 感兴趣的开发者一起来参与。
龙蜥操作系统
龙蜥社区(OpenAnolis)是面向国际的 Linux 服务器操作系统开源根社区及创新平台,秉承“平等、开放、协作、创新”的原则,理事会由阿里云、统信软件、龙芯、Arm 、Intel 等 24 家国内外头部企业共同组成,有超过 1000 家来自芯片厂商、软件厂商、整机厂商、操作系统厂商等覆盖操作系统全产业链的合作伙伴参与生态共建。