I have been using PAE Saluki daily for 18months or more now. No problems at all. I have 8gig of ram in my machine. PAE comes in handy when running windows in Virtualbox. Before I used PAE, if I ran Windows with 2 gig allocated to it, and then tried to use Firefox to browse the web, the system crashed. In that situation, 3.2gig just wasn't enough. I have had no problems since switching to PAE and utilising 8 gig. Note, I can still only allocate 3.6gig to windows, which is enough.

The latest Precise 5.7 has PAE.

PAE is in my opinion, an excellent stop gap measure for Puppies designed for MODERN machines. In the current puppy landscape, there is almost no 64bit option. No "official" one anyway. That means almost all the programs are compiled / developed for 32bit. On most modern machines less than 5 years old, PAE works, but they are also 64bit capable.

This PAE debate is tired and old. 32 bit works. 32 bit with PAE works. 64 bit is the future.

There are people out there that continue to push it, but those people simply are repeating themselves in the face of fact and intelligent discourse from those in the tech industry.

I think Linus' post says everything it needs to. But some people in the world continue to want to preach the PAE message. This has come up several times in this forum. One of the last times I decided to actually do some testing and find out what kind of difference there is.
http://murga-linux.com/puppy/viewtopic.php?t=84472

I'd venture that pretty much all machines that can take physically handle more than 4gb ram, are 64bit capable. And should run a 64bit OS to take advantages of the x86_64 instruction set. Running a PAE kernel on a newer processor effectively limits your CPU to running like a multicore Pentium 3, at the additional cost of losing out on hardware AES, AVX, etc.

anikin wrote:

Thank you, jamesbond for your explanation.
On the one hand, your presentation has more technical details and nuances. On the other hand, it lacks in passion and eloquence, compared to the original post. Besides, in many ways and aspects, these two views do not coincide and directly contradict each other. Before finally making up my mind on PAE, I would like to hear a response from gcmartin.

Lets say you're going in for Brain Surgery. Would you rather have a surgeon who is blunt with the facts, explains things in a highly technical manner, and is very specific in his details. Or a Surgeon who wants to use eloquent speech and tell you how great your life will be after the surgery?
I cant speak for you or anyone else, but for me; when its a technical issue. I'll take a technical explanation over flowery eloquent speaking.
In this specific case, I'd opt for the person (jmesbond) who's actually show his expertise through his lengthy development work in this community, over a person to likes to talk alot. (gcmartin)

To my knowledge, I know of no one who is pushing PAE. PAE is a hardware addressing scheme for the CPU to get at RAM. It is designed to make RAM memory available to the OS by taking advantage of a hardware standard.

Again, NO ONE, that I am aware of, is sharing or suggesting that PAE distros are to be thought of to be used in place of a 64bit OS.

ALL PAE does is make RAM available to the processor.

PAE has absolutely nothing at all to do with anyone's emotional feeling. I sorry you express such.

Again, either your processor has it or it doesn't. That it. If it does, as more than 99% of all 32bit and most every 64bit x86 processors do, you can use it NO MATTER HOW LITTLE OR HOW MUCH RAM you have.

Its hardware. Its 18-19 years old. It does what its suppose to. It does not inhibit any OS operation. It was tested extensively by Puppy members. Many found and reported an increase in snappiness (but, that was by observations as we have no tools/utilities to measure "snappiness").

Puppy has been tested by Puppy members and has been provided by Puppy developers so that any user can run his OS no matter its RAM content from little all the way to the impossible 64GB in a 32bit platform.

This discussion continues to be mostly an emotional argument over the actual findings of Puppy members. In Puppyland, its been shown to work and to bring benefit in use.

PAE does NOT harm your PCs, does not degrade snappiness, and it does NOT cause operating system software failures in your distro. Your PC's hardware and software will work to your benefit.

That being said, its up to any Puppy user to select the OS he feels comfortable with. If you have PAE, a PAE distro will run. If you do NOT, a non-PAE distro will run. If you have a 64bit PC, most likely any 32bit/64bit OS will run on your PC. Puppy developers make their offerings available for all of our benefit.

I hope Puppy membership understand that this is merely a hardware feature where Puppy developers are making it available as, many PCs are now becoming apparent ,that have much more RAM now than was available when Barry began developing Puppy for world's users. Linux will use the capabilities of your processor's motherboard contents for your processing advantage. PAE functionality in the Linux kernel is NOT a hack when one considers that it is a selectable part of the kernel at kernel generation time.

Here to help_________________Get ACTIVE Create Circles; Do those good things which benefit people's needs!
We are all related ... Its time to show that we know this!
3 Different Puppy Search Enginesor use DogPile

This does not count the threads you've had deleted, I know of two off the top of my head, which you requested to be deleted. (I expect you to request this thread be deleted as well.)

gcmartin wrote:

PAE has absolutely nothing at all to do with anyone's emotional feeling. I sorry you express such.

No one else in this community has spent as much time and effort as you talking about PAE.

gcmartin wrote:

Its hardware. Its 18-19 years old. It does what its suppose to. It does not inhibit any OS operation. It was tested extensively by Puppy members. Many found and reported an increase in snappiness (but, that was by observations as we have no tools/utilities to measure "snappiness").

That the technology is 18 years old is pointless. No Pentium1 or Pentium2 Motherboard sold commercially was able to handle more than 4gb of ram. So that the technology was included on the CPU die is meaningless since there was NO way it could be used or even tested outside of Intel's Labs.

It is a fundamental principle that PAE is slower than a non PAE simply by the nature of how it works. It requires two read operations instead of just one.
Never, under ANY circumstances can two reads be accomplished faster than one. This is so fundamental that it should NOT ever need to be explained.
It is an emprical fact that two read opperations take longer than one... because you have to finish the first read operation before you can start the second.
This simple fundamental fact about the technology apparently is not understood by you.

gcmartin wrote:

Puppy has been tested by Puppy members and has been provided by Puppy developers so that any user can run his OS no matter its RAM content from little all the way to the impossible 64GB in a 32bit platform.

Citation needed.

Please show a test where a PAE based system has been proven to work with 64gb of ram on Puppy.

gcmartin wrote:

This discussion continues to be mostly an emotional argument over the actual findings of Puppy members. In Puppyland, its been shown to work and to bring benefit in use.

Others are presenting facts which can be double checked and verified. You are presenting nothing more than anecdotal evidence. If anyone is emotional about this its you, perhaps thats why you keep creating threads about it over and over.

gcmartin wrote:

PAE does NOT harm your PCs, does not degrade snappiness, and it does NOT cause operating system software failures in your distro. Your PC's hardware and software will work to your benefit.

Citation needed. Please provide testing that does not show degradation in performance on older PCs.
Evidence that it does on older low ram PCs has been shown here: http://murga-linux.com/puppy/viewtopic.php?t=84472
Please provide contrasting proof on an older P3 or earlier System with < 512mb ram

The topic is very apt. There are the facts the community keeps presenting and then there is the myth you keep telling.

Thanks for sharing!
If you get time and are bored one day, could you run a full hardinfo test and post the reports here? It'd be nice to get more of a baseline for pae/non-pae systems.
Sadly only a few members like yourself have published test results.

If I get time this weekend Ill test Slacko 5.7 pae/non-pae across 4 different machines and report the results.

Q5sys, your hard-on for PAE is not supported by the industry evidence. You keep purporting that this is some sort of MYth! Why do you continue to belabor this. Are you so blinded in your belief that you'll go to any extreme.

Sorry. whether you or I like it or not, PAE as a hardware built-in feature of the CPU has been in the build of over 99% of all 32bit systems built since 1995.

What's your beef! You upset about something else? You want the community to stop? Or what is it you are trying to assist the community with, that provides useful community guidance?

The preponderance of evidence is published by several authorities all over the internet. And, internal reports (that I sure no one lets you see) have shown that PAE provides comparable performances without degradation harm to the OSes.

It works, OK. GET IT! It works. Get it.

Unless you can provide good guidance on its use, stop flapping. (But, I sure you don't get.)

Maybe you can go up against the Industry Giants to show that the whole industry has lied to you.

But, until you do show the industry this, you are just flapping at me ... again.

Edit: One additional thing. It appears your REALLY dont know how the OSes work on use of accessed data as you "sound off" as an authority on system performance. WOW! Shame on you, my friend. I am inclined to believe Intel and AMD who build and test this, versus your emotional perceptions.

If you dont want to use it, that your choice._________________Get ACTIVE Create Circles; Do those good things which benefit people's needs!
We are all related ... Its time to show that we know this!
3 Different Puppy Search Enginesor use DogPile

No one can argue that PAE does not work (but in some Pentium M) or that is not a hardware feature.
However, no one can argue that does not tax the system either.
It is also true that 32bit systems with more that 3MB memory are really rare.
So in real life PAE is useful for people with 64bit machines that for some mysterious reason want to use 32bit OSs. Is their right, but taxing older 32bit machines (a major "market" for puppy) by default, to satisfy them would be unreasonable.
If a pupplet developer wants to built a PAE version, fine, but a 32bit puppy with PAE kernel only, is really out of place._________________== Here is how to solve yourLinux problems fast ==

Sorry. whether you or I like it or not, PAE as a hardware built-in feature of the CPU has been in the build of over 99% of all 32bit systems built since 1995.

You know what else has been around since 1995? i386 technology. Doesn't mean we should be using it. Just like i386, PAE needs to be left it the wastebin of history.

gcmartin wrote:

The preponderance of evidence is published by several authorities all over the internet. And, internal reports (that I sure no one lets you see) have shown that PAE provides comparable performances without degradation harm to the OSes.

You have failed at ANY point to provide evidence for your claims. Others have provided verifiable sources. You continue to make claims with no supporting evidence.
And whats this... internal reports no one is letting me see. What this community has secret reports that only a select few people get to see. LMAO. That's got to be the most outragous claim I've ever heard on here.

gcmartin wrote:

Maybe you can go up against the Industry Giants to show that the whole industry has lied to you.

Well lets see what the Industry giants say, shall we?

Linus Torvalds wrote:

And dammit, in this age and date when almost everybody has a gigabyte of RAM in any new machine, anybody who still thinks that "not that many people need 64-bits" is simply not aware of what he's speaking of.

Linus Torvalds wrote:

anybody who still doesn't get why 64 bits is a requirement should just shut up rather than make a total fool of himself.

Once you start having to access physical memory through some kind of HIGHMEM.SYS window (which is what PAE is), and cannot map it all, you can no longer keep normal pointers to such memory around. Instead, you are basically using a really ugly and strange segmented architecture, where you keep some kind of indirect pointer, and every time before you use it, you have to map it into the virtual address space, access it, and then unmap it again.

So performance plummets, and the code actually gets really nasty too, so you don't actually use the high memory for any random data, you only use it for special stuff. As an example, you'd use it for disk caching (that's what 90% of all HIGHMEM.SYS usage was too - a lot of people just set it all - or at least a big chunk of it - aside as a harddisk cache, because so few programs could use it very well for anything else).

Linus Torvalds wrote:

And yes, there were serious problems. In theory, you can have 64GB of RAM with Linux on a PAE x86 box. In practice, it seldom worked very well past the 4GB mark, so PAE itself was almost totally useless. The reason was that once you had more than 4GB of memory, you usually had filled out a large chunk of the easily accessible memory with just all the data structures to keep track of the rest of memory (that's exaggerated, but it's not entirely off).

Edit: One additional thing. It appears your REALLY dont know how the OSes work on use of accessed data as you "sound off" as an authority on system performance. WOW! Shame on you, my friend. I am inclined to believe Intel and AMD who build and test this, versus your emotional perceptions.

Well lets see what AMD has to say about this, shall we?

AMD wrote:

Benchmarks

First we picked some real world benchmarks for our 32-bit vs. 64-bit comparisons. Oggenc, Mencoder and Povray as well as some compilation tests. Furthermore micro benchmarks were used to show specific performance differences for syscalls and 64-bit arithmetics.

We set up three system configurations – a 32-bit installation, a 64-bit installation and a combination of 32-bit installation with 64-bit kernel to challenge the compat layer. All tests were performed on a dual-core AMD-K8&trade; processor with 1 GB RAM.

The tests showed that the penalty of using the compat layer instead of running your 32-bit application on a native 32-bit kernel is about 1-2 percent. So it is almost negligible.

64-bit took the lead in the media encoding tests. Our Povray and Mencoder benchmarks took about 5% less time in the 64-bit case, Oggenc even 25%. Just C-compilation tests showed a performance advantage of 5% to 8% for 32-bit versus 64-bit.

Native arithmetic performance (64-bit data types used in 64-bit software vs. 32-bit data types used in 32-bit) showed a gain of 10% for the 64-bit case. Using 64-bit data types on 32-bit and 64-bit in the arithmetic performance test showed that 64-bit is more than twice as fast as 32-bit.

Dont know what 'experts' you are talking about and what 'industry' you are keep talking about. The IT industry and experts have been VERY clear about the performance benefits of X64 over PAE even with limits below 4GB ram.

No one can argue that PAE does not work (but in some Pentium M) or that is not a hardware feature.
However, no one can argue that does not tax the system either.
It is also true that 32bit systems with more that 3MB memory are really rare.
So in real life PAE is useful for people with 64bit machines that for some mysterious reason want to use 32bit OSs. Is their right, but taxing older 32bit machines (a major "market" for puppy) by default, to satisfy them would be unreasonable.
If a pupplet developer wants to built a PAE version, fine, but a 32bit puppy with PAE kernel only, is really out of place.

But that seems to be the very issue at hand, the performance hit. But some people refuse to believe this in face of overwhelming evidence.

3rd party tests:

phoronix wrote:

It should be to no surprise, for most computational workloads the 64-bit version of Ubuntu 12.04 LTS is much faster than the 32-bit and 32-bit kernel with PAE support versions. The performance advantage of 64-bit over 32-bit Ubuntu is clear. If you are still running the 32-bit version on 64-bit capable hardware you should really consider switching with the "Precise Pangolin" now that the 64-bit Flash is on par with the 32-bit version, OpenJDK works well on 64-bit, etc.

It is not new or surprising that the x86_64 Ubuntu is much faster than i686 Ubuntu on supported hardware, but it is somewhat surprising that Canonical continues to push the 32-bit version as the "recommended" version of Ubuntu from their web-site, etc.

To no surprise compared to our 32-bit vs. 64-bit benchmarking over nearly the past decade on Phoronix, the 64-bit version of Ubuntu generally delivers superior performance over 32-bit Ubuntu. This strong 64-bit performance is even when using an old Intel Core 2 Duo system with just 1GB of memory. The reasons for avoiding 64-bit Linux are generally moot these days with Flash, Java, and other applications now running just fine on x86_64 distributions. The state of multi-lib on Ubuntu and other Linux distributions is also in good standing.

But lets focus JUST on the memory issue. How much of a hit is there? Well I decided to test that out tonight on my machine. Using a vanilla install of LHP using an old 3.8.7 kernel, and the fresh new Slacko 5.6 with the 3.10.5 kernel. Now the 3.10.5 kernel has some improvements over the 3.8.7, but its the closest test I could do. Both systems are made from Slackware 14.0; so difference in binaries can be discounted.

The test I ran was rather simple. Boot the system. It has 32gb, so I created 14 2GB tmpfs drives. I then wrote to each one of those drives and then did file comparisons between them to check the memory access (read/write) bandwidth.

64Bit bandwidth was a consistant 2.4 to 2.5 GB/s.
PAE bandwidth was a consistant 1.9 to 2.0 GB/s

That's a 20% memory bandwidth reduction due to PAE.

When memory is fully utilized, reading a 2gb file from memory - PAE was 33% slower which resulted in a full second penaty

Here are the links. (complete with my typos). People can use the same commands to run tests on their systems.

PAE does not improve speed but gives you the chance to use more than 4GB of memory. The performance impact is very little actually and you will only "feel it" if you start using the memory above the 4GB limit. Basically if you have a 32Bit PAE Enabled system with 8GB RAM the performance impact will only come AFTER an application starts using the memory above de 4GB (This is the one from 4GB to 8GB). But the impact is very little. You will not notice it. What you will notice is 4GB of more ram.

Quote:

Also for a system with 4GB of ram is not needed or recommended to use PAE since you are not going over the limit which is the 4GB of ram (which is a 2 by the power of 32 in bytes)

For videos like flash games, flash youtube videos, etc.. you won't notice anything different from a 32Bit with PAE or a 32bit without PAE. It will be the same performance.

Quote:

Now for the "Should I buy or not buy the laptop with 8GB or ram". Well if you are like me on my home that the things i use it are to listen to music, see movies in HD quality, download stuff, open like 10 Libreoffice documents to work on, open Firefox and Chrome to work, etc.. then you do not need 8GB of ram. With 4GB of Ram you should be not just fine but happy (since you did not overspend on 4 more GB of ram to not use them).

Now if you are like me on my work place and you like to compile stuff, configure servers, render images and videos, etc.. Those are some heavy usage cases. So you need more ram for them to operate faster. Rendering something with 4GB is not the same as 8GB. Same for compiling (with the appropiate flags) and for the rest of the intensive cpu/memory apps.

But for the normal work, video watching, typical downloader and common user 4GB is enough.

The performance impact is highly workload dependent, but on a fairly typical kernel
compile, the PAE penalty works out to be around a 1% performance hit on Red
Hat’s test boxes. Testing with various other workload mixes has given performance
hits ranging from 0% to 10%.

The performance impact is highly workload dependent, but on a fairly typical kernel
compile, the PAE penalty works out to be around a 1% performance hit on Red
Hat’s test boxes. Testing with various other workload mixes has given performance
hits ranging from 0% to 10%.

Ive been looking for that report for a while now and could never find it. Thanks!

Really, this issue is two fold.

First you have the PAE penalty, which only affects memory bandwidth. This only affects a system when you are doing memory read/write intensive tasks
Second you have the additional Instructions that come with a x86_64 CPU.

In most real world scenarios when you are browsing the web, watching a movie, etc, you wont notice much from a PAE kernel. Once you start getting into more active memory access from photo editing, compiling, or other more intensive workloads you will.

But honestly there's more of a performance penalty between the i686 vs x86_64 than there is with PAE/NON-PAE on a modern system.
As I said before, without the extra instructions that come along with x86_64, you're effectively running your Intel I5, or Core Duo like its an old P3 with a much higher clock cycle.

Addressing physical memory above 4 GB on 32-bit Intel Pentium processor needs a Linux kernel running with PAE mode enabled. To enable the PAE mode, the kernel needs to be recompiled with the CONFIG_HIGHMEM and CONFIG_HIGHMEM64G flags enabled. A PAE-enabled kernel uses three level page tables for VM address translation instead of two level page tables used by a non-PAE-enabled kernel. This can cause some performance impact that can be observed by running a benchmark suite that stresses the VM subsystem.
The benchmark suite chosen to highlight this performance impact is UnixBench available at http://www.tux.org/pub/tux/benchmarks/System/unixbench/ .

The table illustrates the difference in performance between a non-PAE kernel and a PAE-enabled kernel. The specifications of the test system are as follows:

From the final score, there is a performance degradation of 4.1% (the usual range is 3-6%). It can also be observed that the main difference stems from "Process Creation", which is quite worse with PAE, because the 'density' of the page-tables is half of that of non-PAE page tables (i.e, twice as much has to be copied).

Last edited by James C on Fri 23 Aug 2013, 01:49; edited 1 time in total

Dynamically changing the page tables to map memory into the 4GB address space
In this case, the application reserves a certain address range within its 4GB address space, and then as needed maps different memory pages to that address space. This method has an important performance penalty because not only does it add overhead to change the paging tables each time, but also the TLB (translation lookaside buffer, a special fast cache for paging tables) needs to be flushed each time you change the page table. This is the method similar to what we had in the old DOS days with EMS memory.

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum