User manual
Miscellaneous Notes
67
drive. In other words, OpenVMS and VMS applications assume full write-through semantics of
all disk writes and rely on this semantics for data integrity.
SIMH by default uses write-back disk caching semantics, in order to improve virtual disk IO
performance. This means that if host system crashes or loses power, guest OS data and
applications data can be left corrupted.
If you need to run applications that require high level of data integrity, such as databases, you
should explicitly put disks in write-through mode. This feature is available in VAX MP as well as
regular uniprocessor SIMH in versions coming after 3.9.
Disks with write-through semantics have lower IO performance than disks with write-back
semantics, therefore to maintain general system performance, it is recommended to keep data
requiring high integrity on separate virtual drive(s) and put only those drive(s) in write-through
mode, while leaving system disk and disk with paging and swap files in write-back mode (but do
keep system disk standby backup copy).
To put disk drive in write-through mode, attach it as “raw” format.
For example:
set rqb0 format=raw
attach rqb0 mydb.vdisk
or as a single command (note exact order of arguments!):
attach rqb0 –f raw mydb.vdisk
Note that write-through operations with RAW format are reliable under Windows, however
under Linux they are subject to deficiencies in Linux implementation of write-through semantics:
some (many/most) Linux implementations will only flush the write to the controller, but will not
wait for the writes being flushed from the controller cache to persistent media.
1
Scalability
Multiprocessor scalability of an application or application mix depends to a great extent on the
application and host system properties. In any event, scalability will be limited by Amdahl law.
Compute-bound applications with little or no dependency between processes can be expected
to scale close to linear, subject to the bandwidth of host machine’s memory bus and locality of
application memory references enabling or disabling efficient caching. Heavy paging however
would introduce implicit dependency between processes contending for virtual memory system
(for structures protected by serialization on MMG spinlock and for disk IO to or from paging file).
1
http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg272085.html
http://www.spinics.net/lists/linux-scsi/msg38592.html
http://milek.blogspot.com/2010/12/linux-osync-and-write-barriers.html