Lập trình viên giải mã lý do chip Apple M1 đạt được hiệu năng đáng nể, bật app lên luôn

P.W
20/5/2021 8:9Phản hồi: 195
Lập trình viên giải mã lý do chip Apple M1 đạt được hiệu năng đáng nể, bật app lên luôn
Howard Oakley, một lập trình viên từng tạo ra không ít những phần mềm dành cho nền tảng macOS vừa rồi đã có một chút vọc vạch để tự mình tìm ra câu trả lời cho câu hỏi vì sao máy Mac trang bị chip M1 lại có hiệu năng ấn tượng đến thế. Kết quả, anh phát hiện ra rằng, Apple tối ưu trải nghiệm phần mềm dựa vào tính năng Quality of Service (QoS), hay còn gọi là sắp xếp tác vụ một cách thông minh.

Về cơ bản, Intel và AMD liên tục quảng cáo sản phẩm của họ, nhấn mạnh vào hiệu năng một giây xử lý được bao nhiêu phép tính. Thực ra thì trong nhiều tình huống, ví dụ như sử dụng CPU trong trung tâm dữ liệu, thì đây là thước đo khá hiệu quả và chính xác để các doanh nghiệp biết họ cần đến giải pháp nào cho hợp lý nhất về hiệu năng và chi phí. Tuy nhiên đối với anh em người tiêu dùng thì chẳng mấy khi để ý đến thước đo này, mà chỉ quan tâm đến việc máy chạy có “nhanh” hay không, ở đây thường đề cập tới tốc độ phản hồi khi kích hoạt một ứng dụng có mượt hay không, hay khoảng thời gian để hoàn thành một tác vụ có nhanh hay không.



Để giải đáp câu hỏi này, Oakley so sánh trực tiếp một chiếc MacBook Pro trang bị chip M1, và một chiếc Mac Pro trang bị chip Xeon 8 nhân, cả hai dùng chung một bản macOS Big Sur. Ý tưởng benchmark so sánh là để kiểm tra hai hệ thống máy tính này xử lý những tác vụ với mức độ ưu tiên khác nhau ra sao. Mặc định thì macOS tự động xác định thứ tự ưu tiên của từng tác vụ, nhưng các lập trình viên cũng có thể tự đặt thứ tự ưu tiên các tác vụ trong phần mềm họ viết theo bốn bậc tăng dần: background, utility, userInitiated và userInteractive.

Oakley sử dụng ứng dụng anh tự viết ra, Cormorant, một bộ công cụ hỗ trợ nén và giải nén dữ liệu, cho phép người dùng chỉnh thứ tự ưu tiên của tác vụ do phần mềm này xử lý. Oakley sau đó thử nghiệm nén một file nặng 10GB.


[​IMG]

Kết quả cho thấy, trên hệ thống máy tính CPU kiến trúc x86, tác vụ nén dữ liệu được dàn đều trên cả 8 nhân chip xử lý Xeon trong trường hợp không có tác vụ hay phần mềm nào chạy song song, để việc nén dữ liệu hoàn thành trong khoảng thời gian ngắn nhất có thể, không phụ thuộc vào thứ tự ưu tiên QoS vì không có tác vụ nào xếp hàng cả. Còn trong trường hợp chạy hai tác vụ nén dữ liệu, một ưu tiên cao, một ưu tiên thấp, thì tác vụ ưu tiên thấp tốn gấp vài lần thời gian mới hoàn thành.

Trái ngược hoàn toàn, QoS trên Mac M1 xử lý khác hoàn toàn so với CPU x86. Ngay cả khi không có tác vụ nào cạnh tranh, macOS vẫn mặc định tự động xếp tác vụ nén 10GB dữ liệu vào dạng thứ tự ưu tiên thấp, chuyển cho nhân CPU tiết kiệm điện IceStorm xử lý, dẫn đến việc thời gian nén dữ liệu chậm hơn so với Xeon. Nhưng bù lại, nếu cần làm một tác vụ nào khẩn cấp hơn hoặc đòi hỏi tài nguyên máy mạnh hơn, MacBook sẽ xử lý luôn thông qua nhân CPU hiệu năng cao FireStorm.

Tinhte_Mac2.jpg

Khi Oakley chỉnh thứ tự ưu tiên của tác vụ nén 10GB dữ liệu lên cấp độ userInitiated và userInteractive, cả 8 nhân CPU hiệu năng cao lẫn tiết kiệm điện của M1 đều được chia việc để hoàn thành nhanh nhất có thể. Khi MacBook Pro M1 được ra lệnh thực hiện thêm những tác vụ nèn dữ liệu với thứ tự ưu tiên thấp, thì những tác vụ ưu tiên cao dần được chuyển hết vào 4 nhân FireStorm để xử lý. Kết quả Oakley thấy xử lý song song tất cả các tác vụ thử nghiệm cũng tốn khoảng thời gian y hệt như xử lý lần lượt.

Nói một cách dễ hiểu hơn, với M1, Apple tối ưu xử lý tác vụ hệt như cách họ tối ưu phần cứng và phần mềm trên iPhone và iPad. Những tác vụ ưu tiên thấp luôn được đẩy vào nhân tiết kiệm điện, để dành tài nguyên của nhân hiệu năng cao cho những tác vụ ưu tiên cao hơn. Từ đó, đối với người dùng bình thường, không quan tâm đến những khái niệm như throughput hay IPC, nhờ vào khả năng tối ưu như thế này, “cảm giác” bật Photoshop hay Lightroom, Premiere click vào phần mềm khởi động ngay đã tạo ra cảm giác máy “mượt” hơn so với những cỗ máy Mac trang bị CPU Intel, vì trải nghiệm dùng máy phản hồi nhanh hơn rất nhiều.

Trên lý thuyết, Apple hoàn toàn có đủ khả năng để tối ưu những chiếc máy Mac trang bị CPU Intel để nó vận hành giống như Mac chạy chip M1, ví dụ như bắt một vài nhân của CPU chỉ chạy tác vụ ưu tiên thấp, và ngược lại. Điều này cũng có phần tương đồng với tư duy tích hợp dọc của Apple khi tối ưu sản phẩm của họ, nơi phần mềm được tinh chỉnh để tận dụng tối đa khả năng phần cứng.

Còn trong khi đó, cả Intel lẫn AMD đều đang rục rịch học theo kiến trúc big.LITTLE mà ARM phác thảo ra, để tạo ra những chip CPU phục vụ máy tính desktop hay laptop trong thời gian tới, trang bị cả nhân xử lý hiệu năng cao lẫn tiết kiệm điện, để chí ít là có thể phần nào đem trải nghiệm của Mac M1 sang cho anh em dùng Windows 10. Đối với Intel, kiến trúc Alder Lake dự kiến ra mắt cuối năm nay sẽ có cả nhân CPU hiệu năng cao Golden Cove kết hợp chung với nhân CPU tiết kiệm điện Gracemont trong cùng một con chip. Tương tự là AMD, với kiến trúc Zen 5 cũng triển khai theo bố cục tương tự.

Quảng cáo



Theo Techspot
195 bình luận
Chia sẻ

Xu hướng

vn_soft
CAO CẤP
3 năm
Định nghĩa lại nhiều thứ thế này có chết không chứ???
hktrung
ĐẠI BÀNG
3 năm
@dacminhm Giống đang tự vả, có hiểu khi nào nhân yếu xử lý và khi nào nhân mạnh xử lý, tác vụ chạy background là thế nào không? Ví dụ thì cũng dùng não tí
luckyboy71
TÍCH CỰC
3 năm
Tôi đang làm việc trong một hãng lắp ráp server khi chạy test máy tiếng ồn quạt giải nhiệt rít như máy bay phản lực rất khó chịu và làm tổn thương tai… thiết nghĩ vài năm nữa server sẽ chạy được bằng những CPU kiểu như Apple Silicone sẽ rất hữu ích về điện năng giải nhiệt, tiếng ồn và cả không gian để chứa các máy server… hi vọng những gì Apple đang làm mở ra một trang mới thật hoành tráng cho cái gọi là Green IT trong tương lai gần.
vn_soft
CAO CẤP
3 năm
@Luvideez Tôi xin phép cười lại vào mặt anh haha
vailin
CAO CẤP
3 năm
Tưởng quan trọng vẫn là apple gói gọn hết cả cpu gpu và ram vào trong một con chip
laiviet
TÍCH CỰC
3 năm
Cái dán lên CPU với cái RAM nằm trên thanh riêng là cả một sự khác biệt lớn đó. Tất cả nghiên cứu kiến trúc máy tính là chỉ để làm sao giảm thời gian chuyển dữ liệu giữa RAM và CPU. Thế mới sinh ra cache L1, L2, L3 các kiểu.
Carl
CAO CẤP
3 năm
@laiviet Bác mất công giải thích mà gặp cái ngữ cố tình không hiểu thì cũng như không.
Mình phủ nhận "apple gói gọn hết cả cpu gpu và ram vào trong một con chip"
tức là bạn đồng ý zậy quote bài mình làm chi? =))
anhtuanph
ĐẠI BÀNG
3 năm
Nghe có vẽ chưa thuyết phục. M1 đâu chỉ nhanh ở giai đoạn mở ứng dụng mà nhanh trong quá trình xử lý nữa. Có ai rành có thể làm rõ thêm không
True Grit
TÍCH CỰC
3 năm
@P.W Như vậy thì trong bài này tiêu đề rõ ràng có vấn đề rồi.
@True Grit Có lý, để em sửa lại
qloved
CAO CẤP
3 năm
Lời giải thích không thuyết phục lắm cho việc tại sao CPU M1 có hiệu năng tốt hơn CPU intel.
Vì Apple cố tình lập lịch ở mức hđh cho các task trên CPU M1 khác với khi chạy bằng CPU intel nên mới dẫn đến kết quả khác nhau, giả thiết nếu CPU intel được lập lịch để chạy các tác vụ như CPU M1 thì có đạt được hiệu năng tương đương không? Và câu cuối của anh chàng "lập trình viên" kia cũng xác nhận là CPU intel vẫn có thể thực hiện được tương tự như CPU M1 (do không có sự phân biệt nhân hiệu năng cao và hiệu năng thấp, nhân nào cũng là hiệu năng cao do đó hoàn thành trong thời gian thấp hơn nên có thể CPU intel lại có lợi thế nào đó)
@Lê Sơn math @Long K.H Ai bảo chip ko có khả năng lập lịch vậy bạn? Hỏng cả 1 thế hệ.
https://www.anandtech.com/show/15979/intel-alder-lake-confirmed-x86-hybrid-with-golden-cove-and-gracemont-for-2021
Intel Alder Lake: Confirmed x86 Hybrid with Golden Cove and Gracemont for 2021
anandtech.com

Cái bạn thấy kia chỉ là phần OS nó lập lịch thôi chứ thật ra trong CPU nó có scheduler nhé để đẩy nhanh tốc độ schedule, còn bạn muốn tune app theo nhu cầu của bạn thì lúc đấy sử dụng phần mềm nào đấy để sắp xếp công việc.
không có ai trên đời này là đi thiết kế cái hệ thống bị duplicate tính năng Job Scheduler 2 lần cả ông tướng ạ =)) bớt bớt đi

m thử dùng Mac Intel xem nó có chạy full CPU cho tác vụ nén dữ liệu không nhé
@vanlinh2905 Mình ko biết sao chứ trong Win nó có HW GPU scheduler kìa bạn, chắc ba ông lớn Microsoft NVDIA AMD đều bị điên hết nhỉ 😃
Như mình nói ban đầu ngay trong chip nó đã có scheduler rồi và thằng này chuyển nhanh hơn kernel, còn bạn muốn tùy chỉnh sao cho phù hợp với bạn thì lúc này bạn dùng kernel để chỉnh nhé 😃
Untitled.png
Kelamtro
TÍCH CỰC
3 năm
@Ethereum dễ hiểu mà, đồ của nhà tối ưu lúc nào cũng dễ hơn, chứ h đi tối ưu chip của intel vừa mệt vừa tốn, rõ ràng m1 nó làm tốt nhiệm vụ của nó, tối ưu k chỉ sức mạnh, qtr nhất là tối ưu về mặt năng lượng thứ mà chip intel chưa làm đc 😗
HamDzui
CAO CẤP
3 năm
Tóm lại Apple có thể tối ưu cho Intel/AMD nhưng nó chả muốn nữa vì muốn tự phát triển chip nhà trồng. Vả lại chỉ cần M1 bằng được 60-80% chip Intel/AMD nhưng tối ưu thì vẫn chả thua kém gì nhưng tiết kiệm được năng lượng, giảm sức nóng khiến toàn bộ hệ thống đỡ bị hư hỏng hơn

Hy vọng Microsoft biết cách tối ưu Windows để mấy cái máy cũ chạy chip Intel tốt hơn, cũng hốt được 1 mớ khách hàng chạy Boot Camp trên Windows 10...

Giờ còn 1 số máy cũ như Macbook Air 2011 i7 4GB nâng lên Windows 10 21H1 chạy nhanh như xé gió các tác vụ cơ bản nên chả suy nghĩ gì cả chuyện đổi qua Windows trên Mac Mini M1... 2 tay 2 máy xài thôi
@jack_kernel giờ ai xài ghost nữa =))
HamDzui
CAO CẤP
3 năm
@hieupy89 Mình cũng không quan tâm đến M2 nữa vì M1 vọc đến giờ vẫn chưa xong. Khá hài lòng với M1 trên Mac Mini 16GB và 8GB
@HamDzui apple ra mấy con macbook M1 ở giá thấp hơn các macbook thấp nhất của intel nhưng sức mạnh lại ngang macbook core i7. Đây là chỉ là thử nghiệm của apple. sắp tới sẽ có 1 loạt macbook arm thế hệ mới mạnh hơn với giá đắt hơn để thay cho laptop intel.
HamDzui
CAO CẤP
3 năm
@hieupy89 Đến đâu hay đến đó thôi. Giờ chả quan tâm đến M2 hay bao nhiêu nếu công việc ổn. Giờ chỉ còn màn hình 32-34 in 8K nữa thôi
đúng là dùng sướng thật, máy ông bên cạnh mình chạy docker + 3 terminal mà quạt kêu quá trời trong khi máy mình thì không kêu gì hết, phải nó là nó phê
dung89sr
ĐẠI BÀNG
3 năm
@HungNguyen94 Thế có nóng không bạn?
@dung89sr Không biết nóng không chứ thấy avatar của ổng là thấy nóng ran hết cả người 😁
@dung89sr không nóng bạn ơi, nếu ngồi máy lạnh nữa thì cảm giác không ấm luôn chứ nói chi nóng
cccccc6
TÍCH CỰC
3 năm
Chả nói đâu xa. Riêng con chíp A14 Bionic cũng mạnh ngang ngửa con chip Core i9 của Intel rồi
@cccccc6 Sao không nói mạnh hơn luôn đi ngang ngữa làm gì 😆
tanngle
TÍCH CỰC
3 năm
@cccccc6 Cứ mong đối thủ giãy chết xong thì một mình một ngựa hãng muốn làm cái gì chả phải theo răm rắp 😆)
@cccccc6 "Riêng con chíp A14 Bionic cũng mạnh ngang ngửa con chip Core i9 của intel bị Apple BÓP hệu năng vì đống VRM quá nóng"
đúng không?
mrdrg10
TÍCH CỰC
3 năm
chả lquan, vì theo thứ tự thôi thì mac chạy intel đâu có bị lhasc so với m1
Rev
CAO CẤP
3 năm
Nên sửa tiêu đề là: " Dù có ghét Apple nhưng vẫn phải thừa nhận chip M1 vô đối" 😆
Nôm na là nâng M1 bóp Intel 😆
@hqm_thunderlion Giống kiểu chip mạng QC mạnh hơn intel thì tao chỉnh phần mềm lại cho nó bằng nhau. Lúc mua tụi bay khỏi kiểm tra máy dùng chip mạng nào.
True Grit
TÍCH CỰC
3 năm
@hqm_thunderlion Nếu làm theo nguyên lý này trên chip intel thì mình nghĩ khả năng cao sẽ làm cho tốc độ phản hồi nhanh nhưng xử lý mọi thứ chậm đi. Nói chung sẽ giảm hiệu năng chip intel đi đó.
Dân đồ họa có nên mua Macbook pro 2020 M1?
Chào ae, bé em mình nhờ mua máy macbook, nó làm đồ hoạ dùng chủ yếu Photoshop, AI, InDesign, ngoài ra còn một chút các phần mềm đồ hoạ khác (corel, sketchup) thì có nên mua chip M1 ko?
Mình đọc thấy một sốt có hỗ trợ Rosetta 2 gì đó, chạy qua cái này có dễ dùng ko? (bé em nữ & cũng ko rành công nghệ), mình thì cũng newbie với macbook nên nhờ ae tư vấn.
Xin chân thành cám ơn
@nguyenhuynhvn Dân đồ họa mà còn model 3d nữa thì bỏ ý định Macbook đi nha, vì các phần mềm của Adobe trên Mac thì tốt nhưng còn 3D như sketchup thì không ổn. Với cả model rồi còn phải có phần mềm render các thứ nữa.
Mac chưa dành cho dân 3d đồ họa.
Nên mua máy window cấu hình cao một chút, chí ít là như mấy con gaming.
@pikupi Rosetta đâu phải máy ảo 😱
Nó tái biên dịch lại thì đào đâu ra lag 🤡
@hieunguyen7120 không lag nhưng vẫn có lỗi đấy bạn, Ai nhiều lúc lỗi file khó chịu lắm.
@legiabao95 lỗi nó khác với lag
Chẳng hiểu Apple tối ưu chip Intel kiểu gì mà suốt ngày fan Táo chê quạt kêu, quạt hú. Trong khi đó chip Intel core i5 gen 7th vẫn chạy Windows 10 phà phà có thấy quạt kêu, quạt hú gì đâu?
@From Team B With Love Apple làm hệ thống tản nhiệt kém nên thế. Trên đt cũng rất kém, nên con A14 mới fail so vs A13 đó.
pikupi
TÍCH CỰC
3 năm
@From Team B With Love nói ra tiếng công bằng thì Mặc định thì Apple cho CPU chạy xung nhịp rất cao, Apple làm tản nhiệt kém so với chip Intel vẫn dùng 14nm và nhiều nhân nữa, rất nóng. Từ khi dùng chip M1 ra thì bỉu môi chip Intel là chuẩn, Intel dậm chận quá lâu, tôi cũng dùng cảm thấy khó chịu, đợi nền tảng ARM được hỗ trợ hầu hết app cho nhu cầu thì đổi qua thôi, bye bye Intel, chậm chân là bị thay thế liền.
@From Team B With Love Bạn chạy môi trg dev local mà ram lên 32GB chưa. Bạn biết tắt máy đi khởi động lại đống services hết tầm 30-60p chưa?
bachcudi
ĐẠI BÀNG
3 năm
@From Team B With Love Do hy sinh mặt tản nhiệt để làm đẹp thiết kế thôi, sướng con mắt thì dùng phải chịu chớ biết sao 🤣
Nói chung là phần mềm và phần cứng hiểu nhau thì mọi việc suôn sẻ. Cách phân bổ dữ liệu để xử lý trên chip M1 khá là thông minh và hiệu quả. Bản thân Apple dù giỏi thế nào thì MAC OS cũng không thể hiểu rõ chip x86 của Intel nên khả năng tối ưu hóa của M1 tốt hơn hẳn rồi. Việc tối ưu hóa cũng góp phần giảm điện năng tiêu thụ cho mỗi quy trình xử lý dữ liệu nữa. Hy vọng chip x86 sẽ có sự học tập nhất định từ ARM để hiệu năng/watt tốt hơn nữa
Như vậy, tư duy lại cách sử dụng tài nguyên (để tăng hiệu quả) còn quan trọng hơn là cố tăng nhiều tài nguyên.

Một đồng tiền mà sử dụng hiệu quả sẽ sinh lợi nhiều hơn mười đồng mà không biết cách xài.
@tibeo Hợp lý 👍
@tibeo Thì tương tự máy chủ nhiều nhân, mà mấy ông dev lập trình code tư duy lỗi thì thọt vậy thôi.

Em chém gió chứ chả biết mô tê gì về IT =))
@tibeo nó chỉ có tác dụng với những tác vụ cơ bản còn khi vào việc thì cũng không khá hơn gì
_ KHÔNG thuyết phục lắm ... Theo ngu ý của mình, việc ghép RAM, CPU trên cùng die khiến rút ngắn thời gian chuyên tiếp dữ liệu, băng thông tăng cao đáng kể mới là điều khiến chip M1 của Apple có hiệu năng ấn tượng như vậy. Hiện tại các thiết bị laptop thông thường đều để ram ở 1 khu riêng và cách xa so với CPU, cần chạy qua bus dài hơn so với khoảng cách ram - cpu trong chip M1, đấy là thiệt hại đáng kể về hiệu năng. Cho tới khi các hãng sản xuất có thể nhét Ram và CPU trên cùng 1 die như Apple thì may ra đuổi kịp hiệu năng.
Akinori
TÍCH CỰC
3 năm
"The company has made it so low-priority tasks will always run on the high-efficiency cores and let the high-performance cores stay idle to save power."

=> Apple đã làm cho những tác vụ có độ ưu tiên thấp luôn chạy trên lõi hiệu suất thấp (hiệu quả cao) và để cho lõi hiệu suất cao nhàn rỗi để tiết kiệm điện 😁

Nói sơ về QoS - Quality of Service.

Lập trình viên có thể lập trình cho các tác vụ chạy với độ ưu tiên khác nhau. QoS có 4 độ ưu tiên

+ userInteractive: Sử dụng cho các tác vụ đồ họa, hoạt họa hoặc cập nhật UI

+ userInitiated: Sử dụng cho các tác vụ tải dữ liệu, ngăn chặn người dùng can thiệp.

+ utility: Sử dụng cho các tác vụ mà người dùng không cần biết

+ background: Sử dụng cho các tác vụ chạy nền như sao lưu dữ liệu hay dọn dẹp nói chung là ưu tiên thấp nhất.
lordgon
TÍCH CỰC
3 năm
Đã quá muộn rồi
@lordgon Uh khuya rồi, ngủ thôi
SonPGT
ĐẠI BÀNG
3 năm
@lordgon Có gì đâu mà muộn, ý định sử dụng chip riêng cho mình đã có từ thời Steven Job rồi, trc sau gì nó cũng diễn ra thôi. Như bài báo thì Apple có thể tối ưu chip Intel như M1 nhưng Apple ko làm là đủ hiểu rồi
lordgon
TÍCH CỰC
3 năm
@Cu Cứng cay 😆

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019