Shortcomings of Apple M1 Mac mini

Message boards : Number crunching : Shortcomings of Apple M1 Mac mini

To post messages, you must log in.

1 · 2 · Next

AuthorMessage
Heisenberg Heuristics

Send message
Joined: 26 Apr 20
Posts: 1
Credit: 3,948,586
RAC: 0
Message 100290 - Posted: 2 Jan 2021, 0:58:40 UTC

I cannot recommend the Apple M1 Mac mini, at least for Rosetta. My old Linux box with 8 cores, 16M memory -- only used 5M -- would process 8 tasks in about 8 hours. The estimated time for a Rosetta task is now 36 hours. Only 1 to 3 are running, 2 to 4 tasks are waiting for memory.

Time to repair the Linux box.
ID: 100290 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile Grant (SSSF)

Send message
Joined: 28 Mar 20
Posts: 1330
Credit: 13,624,788
RAC: 10
Message 100291 - Posted: 2 Jan 2021, 1:52:05 UTC - in response to Message 100290.  

My old Linux box with 8 cores, 16M memory -- only used 5M -- would process 8 tasks in about 8 hours.
The default Runtime for all Rosetta tasks is 8 hours, unless you select otherwise.



The estimated time for a Rosetta task is now 36 hours.
A new application on a new system will take a while for it to settle down on the actual processing time.



Only 1 to 3 are running, 2 to 4 tasks are waiting for memory.
Some Tasks may require 4GB of RAM, others only 200MB or so. If you allow 1.3GB of RAM per Task, and in your BOINC preferences allow BOINC to use it (i have mine set to us at most 95% when in use & not in use) memory will be an issue only in the rarest of cases.
A system with only 8GB of RAM with 8 cores/threads, and relying on system RAM for video as well, there is no chance of being able to use all those cores & threads unless you increase the system RAM to 16GB or more.
Otherwise just limit the number of cores/threads available to 50% or so.


And it would be worth running the BOINC Benchmarks (Tools, Run CPU benchmarks) to improve the Credit awarded for work done.
Grant
Darwin NT
ID: 100291 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Brian Nixon

Send message
Joined: 12 Apr 20
Posts: 293
Credit: 8,432,366
RAC: 24
Message 100292 - Posted: 2 Jan 2021, 1:54:08 UTC - in response to Message 100290.  
Last modified: 2 Jan 2021, 2:03:13 UTC

It does seem that Rosetta the Apple binary translator is very memory-hungry with Rosetta the protein modeller – requiring 2 GB or more for a task that would need maybe 500 MB on native x86_64.

Users with more RAM have reported some impressive results with the M1 Mac mini.
ID: 100292 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
MarkJ

Send message
Joined: 28 Mar 20
Posts: 72
Credit: 24,823,384
RAC: 584
Message 100293 - Posted: 2 Jan 2021, 10:28:54 UTC

Its got 4 performance and 4 efficiency cores so the best you could expect would be 4 tasks running (on the performance cores). I see you have the 8GB variety so if Rosetta 2 uses another 500MB on top of the project app it obviously isn’t enough to run 4 at a time even. The good news is at least the app runs, over on Einstein they all fail.

Things might change if the project build an aarch64 OSX app, but who knows how long that could take. BOINC also needs updating to pass the CPU information across to the server so it can provide the most appropriate app.
BOINC blog
ID: 100293 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile Grant (SSSF)

Send message
Joined: 28 Mar 20
Posts: 1330
Credit: 13,624,788
RAC: 10
Message 100294 - Posted: 2 Jan 2021, 10:49:39 UTC - in response to Message 100293.  

BOINC also needs updating to pass the CPU information across to the server so it can provide the most appropriate app.
I wouldn't have thought BOINC would need updating, just the project configuration files on the project server.
Grant
Darwin NT
ID: 100294 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Brian Nixon

Send message
Joined: 12 Apr 20
Posts: 293
Credit: 8,432,366
RAC: 24
Message 100296 - Posted: 2 Jan 2021, 13:07:25 UTC - in response to Message 100294.  

The CPU field for an M1 machine is blank; the source code still has a TODO for Apple arm64…
ID: 100296 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Brian Nixon

Send message
Joined: 12 Apr 20
Posts: 293
Credit: 8,432,366
RAC: 24
Message 100297 - Posted: 2 Jan 2021, 13:13:03 UTC - in response to Message 100292.  
Last modified: 2 Jan 2021, 13:15:37 UTC

Users with more RAM have reported some impressive results with the M1 Mac mini
… also by restricting the number of cores BOINC can use at any one time.

(Computing preferences » Use at most 38% of the CPUs)
ID: 100297 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
MarkJ

Send message
Joined: 28 Mar 20
Posts: 72
Credit: 24,823,384
RAC: 584
Message 100299 - Posted: 2 Jan 2021, 20:26:58 UTC - in response to Message 100294.  

BOINC also needs updating to pass the CPU information across to the server so it can provide the most appropriate app.
I wouldn't have thought BOINC would need updating, just the project configuration files on the project server.

I believe it just shows whatever the core client passes as part of the scheduler request. If the core client is updated to capture it then it should come across. Unfortunately there is only one volunteer Mac developer for BOINC and he is trying to retire.
BOINC blog
ID: 100299 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
CIA

Send message
Joined: 3 May 07
Posts: 100
Credit: 21,059,812
RAC: 0
Message 100332 - Posted: 7 Jan 2021, 20:13:08 UTC
Last modified: 7 Jan 2021, 20:13:20 UTC

I'm just going to chime in here, as we just took delivery of a M1 based MacMini for our front desk person here at work, but I intercepted it to "test" prior to deployment as a basic outlook/word processing box.

Our machine has 16GB of RAM, 512GB HD. Last night I started Rosetta, but also was compressing an hour long video (ProRes 422 --> H.265) using Apple Compressor, I have to say, the power of this machine doing both tasks is impressive. With BOINC set to 'always run', the video encode was still twice as fast as my classic 12c/24t MacPro, even when the MacPro is only encoding and doing nothing else.

So anyway, the first few tasks have a longer CPU time then you would normally see for a machine dedicated to 100% BOINC/Rosetta because of the background encode. Also I was just reminded in this thread about the memory options in the computing pref menu. I now have the machine set to use 90% of the memory all the time. For the next 24 hours I'm going to just run Boinc alone, and see how it does as it settles in. The first 8 tasks were not really clean as the memory was set low and the computer was also encoding video.

It will be interesting to see how the tasks are handled with 4 of the 8 cores being low power, highly efficient, vs the other 4 being high power, high speed. Of the 8 tasks downloaded and running, it will sometimes run all 8 at once, but most of the time I see "waiting for memory" on a few tasks. Currently as I look over at it, 5 of 8 tasks are running, the rest have no memory. Activity Monitor shows only 8GB of RAM being actively used (out of 16 available), so the emulation software running behind the scenes must be sucking up quite a bit.

It would be nice to see a M1 native version of the BOINC client, and the Rosetta application (Not to be confused with the Apple Rosetta2 emulation layer) to see what this machine can really do.
As others have mentioned, even running full bore last night with Rosetta and full GPU video compression happening, you couldn't hear the machine at all, the fan didn't seem to be working hard (or at all) and the Mini was barely warm to the touch.

If you want to see it in action over the next day or so, machine is here: https://boinc.bakerlab.org/rosetta/show_host_detail.php?hostid=5980699
ID: 100332 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
CIA

Send message
Joined: 3 May 07
Posts: 100
Credit: 21,059,812
RAC: 0
Message 100333 - Posted: 7 Jan 2021, 22:00:05 UTC
Last modified: 7 Jan 2021, 22:00:33 UTC

Here's a screenshot showing CPU, memory etc usage on the M1 Mini. I'm guessing the first 4 cores are the low power ones.

ID: 100333 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
CIA

Send message
Joined: 3 May 07
Posts: 100
Credit: 21,059,812
RAC: 0
Message 100336 - Posted: 8 Jan 2021, 3:52:47 UTC
Last modified: 8 Jan 2021, 3:53:23 UTC

Just a little update after running it for most of the day. It eventually settled down and pretty much only runs on 3 of the 8 cores and never goes over 7.5GB of RAM, even when nothing else is running. (Again, 16GB machine) All the other tasks are either "waiting to start" or "waiting for memory".

The numbers (per core) that it puts up once it finishes a WU are impressive, especially considering it's running everything under emulation. Unfortunately, until the memory issue is solved with a native app it's a lot of power going to waste. It does crunch, just not to it's full potential.

I do look forward to seeing the full potential once a native version of BOINC and Rosetta are released for Apple Silicon going down the road.
ID: 100336 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile Grant (SSSF)

Send message
Joined: 28 Mar 20
Posts: 1330
Credit: 13,624,788
RAC: 10
Message 100337 - Posted: 8 Jan 2021, 5:54:55 UTC - in response to Message 100336.  

Just a little update after running it for most of the day. It eventually settled down and pretty much only runs on 3 of the 8 cores and never goes over 7.5GB of RAM, even when nothing else is running. (Again, 16GB machine) All the other tasks are either "waiting to start" or "waiting for memory".
In your Rosetta account, Preferences, When and how BOINC uses your computer, Computing preferences, what are your memory settings?
eg
    When computer is in use, use at most 95 %
When computer is not in use, use at most 95 %

Grant
Darwin NT
ID: 100337 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Sid Celery

Send message
Joined: 11 Feb 08
Posts: 1826
Credit: 33,758,744
RAC: 7,060
Message 100339 - Posted: 8 Jan 2021, 12:44:52 UTC - in response to Message 100337.  

Just a little update after running it for most of the day. It eventually settled down and pretty much only runs on 3 of the 8 cores and never goes over 7.5GB of RAM, even when nothing else is running. (Again, 16GB machine) All the other tasks are either "waiting to start" or "waiting for memory".
In your Rosetta account, Preferences, When and how BOINC uses your computer, Computing preferences, what are your memory settings?
eg
    When computer is in use, use at most 95 %
When computer is not in use, use at most 95 %

Earlier he says he's set it to 90% so I'm not sure how much that will help, particularly on a machine that's used for other things during the day.
I'm wondering whether setting it to run 75% of cores will release holding onto so many "waiting for memory" tasks and allow more tasks to actually run.
But I know nothing at all about any form of Mac - just something that can work on machines I am familiar with.
ID: 100339 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
CIA

Send message
Joined: 3 May 07
Posts: 100
Credit: 21,059,812
RAC: 0
Message 100345 - Posted: 8 Jan 2021, 21:40:41 UTC - in response to Message 100337.  
Last modified: 8 Jan 2021, 21:42:07 UTC

Just a little update after running it for most of the day. It eventually settled down and pretty much only runs on 3 of the 8 cores and never goes over 7.5GB of RAM, even when nothing else is running. (Again, 16GB machine) All the other tasks are either "waiting to start" or "waiting for memory".
In your Rosetta account, Preferences, When and how BOINC uses your computer, Computing preferences, what are your memory settings?
eg
    When computer is in use, use at most 95 %
When computer is not in use, use at most 95 %


I had the machine set to 90% on both. I did a fresh restart of the machine, and only launched BOINC and Activity Monitor (to see CPU and memory use). I had BOINC in the foreground (as the active app), and ran nothing else for the entire day and as I mentioned, stayed consistent between 7-8GB of memory used, never more.

Currently I'm encoding something in Premiere while running out the last task, and memory use is bumping up against the 16GB max, so it can use more memory when other things are going on. The last task running is one of those rb monsters, taking up over 2.5GB of memory at around 65% complete.
ID: 100345 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile Grant (SSSF)

Send message
Joined: 28 Mar 20
Posts: 1330
Credit: 13,624,788
RAC: 10
Message 100346 - Posted: 8 Jan 2021, 21:50:41 UTC - in response to Message 100345.  
Last modified: 8 Jan 2021, 22:02:59 UTC

I had the machine set to 90% on both. I did a fresh restart of the machine, and only launched BOINC and Activity Monitor (to see CPU and memory use). I had BOINC in the foreground (as the active app), and ran nothing else for the entire day and as I mentioned, stayed consistent between 7-8GB of memory used, never more.
And what is your Use at most xxx % of the CPUs set to?
You haven't got anything different in your local preferences?

Storage, memory & core limits are the only things i can think of that would limit the number of cores in use, and the waiting for memory status indicates that it's a memory limit issue, but your Task Manager is showing plenty available for at least another Task or 2 to run.
I can see a large Task or 2 causing memory issues, but most of the Tasks lately have used very little RAM.


Could be an issue with Apple's Rosetta and how it translates & reports RAM usage to the application running under it.
Certainly a native BOINC & science application would sort such an issue out & allow full use of the system's available resources.

EDIT-
or maybe a limitation of Apple's Rosetta (or it's configuration) so it can't use more than 50% of available RAM (or something similar). A limit on resources for non-native applications to leave plenty for the OS & native applications.
Grant
Darwin NT
ID: 100346 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
CIA

Send message
Joined: 3 May 07
Posts: 100
Credit: 21,059,812
RAC: 0
Message 100347 - Posted: 8 Jan 2021, 22:02:03 UTC - in response to Message 100346.  
Last modified: 8 Jan 2021, 22:04:48 UTC

I had the machine set to 90% on both. I did a fresh restart of the machine, and only launched BOINC and Activity Monitor (to see CPU and memory use). I had BOINC in the foreground (as the active app), and ran nothing else for the entire day and as I mentioned, stayed consistent between 7-8GB of memory used, never more.
And what is your Use at most xxx % of the CPUs set to?


Seeing is believing, here's the prefs as set up on the M1 based Mac Mini. Again, the tasks it did complete put up really good points, it just didn't utilize the full potential of the machine. After a fresh reboot, it was the only app running besides Activity monitor for 24 hours.

ID: 100347 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile Grant (SSSF)

Send message
Joined: 28 Mar 20
Posts: 1330
Credit: 13,624,788
RAC: 10
Message 100348 - Posted: 8 Jan 2021, 22:14:00 UTC - in response to Message 100347.  

Seeing is believing, here's the prefs as set up on the M1 based Mac Mini. Again, the tasks it did complete put up really good points, it just didn't utilize the full potential of the machine. After a fresh reboot, it was the only app running besides Activity monitor for 24 hours.
Only thing that comes to mind is to deselect "Leave non-GPU tasks in memory while suspended", but i don't really see it having any impact as you haven't suspended any Tasks.

It's looking very much like a limitation of Apple's Rosetta for non-native applications, as when using a native application it can use all of the available RAM if it needs to.
A pity BOINC can't make full use of the available resources till a native BOINC & supporting science applications are developed. I suspect there will be quite a wait till that happens.
Grant
Darwin NT
ID: 100348 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
CIA

Send message
Joined: 3 May 07
Posts: 100
Credit: 21,059,812
RAC: 0
Message 100351 - Posted: 8 Jan 2021, 22:40:47 UTC - in response to Message 100348.  

It's looking very much like a limitation of Apple's Rosetta for non-native applications, as when using a native application it can use all of the available RAM if it needs to.
A pity BOINC can't make full use of the available resources till a native BOINC & supporting science applications are developed. I suspect there will be quite a wait till that happens.


Exactly. That said, even though this is all running on emulation, based on the numbers I've seen so far if I was to just run one core on one task the points awarded are impressive. None of my other machines (dedicated 24/7 crunchers) crack 500 points per 8 hour task, most are in the 300's. The M1 mini, under emulation, is putting up 500+, some even 700-800 point tasks. Under emulation! The potential once we get a native client is huge.

This weekend I might set it to run with 25% of the CPUs (2 of 8) and see what it does when it's not fighting for memory. Monday I need to hand it over to the new owner though.


Does anyone know who handles the Mac client for Rosetta, and who handles the Mac client for BOINC? I'd be willing to start a kickstarter to get them a basic Mini to test code. They are only $699.
ID: 100351 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Brian Nixon

Send message
Joined: 12 Apr 20
Posts: 293
Credit: 8,432,366
RAC: 24
Message 100353 - Posted: 9 Jan 2021, 1:11:48 UTC - in response to Message 100351.  

There already is a client for Apple Silicon, isn’t there? At least it’s mentioned on the download page. I couldn’t find any announcement about it, though there’s some related discussion in the BOINC forums.
ID: 100353 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile Grant (SSSF)

Send message
Joined: 28 Mar 20
Posts: 1330
Credit: 13,624,788
RAC: 10
Message 100354 - Posted: 9 Jan 2021, 1:25:20 UTC - in response to Message 100353.  
Last modified: 9 Jan 2021, 1:30:34 UTC

There already is a client for Apple Silicon, isn’t there? At least it’s mentioned on the download page. I couldn’t find any announcement about it, though there’s some related discussion in the BOINC forums.
From the naming, it looks like it's a Universal application. It supports both Apple silicon & Intel, using the Apple silicon by default (and it's the version CIA is running).
So while probably not as good as a native application, i expect it would be better than relying on Rosetta 2 to translate an Intel only application.
And being a Universal application it shouldn't be limiting the availability of memory- so it might be worth bringing this thread to the attention of the BOINC forum thread.

If it works as it should, then all that's needed is for the projects to release their own Native (or at the very least Universal) applications and they should then be able to use all the available resources on such systems.
Grant
Darwin NT
ID: 100354 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
1 · 2 · Next

Message boards : Number crunching : Shortcomings of Apple M1 Mac mini



©2022 University of Washington
https://www.bakerlab.org