You are not logged in. Login Now
 0-24   25-37         
 
Author Message
13 new of 37 responses total.
arthurp
response 25 of 37: Mark Unseen   Mar 17 04:24 UTC 1998

I've been away for some time now, but I'll pick up this thread.  I have 
the motherboard and CPU for this system, and would love to put it in a 
case for grex.  I don't have a case for it, or I would have put it 
together already and given it.
scg
response 26 of 37: Mark Unseen   Mar 17 05:33 UTC 1998

We have a case sitting in the Pumpkin.  Let me know when you want to pick it
up (late evenings are probably best).
janc
response 27 of 37: Mark Unseen   Mar 18 17:23 UTC 1998

Or give me a call, my schedule is a bit more flexible than Steve's.  I also
have David's hard disk.
arthurp
response 28 of 37: Mark Unseen   Mar 20 04:16 UTC 1998

Late evenings are fine.  After this weekend I should be free.
jared
response 29 of 37: Mark Unseen   Mar 23 23:44 UTC 1998

Back to parts for the 4/670, since we're up on it, might i suggest
maxing out the number of cpu's?  i seem to recall steve (login: steve)
saying a spare cpu was $30, why not spend $60, and have 4 cpus, and
do it that way.  That should increase the speed of the non io-bound
operations on the system.  I'm going to do some stats as i find
time to see if the system is slow because of io operations or
cpu, etc..
dang
response 30 of 37: Mark Unseen   Mar 24 04:51 UTC 1998

I think the argument was that, since SunOS isn't multithreaded, more CPU's
wouldn't help much.  We do have another one we could possibly put in and test
with.
janc
response 31 of 37: Mark Unseen   Mar 24 05:14 UTC 1998

Well, we should buy another CPU card with two more CPU's as a spare.  Once
we have it, we should try running on both to see if it helps.  Rumor says it
doesn't and can even hurt.  I've also seen some suggestions that SunOS won't
even work with more than two CPUs.  But certainly we should give it a try.
mdw
response 32 of 37: Mark Unseen   Mar 24 06:25 UTC 1998

The SunOS kernel isn't multi-threaded, so only one process can be
executing kernel code at a time.  Grex, like most typical Unix systems,
spends about 50% of its time in kernel mode.  This means Grex can make
good use of 2 processors, because (on average) one processor can be in
the kernel while the other one is executing user code.  In theory, with
3 or more processors, the fact that only one processor can be executing
kernel code becomes the limiting factor, and performance should not be
significantly better than with 2 processors.  It could be worse if there
is any significant penalty for extra processors.

Obviously, in SunOS, the MP support is pretty primitive.  It is possible
to fix this, basically by completely rewriting the kernel.  Sun has done
this, and the result is called Solaris 2.  Solaris 2 can, in fact, make
good use of many processors, however, for a uniprocessor system, the
resulting MP overhead actually hurts performance.

Rather than trying to deploy a single large MP system, however, there is
another very different architectural approach, and that is to implement
a real distributed environment.  Basically, this means deploying a
number of smaller loosely coupled machines, and splitting up the stuff
that you see here on grex, between these multiple machines.  That might
mean, for instance, a few file servers, an authentication server, a mail
server, several login machines, and several terminal servers.  This
architecture has some important advantages over a monolothic large MP
server; for instance, if a machine breaks, it's easier to take it out of
service and replace it.  This architecture also scales better (up to
thousands of online users at once), and is in some ways much more robust
(something that clogs up the mail server with tons of mail may barely
affect anything else.)

Another important advantage (for grex) is that new MP servers are
extremely expensive, and used MP servers are not likely to be at all
common; while the "small server" distributed environment can make good
use of used workstations, which are extremely common.
jared
response 33 of 37: Mark Unseen   Mar 25 04:20 UTC 1998

If you run a modern version of solaris (2.5,2.5.1,2.6) it's nice and
fast.  I run those on various locations, including machines slower than
grex, and it works well.  An upgrade to a multithreaded OS is
something to consider, as for the security part, it's even
simpler:

Most security Issues are with X software, or fancy software that does
fun stuff.  This software is not needed on grex.

The kernel hacks for restricting network access are required for Solaris,
i have nothing to do with those, and can't recommend a good fix for that.

Remove all suid bits, except on well known, trusted software, such as
top, etc..  Nether.net is a very secure system that way :)

Grex can also fix some of it's spending time in kernel mode (it's
actually blocking for IO) by purchasing 7200RPM disks instead of the
slow disks it has, and using those for swap instead.  Using 3600RPM
disks for swap is not a great thing for performance.
mdw
response 34 of 37: Mark Unseen   Mar 25 23:54 UTC 1998

Faster disks will make very little difference with kernel overhead.  The
kernel overhead for a scsi disk of any speed will be virtually
identical, consisting of the time to set up the control blocks, pass
them to the controller, and later, to respond to the interrupt from the
controller when the transfer is done.  The speed of the disk is
completely irrelevant for these 2 activities; they'll take almost
exactly the same amount of CPU no matter how fast (or slow) the disk is.
7200RPM drives will have lower rotational latency, which will certainly
make things more spiffy, but may also have higher transfer rates, which
(if the controller is capable of it), could actually "hurt" CPU
performance by eating more memory bandwidth.  (The "hurt" disappears
when you consider overall system performance; it takes the same # of
memory cycles to transfer disk data to memory, regardless of whether
it's all squashed together or spread out a bit.) 7200RPM drives would
certainly still help performance, but finding a disk with fast seek
times is probably more important.

This is very different from the PC world, where with IDE, a faster disk
might well result in improved CPU utilization.  IDE disks don't do DMA,
but instead, the CPU transfers the data from the disk.  I've seen one
report that on some newer machines, an IDE drive can eat about 50% of
the CPU, vs. about 10% for a similar SCSI disk.  A faster spinning IDE
drive might well be able to manage faster transfer rates, and thus take
less CPU.
jared
response 35 of 37: Mark Unseen   Mar 26 00:11 UTC 1998

I'm talking about 7200rpm scsi disks.  I'm not aware of one of those
that has a seek time above 9ms.  The current disks we have are much
higher in their seek times, and it takes longer to get back because
of the slow spin.  You'd be shocked to notice the speed increase
you'll get in having a disk 2x as fast in rpm, and half the seek time,
which is what you'd get.

I'm not sure why you stuck a useless note in there about IDE, as
that is irrelevant to the way grex operates, as it's not on a PC.
srw
response 36 of 37: Mark Unseen   Mar 26 04:50 UTC 1998

You can get a good idea of how much a faster disk will help throughput 
on Grex by looking at the queue lengths as reported by vmstat. 
Try vmstat 5 and let it run for a minute or two.

Because the "r" queue lengths completely dominate the "b" numbers, I am 
not convinced that a faster disk will speed things up very much. More 
CPU might even help more than disk, even under SunOS 4.1.4, though the 
need for more CPUs is not as great for performance as it is for backup.

Grex effectively uses all the time while waiting for disk IO to complete 
by running other processes. If we did have a disk with higher IO rates, 
though, swap would be the first choice for where to put it, simply to 
make sure that there were always enough processes in memory to keep the 
CPUs busy. It seems there are, though, in our 128M of Ram.
mdw
response 37 of 37: Mark Unseen   Mar 27 03:32 UTC 1998

The main reason I mentioned IDE is that you claimed 7200 RPM disks would
decrease kernel mode time.  That might be true for IDE; it's not likely
to be the case with SCSI.  Although this is certainly not an issue with
the sun-4, it *is* an issue with the proposed 486 based mail server
we've been talking about, or with other similar possible future servers.
Unix does not spend kernel CPU while waiting for an I/O completion
interrupt - it either schedules another process to run (almost always
true on grex), or it idles (likely case on a Unix workstation).

The system is currently managing about 11% user, 30% system, & 58% idle.
There does not seem to be much actual paging going on, so a faster
paging device may not make much difference in system performance.
However, the paging system does seem a bit active in terms of page
attaches and detaches, and that means we're a bit short on memory - so
more memory would certainly be helpful.
 0-24   25-37         
Response Not Possible: You are Not Logged In
 

- Backtalk version 1.3.30 - Copyright 1996-2006, Jan Wolter and Steve Weiss