برنامهریزی هوشمندانه سیستمعامل، یکی از دلایل عملکرد سریع تراشه M1 اپل است
پس از عرضهی کامپیوترهای مبتنیبر M1، یکی از مواردی که عموما از جانب کاربران مطرح میشد پاسخگویی بسیار سریع CPU حتی در کاربریهای روزمره بود. حال یکی از توسعهدهندگان نرمافزارهای macOS، سرنخهایی در مورد رمز موفقیت اپل در این زمینه دست یافته است. سرعتعمل M1 بیشاز آنکه به ارتقای عملکرد CPU مربوط باشد، به تغییراتی بازمیگردد که مهندسان اپل در نوع واکنش macOS به پارامترهای کیفیت خدمات (QoS) و نحوهی برنامهریزی بارهای پردازشی روی تراشه ایجاد کردهاند.
به گزارش وبسایت extremetech، دکتر هاوارد اوکلی، توسعهدهندهی نرمافزارهای مک و جراح سابق نیروی دریایی سلطنتی اخیرا درمورد بررسیهای دربارهی تفاوت بین مک مجهز به تراشهی M1 اپل و مکپرو مجهز به پردازندهی زنون و علت تفاوت عملکرد macOS در آنها مقالهای منتشر کرده است که نشان میدهد چرا M1 عملکرد بسیار خوبی دارد.
برای درک بهتر یافتههای دکتر اوکلی، بهتر است کمی به تاریخچهی تراشهها بپردازیم. هنگامی که پردازندهی پنتیوم چهار معرفی شد، یکی از چالشهای آزمایش هایپرتردینگ، دشواری اندازهگیری دقیق تأثیر این قابلیت روی عملکرد سیستم بود. اسکات واسون که در آن زمان در TechReport فعالیت میکرد، برای توضیح نحوهی عملکرد پنتیوم چهار در مقایسه با یک پردازندهی دیگر که از قابلیت هایپرتردینگ بهره نمیبرد، از اصطلاح «به نرمی و روانی خامه» استفاده کرد. حتی با اینکه پردازندههای Athlon XP شرکت AMD آن زمان در عملکرد تکهستهای سرعت بیشتری داشتند، فعال شدن قابلیت هایپرتردینگ، سرعت عملکرد سیستم را بالا نگه داشت.
حال به سالهای ۲۰۰۸ تا ۲۰۰۹ و معرفی نسل اول پردازندههای سری اتم اینتل نگاهی میاندازیم؛ درحالیکه هیچکدام از سیستمهای Atom مجهز به Bonnell از پردازندهی مرکزی قدرتمندی بهره نمیبردند، اینگونه احساس میشد که نِتبوکهای مبتنی بر چیپستهای Ion انویدیا (تراشههایی برای دستگاههای کوچک که پردازندههای اتم، واحد گرافیکی و رم را دربرمیگرفتند) در کلاس کاملا متفاوتی از دستگاهها قرار داشتند. اگرچه پردازندهی گرافیکی یکپارچه انویدیا فقط رابط کاربری ویندوز ۷ را اجرا میکرد، با این حال باعث شد در مقایسه با تراشهی ۹۴۵ اینتل، برتری کاملی داشته باشد.
ما پیشینهای تاریخی از ویندوز در اختیار داریم تا تأثیر بارگذاری صحیح وظایف و تأثیر آن روی پاسخگویی وظایف را نشان دهیم. در دوران مدرن امروزی، macOS به توسعهدهندگان اجازه میدهد تا سطوح مختلف QoS را تعریف کنند. آزمایش دکتر اوکلی روی پردازندهی x86 نشان میدهد تا زمانیکه برنامهای با QoS بالاتر درحال اجرا نباشد، تِرِدها در هر تنظیمات QoS با بیشترین سرعت ممکن اجرا خواهند شد. در آزمایشهای او، زمان فشردهسازی برای یک فایل ۱۰ گیگابایتی همواره بین ۵٫۶ تا ۶٫۶ ثانیه بود. آزمایش همزمان چند نمونه از برنامه نشان داد نسخهای که QoS بالاتری دارد در همان بازهی زمانی ۵٫۶ تا ۶٫۶ ثانیه اجرا میشد؛ درحالیکه اجرای برنامه با QoS پایینتر، ۲۴ ثانیه طول کشید. همهی این کموبیشها، معادل انتظارات ما از ویندوز است.
تراشهی M1 رفتار متفاوتی دارد. دکتر اوکلی در این رابطه اینگونه توضیح داده است:
همهی عملیاتها با QoS معادل ۹ (پسزمینه) منحصرا روی چهار هستهی کممصرف Icestorm اجرا میشدند؛ حتی زمانیکه این هستهها بهصورت کامل زیر بار پردازشی قرار داشتند، هستههای دیگر همچنان آزاد بودند. عملیاتی با QoS بالاتر بین ۱۷ تا ۳۳، روی هر هشت هسته اجرا شد.
مقالهی مرتبط:عملکرد تحسینبرانگیز پردازنده M1 اپل در بنچمارکهای رسمیهرآنچه درباره تراشه M1 و M1 Pro و M1 Max اپل باید بدانید
بهعبارت دیگر، اپل نحوهی تعامل macOS با M1 را برای اولویتدادن به پاسخگویی بهتر، تغییر داده است. هستههای پرقدرت Firestorm بهجای اجرای وظایف پسزمینه یا بهروزرسانیهای سیستمعامل، برای اجرای برنامههایی با اولویت بالا رزرو شدهاند. اگر برنامه به حداکثر کارایی نیاز داشته باشد، همچنان میتواند روی هر هشت هستهی این پردازنده اجرا شود، حتی اگر این امر باعث بروز لگهایی در سیستم شود. بدینترتیب وظایف سیستمعامل ترجیحا در پسزمینه اجرا میشود؛ حتی زمانیکه استراتژی یادشده بهمنظور کاهش مصرف انرژی، باعث کندتر شدن سرعت اجرای وظایف شود.
دلیل خاصی برای اینکه چرا یک پردازندهی x86 نمیتواند چنین عملکردی ارائه دهد، وجود ندارد؛ درحالیکه تراشههای x86 تقریبا همگن هستند، سیستمعامل میتواند مجموعهای از هستهها را برای پردازش وظایف پسزمینهی موردنظر خود مورداستفاده قرار دهد؛ درحالیکه سایر هستهها برای ارائهی حداکثر قدرت عملکرد رزرو شدهاند.
روش اپل، یک راهکار هوشمندانه برای بهبود تجربهی کاربر نهایی بهحساب میآید. اکنون اینتل درحال حرکت به سمت معماری هیبریدی خود موسوم به آلدرلیک است و امکان دارد مدتی بعد شاهد استفاده از پردازندههای هیبریدی x86 در ویندوز ۱۰ و ۱۱ باشیم تا بدین ترتیب مصرف انرژی به حداقل میزان ممکن رسیده و در عینحال، عملکرد سیستم به حداکثر برسد.
یکی از دلایل مهمی که تراشههای M1 اپل عملکرد بسیار خیرهکنندهای دارند به چگونگی برنامهریزی سیستمعامل macOS بازمیگردد.