古风汉服美女图集

为什么 M1 和 Mac 是绝配 ?

8次阅读

iPhone 13 粉色版渲染图曝光:年底发布

随着距离 9 月份苹果新品发布会的时间越来越近,近期关于 iPhone 13 系列的爆料也不断浮现出来。

,来源:CSDN,2010 年左右移动互联网初见端倪,消费者对性能的需求不断提高,手机处理器芯片核心数量发展迅猛,短短一两年时间,就完成了从单核到双核乃至四核、八核的变化。,为应对这一趋势,ARM 推出了大小核心的设计,大核性能强悍支撑高计算资源场景下的用户需求,小核节能降低在待机情况下芯片的耗电量,不过这项技术问世之初,却出现了这样一个诡异的现象,一核有难,N 核围观 ….CPU 的调度出现了问题。,当然后来芯片厂商优化使这样调度不均衡的情况大为改观,但是计算密集任务与 IO 密集型任务的调优依旧是资深程序员所必须掌握的技能。本文向我们展示了苹果 M1 与英特尔至强 w 系列处理器上的测试情况。,无论是 Intel 内核还是 ARM 内核,macOS 都必须管理同一处理器上的多个任务并行运行。尽管实现方式有很多种,但为了简单起见,在这里我只打算集中讨论使用苹果 Foundation 框架的操作队列,因为大多数 macOS 应用都采用了这种方式。,从本质上讲,其原理非常简单。应用执行任务需要花费时间,因此为了避免阻塞用户以及其他应用的运行,开发人员将代码和数据放入一个 Operation 中(就像任务一样),然后在一个或多个内核上运行。开发人员可以指定两个常见的参数是:并发操作的最大数量,以及服务优先级亦称为任务不可打断级别(Quality of Service,即 QoS)。,苹果提供了四个可以指定的 QoS 级别,第五个级别则由 macOS 决定。编写代码时,开发人员需要使用 QoS 级别的名称,范围从 background(最低)到 userInteractive(最高)。这些名称分别对应于 9~33 之间均匀分布的整数值,这本身就很奇怪。不对应于任何名称(例如 32 或 34)的整数值不起作用,macOS 不认识这些值,而且还会给 QoS 赋值 -1,然后由系统决定使用四个定义级别中的哪一个。,为了研究 QoS 行为,我为压缩 / 解压实用程序 Cormorant 构建了一个专门的免费版本,用于设置其任务的 QoS 级别。接着,我创建了一个标准的 10GB 测试文件,并使用不同的 QoS 进行了多次压缩测试。,在 Intel Xeon W 8 核处理器上,如果没有相互竞争的进程的话,那么无论采用什么 QoS 设置,所有操作都会尽快执行。无论怎么设置 QoS,测试的 10GB 文件通常都需要 5.6~6.6 秒的时间才能完成压缩,只有当同时进行互相竞争操作时,QoS 设置的优先级才能起到作用。,例如,分别设置 QoS 为 9(background)和 33(userInteractive),然后运行压缩,QoS 值较高的进程仍然会在正常时间内完成工作,而 QoS 值较低的进程则出现了延迟,直到 24 秒才完成任务。当使用多个压缩任务来加载处理器时,通过活动监视器观察超线程,

特斯拉首座国产 V3 超级充电站落地深圳,峰值功率 250kW

首座特斯拉国产 V3 超级充电站今日在深圳市联合广场上线,这批国产 V3 超级充电桩来自刚投产不久的上海超级充电桩工厂。

就会发现虚拟的第二个核心承担了一些额外的负载。,我在 M1 上重复了类似的测试,无论是在带有主电源的 Mac mini,还是使用电池的 MacBook Pro,其结果都大不相同。当 QoS 为 9(background)时,所有操作仅在四个节能内核(Icestorm)上运行,即便这四个核心满载,而高性能核心一直空闲。当 QoS 设置为更高的值(从 17 到 33)时,操作会在所有八个核心上运行。,QoS 的设置对任务执行的影响也很明显。当 QoS 为 9(background)时,标准压缩任务耗时 38~43 秒,而当 QoS 设置为更高的值时,操作几乎没有变化。当同时运行两个计算密集型后台任务时,一个任务几乎花费了同样的时间(40 秒),而另一个任务几乎花了两倍的时间(77 秒),这两个任务都仅使用了节能核心。,与 Intel 内核相比,QoS 值较高的操作也更加一致。当 QoS 值较高时,多个任务同时运行与单个任务单独运行所耗费的时间几乎相同,而 QoS 值较低的任务耗费的时间略长,约为 15.5 秒,但仍不到节能核心所需时间的一半。,如果你已经使用了 M1 Mac,则可以观察一下苹果的新策略。打开 “Activity Monitor”,并在 ” 窗口 ” 菜单中通过 “CPU History” 命令观察 M1 是处于空闲还是使用状态。,,下面是我之前使用过的一个测试示例的情况。,,我发现 macOS 使用内核的规律是,几乎所有 macOS 的活动都在节能内核上运行,而高性能内核上只是偶尔才出场。但运行应用和执行其他用户任务会采用相反的方式,首先使用的是高性能核心,然后才是节能核心。这是因为这些用户任务运行使用的 QoS 至少是 17(在许多情况下为 25 和 33)。,就处理器而言,M1 Mac 分为两部分:四个节能内核主要负责运行 macOS 及其许多后台任务,节省下四个高性能核心供用户的应用程序使用。,虽然基准测试表现非常好,但是人们对于 M1 Mac 的评价普遍是,感觉更快,即使性能测量并没有表现出意外的惊喜。一种有效的表现出快速的方法是让 macOS 和用户软件分开使用不同的核心,就像 M1 一样。,在操作系统的问题中,没有什么比界面速度缓慢给用户留下的印象更糟的了。我们都有过类似的经历:遇到某个 mdworker 进程不断崩溃并重新启动,或者其他原因导致 macOS 阻塞。由于这些进程都交给了节能核心,因此它们只会影响到其他 macOS 的后台任务,对我们的影响大大降低。,上图所示的任务运行非常缓慢,花费了 15 分钟才备份了不到 1GB 的文件。如果不是在活动监视器中亲眼观察到,我都完全不知道它的性能有问题。由于加载了英特尔处理器的 Mac 无法以相同的方式将其任务划分到不同的核心上,因此当 macOS 被阻塞时,也会影响用户进程。,我想对那些认为苹果 Macs 台式机应该采用统一核心的人说,拥有八个高性能核心当然很好,但是请不要去掉 macOS 的节能核心。,为应对这一趋势,ARM 推出了大小核心的设计,大核性能强悍支撑高计算资源场景下的用户需求,小核节能降低在待机情况下芯片的耗电量,不过这项技术问世之初,却出现了这样一个诡异的现象,一核有难,N 核围观 ….CPU 的调度出现了问题。

Craig Federighi:苹果认为 Mac 上的恶意软件现状「令人无法接受」

在过去很多年里,macOS 一直都给人一种比 Windows 更加安全的感觉(是否真的如此当然存在争议)。不过日前在出庭为苹果对 Epic 案作证时,苹果软件工程高级副总裁 Craig Federighi 却承认了 macOS 其实也有着自己的问题。「现在 Mac 上的恶意软件已经到了令人无法接受的地步。」他在证词中这么说道,「如果你把 Mac 上的安全技术应用到 iOS 生态圈里,要面对那么多设备,那么高的价值,最终的(恶意软件)情况会比现在的 Mac 还要糟糕。」

正文完
 
admin
版权声明:本站原创文章,由 admin 2021-05-21发表,共计2835字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。