Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 07-09-12, 12:10 AM   #13
leigh123linux
Registered User
 
leigh123linux's Avatar
 
Join Date: Feb 2008
Posts: 163
Default Re: Support for X32 ABI

Quote:
Originally Posted by artem View Post
Remember, no one owes you anything. No one has to dispose of their perfectly working systems just because you think they should.

I have a 64bit CPU with 8GB of RAM and, guess what, I'm running a ... 32bit Linux distro (with PAE). Why? Because I don't have any applications which magically work a lot faster in 64bit mode. Because I don't want to have a 32bit compatibility layer because I need to run Skype and Wine applications.

A few months ago I compared 32bit and 64bit versions of Firefox. At least in the V8 test made by Google 32bit Firefox is ... 25% faster than 64bit Firefox (the same system, the same kernels/libraries/etc.)
PAE isn't good enough to run matlab on certain processes as it can consume in excess of 5Gb + of RAM, with PAE apps can only address 4Gb.
__________________
leigh123linux
leigh123linux is offline   Reply With Quote
Old 07-09-12, 11:08 AM   #14
Lamieur
The god of fertility
 
Lamieur's Avatar
 
Join Date: Apr 2006
Posts: 24
Default Re: Support for X32 ABI

Quote:
Originally Posted by leigh123linux View Post
PAE isn't good enough to run matlab on certain processes as it can consume in excess of 5Gb + of RAM, with PAE apps can only address 4Gb.
On the other hand, Oracle uses tmpfs pseudo-files as "memory banks", you can split your memory in chunks and map whichever you need to access at one time. 16+ GB SGA was never a problem on 32-bit Linux, even in times of Oracle 9i and "kernel-hugemem" and stuff. And no, it wasn't slow.

So yeah, I run i686/PAE system at home, run VMs and stuff on it and see no reason to upgrade to x64. Maybe one day an application will appear that will force me to switch, but so far nothing on the horizon.
Lamieur is offline   Reply With Quote
Old 07-09-12, 11:35 AM   #15
Deanjo
Registered User
 
Join Date: Aug 2004
Posts: 301
Default Re: Support for X32 ABI

Quote:
Originally Posted by artem View Post
Because I don't want to have a 32bit compatibility layer because I need to run Skype and Wine applications.
So you would rather incur the PAE performance penalty instead of running the compatibility layer?
Deanjo is offline   Reply With Quote
Old 07-09-12, 02:57 PM   #16
artem
Registered User
 
Join Date: Jun 2006
Posts: 705
Default Re: Support for X32 ABI

Quote:
Originally Posted by Deanjo View Post
So you would rather incur the PAE performance penalty instead of running the compatibility layer?
Phoronix extensively tested 32, 32bit + PAE and 64bit architectures and they found out that:

1) 32bit PAE mode is never slower than pure 32bit mode.
2) In some case both 32bit and 32bit PAE modes are faster than 64bit mode.

The slowness of 32bit PAE mode is yet another urban myth.

On my 32bit PAE system 32bit Firefox works faster than its 64bit counterpart (I mentioned this fact earlier in this thread but you seem to have neglected that).
artem is offline   Reply With Quote
Old 07-10-12, 09:49 AM   #17
KDE
Registered User
 
Join Date: Nov 2007
Posts: 50
Default Re: Support for X32 ABI

Benchmark x86 vs x86-64 vs X32

Elapsed time:
X32 - 33014 ms - 100%
x86-64 - 37505 ms - 114%
x86 - 38655 ms - 117%

Memory usage:
X32 - 41884 kB - 100%
x86 - 42096 kB - 101%
x86-64 - 58636 kB - 140%

Code:
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
#include <sched.h>
#include <errno.h>
#include <iostream>
#include <fstream>
#include <set>
#include <string>

using namespace std;
int main(int argc, char *argv[])
{
    cpu_set_t cpuset;
    CPU_ZERO(&cpuset);
    CPU_SET(0, &cpuset);
    if (sched_setaffinity(getpid(), sizeof(cpu_set_t), &cpuset)) {
        cout << "errno1: " << errno << endl;
    }
    set<long long int> set1;
    timespec start, end;
    ifstream numberFile("numbers");
    long long int* numbers = new long long int[1024 * 1024];
    long long int sum = 0;
    if (numberFile.good()) {
        numberFile.read((char*)numbers, 8 * 1024 * 1024);
        for (int i = 0; i < 1024 * 1024; i++) {
            sum += numbers[i];
        }
        cout << "sum1: " << sum << endl;
    } else {
        ofstream numberFile2("numbers");
        for (int i = 0; i < 1024 * 1024; i++) {
            sum += (numbers[i] = random());
        }
        cout << "sum2: " << sum << endl;
        numberFile2.write((char*)numbers, 8 * 1024 * 1024);
    }
    sync();
    clock_gettime(CLOCK_REALTIME, &start);
    sum = 0;
    for(int i=0;i<32;i++) {
        int count = 1024 * 1024;
        long long int* it = numbers;
        while (count--) {
            set1.insert(*it++);
        }
        for(auto it = set1.begin();it != set1.end(); it++) {
            sum += *it;
        }
        set1.clear();
    }
    cout << "sum3: " << sum << endl;
    clock_gettime(CLOCK_REALTIME, &end);
    long long int i1 = (end.tv_sec - start.tv_sec);
    i1 *= 1000000000;
    long long int i2 = (end.tv_nsec- start.tv_nsec);
    cout << "Elapsed time: " << (i1 + i2) / 1000000 << " ms" << endl;
    ifstream statusFile("/proc/self/status");
    string line;
    while (statusFile.good()) {
        getline(statusFile, line);
        if (line.find("VmRSS") != string::npos) {
            cout << "Memory usage: " <<  line << endl;
        }
    }
    set1.clear();
}
KDE is offline   Reply With Quote
Old 07-10-12, 11:01 AM   #18
artem
Registered User
 
Join Date: Jun 2006
Posts: 705
Default Re: Support for X32 ABI

KDE:

Now run some real life tests, like any Firefox/Chrome/etc www performance benchmarks. Or try to encode a movie using x264 (which is assembly optimized). Or run any games.

We are long after the point when memory consumption concerned anyone.

We'll never arrive to the point when you'll make people adjust their applications for yet another architecture. x86-64 is good enough for anyone. And soon there will be ARM64 with no word about ARM64 with 32bit pointers. x32 is a good optimization experiment, but it will remain this way forever - an experiment with no real life applications.
artem is offline   Reply With Quote
Old 07-10-12, 11:31 AM   #19
KDE
Registered User
 
Join Date: Nov 2007
Posts: 50
Default Re: Support for X32 ABI

1. there are no Firefox/Chrome for X32. They won't run because NVIDIA doesn't support X32
2. I don't encode movies and there is no x264 for X32
3. games for X32 won't run because NVIDIA doesn't support X32
KDE is offline   Reply With Quote
Old 07-11-12, 09:44 AM   #20
Deanjo
Registered User
 
Join Date: Aug 2004
Posts: 301
Default Re: Support for X32 ABI

Quote:
Originally Posted by artem View Post
Phoronix extensively tested 32, 32bit + PAE and 64bit architectures and they found out that:

1) 32bit PAE mode is never slower than pure 32bit mode.
2) In some case both 32bit and 32bit PAE modes are faster than 64bit mode.

The slowness of 32bit PAE mode is yet another urban myth.

On my 32bit PAE system 32bit Firefox works faster than its 64bit counterpart (I mentioned this fact earlier in this thread but you seem to have neglected that).
You also realize that none of those tests stressed to a point where memory usage was > 4GB which is where PAE kicks in. The penalty for using PAE is real, Michael's tests simply did not ever position where PAE would start being utilized. Also Michaels test's were done on a machine with only 4GB of ram. From the article itself,

Quote:
Granted, we were using just 4GB of system memory that is common to many desktops, but if using 8GB, 16GB, or even a greater memory capacity the performance penalties are perhaps higher
Deanjo is offline   Reply With Quote

Old 07-11-12, 10:18 AM   #21
artem
Registered User
 
Join Date: Jun 2006
Posts: 705
Default Re: Support for X32 ABI

Deanjo

PAE kicks in if you have more than 3,2GB or RAM.
artem is offline   Reply With Quote
Old 07-11-12, 10:22 AM   #22
Deanjo
Registered User
 
Join Date: Aug 2004
Posts: 301
Default Re: Support for X32 ABI

Quote:
Originally Posted by artem View Post
Deanjo

PAE kicks in if you have more than 3,2GB or RAM.
The penalty only kicks in when your application tries access more then the 32-bit limit. Load an application such as Maya, blender, matlab etc that actually tries to address more then the 32-bit limit and that is where the penalty kicks in.

http://people.redhat.com/nmurray/RHE...whitepaper.pdf

Quote:
What is the overhead, in terms of space and time, of using a PAE enabled kernel as compared
to an SMP kernel?
PAE doubles the size of page table entries from 32 bits to 64 bits, as well as adding
a small third level to the page tables. This means the maximum amount of kernel
memory consumed by page tables per process is doubled to slightly more than
6MB. In the 2.4.18 kernels shipped by Red Hat, this memory comes out of the
~700MB of available memory in the normal kernel zone. In the Red Hat Linux Advanced Server series of kernels, page tables can be located anywhere in physical
memory.

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%.
http://wiki.novell.com/index.php/Mem...#How_PAE_works

Quote:
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.
Deanjo is offline   Reply With Quote
Old 07-11-12, 11:29 AM   #23
artem
Registered User
 
Join Date: Jun 2006
Posts: 705
Default Re: Support for X32 ABI

Quote:
Originally Posted by Deanjo View Post
Load an application such as Maya, blender, matlab etc that actually tries to address more then the 32-bit limit and that is where the penalty kicks in.
Sorry, what you are saying doesn't make sense. Under 32bit Linux no application can access more than 3GB of RAM. More importantly I have no applications which use more than 1,5GB of RAM, so PAE induced penalties just don't apply to me (and to most average Joes).
artem is offline   Reply With Quote
Old 07-14-12, 02:02 PM   #24
devsk
Registered User
 
Join Date: Jun 2006
Posts: 46
Default Re: Support for X32 ABI

you 32-bit guys haven't tried running anything memory intensive... try ZFS-on-Linux. 32-bit is known to croak because of lack of kernel address space.
devsk is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
The Game Roller Coaster Rampage With Stereoscopic 3D Support News Archived News Items 0 07-04-12 08:20 AM
Canonical partners with Microsoft to support Ubuntu on Azure News Archived News Items 0 06-08-12 05:20 AM
Remastered Doom 3 BFG Edition Game Coming with Stereo 3D Support News Archived News Items 0 06-01-12 05:30 AM
96.43.20 does still not support new X.Org ABI 11 - will an update be procuded? joerg.sigle NVIDIA Linux 2 05-27-12 12:09 AM
Official Detonator 40.xx Feedback Thread pelly NVIDIA Windows Graphics Drivers 299 09-22-02 06:54 AM

All times are GMT -5. The time now is 08:36 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright ©1998 - 2014, nV News.