Info-3b2 Digest, Number 87
Ken Davis
kdavis at lamc.UUCP
Wed Jul 19 07:35:43 AEST 1989
Info-3b2 Digest, Number 87
Tuesday, July 18th 1989
Today's Topics:
Re: AT&T Support Hotline
Looking for 3B2 information contact
Re: Modula-2 for 3B2
How optimal is your interleave?
----------------------------------------------------------------------
Subject: Re: AT&T Support Hotline
From: info-3b2 at netsys.COM
Date: Wed, 28 Jun 89 05:25:19 -0400
From: "M.F. bettinger" <ames!ll-xn!usc!hacgate.uucp!mb18330>
Subject: Re: AT&T Support Hotline
As a matter of fact, I too spoke with Rich Thomas of the New Jersey hot-line
and was extremely happy with the result. AT&T marketing geniuses sold and
installed a 3B-NET board into our 3B2-600, for Ethernet, without providing
the internet address - and they said that no such address exists - well so
much for marketing brilliance. The hot-line gave me to Rich Thomas who put
together a C program to read the address from the board - via uucp I received
the code - it worked and we lived happily ever-after. Rich - if you read
this drivvelll, thanks again.
------------------------------
From: info-3b2 at netsys.com
Subject: Looking for 3B2 information contact
Date: Thu, 13 Jul 89 20:30:56 -0400
From: Greg Jahn <lll-tis!lll-crg!IDBSU.llnl.gov!DOSJAHN>
Howdy. I support the use of several 3B2/310's and one 3B2/600 here
at Boise State University. Our local ATT reps have been TERRIBLE
in providing information. I currently receive the newsgroup u3b.
I am in search of a few information contacts for our current and
future applications, and I thought you may have some suggestions.
In particular, I have been unable to get a definite yes or no as to
the availability of Modula-2 for 3b2 systems. This is something we
need to know before mid-August.
Thanks much for your time,
Greg Jahn DOSJAHN at IDBSU
Boise State University ...!ucdavis!egg-id!bsu2!jahn
Boise, Id. (208)385-3891
------------------------------
Subject: Re: Modula-2 for 3B2
From: info-3b2 at netsys.com
Date: Sat, 15 Jul 89 00:24:46 -0400
Date: Thu, 13 Jul 89 22:52:51 PDT
From: rich at bergy.UUCP (Bergstedt)
> In particular, I have been unable to get a definite yes or no as to
> the availability of Modula-2 for 3b2 systems. This is something we
> need to know before mid-August.
>
I know that I did at one time have a copy of a Modula-2 Compiler that I
received from a contact in NJ. I do not know the validity of it or if it
is in fact operable. If the person needing this would contact me directly
we could arrange some sort of file transfer or disk exchange.
I think I can find it but if I can't I can check back with my source.
--
Rich Bergstedt AT&T Data Systems Group uucp: uunet!spsd!bergy!rich
voice: 714-727-5231 8001 Irvine Center Dr. 2nd Fl. -or-
fax: 714-727-5275 Irvine, CA 92718-2900 attmail!rbergstedt
DISCLAIMER: These are my opinions, definitely not AT&T's.
------------------------------
Subject: How optimal is your interleave?
From: info-3b2 at netsys.com
Date: Tue, 18 Jul 89 16:51:27 -0400
Date: Tue, 18 Jul 89 13:31:54 BST
From: Graham Glen (Technical Manager) <hoptoad!qukmips!graham>
I don't know if this will be of interest to anyone, so I'll send
it anyway.
Before we changed the drives in our 3B2, I found that the default
interleave used by mkfs was wrong, so I wrote a shellscript to
test it for me.
Because another site that I talk to wanted to do much the same test I
finally got around to documenting how to set it up and what to make of the
output. So for your edification, amusement and entertainment I present the
thing as a shell archive. If anybody finds it useful or improves it, let me
know please 'cause I'm interested in other peoples findings on disk
interleaving and all matter related to tuning.
Graham
------------------- CUT HERE FOR FUN TIMES ------------------------
echo x - README
sed 's/^X//' >README <<'*-*-END-of-README-*-*'
X========================================================
XWhat you should have received:
X
XThe following files should be contained in this archive:
X
XREADME this file
Xcheckileave a shellscript that does the work
Xsquare.c a c program that is used for input (when compiled)
X to checkileave.
X
X========================================================
XWhat you will need:
X
XA spare disk partition with a minimum of 5Mb of free space on it.
XBe warned THE CONTENTS OF THE PARTITION WILL BE TRASHED.
X
XSome spare time to run it in. Preferably when the system is
Xunloaded, or lightly loaded. However, the tests are run a
Xsufficient number of time to try and reduce the deliterious
Xeffects of other jobs on the system. I always schedule it with
X"at" to run overnight.
X
X========================================================
XWhat you should do with them:
X
Xtype "make square" to make an executable.
X
XEdit the shellscript "checkileave" to set the following variables
Xat the start to sensible values for your machine.
X
XVariable Description
X-------- -----------
XSTART The smallest interleave that you wish to try. Leaving this
X set to 1 will have no ill effects other than increasing the
X time taken to run the job. I normally let mine run from 1
X to show the curve of the results more clearly.
X
XEND The largest interleave that you wish to try. If you don't
X have any particular value in mind, set it to the number of
X sectors per track of the drive that you are testing.
X
XDEVICE The full path name of the block special device for the
X partition to be used. eg. DEVICE=/dev/dsk/c1d0sb. This is
X the partition that will get overwritten. Make sure that if
X there is anything on it you back it up first.
X
XMNT The mount point for the partition. If you are running SVR3
X then this value will be overridden by the entry in
X /etc/fstab.
X
XBLOCKS The number of blocks that are available on the device. This
X is the full number of blocks, not the number that are left
X free after an "mkfs".
X
XCYLINDER The number of blocks per cylinder. eg. The number of
X sectors per track * the number of heads.
X
XINPUT The name of the program that will be used to generate input
X to the shellscript. This should be a full pathname eg.
X INPUT=/usr2/graham/bin/square
X
XTIMES The number of times that each interleave value will be
X tried. I use a value of 10 to try and reduce the effects of
X inconsistant times caused by other processes running at the
X same time. If the output shows statistically large
X variations for the values set of interleave values then
X increase this value, or try again when the system has less
X of a load on it.
X
XMOUNT Where the mount command is.
X
XUMOUNT Where the umount command is.
X
XMKFS Where the mkfs command is.
X
XDD Where the dd command is.
X
X========================================================
XHow to run the test:
X
XCopy square (or whatever program you are going to use as input),
Xand the "checkileave" shellscript to a directory where you want
Xthem. Next, schedule "checkileave" to be run at a period when the
Xsystem will be fairly quiet. I normally use "at" to let it start
Xat about 1 am. Using this method means that you will get the
Xresults mailed back to you for later perusal.
X
XDon't bother to try and run the command on your terminal, I don't
Xthink that anybody has a high enough boredom threshold to sit and
Xwait for the full output, and in anycase, unless you remember to
Xpump the output through "tee" you will lose it all nullifying the
Xwhole process.
X
X========================================================
XWhat to do with the results:
X
XThrough sheer laziness I haven't bothered to write anything to
Xprocess the output of "checkileave". It is not really necessary
Xanyway, unless you are the type of person who likes to change
Xhis/her disk drives every week.
X
XHere's what I normally do with the results. For every interleave
Xvalue tried you will have TIMES sets of data. Each set is
Xcomprised of a pair of times, the first for how long it took to
Xwrite the data, the second for how long it took to read it back
Xagain. There should not (statistically) be much variance in times
Xfor each interleave value. If there is then you will probably
Xneed to run the test again when the system is quiescent.
X
XFor each interleave value, separate the elapsed read and write
Xtimes. Take the average of each set and put into a pair of files,
Xone for reading, one for writing. Do this for all interleave
Xvalues and you should have a sequence of numbers in each of the
Xtwo files which decrease to a point and then start increasing
Xagain. I normally throw these two files at a graphics package and
Xshow both curves at once.
X
XIn an ideal world, the lowest times for reading and writing would
Xboth coincide at the same interleave value. But in practice I
Xhave yet to see this happen. Normally (and I'm running from
Xmemory here, I haven't used this script in anger for about a
Xyear) the shortest time for reading is at an interleave value of
X1 less than the shortest time for writing. Pick the interleave
Xfrom this that you think will offer the best performance. I have
Xin the past always used the best interleave for writing as it is
Xonly a small trade off in speed for reading. That decision might
Xform the basis for a holy war!
X
XI originally wrote this shellscript to test the performance on
Xour 3B2/400 when it was fitted with 72Mb CDC Wren II's. I found
Xon those that the interleave value that was used as the default
X(9 I think) was one higher than the one which offered optimal
Xperformance. It is always better to have the interleave set too
Xhigh than too low. If you look at a graph of the results from a
Xtest you will see that there is a sudden drop in times when the
Xbest interleave value is approached and a gradual increase in
Xtimes as it is passed.
X
X========================================================
XDisclaimer:
X
XI hope that if you use this script you derive some benefit from
Xit, but please don't blame me if it trashes your machine - I
Xwrote it to be fairly portable and give it away freely, but I
Xcan't guarantee anything in this life.
X
XIf you have got any suggestions as to how to improve it, or
Xperhaps write a script to perform some of the processing on the
Xresults (which I confess to not having the inclination to do!)
Xplease let me know about it as I'm always interested.
X
XGraham Glen
XQuadratron Systems (UK) Ltd.
XJune 1989
*-*-END-of-README-*-*
echo x - checkileave
sed 's/^X//' >checkileave <<'*-*-END-of-checkileave-*-*'
X
X#
X# I've only run this with /bin/sh & /bin/ksh, I think it would probably
X# puke its guts out on csh.
X#
X# Interleave factor to start with:
XSTART=1
X#
X# Interleave factor to end with:
XEND=17
X#
X# Device name:
XDEVICE=/dev/dsk/c1d0sb
X#
X# Number of blocks on device:
XBLOCKS=48705
X#
X# Blocks per cylinder
XCYLINDER=255
X#
X# Mount device as:
XMNT=/usr4
X#
X# Program to use to generate a big file:
XINPUT=/usr2/graham/bin/square
X#
X# Number of times to run each write/read pair:
XTIMES=10
X#
X# Where mount(1) is:
XMOUNT=/etc/mount
X#
X# Where umount(1) is:
XUMOUNT=/etc/umount
X#
X# Where mkfs(1) is:
XMKFS=/etc/mkfs
X#
X# Where dd(1) is:
XDD=/bin/dd
X#
X
XUID=`id | cut -d= -f2 | cut -d\( -f1`
Xif [ "${UID}" != "0" ]
Xthen
X echo "You must have a uid of 0 to run this program"
X exit
Xfi
X
Xulimit 10240
Xinterleave=`expr ${START} - 1`
X#
Xwhile true
Xdo
X interleave=`expr $interleave + 1`
X if [ "${interleave}" -gt "${END}" ]
X then
X break
X fi
X
X loop=0
X while [ "${loop}" != "${TIMES}" ]
X do
X loop=`expr ${loop} + 1`
X
X ${UMOUNT} ${DEVICE}
X
X echo "Building file system on ${DEVICE} with interleave ${interleave}"
X
X # build the file system with the correct interleave
X ${MKFS} ${DEVICE} ${BLOCKS} ${interleave} ${CYLINDER} >/dev/null 2>&1
X
X # echo "Mounting ${DEVICE} as ${MNT}"
X ${MOUNT} ${DEVICE} ${MNT}
X
X # Create the file for the timings
X echo "Time to create a 1Mb file on ${MNT} with an\c"
X echo " interleave factor of ${interleave}:"
X ${INPUT} |\
X time ${DD} ibs=1k obs=1k of=${MNT}/bigfile count=1000
X
X # now time how long it takes to read it back to /dev/null
X echo "Time to read a 1Mb file from ${MNT} to /dev/null"
X echo "with interleave factor of ${interleave}:"
X time ${DD} ibs=1k obs=1k of=/dev/null if=${MNT}/bigfile
X
X # All done, go around for another iteration....
X done
Xdone
*-*-END-of-checkileave-*-*
echo x - square.c
sed 's/^X//' >square.c <<'*-*-END-of-square.c-*-*'
X/*
X * square.c - produce 'U' on stdout (square wave on scope)
X */
X
X#include <stdio.h>
X
Xmain()
X{
X
X int loop;
X for (;;)/* forever */
X {
X for (loop = 1; loop <= 5120; loop++)
X putchar('U');
X /* sleep(1); */
X }
X}
X
*-*-END-of-square.c-*-*
exit
--
Graham Glen | Voice +44 1 371 5755
Quadratron Systems (UK) Ltd. | +44 836 380006 (mobile)
{quad1,qnorth,qswiss,ukc,attunix!uel}!quaduk!graham
"I may not have gone where I intended to go,
but I think I have ended up where I needed to be."
-------------------------------------
To join this group or have your thoughts in the next issue, please
send electronic mail to Ken Davis at the following address;
{apple, netsys, pacbell, pyramid}!lamc!info-3b2-digest
The views expressed in Info-3b2 Digest are those of the
individual authors only.
**********************
End of Info-3b2 Digest
**********************
More information about the Comp.sys.att
mailing list