threading

Brian Kantor brian at UCSD.Edu
Wed Apr 12 17:24:56 UTC 2000


>... but I would like to see this
>early in 2.4. Now that dual CPU Intel platforms are as cheap as door
>prizes, anything which would speed transit servers is welcome.

In my dual-processor BSD system, it was my impression that at any given
moment, one of the processors was pretty much handling innd and the other
was handling innfeed, with the disk i/o interrupts fairly well distributed
between them.

Unfortunately, I don't have tools (i.e., a sufficiently instrumented
kernel) to see if this is really the case.

I have seen both processes in run state, which never seemed to happen in
a single-processor system.

I am willing to believe that threading (if it's well done and reliable)
speeding things up on a system with more than 2 processors.  There's no
doubt that 'select' is not real efficiently coded in many of the device
drivers, so having a thread block and resume on I/O might have a bit less
non-physical I/O overhead.

On the other hand, in my experience news has never been processor-limited.
It's always sitting around waiting for the network and disk anyway.
I don't know enough about threading to know if it would help that any.
	- Brian

This is a typical 'top' snapshot of my transit system

load averages:  0.45,  0.42,  0.41 
33 processes:  1 running, 32 sleeping
CPU states:  2.6% user,  0.0% nice,  1.9% system,  0.0% interrupt, 95.5% idle
Memory: Real: 158M/239M Virt: 8114M/8472M Free: 202M

  PID USERNAME PRI NICE  SIZE   RES STATE   TIME   WCPU    CPU COMMAND
  250 news       2    0   28M   99M sleep 109:40  7.03%  7.03% innd
  262 news       2    0   55M  125M sleep 110:06  4.69%  4.69% innfeed

INN2.2
BSD/OS 4.1
ASUS P2B-DS
2x P-II/550
512 MB ram
aic0: Adaptec aic7890/91 Ultra2 SCSI HBA
aic0: Termination - LVD Low On, LVD Hi On, SE Low On, SE Hi On
tg0 at aic0 target 0: tag queueing, wide, synchronous @ 40.0MB/s
sd0 at tg0 unit 0: disk: SEAGATE ST34572W rev 0784 (SCSI-2) 8888924*512
tg1 at aic0 target 1: tag queueing, wide, synchronous @ 80.0MB/s
sd1 at tg1 unit 0: disk: SEAGATE ST118202LW rev 0006 (SCSI-2) 35566480*512
tg2 at aic0 target 2: tag queueing, wide, synchronous @ 80.0MB/s
sd2 at tg2 unit 0: disk: SEAGATE ST118202LW rev 0006 (SCSI-2) 35566480*512

Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
/dev/sd0a       31727    12454    17686    41%    /
/dev/sd0h     1015791   616250   348751    64%    /usr
/dev/sd0g     3003373  1448130  1405074    51%    /var
/dev/sd1h    16661259 16660433      826   100%    /var/cnfs/1
/dev/sd2h    16661259 16660433      826   100%    /var/cnfs/2
mfs:25          15855        3    15059    0.%    /tmp



More information about the inn-workers mailing list