Apologies for the late reply.
A system buffer is a buffer in the kernel space, which means it is
not immediately accessible to the user program. It may come into play
during the following scenarios:
- When doing an MPI_Send, in the TCP case say, LAM writes the message down
to the socket, which may effectively be copied to the system buffer before
it is sent out across the network. This system buffer is used for buffering by
the OS/kernel.
- Say an unexpected message is received by a process and the user did not
specify a buffer by posting a MPI_Recv. The message may then be copied to
the system buffer and remain in the unexpected queue.
- Noncontiguous data can be sent by "packing" and it will be "unpacked"
at recv. For this operation system buffer may be needed.
Depending on what kind of scenarion we have (as in above cases), the
system buffer may be allocated on the sender or the receiver side.
Typically, I think the system buffer has 64K limit, but I think it is
reconfigurable by the sysadmin.
Hope this helps....
-Vishal Sahay
===================================================================
(Graduate Student, CS Dept. Open Systems Lab
Indiana University, Bloomington) Make Today A LAM/MPI Day :)
http://cs.indiana.edu/~vsahay http://www.lam-mpi.org
===================================================================
On Fri, 2 May 2003 rpss_at_[hidden] wrote:
# What's system buffer in a MPI communication (blocking or non-blocking)?
#
# Where is it allocated (sender side or receiver side) and what's its maximun
# size ?
#
# How can I get access ?
#
# Thank you.
# Rodrigo.
#
# ----------------------------------------------------------
# Departamento de Computação e Estatística (www.dct.ufms.br)
# Universidade Federal de Mato Grosso do Sul (www.ufms.br)
# _______________________________________________
# This list is archived at http://www.lam-mpi.org/MailArchives/lam/
#
|