Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Mar 2002 08:50:32 +0200
From:      Dimitar Peikov <mitko@rila.bg>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        drwilco@drwilco.net, silby@silby.com, bifrost@minions.com, cjp@sandstorm.net, freebsd-hackers@FreeBSD.ORG
Subject:   Re: Swapping performance
Message-ID:  <20020308085032.69568968.mitko@rila.bg>
In-Reply-To: <200203071912.g27JC3A68645@apollo.backplane.com>
References:  <20020307095452.D18855-100000@frond.minions.com> <5.1.0.14.0.20020307193205.01c3b0f0@mail.drwilco.net> <200203071912.g27JC3A68645@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 7 Mar 2002 11:12:03 -0800 (PST)
Matthew Dillon <dillon@apollo.backplane.com> wrote:

>     Hmm.  well, I don't think this test is very meaningful.  If the
>     machines have 256M of ram and the test is doing a two-swipe access of
>     256M of VM. This doesn't represent any real test and I would not be
>     surprised by the difference in timing.  
> 
>     It all comes down to how much real memory Linux and FreeBSD give to
>     the process and there is no right answer to the question because it's
>     a tradeoff.  An OS does not magically know that only one process will
>     ever need all of the machine's resources, for example, so different
>     operating systems are going to have very different characteristics
>     under these sorts of conditions.  One might give over more memory,
>     another might want to avoid completely blowing away its other caches. 
>     One might work well for linux in a one-process memory test could fail
>     miserably in a multi-process memory test, for example, or with a
>     different pattern of memory accesses, or a different load split
>     between cpu, memory, and disk I/O.
> 
>     You (Dimitar and others) also need to be careful about making broad
>     generalizations.  Testing pure swapping performance with the below
>     program implies that you intend to run applications that will need to
>     swap heavily (for example, big mathmatical applications).  If you
>     don't intend to run applications that will need to swap heavily then
>     this test is fairly meaningless as a measure of performance.
> 

I don't make any generalizations if I can't prove that for myself. If I
increase the amount of MALLOC_SIZE in this test, the results goes much more
worse. Even in case that I have 25 processes running concurently with this
task (there is no X, almost empty system), the program runs but ...

>     Another point that I should bring up in regards to swap performance:
>     systems that require good swap performance will almost always have
>     more then one physical disk to swap to.   FreeBSD is very good at
>     paging to swap with a single disk, but it kicks ass paging to swap
>     with multiple disks because it implements a very good interleaving
>     algorithm.
> 
> 					-Matt
> 					Matthew Dillon 
> 					<dillon@backplane.com>
> 
> :Am I the only one who saw that he attached it to his 1st mail?
> :
> :Here you go:
> :
> :#include <stdlib.h>
> :#include <string.h>
> :#include <stdio.h>
> :
> :#define MALLOC_SIZE 1024*1024*256
> :
> :int main(int argc, char **argv) {
> :   char *ptr;
> :   int i, i_count;
> :   int j;
> :
> :   ptr = (char *) malloc(MALLOC_SIZE);
> :   bzero(ptr, MALLOC_SIZE);
> :
> :   i_count = MALLOC_SIZE / 16;
> :   fprintf(stderr, "*");
> :   for (i = 0; i < i_count; i ++) {
> :       ptr[i >> 4] = ptr[(i >> 3) + 1]++;
> :   }
> :   fprintf(stderr, "#");
> :   for (j = 0; j < i_count; j ++) {
> :       ptr[j << 4] = ptr[(j >> 3) + 1]++;
> :   }
> :
> :   free(ptr);
> :   return 0;
> :}


-- 
Dimitar Peikov
Programmer Analyst
Globalization Group
"We Build e-Business"  

RILA Solutions  
27 Building, Acad.G.Bonchev Str.  
1113 Sofia, Bulgaria  

phone: (+359 2) 9797320 
phone: (+359 2) 9797300 
fax:   (+359 2) 9733355  
http://www.rila.com 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020308085032.69568968.mitko>