IP公司和GPU IP的关系是什么?
IP 公司与GPU IP
1.IP公司及其处理器IP系列(DSP, GPU, AI)
Synopsys
来源:https://www.synopsys.com/zh-cn/designware-ip.html
ARC处理器
Embedded Vision Processors
EV5x
EV6x
Cadence
来源:https://ip.cadence.com/ipportfolio/tensilica-ip
Tensilica Customizable Processors
- Xtensa LX7
All Tensilica DSPs are built on top of the Xtensa LX7 processor platform
Tensilica HiFi DSPs for Audio, Voice, and Speech
Multi-Purpose DSPs for Any Application
No standard processor can meet the varied demands of any type of application, until now. The Cadence Tensilica Fusion family is a scalable range of general purpose DSP processors designed with flexible options to give designers the ability to shape the DSP into exactly what their application needs.
ConnX DSPs for Baseband and Communications
Vision DSPs for Imaging and Vision
Vision P5 DSP(vision optimized, 2015)
Vision P6 DSP (vision + AI optimized, 2016)
Vision Q6 DSP( vision+ AI optimized, 2017)
CEVA
来源:https://www.ceva-dsp.com/#
Imaging & Computer Vision
CEVA-XM6 Vision & Deep Learning DSP
CEVA-XM4 Imaging & Vision DSP
AI & Deep Learning
NeuPro Family of AI Processors
CDNN Deep Learning Toolkit
Connectivity
RivieraWaves Wi-Fi Platforms
RivieraWaves Bluetooth Platforms
CEVA-SATA & CEVA-SAS IP
Wireless Communication
PentaG 5G NR IP Platform
CEVA-Dragonfly NB2 Full eNB-IoT IP solution
CEVA-X1 Multi-purpose IoT Processor
CEVA-X2 Multistandard PHY Control Processor
CEVA-XC5 Communication Processor
CEVA-XC12 Multi-gigabit SDR Processor
Audio, Voice & Speech
-CEVA-X2 Advanced Sound Processor
CEVA-TeakLite-4 Audio/Voice DSP Family
ClearVox Voice processing software package
Smart and Connected Development Platform
Always-On & Sensor Fusion
-CEVA-X1 Multi-purpose IoT Processor
CEVA-TL410 Always-on DSP
Smart and Connected Development Platform
VeriSilicon(芯原微电子)
来源:http://www.verisilicon.com/IPPortfolio.html
Vivante Vision IP (VIP core for vision/image)
GPU IP (GC core)
Compute IP
CC8000, CC8400, CC8400-Q
ZSP DSP IP (for audio/voice)
Hantro Video IP (VC for video)
VC8000D, VC8000E, …
Arm
来源:https://www.arm.com/products
CPU
Cortex-A 高性能
Cortex-R 实时处理
Cortex-M 低功耗嵌入式应用
Machine Learning
ML processor
OD(object detection) processor
SecurCore
Multimedia
Mali Graphics Processors
Mali Video Processors
Mali Display Processors
Mali Camera
Imagination
移动端GPU公司,主要给apple供货,苹果17年宣布放弃使用。
来源:https://www.imgtec.com/products/
PowerVR graphics processors
PowerVR GE9425, PowerVR GE9215, …
PowerVR Vision and AI cores
PowerVR AX2185 NNA, PowerVR AX2145 NNA
参考链接:https://blog.****.net/miao20091395/article/details/82958743
2.浅谈Imagination在手机GPU IP市场的影响力
随着智能驾驶和自动驾驶等应用越发火热,汽车AI芯片市场在最近几年进入了高速发展期。无论是NXP和瑞萨这样的传统汽车芯片厂,还是如英伟达和英特尔这样的消费芯片大厂,甚至是FPGA龙头Xilinx,都对这个市场虎视眈眈。此外,国内外也有一大波初创芯片企业涌入这个市场。
Imagination作为全球半导体IP大厂,已推出多代AI加速产品,获得了良好的市场反响,可以为汽车芯片厂商打造高性能车用AI芯片提供强有力的支持。2020年,Imagination发布其最新一代IMG Series4神经网络加速器(NNA)产品,该公司视觉和人工智能部门高级总监Andrew Grant在接受媒体采访时指出:“虽然2020年市场上已经有能满足自动驾驶需求的AI芯片,但功耗不够理想。所以,花两年时间去了解和评估客户需求,推出了高性能低功耗的4系列NNA产品,并且将自动驾驶作为主打市场”。
Andrew Grant还介绍道,IMG Series4 NNA采用了全新的多核架构,能提供高达600 TOPS的算力,从而为ADAS和自动驾驶等应用提供高效支持。Imagination之所以能提供性能如此强悍的产品,得益于公司多年来在IP领域的深厚积累。
IP专家的步步为“赢”
在谈及Imagination的时候,大家首先想到的就是在手机GPU IP市场的影响力。
从Imagination提供的数据也可以看到,在移动GPU IP市场的份额已经达到35.5%,这帮助超越Arm Mali系列和高通Adreno系列,登上移动GPU IP龙头的位置。除了移动GPU以外,Imagination在车载GPU IP市场也几乎拿下了半壁*。数据显示,在这个市场的占有率高达43%。
此外,Imagination在近来热门的AI 市场也布局多年。据介绍,Imagination在过去七年里持续加大对AI研发的投入,公司迄今已拥有超过80项针对AI领域的专利,并推出了一系列神经网络加速器IP产品。
这系列IP是一个从0开始设计的完整、独立式的硬件IP神经网络加速器,可以同时支持CNN、RNN、LSTM三种神经网络类型,并且可支持caff、caffe2、Google TensorFlow等通用机器学习体系架构,还支持可适用于移动端的TensorFlow Lite、caffe2go等机器学习体系架构。再加上这系列内核可在最小的硅面积上以非常低的功耗实现高性能的神经网络计算,因此自面世以来获得了客户的高度认可。Imagination在过去几年里也在快速迭代该系列IP。
2017年9月,Imagination发布了旗下首款神经网络加速器PowerVR Series 2NX NNA,其单核性能仅覆盖1TOPS到4.1TOPS的范围;而到了2018年推出的第二代PowerVR 3NX,单核性能不但覆盖了0.6TOPS到10TOPS,其多核产品性能更是能做到20TOPS到160TOPS,可以满足从L2级到L5级自动驾驶的边缘推理需求。
文章开头谈到的IMG Series 4NNA则是Imagination推出的第三代NNA。
Andrew Grant表示,这款公司历时两年打造出来的产品不但在性能上获得大幅度提升,还拥有灵活的多核设计、创新性的Tensor Tiling( Imagination’s Tensor Tiling,ITT)技术、低功耗和满足车规级安全需求等多项优势,从而能为领先的汽车行业颠覆者、一级供应商、整车厂(OEM)和汽车系统级芯片(SoC)厂商提供强大助力。
IMG Series4 NNA 的强势出击
根据Andrew Grant的观点,当前的车载AI芯片拥有三方面的需求,分别是超强性能、超低功耗和超低延迟。当然,作为汽车级别的芯片,安全也是必不可少的,这就是IMG Series 4 NNA的设计指导。
从官方提供的资料可以看到,Series4具有以下特性:
首先是多核扩展性和灵活性方面,据Imagination介绍,其多核架构支持在多个核之间对工作负载进行灵活的分配和同步。Imagination的软件提供了精细的控制能力,并通过对多个工作负载进行批处理、拆分和调度而提高了灵活性,现在可以在任意数量的内核上使用。Series4可为每个集群配置 2个、4个、6个或者8个核。
其次是性能。据介绍,Series4的每个单核能够以不到一瓦的功耗提供12.5 TOPS的性能。举例来说,一个8核集群在5nm工艺的加持下,可以提供100 TOPS的算力。那就代表着配有6个8核集群的解决方案可以提供600 TOPS的算力。来到AI推理方面,Series4 NNA的性能比嵌入式GPU快20倍以上,与嵌入式CPU相比,更是快了1000倍。
第三,超低延迟也是这一代NNA IP的另一个特性。据了解,通过将多个单核组成2核、4核、6核或8核的多核集群,所有内核可以相互协作,并行处理一个任务。这就降低了处理延迟,缩短响应时间。数据显示,对于一个8核集群,理想情况下延迟会减少为单核独立执行时的1/8。
节省大量带宽则是Imagination新NNA的另一大优势,这主要得益于公司正在申请专利的的Tensor Tiling技术(Imagination’s Tensor Tiling,ITT),这也是Series4中新增的功能。据介绍,借助这项技术,Imagination的Series4可以通过对计算任务进行tiling,充分利用片上存储,提升数据处理效率,并节省访问外部存储的带宽。
在具体操作中,针对不同的任务,有不同的操作方式。据了解,在批处理大量的小型任务时,Tensor Tiling能够把批处理任务分配到各个NNA单核,让每个NNA单核独立工作,提升并行处理的能力;而在面对一些大型网络的时候,Tensor Tiling则可以从多个维度拆分任务,让所有NNA单核共同执行一个推理任务。这不但减少了网络推理的延迟,在理想情况下,协同并行处理的吞吐量与独立并发处理也是相同的。
值得一提的是,这里的拆分都是通过Imagination的编译器来完成的,不需要开发者手动操作,借助NNA的性能分析工具,开发者还能对AI任务进行更好的调度和分配。
另外,因为利用本地数据的依赖性将中间数据保存在片上存储器中,ITT可以最大限度地减少将数据传输至外部存储器,从而将带宽降低多达90%。作为一种可扩展的算法,ITT在拥有大量输入数据的网络上具有显著优势。
车规级安全性则是Series4不得不提的另一个优势。
众所周知,汽车芯片对安全提出了更高的要求。Imagination为其全新的NNA引入了IP级别的安全功能,产品的设计流程符合ISO 26262标准,这就能帮助客户更容易获得ISO 26262认证。据报道,Series4可以在不影响性能的情况下,安全地进行神经网络推理。硬件安全机制可以保护编译后的网络、网络的执行和数据处理管道。
在IMG Series4 NNA的发布会上,Andrew Grant除了介绍新IP的硬件性能外,也同时讲述公司围绕这系列芯片打造的软件生态系统,这与硬件配合,加速了开发者的开发速度,简化了开发流程。而为了给汽车运算提供更多的算力支持,Imagination还打通了NNA多核平台与GPU协同,给开发者提供更多的选择。
Andrew Grant在发布会上表示,公司的IMG Series4 NNA已经开始向客户提供授权,产品也将于2020年12月在市场上全面供应。
ABI Research智慧出行和汽车首席分析师James Hodgson说道:“在从L2和L3级ADAS向L4和L5级全自动驾驶演进的过程中,神经网络的广泛应用将是至关重要的因素。这些系统将要处理数以百计的复杂场景,从多个摄像头和激光雷达等大量传感器中提取数据,从而实现自动代客泊车、十字路口管理和复杂城市环境安全导航等解决方案。高性能、低延迟和高能效的结合,将是实现高度自动驾驶的关键所在。”
由此可见,一个全新的大门正在面向Imagination开启。
参考链接:http://www.elecfans.com/d/1383969.html
3.一款多核架构GPU IP有多达33种配置!Imagination要守住移动市场攻向云端
2020年10月份对Imagination Technology这家总部位于英国的IP公司显然意义重大。先是宣布了Simon Beresford-Wylie(前Arqiva首席执行官)将担任Imagination的首席执行官。
Imagination又发布最新一代IMG B系列高性能GPU IP,这款多核架构GPU IP 4个系列内核有33种配置,这将帮助Imagination进一步稳固其在移动GPU IP市场地位的同时,参与桌面和云端GPU市场竞争,2021年将推出的光线追踪GPU又能在多大程度增加其竞争力?
对于任何一种架构的处理器,对于更高性能的追求不会停止。Imagination技术产品管理高级总监Kristof Beets说:“客户用上2019年12月发布的高性能 IMG A系列Power VR GPU后,问能否提供更高性能的多核GPU。于是,在大量投资及A系列技术优势的基础上,同时增加了多核技术,推出了IMG B系列,以惊人的33种全新配置扩展了Imagination的GPU产品系。”
2020年,IMG B系列已可提供授权,每个产品系列都已有厂商率先获得了授权。
首款多核架构GPU IP,更适合小芯片趋势
据悉,B系列能够提供6 TFLOPS(每秒万亿次浮点运算)的计算能力,与上一代IMG A系列产品相比,功耗降低达30%,面积缩减了25%,且填充率比竞品IP内核高2.5倍。Imagination表示,B系列可提供最高的性能密度(performance per mm2),同时提供多种全新配置,可以针对给定的性能目标实现更低的功耗和最高35%的带宽降低。
具体而言,IMG B系列GPU IP针对特定市场提供BXE、BXM、BXT、BXS四个系列专业内核:
IMG BXE:面向高清显示应用,专门针对用户界面(UI)渲染和入门级游戏设计,每个时钟周期可处理从1-16个像素,支持从720p到8K的分辨率,相较上一代内核,面积缩减达25%,填充率密度是竞品的2.5倍。IMG BXM:主打图形处理体验,这个系列是中端解决方案,引入客户可配置的最新缓存设计,实现了填充率和计算能力的更好平衡,可将带宽占用降低35%,为中档移动端游戏及用于数字电视和其他市场的复杂UI解决方案提供支持。IMG BXT:面向高性能应用,旗舰款B系列GPU内置四核,可提供6 TFLOPS的性能,每秒可处理192 Gigapixel(十亿像素),AI算力达24 TOPS,同时可提供行业最高的性能密度。IMG BXS:面向汽车应用,符合ISO 26262安全标准,提供从入门级到高级的完整产品系列,能将自动驾驶图形处理速度提升至竞品的60%以上,可为下一代人机界面(HMI)、UI显示、信息娱乐系统、数字驾舱、环绕视图提供解决方案,高算力的配置还可支持自动驾驶和辅助驾驶。B系列GPU最值得关注的特性是多核架构。Kristof Beets在深度沟通时表示,“从过去的经验看,当单核的高性能都发挥出来之后,就会走向多核的架构。很重要的原因是多个单核很难提升架构性能,有很多控制逻辑需要管理。研发的多核架构整合了创新的分散管理方法,可提供高效的扩展特性,与小芯片(Chiplet)架构行业趋势相适。”
Imagination首席营销官David Harold补充道:“观察到了小芯片在GPU市场的趋势,这种去中心化的设计不仅可以降低开发成本,也能降低开发时间。但是小芯片的信号传输是一个问题。”
“过去GPU有很多次核,非常依赖主核的一些资源。多核架构设计避免了*的模块,小芯片有独立的资源,可以独立运行,同时也避免了一些复杂的逻辑,因此设计非常符合小芯片的趋势。” Kristof Beets进一步表示。
基于这样的多核架构设计,Imagination针对BXT和BXM内核的每个产品系列进行了优化,利用多个主核的扩展特性实现GPU内核的多核扩展,每个核既可以独立运行,也可以组合成一个大GPU来协力执行任务,能为单个应用提供最大化的性能,或支持不同内核运行独立的应用。
BXE系列提供了主核-次核的扩展模式,这是一种面积优化的解决方案,通过单个GPU内核提供了高性能,同时利用Imagination的HyperLane技术进行多任务处理。
BXS汽车GPU内核也利用了多主核可扩展的特性,支持性能扩展,以及跨多个内核进行安全检查,确保正确运行。
值得注意的是,此次发布的B系列都给出了4核架构设计。Kristof Beets解释,“四核架构是根据经验用户的反馈确定,4核架构是最能满足市场需求的性能和能效的平衡架构,未来会持续提升单核性能和拓展多核架构。有过最多14核的架构经验,多核对不是挑战。”
“需要看到,在服务器市场多核的拓展不是最重要的,而是机柜的拓展以及基于以太网的拓展。” Kristof Beets同时表示。
33种配置,提升移动市场份额同时攻向桌面和云端市场
Imagination显然希望通过4个系列,33种配置的GPU在保持移动市场竞争力的同时向更高性能的GPU市场拓展。
数据显示,在GPU IP市场,Imagination的市场占有率最高,为35.5%,Arm以34.5%位列第二,高通拿下其余30%的市场份额。另外,在汽车GPU IP市场,Imagination的市场占有率更是高达43%。
移动GPU IP市场占有率
因此,面向移动设备,从入门级到高端B系列提供BXE、BXM和BXT三种选择。其中,BXE和BXM的性能和定位比较相似。Kristof Beets称:“这两个系列有非常紧密的联系,这两个系列的产品都对带宽和成本非常敏感,BXE更强调图形渲染能力,BXM兼具强图形渲染能力的同时又更大的浮点计算能力。”
BXT不仅能够满足旗舰手机的需求,还能借助多核可扩展性进入桌面和云端市场。据悉,芯动科技已经将B系列BTX集成到能支持桌面和数据中心应用的PCI-E规格的GPU独立显卡芯片之中。
芯动科技工程副总裁Roger Mao说:“即将推出一款高性能4K/8K图形 PCI-E Gen4 GPU独立显卡芯片;该独立显卡芯片将很快面市,将为未来5G云游戏和数据中心应用提供强大的支持。”
为了更好地满足云端市场的需求,Imagination的GPU还能灵活的组合或拆分,在多实例环境也能提供硬件的虚拟功能,带来更好的灵活性和安全性。
至于为何要为汽车市场专门推出BXS系列,David Harold表示,“这既是基于对汽车行业的了解,也是为了更好地满足汽车市场独特的需求。许多市面上的GPU IP并没有针对汽车市场做单独优化,这不仅在技术上不能很好地满足这一市场的需求,也不能让客户更快的通过汽车行业的相关认证。”
“BXS就是针对汽车市场需求的优化,不仅在性能特性上更符合汽车市场的需求,符合ISO 26262安全标准也能够帮助客户更快通过产品认证。” David Harold说:“BXS使用了RISC-V固件,这在业内还是首个,通过采用RISC-V也希望在汽车市场发现更多的机会。”
多核架构带来的高性能,以及全面的可扩展组合,让Imagination的B系列可以应用于移动设备、消费类设备、物联网、微控制器、数字电视(DTV)和汽车等多个市场。但还有一个关键问题,核数增加带来的更多数据以及图像分辨率的增加,让带宽问题无法忽视。
为此,B系列除了多核架构,还推出了一个重要的压缩技术IMGIC。IMGIC压缩技术可以提供四个等级,完全无所压缩以及压缩率分别为75%(质量接近完美)、50%(视觉无损)、25%(最节省带宽)的有损压缩。
据悉,像采用4K显示屏、120Hz的刷新率的高端手机,读写速度接近8GB/s,使用IMGIC的无损模式,可在不影响质量的前提下降低到平均4GB/s;如果使用有损压缩,压缩率为75%、50%、25%时,带宽可分别降至6GB/s、4GB/s、2GB/s。
光线追踪GPU2021年上半年推出
2019年推出A系列GPU的时候,Imagination就透露会在未来几年推支持光线追踪的产品。在B系列的发布会上,Kristof Beets进一步透露了Imagination的光线追踪进展。“基于十年来对光线追踪的研究,认为光线追踪要到Level 4才能实现最好的用户体验、更高算力、更低带宽,可实现桌面级高效性能的提升。”
所谓的Level4是Imagination对光线追踪的等级划分,帮助业界更清晰地了解和比较各种光线追踪的差异,总共包含6个级别,Level4是硬件中的BVH处理和一致性排序功能。
Kristof Beets透露,Imagination在2021年上半年正式推出Level 4光线追踪技术。
Imagination的光线追踪技术会面向移动和桌面市场。2020年Nvidia已经推出了支持光线追踪的桌面GPU,因此Imagination推出的光线追踪GPU在桌面市场能引发多大变化值得期待。另外,手机端没有实现对光线最终的支持,Imagination能否很好地解决移动端光线追踪的性能和能耗问题引发变革同样非常值得关注。
小结
对于Imagination,想要在IP市场的竞争中增强竞争力,自然需要保持并提升在移动市场和汽车GPU IP市场的市场占有率,同时向更多市场拓展。这也是为什么Imagination2019年发布A系列GPU的时候表示接下来的B系列、C系列GPU会保持30%的性能提升。
当然,为了更好地满足市场需求,Imagination也需要AI SYNERGY这样的协同技术,让GPU不仅能处理图像,可能处理可编程的AI,需要与AI加速器配合实现更好地AI性能。据透露,Imagination2020年发布第四代神经网络加速器(NNA)产品。
在当下的国际局势下,中国市场也是Imagination很好的机会。David Harold表示Imagination没有在美国开发过任何一款IP,另外已经在上海和北京建立了研发机构。
GPU、AI、无线连接都在发力的Imagination,能否成功破圈?
注:文中配图均来自Imagination Technology
参考链接:
https://www.imaginationtech.com/products/
https://blog.****.net/miao20091395/article/details/82958743
http://www.elecfans.com/d/1383969.html
https://baijiahao.baidu.com/s?id=1680586334397255865&wfr=spider&for=pc
上一篇: 理解芯片技术:IP、SOC和FPGA在智能卡中的应用
下一篇: 区别开网游加速器与IP切换工具
推荐阅读
-
IP公司和GPU IP的关系是什么?
-
IP 地址中的网络地址和主机地址是什么意思?
-
go语言Socket编程-Socket编程 什么是Socket Socket,英文含义是插座、插孔,一般称之为套接字,用于描述IP地址和端口。可以实现不同程序间的数据通信。 Socket起源于Unix,而Unix基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。Socket就是该模式的一个实现,网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用:Socket,该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。 套接字的内核实现较为复杂,不宜在学习初期深入学习,了解到如下结构足矣。 套接字通讯原理示意 在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程。“IP地址+端口号”就对应一个socket。欲建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识一个连接。因此可以用Socket来描述网络连接的一对一关系。 常用的Socket类型有两种:流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。 网络应用程序设计模式 C/S模式 传统的网络应用设计模式,客户机(client)/服务器(server)模式。需要在通讯两端各自部署客户机和服务器来完成数据通信。 B/S模式 浏览器(Browser)/服务器(Server)模式。只需在一端部署服务器,而另外一端使用每台PC都默认配置的浏览器即可完成数据的传输。 优缺点 对于C/S模式来说,其优点明显。客户端位于目标主机上可以保证性能,将数据缓存至客户端本地,从而提高数据传输效率。且,一般来说客户端和服务器程序由一个开发团队创作,所以他们之间所采用的协议相对灵活。可以在标准协议的基础上根据需求裁剪及定制。例如,腾讯所采用的通信协议,即为ftp协议的修改剪裁版。 因此,传统的网络应用程序及较大型的网络应用程序都首选C/S模式进行开发。如,知名的网络游戏魔兽世界。3D画面,数据量庞大,使用C/S模式可以提前在本地进行大量数据的缓存处理,从而提高观感。 C/S模式的缺点也较突出。由于客户端和服务器都需要有一个开发团队来完成开发。工作量将成倍提升,开发周期较长。另外,从用户角度出发,需要将客户端安插至用户主机上,对用户主机的安全性构成威胁。这也是很多用户不愿使用C/S模式应用程序的重要原因。 B/S模式相比C/S模式而言,由于它没有独立的客户端,使用标准浏览器作为客户端,其工作开发量较小。只需开发服务器端即可。另外由于其采用浏览器显示数据,因此移植性非常好,不受平台限制。如早期的偷菜游戏,在各个平台上都可以完美运行。 B/S模式的缺点也较明显。由于使用第三方浏览器,因此网络应用支持受限。另外,没有客户端放到对方主机上,缓存数据不尽如人意,从而传输数据量受到限制。应用的观感大打折扣。第三,必须与浏览器一样,采用标准http协议进行通信,协议选择不灵活。 因此在开发过程中,模式的选择由上述各自的特点决定。根据实际需求选择应用程序设计模式。 简单的C/S模型通信 Server端:Listen函数 func Listen(network, address string) (Listener, error) network:选用的协议:TCP、UDP, 如:“tcp”或 “udp” address:IP地址+端口号, 如:“127.0.0.1:8000”或 “:8000” Listener 接口: type Listener interface { Accept (Conn, error) Close error Addr Addr } Conn 接口: type Conn interface { Read(b byte) (n int, err error) Write(b byte) (n int, err error) Close error LocalAddr Addr RemoteAddr Addr SetDeadline(t time.Time) error SetReadDeadline(t time.Time) error SetWriteDeadline(t time.Time) error } 参看 [<u>https://studygolang.com/pkgdoc</u>](https://studygolang.com/pkgdoc) 中文帮助文档中的demo: 示例代码:TCP服务器.go package main import ( "net" "fmt" ) func main { // 创建监听 listener, err:= net.Listen("tcp", ":8000") if err != nil { fmt.Println("listen err:", err) return } defer listener.Close // 主协程结束时,关闭listener fmt.Println("服务器等待客户端建立连接...") // 等待客户端连接请求 conn, err := listener.Accept if err != nil { fmt.Println("accept err:", err) return } defer conn.Close // 使用结束,断开与客户端链接 fmt.Println("客户端与服务器连接建立成功...") // 接收客户端数据 buf := make(byte, 1024) // 创建1024大小的缓冲区,用于read n, err := conn.Read(buf) if err != nil { fmt.Println("read err:", err) return } fmt.Println("服务器读到:", string(buf[:n])) // 读多少,打印多少。 }
-
查看本地 IP 和端口号的 linux 命令是什么?
-
IP 网段、ASN 和 BGP 之间的关系
-
Dell PowerEdge - iDRAC 的默认用户名和密码是什么? ip 地址 (i)
-
隐藏 IP 地址的重要性是什么?-在当今的数字时代,保护我们的在线身份至关重要。从保护个人信息到保护隐私,互联网用户越来越多地寻求增强在线安全性的方法。保持匿名和保护敏感数据的一个关键方面是隐藏您的 IP 地址。在这篇博文中,我们将深入探讨隐藏 IP 地址的重要性,并探索实现这一基本安全措施的有效方法。
-
默认网关和 IP 地址之间的关系
-
网络模型解析(透彻理解 OSI 7 层模型和 TCP/IP 4 层模型之间的关系)
-
纯干货分享 | 研发效能提升——敏捷需求篇-而敏捷需求是提升效能的方式中不可或缺的模块之一。 云智慧的敏捷教练——Iris Xu近期在公司做了一场分享,主题为「敏捷需求挖掘和组织方法,交付更高业务价值的产品」。Iris具有丰富的团队敏捷转型实施经验,完成了企业多个团队从传统模式到敏捷转型的落地和实施,积淀了很多的经验。 这次分享主要包含以下2个部分: 第一部分是用户影响地图 第二部分是事件驱动的业务分析Event driven business analysis(以下简称EDBA) 用户影响地图,是一种从业务目标到产品需求映射的需求挖掘和组织的方法。 在软件开发过程中可能会遇到一些问题,比如大家使用不同的业务语言、技术语言,造成角色间的沟通阻碍,还会导致一些问题,比如需求误解、需求传递错误等;这会直接导致产品的功能需求和要实现的业务目标不是映射关系。 但在交付期间,研发人员必须要将这些需求实现交付,他们实则并不清楚这些功能需求产生的原因是什么、要解决客户的哪些痛点。研发人员往往只是拿到了解决方案,需要把它实现,但没有和业务侧一起去思考解决方案是否正确,能否真正的帮助客户解决问题。而用户影响地图通常是能够连接业务目标和产品功能的一种手段。 我们在每次迭代里加入的假设,也就是功能需求。首先把它先实现,再逐步去验证我们每一个小目标是否已经实现,再看下一个目标要是什么。那影响地图就是在这个过程中帮我们不断地去梳理目标和功能之间的关系。 我们在软件开发中可能存在的一些问题 针对这些问题,我们如何避免?先简单介绍做敏捷转型的常规思路: 先做团队级的敏捷,首先把产品、开发、测试人员,还有一些更后端的人员比如交互运维的同学放在一起,组成一个特训团队做交付。这个团队要包含交付过程中所涉及的所有角色。 接着业务敏捷要打通整个业务环节和研发侧的一个交付。上图中可以看到在敏捷中需求是分层管理的,第一层是业务需求,在这个层级是以用户目标和业务目标作为输入进行规划,同时需要去考虑客户的诉求。业务人员通过获取到的业务需求,进一步的和团队一起将其分解为产品需求。所以业务需求其实是我们真正去发布和运营的单元,它可以被独立发布到我们的生产环境上。我们的产品需求其实就是产品的具体功能,它是我们集成和测试的对象,也就是我们最终去部署到系统上的一个基本单元。产品需求再到了我们的开发团队,映射到迭代计划会上要把它分解为相应的技术任务,包括我们平时所说的比如一些前端的开发、后端的开发、测试都是相应的技术任务。所以业务敏捷要达到的目标是需要去持续顺畅高质量的交付业务价值。 将这几个点串起来,形成金字塔结构。最上层我们会把业务目标放在整个金字塔的塔尖。这个业务目标是通过用户的目标以及北极星指标确立的。确认业务目标后再去梳理相应的业务流程,最后生产。另外产品需求包含了操作流程和业务规则,具需求交付时间、工程时间以及我们的一些质量标准的要求。 谈到用户影响的地图,在敏捷江湖上其实有一个传说,大家都有一个说法叫做敏捷需求的“任督二脉”。用户影响地图其实就是任脉,在黑客马拉松上用过的用户故事地图其实叫督脉。所以说用户影响地图是在用户故事地图之前,先帮我们去梳理出我们要做哪些东西。当我们真正识别出我们要实现的业务活动之后,用户故事地图才去梳理我们整个的业务工作流,以及每个工作流节点下所要包含的具体功能和用户故事。所以说用户影响地图需要解决的问题,我们包括以下这些: 首先是范围蔓延,我们在整张地图上,功能和对应的业务目标是要去有一个映射的。这就避免了一些在我们比如有很多干系人参与的会议上,那大家都有不同想法些立场,会提出很多需求(正确以及错误的需求)。这个时候我们会依据目标去看这些需求是否真的是会影响我们的目标。 这里提到的错误需求,比如是利益相关的人提出的、客户认为产品应该有的、某个产品经理需求分析师认为可以有的....但是这些功能在用户影响地图中匹配不到对应目标的话,就需要降低优先级或弃掉。另外,通常我们去制定解决方案的时候,会考虑较完美的实现,导致解决方案括很多的功能。这个时候关键目标至关重要,会帮助我们梳理筛选、确定优先级。 看一下用户影响到地图概貌 总共分为一个三层的结构: 第一层why,你的业务目标哪个是最重要的,为什么?涉及到的角色有哪些? 第二层how ,怎样产生影响?影响用户角色什么样的行为? (不需要去列出所有的影响,基于业务目标) 第三层what,最关键的是在梳理需求时不需一次把所有细节想全,这通常团队中经常遇到的问题。 我们用这个例子来看一下 这是一个客服中心的影响地图,业务目标是 3个月内不增加客服人数的前提下能支持1.5倍的用户数。此业务目标设定是符合 smart 原则的,specific非常的具体,miserable 是可以衡量的,action reoriented是面向活动的, real list 也是很实际的。 量化的目标会指引我们接下来的行动,梳理一个业务目标,尽量去量化,比如 :我们通过打造一条什么样的流水线,能够提高整个部署的效率,时间是原来的 1/2 。这样才是一个能量化的有意义的目标。 回到这幅图, how 层级识别出来的内容,客服角色:想要对它施加的影响,把客户引导到论坛上,帮助客户更容易的跟踪问题,更快速的去定位问题。初级用户:方论坛上找到问题。高级用户:在论坛上回答问题。通过我们这些用户角色,进行活动,完成在不增加客户客服人数的前提下支持更多的用户数量。 最后一个层级,才是我们日常接触比较多的真正的功能的特性和需求,比如引导到客户到论坛上,其实这个产品就需要有一个常见问题的论坛的链接。这个层次需要我们团队进一步地在交付,在每个迭代之前做进一步的梳理,细化成相应的用户故事。 这个是云智慧团队中,自己做的影响地图的范例,可以看下整个的层级结构。序号表示优先级。 那我们用户影响地图可以总结为: