69 lines
2.5 KiB
Groff
69 lines
2.5 KiB
Groff
'\"!tbl|mmdoc
|
|
'\"macro stdmacro
|
|
.TH replication 5
|
|
.SH NAME
|
|
replication \- memory replication
|
|
.SH DESCRIPTION
|
|
This document describes the memory replication system available
|
|
in Origin Systems.
|
|
.SS Kernel Text Replication
|
|
The code for Irix is replicated during the booting procedure, according
|
|
to the ratio specified by the tunable \fBnuma_kernel_replication_ratio\fP
|
|
in /var/sysgen/mtune/numa.
|
|
There's always a copy on the \fImaster\fP node, and for a ratio \fBn\fP,
|
|
copies are made on every \fBn\fP of the other nodes. 0 means no copies. The default
|
|
value is 1, which causes copies of the kernel text to be made on every node.
|
|
|
|
.SS User read-only memory replication
|
|
.PP
|
|
The kernel automatically produces replicas of read-only memory according to
|
|
a \fIdynamic coverage radius algorithm\fP. Every memory object has an associated
|
|
\fIcoverage radius\fP that defines a neighborhood of nodes that are considered
|
|
to be \fIclose\fP to a physical page associated with the memory object.
|
|
During the page fault handling procedure, Irix first looks for a page
|
|
containing the needed data in the memory object; if such a page is not found,
|
|
the data is read from the backing device. Otherwise, if such page exists,
|
|
the fault handler uses the \fIcoverage radius\fP to decide if a replica is
|
|
needed. If the distance between the page home node and the faulting node
|
|
is less than the coverage radius, the same page is used; else, if
|
|
the distance is greater than the coverage radius, a replica is made and
|
|
used.
|
|
|
|
.PP
|
|
Replication happens for read-only pages only. If a read-only page becomes
|
|
writable, Irix shoots down all the replicas.
|
|
.PP
|
|
This kind of replication can be enabled or disabled using the tunable
|
|
\fBnuma_page_replication_enable\fP.
|
|
.PP
|
|
Replication can also be controlled
|
|
in order to avoid excessive use of resources. Control can be enabled or
|
|
disabled using \fBnuma_repl_control_enabled\fP.
|
|
.PP
|
|
There are two kinds of \fIReplication Control\fB
|
|
.TP
|
|
*
|
|
\fBTraffic Control\fP. When traffic across the links needed to do the copy
|
|
are being over-utilized, replication is not done. The tunable
|
|
\fBnuma_repl_traffic_highmark_percentage\fP defines the point at
|
|
which a link is considered over-utilized. This control is currently
|
|
experimental an is disabled for production systems.
|
|
.TP
|
|
*
|
|
\fBnuma_repl_mem_lowmark\fP. Replication is not done if the amount of
|
|
physical memory falls below a threshold, defined by
|
|
\fBnuma_repl_mem_lowmark\fP, and expressed in terms of \fInumber of pages\fP.
|
|
|
|
.PP
|
|
|
|
.SH SEE ALSO
|
|
numa(5),
|
|
migration(5),
|
|
mtune(4),
|
|
/var/sysgen/mtune/numa,
|
|
refcnt(5),
|
|
mmci(5),
|
|
nstats(1),
|
|
sn(1).
|
|
|