@Manual{chapple:pulpf, author = {S. R. Chapple}, title = {{PUL-PF} Reference Manual}, year = {1994}, month = {January}, organization = {Edinburgh Parallel Computing Center}, note = {EPCC-KTP-PUL-PF-PROT-RM 1.1}, URL = {file://ftp.epcc.ed.ac.uk/pub/pul/pf-prot-rm.ps}, keywords = {parallel I/O, multiprocessor file system interface, pario-bib}, comment = {See also chapple:pulgf and chapple:pario. An evolution of their parallel I/O interface. PUL-PF is a library on top of existing file systems. Every process is either a client or a server; servers write some portion of the file to a file in the file system. Servers can be divided into groups so that files need not be spread across all servers. There seems to be client caching, with consistency controlled differently depending on access mode; when necessary, the application must call get-token and send-token commands to serialize access to an atom. Independently of their single, multi, random, and independent mode, they can read or write the next, previous, current, or ``wild'' atom (wild means the next ``most available'' atom not yet read by this process). Most I/O is on atoms, but particles (pieces of atoms) can also be independently read and written. Hints are supported to specify access pattern (random or sequential, stride), file partitioning, mapping, atom size, or caching. In many of those cases it goes beyond a hint to the supply of a user-defined function, e.g., for cache-replacement algorithm.} }