16

Are there any Prolog implementations which support utilizing huge-pages (2MB/4MB per memory page) instead of the vanilla 4Kb memory pages.

Ideally, I would like to declare to the interpreter/compiler/run-time that it's okay to use X huge-pages for various heaps/stacks/scratchpad-memory for some particular application.

Of course, not all applications could benefit from this, but I am sure that there are more than a few that would. Megabytes are the new kilobytes, after all:)

repeat
  • 18,496
  • 4
  • 54
  • 166
  • The page size will be determined by the operating system; not the prolog implementation running on it. – user3344003 Mar 30 '15 at 00:30
  • No. For info regarding the subject have a look at https://wiki.debian.org/Hugepages – repeat Mar 30 '15 at 08:00
  • 1
    Huh, I seemed to recall Arity/Prolog allowed for larger page sizes than 4k, but a quick search has turned up with nothing. Cool question. – vmg Oct 16 '15 at 23:36
  • For example this: http://eclipseclp.org/doc/userman/umsroot152.html? – coredump Oct 17 '15 at 10:26
  • @coredump. Thanks for that link! How does that information relate to [tag:huge-pages]? (Other pages of other Prolog processors have quite some switches related to "memory use" in general but not wrt [tag:huge-pages], e.g., https://sicstus.sics.se/sicstus/docs/latest4/html/sicstus.html/System-Properties-and-Environment-Variables.html) – repeat Oct 17 '15 at 13:35
  • @repeat Oh, now I understand the question. This was not really related, sorry. – coredump Oct 17 '15 at 13:54
  • @coredump. No harm done! It **was** related, but not as spot-on as I would have wished for... – repeat Oct 17 '15 at 14:12
  • @coredump. How about taking a handful of benchmarks and testing them with JekeJeke Prolog on the JVM (with and without huge-pages enabled and report the empirical runtime measurements as an answer here? Bounty of 200 is waiting until Saturday at most! – repeat Oct 22 '15 at 21:01

1 Answers1

6

Since some Prologs runs on the Java JVM, and since some Java JVMs have a flag for that, I guess the answer is yes. See also:

Java Support for Large Memory Pages
http://www.oracle.com/technetwork/java/javase/tech/largememory-jsp-137182.html

There are a couple of Prologs running on the Java JVM:

Comparison of Prolog implementations
https://en.wikipedia.org/wiki/Comparison_of_Prolog_implementations

Bye

  • Did you do some performance tests with JekeJeke on some JVM, one time with hugepages turned off, another time with hugepages turn on? – repeat Oct 18 '15 at 16:51
  • I don't want to directly compare performance measurements of JekeJeke and other Prolog processors which do not run on the JVM)... I am curious if hugepages are beneficial, and if so for which kind of benchmark. – repeat Oct 18 '15 at 16:54