Figure 1 - uploaded by Trevor N. Mudge
Content may be subject to copyright.
A Typical 3 Tier Server Architecture. Tier 1—Web Server, Tier 2—Application Server, Tier 3— DataBase Server. PicoServer is targeted at Tier 1. An example of an internet transaction is shown. When a client request comes in for a Java Servlet Page, it is first received by the front end server—Tier 1. Tier 1 recognizes a Java Servlet Page that must be handled and initiates a request to Tier 2 typically using Remote Message Interfaces (RMI). Tier 2 initiates a database query on the Tier 3 servers, which in turn generate the results and send the relevant information up the chain all the way to Tier 1. Finally, Tier 1 sends the generated content to the client.  

A Typical 3 Tier Server Architecture. Tier 1—Web Server, Tier 2—Application Server, Tier 3— DataBase Server. PicoServer is targeted at Tier 1. An example of an internet transaction is shown. When a client request comes in for a Java Servlet Page, it is first received by the front end server—Tier 1. Tier 1 recognizes a Java Servlet Page that must be handled and initiates a request to Tier 2 typically using Remote Message Interfaces (RMI). Tier 2 initiates a database query on the Tier 3 servers, which in turn generate the results and send the relevant information up the chain all the way to Tier 1. Finally, Tier 1 sends the generated content to the client.  

Source publication
Conference Paper
Full-text available
We propose an architecture that uses NAND flash mem- ory to reduce main memory power in web server platforms. Our architecture uses a two level file buffer cache composed of a relatively small DRAM, which includes a primary file buffer cache, and a flash memory secondary file buffer cache. Compared to a conventional DRAM-only architecture, our arch...

Context in source publication

Context 1
... 2006 ACM 1-59593-543-6/06/0010 ...$5.00. in typical server workloads. As shown in Figure 1, web servers connect directly to the client and are only in charge of delivering the web content page to the client. Since web servers require just a modest amount of computation power, a large amount of their performance depends heavily on memory, I/O bandwidth and access latency. ...

Citations

... Three-tiered storage models, SSD+HDD, DHRD + HDD, and DBR DHRD + HDD are considered. SSHD can be implemented by the flashcache [33] module in Linux. The flashcache can make a tiered storage with SSD and HDD. ...
Article
Full-text available
Flash-based storage is considered to be a de facto storage module for sustainable Internet of things (IoT) platforms under a harsh environment due to its relatively fast speed and operational stability compared to disk storage. Although their performance is considerably faster than disk-based mechanical storage devices, the read and write latency still could not catch up with that of Random-access memory (RAM). Therefore, RAM could be used as storage devices or systems for time-critical IoT applications. Despite such advantages of RAM, a RAM-based storage system has limitations in its use for sustainable IoT devices due to its nature of volatile storage. As a remedy to this problem, this paper presents a durable hybrid RAM disk enhanced with a new read interface. The proposed durable hybrid RAM disk is designed for sustainable IoT devices that require not only high read/write performance but also data durability. It includes two performance improvement schemes: rapid resilience with a fast initialization and direct byte read (DBR). The rapid resilience with a fast initialization shortens the long booting time required to initialize the durable hybrid RAM disk. The new read interface, DBR, enables the durable hybrid RAM disk to bypass the disk cache, which is an overhead in RAM-based storages. DBR performs byte–range I/O, whereas direct I/O requires block-range I/O; therefore, it provides a more efficient interface than direct I/O. The presented schemes and device were implemented in the Linux kernel. Experimental evaluations were performed using various benchmarks at the block level till the file level. In workloads where reads and writes were mixed, the durable hybrid RAM disk showed 15 times better performance than that of Solid-state drive (SSD) itself.
... Yin et al. [25] presented an SSD cache architecture that stores popular data on the SSD to allow disks to spin down when workloads are light, thereby reducing disk energy consumption. Kgil et al. [26,27] studied various types of cache architecture to reduce power consumption by the main memory and disk. Useche et al. [28] presented several schemes for an energy-aware SSD cache. ...
Article
Reducing the energy consumption of the storage systems disk read/write requests plays an important role in improving the overall energy efficiency of high-performance computing systems. We propose a method to reduce disk energy consumption by delaying the dispatch of disk requests to the end of a time window, which we call time window-based lazy scheduling. We prove that sorting requests within a single time window can reduce the disk energy consumption, and we discuss the relationship between the size of the time window and the disk energy consumption, proving that the energy consumption is highly likely to decrease with increasing window size. To exploit this opportunity, we propose the Lazy Scheduling based Disk Energy Optimization (LSDEO) algorithm, which adopts a feedback method to periodically adjust the size of the time window, and minimizes the local disk energy consumption by sorting disk requests within each time window. We implement the LSDEO algorithm in an OS kernel and conduct both simulations and actual measurements on the algorithm, confirming that increasing the time window increases disk energy savings. When the average request arrival rate is 300 and the threshold of average request response time is 50 ms, LSDEO can yield disk energy savings of 21.5%.
... Several studies addressed related issues with flash-based host-side caches. First, studies on FlashCache, Mercury, and vSphere flash read cache [21][22][23] demonstrated that the adoption of flash caches in the data center is effective. Several studies about flash cache management in terms of space management and cache policies were also conducted. ...
Article
Full-text available
In cloud computing, a shared storage server, which provides a network-attached storage device, is usually used for centralized data management. However, when multiple virtual machines (VMs) concurrently access the storage server through the network, the performance of each VM may decrease due to limited bandwidth. To address this issue, a flash-based storage device such as a solid state drive (SSD) is often employed as a cache in the host server. This host-side flash cache saves remote data, which are frequently accessed by the VM, locally in the cache. However, frequent VM migration in the data center can weaken the effectiveness of a host-side flash cache as the migrated VM needs to warm up its flash cache again on the destination machine. This study proposes Cachemior, Firepan, and FirepanIF for rapid flash-cache migration in cloud computing. Cachemior warms up the flash cache with a data preloading approach using the shared storage server after VM migration. However, it does not achieve a satisfactory level of performance. Firepan and FirepanIF use the source node’s flash cache as the data source for flash cache warm-up. They can migrate the flash-cache more quickly than conventional methods as they can avoid storage and network congestion on the shared storage server. Firepan incurs downtime of the VM during flash cache migration for data consistency. FirepanIF minimizes the VM downtime with the invalidation filter, which traces the I/O activity of the migrated VM during flash cache migration in order to invalidate inconsistent cache blocks. We implement and evaluate the three flash cache migration techniques in a realistic virtualized environment. FirepanIF demonstrates that it can improve the performance of the I/O workload by up to 21.87% compared to conventional methods.
... Dm-cache [23], a general block-level disk cache, can be transparently plugged into a client for any storage systems, and supports dynamic customization for policy-guided optimizations. This system was later extended by FlashCache [29], a device mapper plug-in that supports SAN protocols and local disks. Similarly, Bcache [58] integrates with the Linux block device layer and uses SSDs to cache block data. ...
Conference Paper
Most high-performance computing (HPC) clusters use a global parallel file system to enable high data throughput. The parallel file system is typically centralized and its storage media are physically separated from the compute cluster. Compute nodes as clients of the parallel file system are often additionally equipped with SSDs. The node internal storage media are rarely well-integrated into the I/O and compute workflows. How to make full and flexible use of these storage media is therefore a valuable research question. In this paper, we propose a hierarchical Persistent Client Caching (LPCC) mechanism for the Lustre file system. LPCC provides two modes: RW-PCC builds a read-write cache on the local SSD of a single client; RO-PCC distributes a read-only cache over the SSDs of multiple clients. LPCC integrates with the Lustre HSM solution and the Lustre layout lock mechanism to provide consistent persistent caching services for I/O applications running on client nodes, meanwhile maintaining a global unified namespace of the entire Lustre file system. The evaluation results presented in this paper show LPCC's advantages for various workloads, enabling even speed-ups linear in the number of clients for several real-world scenarios.
... In the era of nand flash, stuck-at fault came in the limelight due to limited cell endurance issue [28]. Afterwards, many researchers presented their contributions to either overcome the stuck-at fault or reduce the possibility of a cell getting into stuck-at situation [29][30][31][32][33][34][35][36][37][38][39][40][41][42], however, to the best of our knowledge, none of them presented stuck-at fault analysis through knowledge-base perspective. ...
Article
Full-text available
Smart grid addresses traditional electricity generation issues by integrating ambient intelligence in actions of connected devices and production processing units. The grid infrastructure uses sensory IoT devices such as smart meter that records electric energy consumption and production information into the end units and stores sensor data through semantic technology in the central grid repository. The grid uses sensor data for various analytics such as production analysis of distribution units and health checkup of involved IoT devices and also observes functional profile of IoT equipment that includes service time, remaining lifespan, power consumption along with its functional error percentile. In a typical grid infrastructure, AMI meters process continuous streaming of data with Nand flash memory that stores dataset in the form of charges such as 0 and 1 in memory cell. Although, a flash memory is tested through rigorous testing profile but the grid environment impacts its cell endurance capacity diversely. Thus, a cell gets stuck-at fault before the end of endurance and can not be used to override a new tuple into it. In this paper, we perform a knowledge-based analytics to observe these stuck-at faults by detecting the abnormal variation among stored data tuples and predicts the going-to-be stuck-at cells of AMI meter. The simulation results show that the proposed approach rigorously maintain a knowledge-based track of AMI devices’ data production with an average error percentile of 0.06% in scanning blocks and performed prediction analytics according to the scanning percentile functional health and presents a work-flow to balance the load among healthy and unhealthy IoT devices in smart grid.
... Therefore, in large server systems, it is very important to increase the hit ratio of the caching layer. To do this in the existing hardware, one study that has attracted attention focuses on the method of prefetching [11][12][13][14]. The most commonly used prefetching method is the sequential prefetching method, and this is preferred because of the sequential file access, which is characteristic of traditional file systems [15]. ...
Article
Full-text available
Owing to the increased need for machine learning and artificial intelligence in current cloud computing systems, the amount of data that needs to be processed has exponentially increased. Thus, it is important to optimize memory and storage systems to reduce the energy consumption and execution time of applications. This paper proposes a new Q-learning-based prefetching algorithm for DRAM–NAND flash hybrid main memory architecture. To minimize the computational overheads of learning-based schemes, we have designed two learning policies, namely aggressive learning and lazy learning. The proposed system reduces the energy consumption by about 80% of the memory and storage for Redis, OpenStack Swift which is a cloud computing open source framework and Apache Storm workloads. Further, the overall execution time of workloads in cloud computing applications is reduced by almost half. Using a path generator with a Q-learning-based prefetching algorithm, we realize an increased hit rate of about 21% compared to that with a no-prefetching system, compared to non-prefetching system.
... To overcome the limitations of DRAM [7,20,21], researchers have investigated replacements for DRAM by using the new nonvolatile memory. Memory and storage researchers have been trying to replace DRAM with new nonvolatile memories such as phase-change memory (PCM) [6,21,22], spin-transfer torque magnetic RAM (STT-MRAM) [23], and NAND-flash memory [24][25][26]. Nonvolatile memories (NVMs) have slower read and write speeds than DRAM, but they have features such as nonvolatility, scalability, and low energy consumption [27,28]. In addition, many studies have been undertaken to replace DRAM with NVM in a DRAM-only main memory configuration paradigm. ...
... To determine the optimal prefetch buffer size, buffer hit rate, execution time, and power consumption for different buffer sizes are measured depending on six different buffer sizes (2,4,8,16,24, and 32 MB). Figure 6 shows the change in hit rate by different buffer sizes. The y-axis shows the hit rate based on different buffer sizes, where the space range varies from 2 to 32 MB. ...
Article
Full-text available
Owing to the exponential growth of real-time data generation, the importance of stream processing is ever increasing. However, the data processing paradigm of stream processing is quite different, so it is difficult to expect high performance from memory systems applied to existing data centers. To solve this problem, two main solutions are suggested in this paper. First, a hybrid main memory and small buffer architecture are designed to reflect the execution characteristics of stream processing. Second, a hardware-based prefetch module supports correlation prefetching. Stream processing tends to accept incoming data in the main memory, so the prefetch module is used to divert data from the main memory layer to the buffer layer based on an intelligent clustering algorithm. This clustering algorithm affects the rapidly changing data access pattern of stream processing applications. By using heterogeneous main memories, not only can one enjoy the fast access latency of DRAM but also its nonvolatility, scalability, and low power consumption. The proposed hybrid memory architecture with our prefetch buffer structure can improve the buffer hit rate by 9–14% over other prefetch methods, reduce energy consumption by 26% over the conventional DRAM-only model, and achieve similar execution time over the 1/8-size DRAM space of the DRAM-only model.
... SSDs can also be used to reduce the power consumed by disk arrays [11]. Kgil et al. [33], [34] studied various types of cache architecture in order to reduce power consumption by the main memory and disk. Useche et al. [35] presented several schemes for an energy-aware SSD cache. ...
Article
Disks use a considerable portion of the total energy consumed by a video server. Solid-state disks (SSDs) can be used as a cache to reduce disk speeds, thereby decreasing the power consumed by disks. However, effective SSD bandwidth management is essential to cope with the high request rates for popular video files stored on SSDs. To address this problem, we propose a new SSD cache management scheme for a video server that uses multi-speed disks. First, we introduce a storage allocation scheme to examine how the presence of an SSD cache affects disk bandwidth consumption. We then propose an SSD bandwidth allocation algorithm to minimize energy consumption by allowing disks to run at lower speeds while achieving jitterfree disk speed transitions and by limiting the number of transitions to ensure disk reliability. Our experimental results demonstrate that our proposed bandwidth allocation algorithm achieves appreciable power savings under various workloads while limiting the number of disk speed changes.
... Multi-level caches exist in a lot of storage systems and architectures (Kgil and Mudge 2006;Canim et al. 2010;Yadgar et al. 2008). With the unit price (in $/byte) of NAND flash memory goes down, solid state drives are added as a secondary cache between DRAM and HDD to improve I/O throughput and response time of a storage server. ...
Article
The reuse distance (least recently used (LRU) stack distance) is an essential metric for performance prediction and optimization of storage cache. Over the past four decades, there have been steady improvements in the algorithmic efficiency of reuse distance measurement. This progress is accelerating in recent years, both in theory and practical implementation. In this article, we present a kinetic model of LRU cache memory, based on the average eviction time (AET) of the cached data. The AET model enables fast measurement and use of low-cost sampling. It can produce the miss ratio curve in linear time with extremely low space costs. On storage trace benchmarks, AET reduces the time and space costs compared to former techniques. Furthermore, AET is a composable model that can characterize shared cache behavior through sampling and modeling individual programs or traces.
... With the write-back policy, these write data might be flushed to HDD at a later time. However, because of the later flush, the write data in TABLE 3: Comparison of the hybrid storage systems with SSD caching method Literature Cache policy Data to SSD Host or drive control RAID or Deduplication Background data movement Simulation or protocol Hot Random offloading [26] Write back random, hot Host No Promote, demote Protocol Duplication aware SSD cache [27] Write back Hot Drive No Promote Simulation SSD array as cache [28] Write back Hot Read, Write Host Yes Flush, promote Protocol HFA-hint frequency based [29] Write back Hot Read, Write Drive, hint No Demote, promote Simulation MOLAR [30] Read only Hot Drive No Promote Simulation SLA hybrid store [31] Read only SLA, Hot Host No Promote Simulation Lazy adaptive replacement [32] Write back Hot Drive No Flush, promote Simulation FlashCache [33] Write back Hot Read, write Host No Flush, promote Simulation NAND based disk cache [34] Write back Wear leveling aware Drive No Flush, promote Simulation Caching less for better performance [35] Write back Hot Drive No Flush, promote Simulation HEC [36] Read only Hot, Random Drive No Pre-fetch Simulation EDM [37] Write back Hot Host No Promote, demote Protocol Cache everywhere [38] Write back Cost-aware Drive No Promote, demote Simulation AMC [39] Write back Data value Drive No Promote, demote Simulation WEC [40] Write back Hot Drive No Promote Protocol ETD-Cache [41] Read only Hot Drive No Demote Simulation Regional popularity aware [42] Write back Hot Read, write Drive No Promote, Flush Protocol SAR [100] Write back Hot Host No Promote, demote Protocol HDD can not be updated simultaneously when it is written to SSD, which may cause data synchronization problem. Period write data flushing might be applied to flush the write data to HDD to improve the data synchronization. ...
Article
Full-text available
Data center storage architectures face rapidly increasing demands for data volume and Quality of Service (QoS) requirements today. Hybrid storage systems have turned out to be one of the most popular choices in fulfilling these demands. A mixture of various types of storage devices and structures enables architects to address performance and capacity concerns of users within one storage infrastructure. In this paper, we present an extensive literature review on the state-of-the-art research for hybrid storage systems. Firstly, different types of hybrid storage architectures are explored and categorized thoroughly. Secondly, the corresponding algorithms and policies, such as caching, scheduling, resource allocation, etc., are discussed profoundly. Lastly, the advantages and disadvantages of these hybrid storage architectures are compared and analyzed intensively, in terms of system performance, SSD lifespan, energy consumption, etc., in order to motivate some future research directions.