Message boards : Number crunching : Shortcomings of Apple M1 Mac mini
Author | Message |
---|---|
Heisenberg Heuristics Send message Joined: 26 Apr 20 Posts: 1 Credit: 3,948,586 RAC: 0 |
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. |
Grant (SSSF) Send message Joined: 28 Mar 20 Posts: 1681 Credit: 17,854,150 RAC: 20,118 |
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 |
Brian Nixon Send message Joined: 12 Apr 20 Posts: 293 Credit: 8,432,366 RAC: 0 |
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. |
MarkJ Send message Joined: 28 Mar 20 Posts: 72 Credit: 25,238,680 RAC: 0 |
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 |
Grant (SSSF) Send message Joined: 28 Mar 20 Posts: 1681 Credit: 17,854,150 RAC: 20,118 |
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 |
Brian Nixon Send message Joined: 12 Apr 20 Posts: 293 Credit: 8,432,366 RAC: 0 |
The CPU field for an M1 machine is blank; the source code still has a TODO for Apple arm64… |
Brian Nixon Send message Joined: 12 Apr 20 Posts: 293 Credit: 8,432,366 RAC: 0 |
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) |
MarkJ Send message Joined: 28 Mar 20 Posts: 72 Credit: 25,238,680 RAC: 0 |
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 |
CIA Send message Joined: 3 May 07 Posts: 100 Credit: 21,059,812 RAC: 0 |
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 |
CIA Send message Joined: 3 May 07 Posts: 100 Credit: 21,059,812 RAC: 0 |
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. |
CIA Send message Joined: 3 May 07 Posts: 100 Credit: 21,059,812 RAC: 0 |
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. |
Grant (SSSF) Send message Joined: 28 Mar 20 Posts: 1681 Credit: 17,854,150 RAC: 20,118 |
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 |
Sid Celery Send message Joined: 11 Feb 08 Posts: 2125 Credit: 41,228,659 RAC: 9,701 |
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? 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. |
CIA Send message Joined: 3 May 07 Posts: 100 Credit: 21,059,812 RAC: 0 |
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? 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. |
Grant (SSSF) Send message Joined: 28 Mar 20 Posts: 1681 Credit: 17,854,150 RAC: 20,118 |
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 |
CIA Send message Joined: 3 May 07 Posts: 100 Credit: 21,059,812 RAC: 0 |
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. |
Grant (SSSF) Send message Joined: 28 Mar 20 Posts: 1681 Credit: 17,854,150 RAC: 20,118 |
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 |
CIA Send message Joined: 3 May 07 Posts: 100 Credit: 21,059,812 RAC: 0 |
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. 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. |
Brian Nixon Send message Joined: 12 Apr 20 Posts: 293 Credit: 8,432,366 RAC: 0 |
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. |
Grant (SSSF) Send message Joined: 28 Mar 20 Posts: 1681 Credit: 17,854,150 RAC: 20,118 |
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 |
Message boards :
Number crunching :
Shortcomings of Apple M1 Mac mini
©2024 University of Washington
https://www.bakerlab.org