unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



nfsiod(8)							    nfsiod(8)



NAME

  nfsiod, biod - The local NFS compatible asynchronous I/O daemon

SYNOPSIS

  nfsiod [numthreads]

DESCRIPTION

  The nfsiod daemon runs on an NFS compatible client machine and spawns
  several IO threads to	service	asynchronous I/O requests to its server. The
  I/O threads improve performance of both NFS reads and	writes.	 Both try to
  enlist the aid of an idle I/O	thread.	If none	is available, the process
  itself issues	the request to the server and waits for	the reply.

  The optimum number of	I/O threads to run depends on many variables, such as
  how quickly the client will be writing, how many files will be accessed
  simultaneously, and the behaviour of the NFS server. For use with a Tru64
  UNIX server, 7 is a good number of I/O threads for most systems.

  When reading,	if the client believes the process is reading a	file sequen-
  tially, it requests an I/O thread to read a block ahead of what the process
  is currently requesting.  If the readahead completes before the process
  asks for that	block, then the	subsequent read	system call for	that data
  completes immediately	and does not have to wait for the NFS request to com-
  plete.  Read ahead will be triggered again so	the read may find that next
  block	available as well.

  When writing a file, the client takes	the process's data, passes the
  request to an	I/O thread and immediately returns to the process.  If the
  process is writing data faster than the network or server can	process, then
  eventually all the I/O threads become	busy and the process has to handle a
  NFS write itself. This means the process has to wait until the server	fin-
  ishes	the write.  For	Tru64 UNIX servers, the	NFS block size is 8Kb and UFS
  tries	to cluster I/O 64Kbs at	a time.	 If the	client is running with 7 I/O
  threads, 8 write requests can	be in progress at once.	 This allows the
  client and server to write data 64Kbs	at a time and is the reason for
  recommending 7 I/O threads.

  Unlike nfsd, each client thread can use either UDP or	TCP.  However, if TCP
  mounts are active, the nfsiod	process	will time out, close idle TCP connec-
  tions, and acknowledge any connections closed	by the server.

  The nfsiod process is	also responsible for syncing the access	time and
  modify times for special files and named pipes (fifos).  Because I/O to
  these	files does not go through the NFS server, NFS clients have to
  directly update the access time and modify time attributes.

  The client threads are implemented as	kernel threads;	they are part of Pro-
  cess ID 0, not the nfsiod process.  The ps axml command displays idle	I/O
  threads under	PID 0.	Idle threads will be waiting on	nfsiod_wait. There-
  fore,	if 7 I/O threads are configured, only 1	nfsiod process is displayed
  in the output	from the ps command, although 7	client threads are available
  to handle NFS	requests.





FILES

  /usr/sbin/nfsiod
      Specifies	the command path

  /var/adm/syslog/kern.log
      Specifies	the file for logging NFS activity

SEE ALSO

  Commands: nfsd(8), nfsstat(8)

  Daemons: async_daemon(2)