基于SSD的Kafka应用层缓存架构设计与实现

发表于 3年以前  | 总阅读数:549 次

Kafka在美团数据平台承担着统一的数据缓存和分发的角色,针对因PageCache互相污染,进而引发PageCache竞争导致实时作业被延迟作业影响的痛点,美团基于SSD自研了Kafka的应用层缓存架构。本文主要介绍了该架构的设计与实现,主要包括方案选型,与其他备选方案的比较以及方案的核心思考点等,最后介绍该方案与其他备选方案的性能对比。

Kafka在美团数据平台的现状

Kafka出色的I/O优化以及多处异步化设计,相比其他消息队列系统具有更高的吞吐,同时能够保证不错的延迟,十分适合应用在整个大数据生态中。

目前在美团数据平台中,Kafka承担着数据缓冲和分发的角色。如下图所示,业务日志、接入层Nginx日志或线上DB数据通过数据采集层发送到Kafka,后续数据被用户的实时作业消费、计算,或经过数仓的ODS层用作数仓生产,还有一部分则会进入公司统一日志中心,帮助工程师排查线上问题。

目前美团线上Kafka规模:

  • 集群规模:节点数达6000+,集群数100+。
  • 集群承载:Topic数6万+,Partition数41万+。
  • 处理的消息规模:目前每天处理消息总量达8万亿,峰值流量为1.8亿条/秒
  • 提供的服务规模:目前下游实时计算平台运行了3万+作业,而这其中绝大多数的数据源均来自Kafka。

Kafka线上痛点分析&核心目标

当前Kafka支撑的实时作业数量众多,单机承载的Topic和Partition数量很大。这种场景下很容易出现的问题是:同一台机器上不同Partition间竞争PageCache资源,相互影响,导致整个Broker的处理延迟上升、吞吐下降。

接下来,我们将结合Kafka读写请求的处理流程以及线上统计的数据来分析一下Kafka在线上的痛点。

原理分析

Kafka处理读写流程的示意图

对于Produce请求:Server端的I/O线程统一将请求中的数据写入到操作系统的PageCache后立即返回,当消息条数到达一定阈值后,Kafka应用本身或操作系统内核会触发强制刷盘操作(如左侧流程图所示)。

对于Consume请求:主要利用了操作系统的ZeroCopy机制,当Kafka Broker接收到读数据请求时,会向操作系统发送sendfile系统调用,操作系统接收后,首先试图从PageCache中获取数据(如中间流程图所示);如果数据不存在,会触发缺页异常中断将数据从磁盘读入到临时缓冲区中(如右侧流程图所示),随后通过DMA操作直接将数据拷贝到网卡缓冲区中等待后续的TCP传输。

综上所述,Kafka对于单一读写请求均拥有很好的吞吐和延迟。处理写请求时,数据写入PageCache后立即返回,数据通过异步方式批量刷入磁盘,既保证了多数写请求都能有较低的延迟,同时批量顺序刷盘对磁盘更加友好。处理读请求时,实时消费的作业可以直接从PageCache读取到数据,请求延迟较小,同时ZeroCopy机制能够减少数据传输过程中用户态与内核态的切换,大幅提升了数据传输的效率。

但当同一个Broker上同时存在多个Consumer时,就可能会由于多个Consumer竞争PageCache资源导致它们同时产生延迟。下面我们以两个Consumer为例详细说明:

如上图所示,Producer将数据发送到Broker,PageCache会缓存这部分数据。当所有Consumer的消费能力充足时,所有的数据都会从PageCache读取,全部Consumer实例的延迟都较低。此时如果其中一个Consumer出现消费延迟(图中的Consumer Process2),根据读请求处理流程可知,此时会触发磁盘读取,在从磁盘读取数据的同时会预读部分数据到PageCache中。当PageCache空间不足时,会按照LRU策略开始淘汰数据,此时延迟消费的Consumer读取到的数据会替换PageCache中实时的缓存数据。后续当实时消费请求到达时,由于PageCache中的数据已被替换掉,会产生预期外的磁盘读取。这样会导致两个后果:

  1. 消费能力充足的Consumer消费时会失去PageCache的性能红利。
  2. 多个Consumer相互影响,预期外的磁盘读增多,HDD负载升高。

我们针对HDD的性能和读写并发的影响做了梯度测试,如下图所示:

可以看到,随着读并发的增加,HDD的IOPS和带宽均会明显下降,这会进一步影响整个Broker的吞吐以及处理延迟。

线上数据统计

目前Kafka集群TP99流量在170MB/s,TP95流量在100MB/s,TP50流量为50-60MB/s;单机的PageCache平均分配为80GB,取TP99的流量作为参考,在此流量以及PageCache分配情况下,PageCache最大可缓存数据时间跨度为80*1024/170/60 = 8min,可见当前Kafka服务整体对延迟消费作业的容忍性极低。该情况下,一旦部分作业消费延迟,实时消费作业就可能会受到影响。

同时,我们统计了线上实时作业的消费延迟分布情况,延迟范围在0-8min(实时消费)的作业只占80%,说明目前存在线上存在20%的作业处于延迟消费的状态。

痛点分析总结

总结上述的原理分析以及线上数据统计,目前线上Kafka存在如下问题:

  1. 实时消费与延迟消费的作业在PageCache层次产生竞争,导致实时消费产生非预期磁盘读。
  2. 传统HDD随着读并发升高性能急剧下降。
  3. 线上存在20%的延迟消费作业。

按目前的PageCache空间分配以及线上集群流量分析,Kafka无法对实时消费作业提供稳定的服务质量保障,该痛点亟待解决。

预期目标

根据上述痛点分析,我们的预期目标为保证实时消费作业不会由于PageCache竞争而被延迟消费作业影响,保证Kafka对实时消费作业提供稳定的服务质量保障。

解决方案

为什么选择SSD

根据上述原因分析可知,解决目前痛点可从以下两个方向来考虑:

  1. 消除实时消费与延迟消费间的PageCache竞争,如:让延迟消费作业读取的数据不回写PageCache,或增大PageCache的分配量等。
  2. 在HDD与内存之间加入新的设备,该设备拥有比HDD更好的读写带宽与IOPS。

对于第一个方向,由于PageCache由操作系统管理,若修改其淘汰策略,那么实现难度较为复杂,同时会破坏内核本身对外的语义。另外,内存资源成本较高,无法进行无限制的扩展,因此需要考虑第二个方向。

SSD目前发展日益成熟,相较于HDD,SSD的IOPS与带宽拥有数量级级别的提升,很适合在上述场景中当PageCache出现竞争后承接部分读流量。我们对SSD的性能也进行了测试,结果如下图所示:

从图中可以发现,随着读取并发的增加,SSD的IOPS与带宽并不会显著降低。通过该结论可知,我们可以使用SSD作为PageCache与HDD间的缓存层。

架构决策

在引入SSD作为缓存层后,下一步要解决的关键问题包括PageCache、SSD、HDD三者间的数据同步以及读写请求的数据路由等问题,同时我们的新缓存架构需要充分匹配Kafka引擎读写请求的特征。本小节将介绍新架构如何在选型与设计上解决上述提到的问题。

Kafka引擎在读写行为上具有如下特性:

  • 数据的消费频率随时间变化,越久远的数据消费频率越低。
  • 每个分区(Partition)只有Leader提供读写服务。
  • 对于一个客户端而言,消费行为是线性的,数据并不会重复消费。

下文给出了两种备选方案,下面将对两种方案给出我们的选取依据与架构决策。

备选方案一:基于操作系统内核层实现

目前开源的缓存技术有FlashCache、BCache、DM-Cache、OpenCAS等,其中BCache和DM-Cache已经集成到Linux中,但对内核版本有要求,受限于内核版本,我们仅能选用FlashCache/OpenCAS。

如下图所示,FlashCache以及OpenCAS二者的核心设计思路类似,两种架构的核心理论依据为“数据局部性”原理,将SSD与HDD按照相同的粒度拆成固定的管理单元,之后将SSD上的空间映射到多块HDD层的设备上(逻辑映射or物理映射)。在访问流程上,与CPU访问高速缓存和主存的流程类似,首先尝试访问Cache层,如果出现CacheMiss,则会访问HDD层,同时根据数据局部性原理,这部分数据将回写到Cache层。如果Cache空间已满,会通过LRU策略替换部分数据。

FlashCache/OpenCAS提供了四种缓存策略:WriteThrough、WriteBack、WriteAround、WriteOnly。由于第四种不做读缓存,这里我们只看前三种。

写入:

  • WriteThrough:数据写操作在写入SSD的同时会写入到后端存储。
  • WriteBack:数据写操作仅写入SSD即返回,由缓存策略flush到后台存储。
  • WriteAround:数据写入操作直接写入后端存储,同时SSD对应的缓存会失效。

读取:

  • WriteThrough/WriteBack/WriteAround:首先读取SSD,命中不了的将再次读取后端存储,并数据会被刷入到SSD缓存中。

更多详细实现细节,极大可参见这二者的官方文档:

  • [FlashCache]

  • [OpenCAS]

备选方案二:Kafka应用内部实现

上文提到的第一类备选方案中,核心的理论依据“数据局部性”原理与Kafka的读写特性并不能完全吻合,“数据回刷”这一特性依然会引入缓存空间污染问题。同时,上述架构基于LRU的淘汰策略也与Kafka读写特性存在矛盾,在多Consumer并发消费时,LRU淘汰策略可能会误淘汰掉一些近实时数据,导致实时消费作业出现性能抖动。

可见,备选方案一并不能完全解决当前Kafka的痛点,需要从应用内部进行改造。整体设计思路如下,将数据按照时间维度分布在不同的设备中,近实时部分的数据缓存在SSD中,这样当出现PageCache竞争时,实时消费作业从SSD中读取数据,保证实时作业不会受到延迟消费作业影响。下图展示了基于应用层实现的架构处理读请求的流程:

当消费请求到达Kafka Broker时,Kafka Broker直接根据其维护的消息偏移量(Offset)和设备的关系从对应的设备中获取数据并返回,并且在读请求中并不会将HDD中读取的数据回刷到SSD,防止出现缓存污染。同时访问路径明确,不会由于Cache Miss而产生的额外访问开销。

下表对不同候选方案进行了更加详细的对比:

最终,结合与Kafka读写特性的匹配度,整体工作量等因素综合考虑,我们采用Kafka应用层实现这一方案,因为该方案更贴近Kafka本身读写特性,能更加彻底地解决Kafka的痛点。

新架构设计

概述

根据上文对Kafka读写特性的分析,我们给出应用层基于SSD的缓存架构的设计目标:

  • 数据按时间维度分布在不同的设备上,近实时数据分布在SSD上,随时间的推移淘汰到HDD上。
  • Leader分区中所有数据均写入SSD中。
  • 从HDD中读取的数据不回刷到SSD中。

依据上述目标,我们给出应用层基于SSD的Kafka缓存架构实现:

Kafka中一个Partition由若干LogSegment构成,每个LogSegment包含两个索引文件以及日志消息文件。一个Partition的若干LogSegment按Offset(相对时间)维度有序排列。

根据上一小节的设计思路,我们首先将不同的LogSegment标记为不同的状态,如图所示(图中上半部分)按照时间维度分为OnlyCache、Cached以及WithoutCache三种常驻状态。而三种状态的转换以及新架构对读写操作的处理如图中下半部分所示,其中标记为OnlyCached状态的LogSegment只存储在SSD上,后台线程会定期将Inactive(没有写流量)的LogSegment同步到SSD上,完成同步的LogSegment被标记为Cached状态。

最后,后台线程将会定期检测SSD上的使用空间,当空间达到阈值时,后台线程将会按照时间维度将距离现在最久的LogSegment从SSD中移除,这部分LogSegment会被标记为WithoutCache状态。

对于写请求而言,写入请求依然首先将数据写入到PageCache中,满足阈值条件后将会刷入SSD。对于读请求(当PageCache未获取到数据时),如果读取的offset对应的LogSegment的状态为Cached或OnlyCache,则数据从SSD返回(图中LC2-LC1以及RC1),如果状态为WithoutCache,则从HDD返回(图中LC1)。

对于Follower副本的数据同步,可根据Topic对延迟以及稳定性的要求,通过配置决定写入到SSD还是HDD。

关键优化点

上文介绍了基于SSD的Kafka应用层缓存架构的设计概要以及核心设计思路,包括读写流程、内部状态管理以及新增后台线程功能等。本小节将介绍该方案的关键优化点,这些优化点均与服务的性能息息相关。主要包括LogSegment同步以及Append刷盘策略优化,下面将分别进行介绍。

LogSegment同步

LogSegment同步是指将SSD上的数据同步到HDD上的过程,该机制在设计时主要有以下两个关键点:

  1. 同步的方式:同步方式决定了HDD上对SSD数据的可见时效性,从而会影响故障恢复以及LogSegment清理的及时性。
  2. 同步限速:LogSegment同步过程中通过限速机制来防止同步过程中对正常读写请求造成影响

同步方式

关于LogSegment的同步方式,我们给出了三种备选方案,下表列举了三种方案的介绍以及各自的优缺点:

最终,我们对一致性维护代价、实现复杂度等因素综合考虑,选择了后台同步Inactive的LogSegment的方式。

同步限速

LogSegment同步行为本质上是设备间的数据传输,会同时在两个设备上产生额外的读写流量,占用对应设备的读写带宽。同时,由于我们选择了同步Inactive部分的数据,需要进行整段的同步。如果在同步过程中不加以限制会对服务整体延迟造成较大的影响,主要表现在下面两个方面:

  • 从单盘性能角度,由于SSD的性能远高于HDD,因此在数据传输时,HDD写入带宽会被写满,此时其他的读写请求会出现毛刺,如果此时有延迟消费从HDD上读取数据或者Follower正在同步数据到HDD上,会造成服务抖动。
  • 从单机部署的角度,单机会部署2块SSD与10块HDD,因此在同步过程中,1块SSD需要承受5块HDD的写入量,因此SSD同样会在同步过程中出现性能毛刺,影响正常的请求响应延迟。

基于上述两点,我们需要在LogSegment同步过程中增加限速机制,总体的限速原则为在不影响正常读写请求延迟的情况下尽可能快速地进行同步。因为同步速度过慢会导致SSD数据无法被及时清理而最终被写满。同时为了可以灵活调整,该配置也被设置为单Broker粒度的配置参数。

日志追加刷盘策略优化

除了同步问题,数据写入过程中的刷盘机制同样影响服务的读写延迟。该机制的设计不仅会影响新架构的性能,对原生Kafka同样会产生影响。

下图展示了单次写入请求的处理流程:

在Produce请求处理流程中,首先根据当前LogSegment的位置与请求中的数据信息确定是否需要滚动日志段,随后将请求中的数据写入到PageCache中,更新LEO以及统计信息,最后根据统计信息确定是否需要触发刷盘操作,如果需要则通过fileChannel.force强制刷盘,否则请求直接返回。

在整个流程中,除日志滚动与刷盘操作外,其他操作均为内存操作,不会带来性能问题。日志滚动涉及文件系统的操作,目前,Kafka中提供了日志滚动的扰动参数,防止多个Segment同时触发滚动操作给文件系统带来压力。针对日志刷盘操作,目前Kafka给出的机制是以固定消息条数触发强制刷盘(目前线上为50000),该机制只能保证在入流量一定时,消息会以相同的频率刷盘,但无法限制每次刷入磁盘的数据量,对磁盘的负载无法提供有效的限制。

如下图所示,为某磁盘在午高峰时间段write_bytes的瞬时值,在午高峰时间段,由于写入流量的上升,在刷盘过程中会产生大量的毛刺,而毛刺的值几乎接近磁盘最大的写入带宽,这会使读写请求延迟发生抖动。

针对该问题,我们修改了刷盘的机制,将原本的按条数限制修改为按实际刷盘的速率限制,对于单个Segment,刷盘速率限制为2MB/s。该值考虑了线上实际的平均消息大小,如果设置过小,对于单条消息较大的Topic会过于频繁的进行刷新,在流量较高时反而会加重平均延迟。目前该机制已在线上小范围灰度,右图展示了灰度后同时间段对应的write_bytes指标,可以看到相比左图,数据刷盘速率较灰度前明显平滑,最高速率仅为40MB/s左右。

对于SSD新缓存架构,同样存在上述问题,因此在新架构中,在刷盘操作中同样对刷盘速率进行了限制。

方案测试

测试目标

  • 验证基于应用层的SSD缓存架构能够避免实时作业受到延迟作业的影响。
  • 验证相比基于操作系统内核层实现的缓存层架构,基于应用层的SSD架构在不同流量下读写延迟更低。

测试场景描述

  • 构建4个集群:新架构集群、普通HDD集群、FlashCache集群、OpenCAS集群。
  • 每个集群3个节点。
  • 固定写入流量,比较读、写耗时。
  • 延迟消费设置:只消费相对当前时间10~150分钟的数据(超过PageCache的承载区域,不超过SSD的承载区域)。

测试内容及重点关注指标

  • Case1: 仅有延迟消费时,观察集群的生产和消费性能。
  • 重点关注的指标:写耗时、读耗时,通过这2个指标体现出读写延迟。
  • 命中率指标:HDD读取量、HDD读取占比(HDD读取量/读取总量)、SSD读取命中率,通过这3个指标体现出SSD缓存的命中率。
  • Case2: 存在延迟消费时,观察实时消费的性能。
  • 重点指标:实时作业的SLA(服务质量)的5个不同时间区域的占比情况。

测试结果

从单Broker请求延迟角度看:

在刷盘机制优化前,SSD新缓存架构在所有场景下,较其他方案都具有明显优势。

刷盘机制优化后,其余方案在延迟上服务质量有提升,在较小流量下由于Flush机制的优化,新架构与其他方案的优势变小。当单节点写入流量较大时(大于170MB)优势明显。

从延迟作业对实时作业的影响方面看:

新缓存架构在测试所涉及的所有场景中,延迟作业都不会对实时作业产生影响,符合预期。

总结与未来展望

Kafka在美团数据平台承担统一的数据缓存和分发的角色,针对目前由于PageCache互相污染、进而引发PageCache竞争导致实时作业被延迟作业影响的痛点,我们基于SSD自研了Kafka的应用层缓存架构。本文主要介绍Kafka新架构的设计思路以及与其他开源方案的对比。与普通集群相比,新缓存架构具备非常明显的优势:

  1. 降低读写耗时:比起普通集群,新架构集群读写耗时降低80%。
  2. 实时消费不受延迟消费的影响:比起普通集群,新架构集群实时读写性能稳定,不受延时消费的影响。

目前,这套缓存架构优已经验证完成,正在灰度阶段,未来也优先部署到高优集群。其中涉及的代码也将提交给Kafka社区,作为对社区的回馈,也欢迎大家跟我们一起交流。

本文由哈喽比特于3年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/9fOjmpb-KV2dnV2WZbSmoQ

 相关推荐

刘强东夫妇:“移民美国”传言被驳斥

京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。

发布于:1年以前  |  808次阅读  |  详细内容 »

博主曝三大运营商,将集体采购百万台华为Mate60系列

日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。

发布于:1年以前  |  770次阅读  |  详细内容 »

ASML CEO警告:出口管制不是可行做法,不要“逼迫中国大陆创新”

据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。

发布于:1年以前  |  756次阅读  |  详细内容 »

抖音中长视频App青桃更名抖音精选,字节再发力对抗B站

今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。

发布于:1年以前  |  648次阅读  |  详细内容 »

威马CDO:中国每百户家庭仅17户有车

日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。

发布于:1年以前  |  589次阅读  |  详细内容 »

研究发现维生素 C 等抗氧化剂会刺激癌症生长和转移

近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。

发布于:1年以前  |  449次阅读  |  详细内容 »

苹果据称正引入3D打印技术,用以生产智能手表的钢质底盘

据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。

发布于:1年以前  |  446次阅读  |  详细内容 »

千万级抖音网红秀才账号被封禁

9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...

发布于:1年以前  |  445次阅读  |  详细内容 »

亚马逊股东起诉公司和贝索斯,称其在购买卫星发射服务时忽视了 SpaceX

9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。

发布于:1年以前  |  444次阅读  |  详细内容 »

苹果上线AppsbyApple网站,以推广自家应用程序

据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。

发布于:1年以前  |  442次阅读  |  详细内容 »

特斯拉美国降价引发投资者不满:“这是短期麻醉剂”

特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。

发布于:1年以前  |  441次阅读  |  详细内容 »

光刻机巨头阿斯麦:拿到许可,继续对华出口

据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。

发布于:1年以前  |  437次阅读  |  详细内容 »

马斯克与库克首次隔空合作:为苹果提供卫星服务

近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。

发布于:1年以前  |  430次阅读  |  详细内容 »

𝕏(推特)调整隐私政策,可拿用户发布的信息训练 AI 模型

据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。

发布于:1年以前  |  428次阅读  |  详细内容 »

荣耀CEO谈华为手机回归:替老同事们高兴,对行业也是好事

9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI操控无人机能力超越人类冠军

《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI生成的蘑菇科普书存在可致命错误

近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。

发布于:1年以前  |  420次阅读  |  详细内容 »

社交媒体平台𝕏计划收集用户生物识别数据与工作教育经历

社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”

发布于:1年以前  |  411次阅读  |  详细内容 »

国产扫地机器人热销欧洲,国产割草机器人抢占欧洲草坪

2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。

发布于:1年以前  |  406次阅读  |  详细内容 »

罗永浩吐槽iPhone15和14不会有区别,除了序列号变了

罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。

发布于:1年以前  |  398次阅读  |  详细内容 »
 相关文章
Android插件化方案 5年以前  |  237231次阅读
vscode超好用的代码书签插件Bookmarks 2年以前  |  8065次阅读
 目录