Large pages looks like a great feature for a specialist mining distribution. Both the OS and the apps
could be preconfigured for large pages. User friendly and plug and play.
Thougths
enabling large pages in a linux pre built image is easy, should be doable, but im not aware of any cpumining distros/images, anybody?
obviously one can always ssh into the system and install the cpuminer himself, but then he also can enable large pages himself and its not userfriendly/plug&play
Here is the best known (to me) mining distro.
https://bitcointalksearch.org/topic/m.5764866I also found this which describes how to enable an app to use large pages. It includes the following...
https://lwn.net/Articles/375096/ While applications can be modified to use any of the interfaces, it imposes a significant burden on the application developer.
To make life easier, libhugetlbfs can back a number of memory region types automatically when it is either pre-linked or pre-loaded.
This process is described in the HOWTO documentation and manual pages that come with libhugetlbfs.
Didn't read the HOWTO yet but what I infer from that is the OS and application are tightly coupled, which would make it
more challenging to build as a standalone application.
thats a gpu distro (nvidia), right? no oob cpuminer support afaik
i have also found the following stated from microsoft about large pages:
Large-page memory regions may be difficult to obtain after the system has been running for a long time because the physical space for each large page must be contiguous, but the memory may have become fragmented. Allocating large pages under these conditions can significantly affect system performance. Therefore, applications should avoid making repeated large-page allocations and instead allocate all large pages one time, at startup.
The memory is always read/write and nonpageable (always resident in physical memory).
The memory is part of the process private bytes but not part of the working set, because the working set by definition contains only pageable memory.
Large-page allocations are not subject to job limits.
that might be also the case for linux where its often advised to set the hugepage size on boot (in grub)
you will probably need to write a wrapper function for the allocation part to handle linux/windows differences