Information Technology Reference
In-Depth Information
cations that massively access the disk, the memory
capacity may dominate the overall performance.
The ultimate reason is that there exist large gaps
on performance and capacity between memory
and disk (Patterson, 2004), thus the traditional
computer systems have to supplement the memory
capacity using the low-speed disk based virtual
memory, or improve the disk performance using
the limited memory based cache. Accordingly, an
intermediate hierarchy between memory and disk
is needed to relax such restrictions.
Remote memory sharing, which aggregates a
large number of idles nodes in the network en-
vironment, and exploits their memory resources
for fast storage, could meet the requirements of
intermediate hierarchy with adequate performance
and capacity (Feeley, et al. , 1995; Hines, Lewan-
dowski, et al. , 2006; Newhall, et al. , 2008; Pakin,
et al. , 2007). The memory-intensive applications
can swap obsolete local memory pages to remote
memory instead of local disk (Feeley, et al. ,
1995), or the I/O-intensive applications can also
benefit from the large data cache with better hit
ratio (Vishwanath, et al. , 2008). Various remote
memory sharing schemes were proposed in the
past decades. Their difference mainly exists on
the underlying network environments. The net-
work memory or cooperative caching stands on
a single cluster (Deshpande, et al. , 2010; Wang,
et al. , 2007), while our previous work named
RAM Grid devotes to the memory sharing in the
high-speed wide-area network such as a campus
network (Chu, et al. , 2006; Zhang, et al. , 2007),
and the recently proposed RAM Cloud also tries
to aggregate the memory resources in the data
center (Ousterhout, et al. , 2010). Their common
ground is to boost the system performance with
shared remote memory.
In order to study the potential performance
improvement of remote memory sharing system,
we will use our previous work RAM Grid as an
example, to compare the overheads of data access
for an 8KB block over local disk, local network
file system and remote memory resource across
the campus network with average 2ms round-
trip latency and 2MB bandwidth. From Table 1,
we can observe that the remote memory access
only reduces the overhead by 25%~30%, and the
major overhead mainly comes from the network
transmission cost (nearly 60%). Therefore, the
performance of remote memory sharing can be
obviously improved if we reduce or hide some
of the transmission cost. Prefetching is such an
approach to hide the cost of low speed media
among different levels of storage devices (Shi, et
al. , 2006; Vanderwiel, et al. , 2000; Yang, et al. ,
2004). In this work, we will employ prefetching
in remote memory sharing in order to reduce the
overhead and improve the performance. Differing
from traditional I/O devices, the remote nodes
providing memory resources often have extra
CPU cycles. Therefore, they can be exploited
to decide the prefetching policy and parameters,
thus releasing the user nodes, which are often
dedicated to mass of computing tasks, from the
process of prefetching. In contrast to traditional
approaches, in which the prefetching data are
decided by a rather simple algorithm in a user
node, such a push-based prefetching scheme can
be more effective.
To facilitate later description, we will classify
the nodes in RAM Grid into different categories.
The user node is the consumer of remote memo-
ry, while the corresponding memory provider is
called the memory node. Before that, there also
exist manager nodes which act as information
Table 1. Data access overhead in different ways
remote
memory
local
disk
LAN file
system
memory ac-
cess
<0.01ms
net latency
2ms
0.68ms
net transmit
4ms
0.06ms
disk latency
7.9ms
7.9ms
disk transmit
0.1ms
0.1ms
total
≈ 6ms
8ms
8.74ms
 
Search WWH ::




Custom Search