Apple’s M1 is een snelle CPU, maar de M1 Macs voelen sneller aan vanwege de servicekwaliteit

In zoomen / De Apple M1 is een processor van wereldklasse, maar dat is het ook Voelen Zelfs sneller dan de indrukwekkende specificaties al suggereren. Howard Oakley deed een diepgaand onderzoek om erachter te komen waarom.

De M1-processor van Apple is een desktop- en laptopprocessor van wereldklasse, maar als het gaat om algemene eindgebruikerssystemen, is er iets beters dan snelheid. We bedoelen natuurlijk Gevoel Snel – wat te maken heeft met een systeem dat voorspelbaarder en betrouwbaarder aan de verwachtingen van de gebruiker voldoet dan ruwe snelheid.

Howard Oakley – Auteur van veel Mac-aboriginals Diensten Net als Aalscholver, Spundle en Stibium – ze hebben wat gegraven om erachter te komen Waarom Zijn M1 Mac voelde sneller aan dan Intel Macs en concludeerde dat het antwoord QoS was. Als u de term niet kent, is het een afkorting voor servicekwaliteit – en het draait allemaal om het plannen van taken.

Meer productiviteit betekent niet altijd gelukkiger gebruikers

Er is een veel voorkomende tendens om ‘prestatie’ gelijk te stellen aan productiviteit – ruwweg de voltooide taken per tijdseenheid. Hoewel productiviteit over het algemeen de gemakkelijkste maatstaf is om te meten, sluit het niet goed aan bij de menselijke cognitie. Wat mensen over het algemeen opmerken, is niet de productiviteit, maar de latentie – niet het aantal keren dat een taak kan worden volbracht, maar de tijd die nodig is om een ​​individuele taak te voltooien.

Hier bij Ars, de onze Wi-Fi-test De statistieken volgen dit concept – we meten de hoeveelheid tijd die nodig is om een ​​gesimuleerde webpagina te laden onder redelijk normale netwerkomstandigheden, in plaats van het aantal keren dat een webpagina (of iets anders) per seconde kan worden geladen terwijl deze constant actief is.

READ  Google Authenticator op Android verwijdert 'klik om te onthullen'

We zien ook een negatief voorbeeld – een voorbeeld waarin de snelste overdrachtssnelheid overeenkomt met duidelijk ontevreden gebruikers – rond 2006 Invoering Van de volledig eerlijke wachtrij (cfqI / O Scheduler in de Linux-kernel. cfq Het kan breed worden afgestemd, maar in zijn kant-en-klare configuratie maximaliseert het de productiviteit door de lees- en schrijfbewerkingen van de schijf te herschikken om het zoeken te verminderen en vervolgens round robin-service aan te bieden voor alle actieve processen.

Helaas, terwijl cfq In feite verbeterde het de maximale productiviteit aanzienlijk, het deed dit met een verhoogde taaklatentie – wat betekent dat een matig belast systeem traag aanvoelde en niet reageerde op zijn gebruikers, wat leidde tot een enorme toename van klachten.

hoewel cfq Het kan worden ingesteld voor minder latentie, dus de meeste ontevreden gebruikers hebben het volledig vervangen door een schema van een concurrent zoals noop of deadline In plaats daarvan – en ondanks de lagere productiviteitslimiet, maakte de verminderde enkele latentie desktop- / interactieve gebruikers gelukkiger met hoe snel hun apparaat aanvoelde.

Na te hebben ontdekt hoe je suboptimale productiviteit kunt maximaliseren ten koste van latentie, zijn de meeste Linux-distributies afgestapt van cfq Net zoals veel gebruikers hebben gehad. Red Hat is gedumpt cfq naar deadline In 2013, net als RHEL 7 – en Ubuntu volgde kort daarna in 2014 Trusty Tahr (14.04) editie. Vanaf 2019 bezit Ubuntu Verwaarlozen cfq Helemaal.

Kwaliteit van dienstverlening met Big Sur en Apple M1

Toen Oakley opmerkte hoe vaak Mac-gebruikers M1 Macs prezen omdat ze zich ongelooflijk snel voelden – ondanks prestatiestatistieken die deze gevoelens niet altijd ondersteunen – keek hij goed naar de oorspronkelijke macOS-taakplanner.

READ  Crypt of the NecroDancer-ontwikkelaar Brace Yourself Games ontslaat de helft van zijn personeel

MacOS biedt vier direct gedefinieerde niveaus van prioriteitstaken – van laag tot hoog backgroundEn de utilityEn de userInitiated, En de userInteractive. Er is ook een vijfde niveau (de standaardinstelling, wanneer QoS niet handmatig wordt gedefinieerd) waarmee macOS zelf kan beslissen hoe belangrijk een taak is.

Deze vijf niveaus van QoS zijn hetzelfde, of uw Mac nu wordt aangedreven door Intel of Apple Silicon, maar hoe QoS dit afdwingt, verandert. Als het systeem in een Intel Xeon W octa-core CPU inactief is, plant macOS elke taak over alle 8 cores, ongeacht de QoS-instellingen. Maar op de M1, zelfs als het systeem volledig inactief is, background Prioritaire missies voeren uitsluitend de vier lage energie-efficiëntie / kracht van de M1 uit Icestorm Cores, waardoor de vier beter presteren Firestorm Inactieve kernen.

Hoewel dit taken met een lage prioriteit maakte, testte Oakley het systeem door een testbestand van 10 GB te comprimeren – langzamer op een M1 Mac dan op een Intel Mac, maar de bewerkingen waren consistenter over het hele spectrum van “systeem inactief” tot “een extreem druk systeem”.

Operaties met Top De prestaties van de QoS-instellingen op de M1 waren ook consistenter dan die van de Intel Mac – macOS wilde taken met een lagere prioriteit dumpen in Icestorm Kernen lieten alleen hoge prestaties achter Firestorm Kernen zijn leeg en klaar om snel en gelijkmatig te reageren wanneer userInitiated En de userInteractive Taken die moeten worden afgehandeld.

Conclusies

De Apple QoS-strategie voor de M1 Mac is een uitstekend voorbeeld van engineering voor een echt pijnpunt in de werkdruk in plaats van het achterhalen van willekeurige statistieken. Verlaat de hoge prestaties Firestorm Kernen zijn inactief bij uitvoering background Taken betekenen dat ze hun volledige prestaties kunnen wijden aan userInitiated En de userInteractive Taken zodra ze zich voordoen, en vermijd de perceptie dat het systeem niet reageert of zelfs de gebruiker “negeert”.

READ  De Google Maps-bug is mogelijk een officiële Android Auto-functie geworden

Het is vermeldenswaard dat Big Sur zeker Hij kan Gebruik dezelfde strategie met de Intel Octa Core-processor. Hoewel er geen vergelijkbare grote / kleine splitsing is in basisprestaties op x86, weerhoudt niets het besturingssysteem om willekeurig een bepaald aantal cores te declareren background Alleen maar. Wat de Apple M1 zo snel doet aanvoelen, is niet het feit dat de vier cores langzamer zijn dan de andere – het is de bereidheid van het besturingssysteem om maximale productiviteit op te offeren ten gunste van het verminderen van taaklatentie.

Het is ook vermeldenswaard dat de interactieve verbeteringen die M1 Mac-gebruikers zien, sterk afhangen van de taken die in de eerste plaats correct worden gepland – als ontwikkelaars niet bereid zijn om de lage prioriteit te gebruiken. background Wachtrij wanneer het u uitkomt, omdat ze niet willen dat hun app er traag uitziet en iedereen verliest. Apple’s ongebruikelijk verticale softwarepakket zal hier waarschijnlijk enorm helpen, aangezien de ontwikkelaars van Apple waarschijnlijk prioriteit zullen geven aan de algehele systeemreactie, zelfs als het waarschijnlijk is dat hun code er “slecht uitziet” als ze nauwkeurig worden geïnspecteerd.

Als je geïnteresseerd bent in meer subtiele details over hoe QoS-niveaus van toepassing zijn op M1 en Intel Macs – en de impact die ze hebben – raden we je ten zeerste aan om het originele werk van Oakley te bekijken. Hier En de Hier, Compleet met schermafbeeldingen van CPU-geschiedenis op het macOS-activiteitenscherm terwijl Oakley taken beheert met verschillende prioriteiten op twee verschillende architecturen.

Een reactie achterlaten

Je e-mailadres zal niet getoond worden. Vereiste velden zijn gemarkeerd met *