[net.unix-wizards] Suggestions for UNIX RAM disks wanted

john@sol1.UUCP (john) (09/27/84)

We are looking at the possibility of adding a RAM
disk to our PLEXUS UNIX SysIII system. (multibus)
Would appreciate responses as to the following:

1> specific products that would function on our system. (cost per meg, etc.)
2> Experiences with RAM disks. (performance, implementation, etc.)
3> Suggestions on what to mount on the disk. (/tmp, swap, etc.)

The PLEXUS harddisk controller is very intelligent now.
It occurs to me that A more or less generic multibuss controller would
possibly slow down the otherwise optimized system.

	Thanks in advance,
                           John Korsmeyer
                           THE SOLUTION
                           akgua!sol1!john

bass@dmsd.UUCP (John Bass) (10/10/84)

The suggestion that "If you only have one ramdisk /tmp will produce the most
noticeable speed up of system operation" may not be optimal for most systems.

I have both measured and analytical data that suggests that a small root
filesystem will have the largest effect for most combinations of best
response time and throughput. There are strong arguments against using
/tmp mounted on a small ramdisk.

	1) ramdisk sizes of .5-1.5mb are typical tradeoffs for available memory
	sizes of 1 to 4mb. This is often to small for a tmp area. Some programs
	like sort require tmp areas twice or more larger than the file being
	sorted. For 10-20 users systems the tmp areas must be 1-5mb in size.
	Multiple C compiles of large programs also require large tmp areas.
	Some mail systems copy the entire mbox to tmp ... often 100kb or more.
	Ar copies the entire library to tmp for updates ... often 100kb or more.

	2) On most multi-user systems 10-20 users often 25-45% of the
	filesystem accesses are in the root. This  traffic is in /bin,
	directory's, and pipes. This of course is highly system dependent
	--  non-developmental system will be loading dependent upon the
	major application.

	3) Most file accesses are to read files less than 3kb in length.
	For files of this size the open times (IE nami search) represent
	50-90% of the real time handling the file.

	4) /tmp is used primarily by editors, compilers, mail and tools.
	Most editing is entry and local changes ... tmp file access time has
	little effect on response times. For other programs /tmp access
	represent 10-40% of the total I/O traffic for the job. The rest of
	the traffic is program loading, directory searches, and accesses
	to /lib, /usr/lib, and /usr/include data -- transfering the mostly
	comonly used programs and data to a ram disk root has a much bigger
	effect on reducing overall response times and increasing system
	throughput.

These arguments generally point toward building a small root after bootup
by init ... and having init chroot before going multiuser. The speed increases
in terms of BOTH throughput and response time are significant for many
applications. Generally place the top 35 most accessed programs in /bin.
Move the infreqently accessed utilities in /etc to /usr/etc. Leave ample space
free to handle pipes ... maxpipe*2*#users for systems up to about 10 users.
Larger systems can get by with less, systems using pipes a lot require more.

John Bass
Systems Performance Consultant

gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) (10/14/84)

No utility should use /tmp for large files.  That is what /usr/tmp is for.

henry@utzoo.UUCP (Henry Spencer) (10/16/84)

> No utility should use /tmp for large files.  That is what /usr/tmp is for.

The philosophy we tend to follow around here is the exact opposite:
temporary files go on /tmp.  If there is a size/speed tradeoff involved,
that's the system's problem, not yours.  Most machines hereabouts have
a separate /tmp filesystem; some don't even *have* a /usr/tmp directory.
-- 
				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,linus,decvax}!utzoo!henry

wls@astrovax.UUCP (William L. Sebok) (10/19/84)

On our system (running 4.2 BSD)  /usr/tmp is a symbolic link to /tmp .
-- 
Bill Sebok			Princeton University, Astrophysics
{allegra,akgua,burl,cbosgd,decvax,ihnp4,noao,princeton,vax135}!astrovax!wls