76 research outputs found
Efficient Modeling of Random Sampling-Based LRU Cache
The Miss Ratio Curve (MRC) is an important metric and effective tool for caching system performance prediction and optimization. Since the Least Recently Used (LRU) replacement policy is the de facto policy for many existing caching systems, most previous studies on efficient MRC construction are predominantly focused on the LRU replacement policy. Recently, the random sampling-based replacement mechanism, as opposed to replacement relying on the rigid LRU data structure, gains more popularity due to its lightweight and flexibility. To approximate LRU, at replacement times, the system randomly selects K objects and replaces the least recently used object among the sample. Redis implements this approximated LRU policy. We observe that there can exist a significant miss ratio gap between exact LRU and random sampling-based LRU under different sampling size K; therefore existing LRU MRC construction techniques cannot be directly applied to random sampling based LRU cache without loss of accuracy.
In this thesis, we present a new probabilistic stack algorithm named KRR which can be used to accurately model random sampling based-LRU cache with arbitrary sampling size K. We propose two efficient stack update algorithms which reduce the expected running time of KRR from O(NM) to O(Nlog^2M) and O(NlogM), respectively, where N is the workload length and M is the number of distinct objects. Our implementation generates accurate miss ratio curves for both fixed and variable block size cache. Furthermore, we adopt spatial sampling which further reduces the running time of KRR by several orders of magnitude, and thus enables practical, low overhead online application of KRR
mPart: Miss Ratio Curve Guided Partitioning in Key-Value Stores
Web applications employ key-value stores to cache the data that is most commonly accessed. The cache improves an web applicationâs performance by serving its requests from memory, avoiding fetching them from the backend database. Since the memory space is limited, maximizing the memory utilization is a key to delivering the best performance possible. This has lead to the use of multi-tenant systems, allowing applications to share cache space. In addition, application data access patterns change over time, so the system should be adaptive in its memory allocation. In this thesis, we address both multi-tenancy (where a single cache is used for mul- tiple applications) and dynamic workloads (changing access patterns) using a model that relates the cache size to the application miss ratio, known as a miss ratio curve. Intuitively, the larger the cache, the less likely the system will need to fetch the data from the database. Our efficient, online construction of the miss ratio curve allows us to determine a near optimal memory allocation given the available system memory, while adapting to changing data access patterns. We show that our model outper- forms an existing state-of-the-art sharing model, Memshare, in terms of cache hit ratio and does so at a lower time cost. We show that average hit ratio is consistently 1 percentage point greater and 99.9th percentile latency is reduced by as much as 2.9% under standard web application workloads containing millions of requests
Recommended from our members
On Implementing Autonomic Systems with a Serverless Computing Approach: The Case of Self-Partitioning Cloud Caches
The research community has made significant advances towards realizing self-tuning cloud caches; notwithstanding, existing products still require manual expert tuning to maximize performance. Cloud (software) caches are built to swiftly serve requests; thus, avoiding costly functionality additions not directly related to the request-serving control path is critical. We show that serverless computing cloud services can be leveraged to solve the complex optimization problems that arise during self-tuning loops and can be used to optimize cloud caches for free. To illustrate that our approach is feasible and useful, we implement SPREDS (Self-Partitioning REDiS), a modified version of Redis that optimizes memory management in the multi-instance Redis scenario. A cost analysis shows that the serverless computing approach can lead to significant cost savings: The cost of running the controller as a serverless microservice is 0.85% of the cost of the always-on alternative. Through this case study, we make a strong case for implementing the controller of autonomic systems using a serverless computing approach
Towards Design and Analysis For High-Performance and Reliable SSDs
NAND Flash-based Solid State Disks have many attractive technical merits, such as low power consumption, light weight, shock resistance, sustainability of hotter operation regimes, and extraordinarily high performance for random read access, which makes SSDs immensely popular and be widely employed in different types of environments including portable devices, personal computers, large data centers, and distributed data systems.
However, current SSDs still suffer from several critical inherent limitations, such as the inability of in-place-update, asymmetric read and write performance, slow garbage collection processes, limited endurance, and degraded write performance with the adoption of MLC and TLC techniques. To alleviate these limitations, we propose optimizations from both specific outside applications layer and SSDs\u27 internal layer. Since SSDs are good compromise between the performance and price, so SSDs are widely deployed as second layer caches sitting between DRAMs and hard disks to boost the system performance. Due to the special properties of SSDs such as the internal garbage collection processes and limited lifetime, traditional cache devices like DRAM and SRAM based optimizations might not work consistently for SSD-based cache. Therefore, for the outside applications layer, our work focus on integrating the special properties of SSDs into the optimizations of SSD caches. Moreover, our work also involves the alleviation of the increased Flash write latency and ECC complexity due to the adoption of MLC and TLC technologies by analyzing the real work workloads
The VolcanoâTectonic Evolution of the Macquarie Ridge Complex, AustraliaâPacific Plate Boundary South of New Zealand
The Macquarie Ridge Complex (MRC) forms the submarine expression of the
AustraliaâPacific plate boundary south of New Zealand, comprising a rugged
bathymetry made up of numerous seamounts along its length. Tectonic plate
reconstructions show that the plate boundary evolved from divergent to
transpressional relative plate motion from ca. 40 â 6 Ma. However, only limited
geological observation of the products of past seafloor spreading and present
transpressional deformation has been achieved. This study presents new high-resolution
multibeam, photographic, petrologic and geochemical data for 10
seamounts located along the MRC in order to elucidate the current nature and
evolution of the plate boundary.
Seamounts are oriented parallel to the plate boundary, characterized by elongate
forms, and deformed by transform faulting. Three guyotâtype seamounts display
summit plateaux that were formed by wave and current erosion. MRC seafloor is
composed of alkaline to subâalkaline basaltic pillow, massive and sheet lava flows,
lava talus, volcaniclastic breccia, diabase and gabbro. This oceanic crust was formed
during effusive midâocean ridge volcanism at the relic Macquarie spreading centre
and has since been sheared, accreted and exhumed along the modern
transpressional plate boundary. Major element systematics indicate samples
originated from spatially distinct magmatic sources and have since been juxtaposed
at seamounts due to transpressional relative plate motion. MRC seamounts have
formed as discrete elevations as a result of dipâslip and strikeâslip faulting of the
ridge axis. Thus, MRC seamounts are volcanic in origin but are now the
morphological manifestations of tectonic and geomorphic processes.
Petrologic and geochemical characteristics of volcanic glass samples from the MRC
indicate that both effusive and explosive eruption styles operated at the relic
Macquarie spreading centre. Primitive and subâalkaline to transitional basaltic
magma that rose efficiently to the seafloor was erupted effusively and cooled to form lava flows with low vesicle and phenocryst contents or was granulated on
contact with seawater to form hyaloclasts deposited in volcaniclastic breccias. More
alkaline magmas that underwent crystal fractionation and volatile exsolution in
shallow reservoirs were fragmented and erupted during submarine hawaiianâtype
eruptions. Such a scenario is likely to have occurred during the final stages of
magmatism at the AustraliaâPacific plate boundary south of New Zealand when
seafloor spreading was ultraslow or had ceased, which induced low degrees of
partial melting and retarded magma ascent rates.
All MRC samples display enriched midâocean ridge basalt (EâMORB) trace element
characteristics. The sample suite can be divided into two groups, with Group 1
samples distinguished from Group 2 samples by their lower concentrations of highly
incompatible trace elements, flatter LREE slopes, higher MgO contents and lower
alkali element contents. Group 1 basalts were derived from low degree partial
melting of spinel lherzolite generated during the late stages of midâocean ridge
volcanism at the plate boundary when seafloor spreading rates were slow to
ultraslow (full spreading rate < 20 mm yrâ»Âč). Group 2 basalts were derived from low
degree partial melting of spinel lherzolite, mixed with small amounts of very low
degree partial melting of garnet lherzolite, during postâspreading volcanism at the
MRC. Remnant heat from previous seafloor spreading induced buoyant ascent of
the subâridge mantle and enriched heterogeneities were preferentially tapped by
the ensuing low melt fractions. Magma ascent was stalled due to the cessation of
extension at the ridge and the melts underwent crystal fractionation prior to
eruption, which accounts for the lower MgO contents of Group 2 basalts. The
pervasive incompatible elementâenrichment of MRC basalts and similarity to lavas
from fossil spreading ridges in the eastern Pacific Ocean may reflect regional
enrichment of the Pacific upper mantle
Implantation of Nanocellulose in the Zebrafish Model
The number of novel materials for use in biomedical implantation is expanding rapidly, increasing the success rates of implant procedures. Nanocellulose is being assessed as a sustainable and biocompatible material, offering an alternative to conventional polymer or metal designs with the appropriate structure for potential tissue integration. In this research, the capacity of cellulose nanofibers to serve as biomedical implants is assessed through examination of immune responses of transgenic zebrafish, utilizing bright field and confocal fluorescence microscopy. Methods for creating microincisions for the implantation of dense cellulose nanofiber shards in the zebrafish model were explored, and a surgical protocol was developed, along with an apparatus to aid with the procedure. Experiments suggest that nanocellulose implants induce slightly more neutrophil migration to the wound site than the injury itself, although more data are required to prove statistical significance. Integration of the nanocellulose implants also appeared to occur, although low implant retention rate rendered these experiments inconclusive
Elastic Provisioning of Cloud Caches: a Cost-aware TTL Approach
We consider elastic resource provisioning in the cloud, focusing on in-memory
key-value stores used as caches. Our goal is to dynamically scale resources to
the traffic pattern minimizing the overall cost, which includes not only the
storage cost, but also the cost due to misses. In fact, a small variation on
the cache miss ratio may have a significant impact on user perceived
performance in modern web services, which in turn has an impact on the overall
revenues for the content provider that uses those services. We propose and
study a dynamic algorithm for TTL caches, which is able to obtain
close-to-minimal costs. Since high-throughput caches require low complexity
operations, we discuss a practical implementation of such a scheme requiring
constant overhead per request independently from the cache size. We evaluate
our solution with real-world traces collected from Akamai, and show that we are
able to obtain a 17% decrease in the overall cost compared to a baseline static
configuration
- âŠ