A Survey On Reflective Memory Systems - Reflective - Memory - Multiprocessor
A Survey On Reflective Memory Systems - Reflective - Memory - Multiprocessor
Il Joo Baek
Abstract: In this paper, several reflective memory systems (RMS) are surveyed. Differ-
ences between the reflective memory systems and the shared memory systems are described. A
brief overview of architectures, advantages, disadvantages, history, and general features of each
system is provided. The various RMS products are compared by complexity, scalability, and
compatibility. Recent researches of each systems are also studied. This paper suggested methods
to improve performance of RMS.
2 Reflective Memory System
2.1 Overview
Multiprocessors systems fall into two large classifica-
tions: shared-memory systems and distributed-memory
systems. Shared-memory systems is a tightly coupled Figure 1: A Reflective Memory/Memory Channel Node
multiprocessor system, consisting of multiple CPUs
and a single global physical memory. This mem-
ory systems offer a general and simple programming connection networks: bus, bus hierarchy, ring, mesh, or
model. Users can readily emulate other programming crossbar. The form of sharing is various: page, word,
models on these system. However a shared-memory segment or block. Also they can map shared-memory
multiprocessors typically suffer from increased con- regions dynamically or statically. An RM’s memory
tention and longer latencies in accessing the shared consistency model (MCM) can be strict, sequential,
memory, which degrades peak performance and lim- processor, release, or entry [15][16].
its scalability compared to distributed-memory mul- There are several advantages of RMS over other DSM
tiprocessors. In contrast, a distributed-memory sys- systems. First, computation typically overlaps with
tems(often called a multi-computer) consist of mul- communication. Second, memory access time is usu-
tiple independent processing nodes with local mem- ally constant and deterministic. Third, RM supports
ory module, connected by a general interconnection a multiple-reader/ multiple-writer algorithm. Fourth,
network. Consequently, it makes systems with very it has good fault tolerance. Finally, RM systems have
high computing power possible. Also, its hardware been commercially implemented for decades now.
implementation is easer. However, the implement of On the other hand, there are also disadvantages.
software is more complex and it requires explicit use First, RM system might produce unnecessary update
of send/recive primitives because communication be- traffic for application characterized with longer se-
tween nodes involves a message-passing model. To re- quences of writes to the same word. Second, the in-
cover these shortcomings, Distributed-Shared-Memory terconnection medium might suffer from a bottleneck
(DSM) is invented combining the advantages of the because of often data transfers. Third, one-to-all broad-
two approaches. A DSM system logically implements cast communication must be supported. Fourth, its ac-
the shared-memory model on physically distributed- cess time is slightly longer than local memory because
memory system [10][11][12][13][4]. RM is typically implemented on different board.
RMS is a branch of distributed shared-memory
(DSM). Therefore it has advantages of both shared- 2.2 RM/MC
memory and distributed-memory. The RMS is defined
as a distributed shared-memory system based on auto- The first RMS was designed and patented by Gould
matic updates using remote share-memory copies. In Electronics in 1985 [17]. After Encore Computer Cor-
other words, when a shared data need to be reused, all poration acquired Gould in 1989, RMS for real time
processor’s local memory should keep an exact copy of application was implemented in 1990 [14] [1].
it. Therefore, the shared reads are always satisfied from The Reflective Memory/Memory Channel sys-
the local memory. RMS is sometimes called mirror sys- tem(RM/MC) [2] is an improved system compared to
tem, replicated memory system but reflective memory previous RMSs and was introduced in 1993. RM/MC
systems are being used more commonly [14]. was initially designed to satisfy the Online Transactions
The characteristic feature of RMS is that each com- Processing application [18] needs.
puter physically has its own local memory, the results RM/MC is bus-based and consists of up to eight
are the same as if all the computer were attached to processing nodes connected by the multiplexed, syn-
a large common memory [2]. The reflective memory chronous 64 bits RM/MC bus. RM/MC bus arbitra-
is composed of a dual-ported memory physically dis- tion is centralized and uses a round-robin synchronous
tributed and logically mapped into a global, shared ad- arbitration algorithm. Local memory pages are config-
dress space. ured as reflective (shared) or private (nonshared) us-
RM updates can occur over different types of inter- ing translation windows on the transmit and receive
2.3 MMM
sides. The RM/MC provides receive and transmit
MMM stands for the mirror memory multiprocessor.
FIFO buffers to make asynchronous transfers between
This system was proposed by MODCOMP in 1997 [3].
the RM/MC bus and the host.
It is designed for time-critical applications which re-
Advantages of RM/MC system are as follows. While quire both the high computational performance and
previous RMS supports word updates only, RM/MC real-time performance.
supports both word and block updates. RM/MC com- MMM consists of a host computer that controls the
bines potentially high bandwidth with low latency time. over all system operation and up to eight nodes. Each
The broadcast mechanism is easy to implement and up- node consists of a single-board computer and a mem-
date messages are small. Besides, propagation time for ory board. These boards are connected to two buses,
word update messages is small because the intercon- the VERSA module eurocard bus (VME) and VME
nection medium spends only two bus cycles to trans- subsystem bus (VSB). This system uses data and in-
fer an update messages to all nodes [14]. Finally, the terrupt broadcast mechanisms by using VME bus slave
RM/MC tolerates node failures without service disrup- function and location monitors. The bus slave function
tion. Therefore RM/MC supports numerous real-time is created by logic in a dual port memory and it sup-
applications. ports broadcast mechanism. The location monitors is
Disadvantages of RM/MC system are as follows. By contained in memory and generates interrupts across
a structural defect, RM/MC doesn’t scale well and dis- the VSB bus to the target computer.
able cache. Also it has high cable complexity. When This system is strong for hard and soft real-time ap-
short messages (word) and long messages (block) share plications; all tasks complete within their deadlines. In
the same FIFO buffers, short messages must wait until addition, it supports a variety of high-performance in-
long ones are sent. Therefore nodes might suffer from dustry standard I/O buses, interfaces, and protocols.
starvation. While, MMM does not scale well compared to other
A University of Belgrade group and Encore intro- bus-based multiprocessors. Architectural weakness is
duced upgraded RMS for personal-computer (PC) net- VME bus’s dual-fuction; VME bus serves as a medium
work. RMS for PC has better scalability than RM/MC. for maintaining the RM coherence and also as the sys-
It reduces RM bus traffic and alleviates the memory- tem bus.
contention problem.[19] MMM supports numerous hard and soft real-time ap-
RM/MC++ is another project in cooperation with plications. For example, factory automation, process
Encore and a University of Belgrade group[19]. It control, Supervisory control and data acquisition, data
was proposed to enhance RM/MC system performance. communication, and simulation and trainer application.
The main idea of RM/MC+ is to minimize the delays
that occurs when short messages wait until long ones 2.4 A Widely Distributed RMS
are sent in the same FIFO buffers. A University of Tokyo group has proposed widely dis-
This system supports numerous real-time applica- tributed replicated shared memory [4] in 1994. It is
tions including vehicle simulation, telemetry, instru- designed for a small number of nodes distributed over
mentation, and nuclear power plant simulation and a wide area.
control. Especially, RM/MC is designed to satisfy Each node maintains a copy of the global shared-
the online transactions processing applications (OTPL) memory space on local memory. A multi-cast server
needs. broadcasts write accesses to all nodes.
Figure 5: Network Shared Memory
This paper surveyed history, architecture, general fea- [6] Ramanjuan R.S.; Bonney J.C.; Thurber K.J.,
tures, advantage, disadvantage, and application area of “Network shared memory: a new approach for
clustering workstations for parallel processing,” [18] C. Leff, A.; Pu, “A classification of transaction
High Performance Distributed Computing, 1995., processing systems,” Computer, vol. 24, pp. 63
Proceedings of the Fourth IEEE International –76, 1991.
Symposium, pp. 48–56, 1995.
[19] Jovanovic M.; Tomasevic M.; Milutinovic V.,
[7] Systran Corporation, “SCRAMNet+ Shared “A simulation-based comparison of two reflective
Memory – Speed, Determinism, Reliability, and memory approaches,” System Sciences. Vol. II.,
Flexibility for Distributed Real-Time Systems,” Proceedings of the Twenty-Eighth Hawaii Interna-
www.systran.com. tional Conference, vol. 1, pp. 140 –149, 1995.
[8] VME Microsystems Int’l Corp., “VMIC’s Reflec- [20] Gillett R.B., “Memory channel network for PCI,”
tive Memory Network,” www.vmic.com. IEEE Micro, vol. 1, pp. 12–18, 1996.