Discussion:
Linux vs. Windows file system
(too old to reply)
Zach Deedler
2007-03-12 01:33:11 UTC
Permalink
Hello osg-soldiers,

I'm not trying to wage an OS war here. I know that is what you usually get
with a subject line like this. I'd just like to know others experiences
with file system performance on Linux vs. Windows for OSG, and OSG paging in
particular.

I must be fairly confident that switching to linux will solve some of our
paging problems before I recommend it to my boss.

Also, if anybody has any suggestions on how to improve paging on windows,
I'd appreciate it. I've tried changing the size of the paging file, and
such but haven't had a lot of luck.

Zach
Jean-Sébastien Guay
2007-03-12 03:27:04 UTC
Permalink
Hello Zach,
Post by Zach Deedler
I must be fairly confident that switching to linux will solve some of our
paging problems before I recommend it to my boss.
I personally wouldn't pretend to have any real numbers on this, and if
you need to be "fairly confident", then I think the only way is to try
it out yourself.

It's pretty easy nowadays to install Ubuntu or Fedora as a dual-boot
on the actual machine you would switch to Linux, and try it side by
side. Of course, if you have a complicated environment, then maybe you
can only try a smaller test (i.e. single-machine, single-screen
instead of a full CAVE setup, but compare both OSes in a similar
setup). That way, you'll see firsthand what the differences in
bottlenecks can be. Of course, that's assuming your software was
written in a cross-platform manner to begin with.

Otherwise, you'd probably have to rely on anecdotal evidence, or on
numbers which may not apply to your actual situation.

Just a suggestion. Good luck,

J-S
--
______________________________________________________
Jean-Sebastien Guay jean-sebastien.guay-scC8bbJcJLCw5LPnMra/***@public.gmane.org
http://whitestar02.webhop.org/

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
Robert Osfield
2007-03-12 10:41:54 UTC
Permalink
Hi Zach,
Post by Zach Deedler
I must be fairly confident that switching to linux will solve some of our
paging problems before I recommend it to my boss.
I think in the end you'll just need to do side by side
performance/quality tests, and you'll need to come up with a metric or
set of metrics to test them. Dual booting a single system is probably
a good way to achieve like for like comparison.

For vis-sim the measure the number of frame drops from your target
frame rate is probably one of the most useful ones.

If you are already hitting a solid frame rate then seeing how far you
can up the LODScale before frame drops start occur could be another
good metric. This could give you a feeling for how comfortably the
system copes with the load.

The visual quality side is probably just done to how well FSAA and
anisotopic filtering scale on each OS, and this is almost entirely
down to the driver, and if your using NVidia cards there is good
chance that visual quality will be identical. Curiously under Vista
the FSAA does seem to have suffered relative to XP, not sure why yet,
but it could be down to the extra demands on GPU memory that Vista
makes. Visita only matters though if you are buying a new machine for
a sim as I can't image many upgrading to it for simulator.

Once you have your standard set of tests together you could start
looking at various things you could tweak on the linux side to get
best performance from it. For instance you could cut back on all the
services running on the machine, just run what is required for the sim
and no more. One thing I've found on my system that is important for
solid performance is to remove the powersave demon as this consumes
CPU cycles and also interrupts the CPU erratically.

You can also try out different file systems, some may favour the type
of disk reading that paging demands. I haven't experimented with this
yet, but its something that I've long been curious - which file system
to recommend for paging. Perhaps others in the community might have
some insight in this.

Finally there are the real-time OS versions of Linux.

Over all I think Linux is very compelling platform for vis-sim apps,
its very customizable, the basic components of the OS are vis-sim
friendly - good file systems, real-time kernel availability,
multi-processor support, ability to cut the running services to bare
minimum. If you match up this against XP, Vista and OSX what you have
isn't something that you isn't in great shape to start with, and can't
be customized extensively to get it in to good shape.
Post by Zach Deedler
Also, if anybody has any suggestions on how to improve paging on windows,
I'd appreciate it. I've tried changing the size of the paging file, and
such but haven't had a lot of luck.
IDE disks do make more of demand on the CPU than SCSI so this might be
one avenue.

In the end though, the same hardware under Linux has a good chance of
out performance due to better file systems and multi-processor
support.

Long term Linux is where I think you should be, but migration isn't
always painless - if all the components you rely upon aren't available
you need to get them ported over, there also the need for learning new
ways of working. Once migrated and up to speed there won't be any
looking back - especially as you arent' locked into one vendors future
OS evolution - you can pick the distributions or even build your own
distributions that perfect fit with your needs.

Robert.
Jan Ciger
2007-03-12 17:50:56 UTC
Permalink
Post by Zach Deedler
Hello osg-soldiers,
I'm not trying to wage an OS war here. I know that is what you usually get
with a subject line like this. I'd just like to know others experiences
with file system performance on Linux vs. Windows for OSG, and OSG paging in
particular.
I didn't do any rigorous benchmarks on I/O throughput, however Linux seems to
be a bit faster due to better I/O scheduling and smarter caching. Also, Linux
usually doesn't block the rest of the system while doing I/O as Windows likes
to do when under heavy load.

However, as I said at the start - these are my impressions not benchmarks. If
you want to be sure, set up either a dual boot or one of the live distros
which boot from the CD, put your data and application on the harddrive and
benchmark it. That is the only way how to be sure.

Jan
--
Jan Ciger
GPG public key: http://www.keyserver.net/
Zach Deedler
2007-03-12 18:09:40 UTC
Permalink
Hi Jan,

Thanks. I like when people can separate their opinions from facts.

I'm gonna try out linux some more. I already have a dual boot system. I
just have to port some of the fixes I've made to OSG so that I've got the
same baseline. One of the things that really degraded performance was
DOFTransforms. I'll port that change and see what I get.

I have a commercial image generator that does paging very well on windows,
so I know it is possible. However, I did notice it uses a real-time
extension, and many many more threads.

Watch out linux; I'm about to give you a thorough examination.


Zach

-----Original Message-----
From: osg-users-bounces-O4jvQuzB+***@public.gmane.org
[mailto:osg-users-bounces-O4jvQuzB+***@public.gmane.org] On Behalf Of Jan Ciger
Sent: Monday, March 12, 2007 13:51
To: osg users
Subject: Re: [osg-users] Linux vs. Windows file system
Post by Zach Deedler
Hello osg-soldiers,
I'm not trying to wage an OS war here. I know that is what you
usually get with a subject line like this. I'd just like to know
others experiences with file system performance on Linux vs. Windows
for OSG, and OSG paging in particular.
I didn't do any rigorous benchmarks on I/O throughput, however Linux seems
to be a bit faster due to better I/O scheduling and smarter caching. Also,
Linux usually doesn't block the rest of the system while doing I/O as
Windows likes to do when under heavy load.

However, as I said at the start - these are my impressions not benchmarks.
If you want to be sure, set up either a dual boot or one of the live distros
which boot from the CD, put your data and application on the harddrive and
benchmark it. That is the only way how to be sure.

Jan
--
Jan Ciger
GPG public key: http://www.keyserver.net/
David Spilling
2007-03-12 19:43:04 UTC
Permalink
For what it's worth, we found that since all DOFTransforms (coming from
OpenFlight files) were in the same order, namely heading, roll, pitch (or
was it the other way around - I always have to go back to the maths to
remember) we saved a lot of time by implementing our own "replacement",
firstly with fixed axis order, and secondly along the lines of:

double sx = sin(roll);
double cx = cos(roll);
double sy = sin(pitch);
double cy = cos(pitch);
double sz = sin(yaw);
double cz = cos(yaw);
double sxsy = sx*sy;
double cxsy = cx*sy;

return osg::Matrix(
cy*cz, cy*sz, -sy, 0.0,
sxsy*cz-cx*sz, sxsy*sz+cx*cz, sx*cy, 0.0,
cxsy*cz+sx*sz, cxsy*sz-sx*cz, cx*cy, 0.0,
0.0, 0.0, 0.0, 1.0
);

as this also avoided the quaternion conversions embedded in DOFTransform's
use of

osg::Matrix::rotate(-getCurrentHPR()[0], 0.0, 0.0, 1.0)

We got a 2-4x reduction in time spend in DOFTransform, from profiling, so it
seemed like a good idea.

David
Zach Deedler
2007-03-12 23:13:40 UTC
Permalink
Hi David,

If you haven't tried out the osg in SVN, you should. It should have a
DOFTransform fix that prevents DOFTransforms from being visited when they
are not even switched on or LOD'd in. This prevents your Update times from
being high when you have a lot of DOFs.


Zach




_____

From: osg-users-bounces-O4jvQuzB+***@public.gmane.org
[mailto:osg-users-bounces-O4jvQuzB+***@public.gmane.org] On Behalf Of David Spilling
Sent: Monday, March 12, 2007 15:43
To: osg users
Subject: Re: [osg-users] Linux vs. Windows file system


For what it's worth, we found that since all DOFTransforms (coming from
OpenFlight files) were in the same order, namely heading, roll, pitch (or
was it the other way around - I always have to go back to the maths to
remember) we saved a lot of time by implementing our own "replacement",
firstly with fixed axis order, and secondly along the lines of:

double sx = sin(roll);
double cx = cos(roll);
double sy = sin(pitch);
double cy = cos(pitch);
double sz = sin(yaw);
double cz = cos(yaw);
double sxsy = sx*sy;
double cxsy = cx*sy;

return osg::Matrix(
cy*cz, cy*sz, -sy, 0.0,
sxsy*cz-cx*sz, sxsy*sz+cx*cz, sx*cy, 0.0,
cxsy*cz+sx*sz, cxsy*sz-sx*cz, cx*cy, 0.0,
0.0, 0.0, 0.0, 1.0
);

as this also avoided the quaternion conversions embedded in DOFTransform's
use of

osg::Matrix::rotate(-getCurrentHPR()[0], 0.0, 0.0, 1.0)

We got a 2-4x reduction in time spend in DOFTransform, from profiling, so it
seemed like a good idea.

David
Robert Osfield
2007-03-13 09:01:41 UTC
Permalink
Hi Zach,

One test you could also do is something that Don enjoyed doing during
Training sessions.

First up he'd get people to install the anywhere.flt database that is
publically available, then run:

osgviewer anywhere.flt

First under Windows, then under Linux. The later would load 10x
faster. This was with the old OpenFlight loader, and new one is more
efficient at loading so I'd guess the delta will have come down.
Clearly the OpenFlight loader was using file IO calls in a way that
particularly exposed weakness in MS's IO library and the OS. I don't
think the likes of the IVE plugin are quite so bad but it might still
be an interesting test to do - pick a big model and just load it and
see how long it takes.

Robert.
Jan Ciger
2007-03-13 12:03:24 UTC
Permalink
Post by Robert Osfield
Clearly the OpenFlight loader was using file IO calls in a way that
particularly exposed weakness in MS's IO library and the OS. I don't
think the likes of the IVE plugin are quite so bad but it might still
be an interesting test to do - pick a big model and just load it and
see how long it takes.
I think that the main issue here was with the flt format consisting of way too
many relatively small files - Windows filesystems are particularly bad for
this case whereas Linux is actually optimized for it.

Jan
--
Jan Ciger
GPG public key: http://www.keyserver.net/
Glenn Waldron
2007-03-16 13:12:37 UTC
Permalink
Here's another data point to consider... I came across this discussion in
which the poster suggests that NTFS' indexing scheme does not favor a large
number of similarly-named files in a single folder (which is pretty much
what you get from osgdem).

http://groups.google.com/group/microsoft.public.win2000.file_system/browse_thread/thread/e7b4d86095272427/257d6a0a740f9d6c

Upshot is that randomization of filenames might make a difference. -gw
Post by Zach Deedler
Hello osg-soldiers,
I'm not trying to wage an OS war here. I know that is what you usually get
with a subject line like this. I'd just like to know others experiences
with file system performance on Linux vs. Windows for OSG, and OSG paging in
particular.
I must be fairly confident that switching to linux will solve some of our
paging problems before I recommend it to my boss.
Also, if anybody has any suggestions on how to improve paging on windows,
I'd appreciate it. I've tried changing the size of the paging file, and
such but haven't had a lot of luck.
Zach
_______________________________________________
osg-users mailing list
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
--
Glenn Waldron : Pelican Mapping : http://pelicanmapping.com
Zach Deedler
2007-03-16 13:34:39 UTC
Permalink
Hi Glen,

Thanks for the info. A lot of my file names are similar, and I am
constantly changing them.


Zach




_____

From: osg-users-bounces-O4jvQuzB+***@public.gmane.org
[mailto:osg-users-bounces-O4jvQuzB+***@public.gmane.org] On Behalf Of Glenn Waldron
Sent: Friday, March 16, 2007 09:13
To: osg users
Subject: Re: [osg-users] Linux vs. Windows file system


Here's another data point to consider... I came across this discussion in
which the poster suggests that NTFS' indexing scheme does not favor a large
number of similarly-named files in a single folder (which is pretty much
what you get from osgdem).

http://groups.google.com/group/microsoft.public.win2000.file_system/browse_t
hread/thread/e7b4d86095272427/257d6a0a740f9d6c
<http://groups.google.com/group/microsoft.public.win2000.file_system/browse_
thread/thread/e7b4d86095272427/257d6a0a740f9d6c>

Upshot is that randomization of filenames might make a difference. -gw


On 3/11/07, Zach Deedler <zjd-***@public.gmane.org <mailto:zjd-***@public.gmane.org> > wrote:

Hello osg-soldiers,

I'm not trying to wage an OS war here. I know that is what you usually get
with a subject line like this. I'd just like to know others experiences
with file system performance on Linux vs. Windows for OSG, and OSG paging in
particular.

I must be fairly confident that switching to linux will solve some of our
paging problems before I recommend it to my boss.

Also, if anybody has any suggestions on how to improve paging on windows,
I'd appreciate it. I've tried changing the size of the paging file, and
such but haven't had a lot of luck.

Zach

_______________________________________________
osg-users mailing list
osg-users-O4jvQuzB+***@public.gmane.org
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
--
Glenn Waldron : Pelican Mapping : http://pelicanmapping.com
Robert Osfield
2007-03-16 13:41:38 UTC
Permalink
Post by Glenn Waldron
Here's another data point to consider... I came across this discussion in
which the poster suggests that NTFS' indexing scheme does not favor a large
number of similarly-named files in a single folder (which is pretty much
what you get from osgdem).
http://groups.google.com/group/microsoft.public.win2000.file_system/browse_thread/thread/e7b4d86095272427/257d6a0a740f9d6c
Upshot is that randomization of filenames might make a difference. -gw
Ack, if this true then MS have dug themselves and their users into a
even deeper whole w.r.t performance of paged databases. Randomly
renaming files to get round poor design/implementation of the file
system is a pretty poor solution.

Perhaps one way around this might be to archive the files into a
series of .osga files. The archives arn't well optimized yet (the
streambuf just crudely reads a byte at a time), but the indexing
system will using an in memory std::map so indexing of files is should
be very quick and scale well.

Robert.
mark_barnes-ZQO5Eg0qFrBzLsRDUQZfk1aTQe2KTcn/@public.gmane.org
2007-03-16 17:16:15 UTC
Permalink
There is some tuning that you can do. I don't know if it'll help
though...

http://bobnetnow.googlepages.com/performance

http://www.testmy.net/t-11849

and google for similiar information.

Regards,
Marcus
Post by Zach Deedler
Hello osg-soldiers,
I'm not trying to wage an OS war here. I know that is what you usually get
with a subject line like this. I'd just like to know others experiences
with file system performance on Linux vs. Windows for OSG, and OSG paging in
particular.
I must be fairly confident that switching to linux will solve some of our
paging problems before I recommend it to my boss.
Also, if anybody has any suggestions on how to improve paging on windows,
I'd appreciate it. I've tried changing the size of the paging file, and
such but haven't had a lot of luck.
Zach
_______________________________________________
osg-users mailing list
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
Continue reading on narkive:
Loading...