1,194 research outputs found
Decoding billions of integers per second through vectorization
In many important applications -- such as search engines and relational
database systems -- data is stored in the form of arrays of integers. Encoding
and, most importantly, decoding of these arrays consumes considerable CPU time.
Therefore, substantial effort has been made to reduce costs associated with
compression and decompression. In particular, researchers have exploited the
superscalar nature of modern processors and SIMD instructions. Nevertheless, we
introduce a novel vectorized scheme called SIMD-BP128 that improves over
previously proposed vectorized approaches. It is nearly twice as fast as the
previously fastest schemes on desktop processors (varint-G8IU and PFOR). At the
same time, SIMD-BP128 saves up to 2 bits per integer. For even better
compression, we propose another new vectorized scheme (SIMD-FastPFOR) that has
a compression ratio within 10% of a state-of-the-art scheme (Simple-8b) while
being two times faster during decoding.Comment: For software, see https://github.com/lemire/FastPFor, For data, see
http://boytsov.info/datasets/clueweb09gap
Recommended from our members
Flexible cross layer design for improved quality of service in MANETs
This thesis was submitted for the degree of Doctor of Philosophy and was awarded by Brunel UniversityMobile Ad hoc Networks (MANETs) are becoming increasingly important because of their unique characteristics of connectivity. Several delay sensitive applications are starting to appear in these kinds of networks. Therefore, an issue in concern is to guarantee Quality of Service (QoS) in such constantly changing communication environment. The classical QoS aware solutions that have been used till now in the wired and infrastructure wireless networks are unable to achieve the necessary performance in the MANETs. The specialized protocols designed for multihop ad hoc networks offer basic connectivity with limited delay awareness and the mobility factor in the MANETs makes them even more unsuitable for use. Several protocols and solutions have been emerging in almost every layer in the protocol stack.
The majority of the research efforts agree on the fact that in such dynamic environment in order to optimize the performance of the protocols, there is the need for additional information about the status of the network to be available. Hence, many cross layer design approaches appeared in the scene. Cross layer design has major advantages and the necessity to utilize such a design is definite. However, cross layer design conceals risks like architecture instability and design inflexibility. The aggressive use of cross layer design results in excessive increase of the cost of deployment and complicates both maintenance and upgrade of the network. The use of autonomous protocols like bio-inspired mechanisms and algorithms that are resilient on cross layer information unavailability, are able to reduce the dependence on cross layer design. In addition, properties like the prediction of the dynamic conditions and the adaptation to them are quite important characteristics.
The design of a routing decision algorithm based on Bayesian Inference for the prediction of the path quality is proposed here. The accurate prediction capabilities and the efficient use of the plethora of cross layer information are presented.
Furthermore, an adaptive mechanism based on the Genetic Algorithm (GA) is used to control the flow of the data in the transport layer. The aforementioned flow control mechanism inherits GAโs optimization capabilities without the need of knowing any details about the network conditions, thus, reducing the cross layer information dependence. Finally, is illustrated how Bayesian Inference can be used to suggest configuration parameter values to the other protocols in different layers in order to improve their performance.National Foundation of Scholarships of Greece(I.K.Y.
Recommended from our members
Application of Advanced Early Warning Systems with Adaptive Protection
This project developed and field-tested two methods of Adaptive Protection systems utilizing synchrophasor data. One method detects conditions of system stress that can lead to unintended relay operation, and initiates a supervisory signal to modify relay response in real time to avoid false trips. The second method detects the possibility of false trips of impedance relays as stable system swings โencroachโ on the relaysโ impedance zones, and produces an early warning so that relay engineers can re-evaluate relay settings. In addition, real-time synchrophasor data produced by this project was used to develop advanced visualization techniques for display of synchrophasor data to utility operators and engineers
Application of Decision Diagrams for Information Storage and Retrieval
Technology is improving at an amazing pace and one reason for this advancement is because of unprecedented growth in the field of Information Technology and also in Digital Integrated Circuit technology over the past few decades. The size of a typical modern database is in the order of high ends of gigabytes and even terabytes. Researchers were successful in designing complex databases but there is still lot of activity on effectively making use of this stored information. There have been significant advancements in the field of Logic optimization and also in Information storage and retrieval but there has been very little transfer of these methods. The purpose of this study is to investigate the use of powerful Computer Aided Design (CAD) techniques for efficient information storage and retrieval. In the work presented in this thesis, it is shown that Decision Diagrams can be used for efficient data storage and information retrieval. An efficient technique is proposed for each of the two key areas of research in Database systems known as Query Optimization and Datamining . Encouraging results are obtained indicating that using hardware techniques for information processing can be a new approach for solving these problems. An SQL query is represented using a hardware data structure known as an AND/OR graph and an SQL parser is interfaced with AND/OR package to achieve query optimization. Optimization using AND/OR graphs works only in the Boolean domain and to make the process of query optimization more complete it has to be investigated in Multivalued domain. The possibility of using MDD as a data structure to represent the query in the multi valued domain is discussed and a synthesis technique is developed to synthesize Multi Valued Logic Networks using MDD. Another useful data structure known as BDD can be used to store the large transaction files used in datamining applications very effectively
์ด๊ณ ์ฉ๋ ์๋ฆฌ๋ ์คํ ์ด๋ ๋๋ผ์ด๋ธ๋ฅผ ์ํ ์ ๋ขฐ์ฑ ํฅ์ ๋ฐ ์ฑ๋ฅ ์ต์ ํ ๊ธฐ์
ํ์๋
ผ๋ฌธ(๋ฐ์ฌ) -- ์์ธ๋ํ๊ต๋ํ์ : ๊ณต๊ณผ๋ํ ์ปดํจํฐ๊ณตํ๋ถ, 2021.8. ๊น์งํ.The development of ultra-large NAND flash storage devices (SSDs) is recently made possible by NAND flash memory semiconductor process scaling and multi-leveling techniques, and NAND package technology, which enables continuous increasing of storage capacity by mounting many NAND flash memory dies in an SSD.
As the capacity of an SSD increases, the total cost of ownership of the storage system can be reduced very effectively, however due to limitations of ultra-large SSDs in reliability and performance,
there exists some obstacles for ultra-large SSDs to be widely adopted.
In order to take advantage of an ultra-large SSD, it is necessary to develop new techniques to improve these reliability and performance issues.
In this dissertation, we propose various optimization techniques to solve the reliability and performance issues of ultra-large SSDs. In order to overcome the optimization limitations of the existing approaches, our techniques were designed based on various characteristic evaluation results of NAND flash devices and field failure characteristics analysis results of real SSDs.
We first propose a low-stress erase technique for the purpose of reducing the characteristic deviation between wordlines (WLs) in a NAND flash block. By reducing the erase stress on weak WLs, it effectively slows down NAND degradation and improves NAND endurance. From the NAND evaluation results, the conditions that can most effectively guard the weak WLs are defined as the gerase mode. In addition, considering the user workload characteristics, we propose a technique to dynamically select the optimal gerase mode that can maximize the lifetime of the SSD.
Secondly, we propose an integrated approach that maximizes the efficiency of copyback operations to improve performance while not compromising data reliability.
Based on characterization using real 3D TLC flash chips, we propose a novel per-block error propagation model under consecutive copyback operations. Our model significantly increases the number of successive copybacks by exploiting the aging characteristics of NAND blocks. Furthermore, we devise a resource-efficient error management scheme that can handle successive copybacks where pages move around multiple blocks with different reliability.
By utilizing proposed copyback operation for internal data movement, SSD performance can be effectively improved without any reliability issues.
Finally, we propose a new recovery scheme, called reparo, for a
RAID storage system with ultra-large SSDs. Unlike the existing RAID recovery schemes, reparo repairs a failed SSD at the NAND die granularity without replacing it with a new SSD, thus avoiding most of the inter-SSD data copies during a RAID recovery step.
When a NAND die of an SSD fails, reparo exploits a multi-core processor of the SSD controller to identify failed LBAs from the failed NAND die and to recover data from the failed LBAs. Furthermore, reparo ensures no negative post-recovery impact on the performance and lifetime of the repaired SSD.
In order to evaluate the effectiveness of the proposed techniques, we implemented them in a storage device prototype, an open NAND flash storage device development environment, and a real SSD environment. And their usefulness was verified using various benchmarks and I/O traces collected the from real-world applications.
The experiment results show that the reliability and performance of the ultra-large SSD can be effectively improved through the proposed techniques.๋ฐ๋์ฒด ๊ณต์ ์ ๋ฏธ์ธํ, ๋ค์นํ ๊ธฐ์ ์ ์ํด์ ์ง์์ ์ผ๋ก ์ฉ๋์ด ์ฆ๊ฐํ๊ณ ์๋ ๋จ์ ๋ธ๋ ํ๋์ฌ ๋ฉ๋ชจ๋ฆฌ์ ํ๋์ ๋ธ๋ ํ๋์ฌ ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง ์์คํ
๋ด์ ์ ๋ง์ ๋ธ๋ ํ๋์ฌ ๋ฉ๋ชจ๋ฆฌ ๋ค์ด๋ฅผ ์ค์ฅํ ์ ์๊ฒํ๋ ๋ธ๋ ํจํค์ง ๊ธฐ์ ๋ก ์ธํด ํ๋๋์คํฌ๋ณด๋ค ํจ์ฌ ๋ ํฐ ์ด๊ณ ์ฉ๋์ ๋ธ๋ ํ๋์ฌ ์ ์ฅ์ฅ์น์ ๊ฐ๋ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
ํ๋์ฌ ์ ์ฅ์ฅ์น์ ์ฉ๋์ด ์ฆ๊ฐํ ์๋ก ์คํ ๋ฆฌ์ง ์์คํ
์ ์ด ์์ ๋น์ฉ์ ์ค์ด๋๋ฐ ๋งค์ฐ ํจ๊ณผ์ ์ธ ์ฅ์ ์ ๊ฐ์ง๊ณ ์์ผ๋, ์ ๋ขฐ์ฑ ๋ฐ ์ฑ๋ฅ์ ์ธก๋ฉด์์์ ํ๊ณ๋ก ์ธํด์ ์ด๊ณ ์ฉ๋ ๋ธ๋ ํ๋์ฌ ์ ์ฅ์ฅ์น๊ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋๋ฐ ์์ด์ ์ฅ์ ๋ฌผ๋ก ์์ฉํ๊ณ ์๋ค. ์ด๊ณ ์ฉ๋ ์ ์ฅ์ฅ์น์ ์ฅ์ ์ ํ์ฉํ๊ธฐ ์ํด์๋ ์ด๋ฌํ ์ ๋ขฐ์ฑ ๋ฐ ์ฑ๋ฅ์ ๊ฐ์ ํ๊ธฐ ์ํ ์๋ก์ด ๊ธฐ๋ฒ์ ๊ฐ๋ฐ์ด ํ์ํ๋ค.
๋ณธ ๋
ผ๋ฌธ์์๋ ์ด๊ณ ์ฉ๋ ๋ธ๋๊ธฐ๋ฐ ์ ์ฅ์ฅ์น(SSD)์ ๋ฌธ์ ์ ์ธ ์ฑ๋ฅ ๋ฐ ์ ๋ขฐ์ฑ์ ๊ฐ์ ํ๊ธฐ ์ํ ๋ค์ํ ์ต์ ํ ๊ธฐ์ ์ ์ ์ํ๋ค.
๊ธฐ์กด ๊ธฐ๋ฒ๋ค์ ์ต์ ํ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด์, ์ฐ๋ฆฌ์ ๊ธฐ์ ์ ์ค์ ๋ธ๋ ํ๋์ฌ ์์์ ๋ํ ๋ค์ํ ํน์ฑ ํ๊ฐ ๊ฒฐ๊ณผ์ SSD์ ํ์ฅ ๋ถ๋ ํน์ฑ ๋ถ์๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ณ ์๋์๋ค.
์ด๋ฅผ ํตํด์ ๋ธ๋์ ํ๋์ฌ ํน์ฑ๊ณผ SSD, ๊ทธ๋ฆฌ๊ณ ํธ์คํธ ์์คํ
์ ๋์ ํน์ฑ์ ๊ณ ๋ คํ ์ฑ๋ฅ ๋ฐ ์ ๋ขฐ์ฑ์ ํฅ์์ํค๋ ์ต์ ํ ๋ฐฉ๋ฒ๋ก ์ ์ ์ํ๋ค.
์ฒซ์งธ๋ก, ๋ณธ ๋
ผ๋ฌธ์์๋ ๋ธ๋ ํ๋์ฌ ๋ถ๋ก๋ด์ ํ์ด์ง๋ค๊ฐ์ ํน์ฑํธ์ฐจ๋ฅผ ์ค์ด๊ธฐ ์ํด์ ๋์ ์ธ ์๊ฑฐ ์คํธ๋ ์ค ๊ฒฝ๊ฐ ๊ธฐ๋ฒ์ ์ ์ํ๋ค. ์ ์๋ ๊ธฐ๋ฒ์ ๋ธ๋ ๋ธ๋ก์ ๋ด๊ตฌ์ฑ์ ๋๋ฆฌ๊ธฐ ์ํด์ ํน์ฑ์ด ์ฝํ ํ์ด์ง๋ค์ ๋ํด์ ๋ ์ ์ ์๊ฑฐ ์คํธ๋ ์ค๊ฐ ์ธ๊ฐํ ์ ์๋๋ก ๋ธ๋ ํ๊ฐ ๊ฒฐ๊ณผ๋ก ๋ถํฐ ์๊ฑฐ ์คํธ๋ ์ค ๊ฒฝ๊ฐ ๋ชจ๋ธ์ ๊ตฌ์ถํ๋ค. ๋ํ ์ฌ์ฉ์ ์ํฌ๋ก๋ ํน์ฑ์ ๊ณ ๋ คํ์ฌ, ์๊ฑฐ ์คํธ๋ ์ค ๊ฒฝ๊ฐ ๊ธฐ๋ฒ์ ํจ๊ณผ๊ฐ ์ต๋ํ ๋ ์ ์๋ ์ต์ ์ ๊ฒฝ๊ฐ ์์ค์ ๋์ ์ผ๋ก ํ๋จํ ์ ์๋๋ก ํ๋ค. ์ด๋ฅผ ํตํด์ ๋ธ๋ ๋ธ๋ก์ ์ดํ์ํค๋ ์ฃผ์ ์์ธ์ธ ์๊ฑฐ ๋์์ ํจ์จ์ ์ผ๋ก ์ ์ดํจ์ผ๋ก์จ ์ ์ฅ์ฅ์น์ ์๋ช
์ ํจ๊ณผ์ ์ผ๋ก ํฅ์์ํจ๋ค.
๋์งธ๋ก, ๋ณธ ๋
ผ๋ฌธ์์๋ ๊ณ ์ฉ๋ SSD์์์ ๋ด๋ถ ๋ฐ์ดํฐ ์ด๋์ผ๋ก ์ธํ ์ฑ๋ฅ ์ ํ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด์
๋ธ๋ ํ๋์ฌ์ ์ ํ๋ ์นดํผ๋ฐฑ(copyback) ๋ช
๋ น์ ํ์ฉํ๋ ์ ์ํ ๊ธฐ๋ฒ์ธ rCPB์ ์ ์ํ๋ค.
rCPB์ Copyback ๋ช
๋ น์ ํจ์จ์ฑ์ ๊ทน๋ํ ํ๋ฉด์๋ ๋ฐ์ดํฐ ์ ๋ขฐ์ฑ์ ๋ฌธ์ ๊ฐ ์๋๋ก
๋ธ๋์ ๋ธ๋ญ์ ๋
ธํํน์ฑ์ ๋ฐ์ํ ์๋ก์ด copyback ์ค๋ฅ ์ ํ ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋กํ๋ค.
์ด์๋ํด, ์ ๋ขฐ์ฑ์ด ๋ค๋ฅธ ๋ธ๋ญ๊ฐ์ copyback ๋ช
๋ น์ ํ์ฉํ ๋ฐ์ดํฐ ์ด๋์ ๋ฌธ์ ์์ด ๊ด๋ฆฌํ๊ธฐ ์ํด์
์์ ํจ์จ์ ์ธ ์ค๋ฅ ๊ด๋ฆฌ ์ฒด๊ณ๋ฅผ ์ ์ํ๋ค. ์ด๋ฅผ ํตํด์ ์ ๋ขฐ์ฑ์ ๋ฌธ์ ๋ฅผ ์ฃผ์ง ์๋ ์์ค์์ copyback์ ์ต๋ํ ํ์ฉํ์ฌ ๋ด๋ถ ๋ฐ์ดํฐ ์ด๋์ ์ต์ ํ ํจ์ผ๋ก์จ SSD์ ์ฑ๋ฅํฅ์์ ๋ฌ์ฑํ ์ ์๋ค.
๋ง์ง๋ง์ผ๋ก, ๋ณธ ๋
ผ๋ฌธ์์๋ ์ด๊ณ ์ฉ๋ SSD์์ ๋ธ๋ ํ๋์ฌ์ ๋ค์ด(die) ๋ถ๋์ผ๋ก ์ธํ ๋ ์ด๋(redundant array of independent disks, RAID) ๋ฆฌ๋น๋ ์ค๋ฒํค๋๋ฅผ ์ต์ํ ํ๊ธฐ์ํ ์๋ก์ด RAID ๋ณต๊ตฌ ๊ธฐ๋ฒ์ธ reparo๋ฅผ ์ ์ํ๋ค.
Reparo๋ SSD์ ๋ํ ๊ต์ฒด์์ด SSD์ ๋ถ๋ die์ ๋ํด์๋ง ๋ณต๊ตฌ๋ฅผ ์ํํจ์ผ๋ก์จ ๋ณต๊ตฌ ์ค๋ฒํค๋๋ฅผ ์ต์ํํ๋ค.
๋ถ๋์ด ๋ฐ์ํ die์ ๋ฐ์ดํฐ๋ง ์ ๋ณ์ ์ผ๋ก ๋ณต๊ตฌํจ์ผ๋ก์จ ๋ณต๊ตฌ ๊ณผ์ ์ ๋ฆฌ๋น๋ ํธ๋ํฝ์ ์ต์ํํ๋ฉฐ,
SSD ๋ด๋ถ์ ๋ณ๋ ฌ๊ตฌ์กฐ๋ฅผ ํ์ฉํ์ฌ ๋ถ๋ die ๋ณต๊ตฌ ์๊ฐ์ ํจ๊ณผ์ ์ผ๋ก ๋จ์ถํ๋ค.
๋ํ die ๋ถ๋์ผ๋ก ์ธํ ๋ฌผ๋ฆฌ์ ๊ณต๊ฐ๊ฐ์์ ๋ถ์์ฉ์ ์ต์ํ ํจ์ผ๋ก์จ ๋ณต๊ตฌ ์ดํ์ ์ฑ๋ฅ ์ ํ ๋ฐ ์๋ช
์ ๊ฐ์ ๋ฌธ์ ๊ฐ ์๋๋ก ํ๋ค.
๋ณธ ๋
ผ๋ฌธ์์ ์ ์ํ ๊ธฐ๋ฒ๋ค์ ์ ์ฅ์ฅ์น ํ๋กํ ํ์
๋ฐ ๊ณต๊ฐ ๋ธ๋ ํ๋์ฌ ์ ์ฅ์ฅ์น ๊ฐ๋ฐํ๊ฒฝ, ๊ทธ๋ฆฌ๊ณ ์ค์ฅ SSDํ๊ฒฝ์ ๊ตฌํ๋์์ผ๋ฉฐ,
์ค์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ชจ์ฌํ ๋ค์ํ ๋ฒคํธ๋งํฌ ๋ฐ ์ค์ I/O ํธ๋ ์ด์ค๋ค์ ์ด์ฉํ์ฌ ๊ทธ ์ ์ฉ์ฑ์ ๊ฒ์ฆํ์๋ค.
์คํ ๊ฒฐ๊ณผ, ์ ์๋ ๊ธฐ๋ฒ๋ค์ ํตํด์ ์ด๊ณ ์ฉ๋ SSD์ ์ ๋ขฐ์ฑ ๋ฐ ์ฑ๋ฅ์ ํจ๊ณผ์ ์ผ๋ก ๊ฐ์ ํ ์ ์์์ ํ์ธํ์๋ค.I Introduction 1
1.1 Motivation 1
1.2 Dissertation Goals 3
1.3 Contributions 5
1.4 Dissertation Structure 8
II Background 11
2.1 Overview of 3D NAND Flash Memory 11
2.2 Reliability Management in NAND Flash Memory 14
2.3 UL SSD architecture 15
2.4 Related Work 17
2.4.1 NAND endurance optimization by utilizing page characteristics difference 17
2.4.2 Performance optimizations using copyback operation 18
2.4.3 Optimizations for RAID Rebuild 19
2.4.4 Reliability improvement using internal RAID 20
III GuardedErase: Extending SSD Lifetimes by Protecting Weak Wordlines 22
3.1 Reliability Characterization of a 3D NAND Flash Block 22
3.1.1 Large Reliability Variations Among WLs 22
3.1.2 Erase Stress on Flash Reliability 26
3.2 GuardedErase: Design Overview and its Endurance Model 28
3.2.1 Basic Idea 28
3.2.2 Per-WL Low-Stress Erase Mode 31
3.2.3 Per-Block Erase Modes 35
3.3 Design and Implementation of LongFTL 39
3.3.1 Overview 39
3.3.2 Weak WL Detector 40
3.3.3 WAF Monitor 42
3.3.4 GErase Mode Selector 43
3.4 Experimental Results 46
3.4.1 Experimental Settings 46
3.4.2 Lifetime Improvement 47
3.4.3 Performance Overhead 49
3.4.4 Effectiveness of Lowest Erase Relief Ratio 50
IV Improving SSD Performance Using Adaptive Restricted- Copyback Operations 52
4.1 Motivations 52
4.1.1 Data Migration in Modern SSD 52
4.1.2 Need for Block Aging-Aware Copyback 53
4.2 RCPB: Copyback with a Limit 55
4.2.1 Error-Propagation Characteristics 55
4.2.2 RCPB Operation Model 58
4.3 Design and Implementation of rcFTL 59
4.3.1 EPM module 60
4.3.2 Data Migration Mode Selection 64
4.4 Experimental Results 65
4.4.1 Experimental Setup 65
4.4.2 Evaluation Results 66
V Reparo: A Fast RAID Recovery Scheme for Ultra- Large SSDs 70
5.1 SSD Failures: Causes and Characteristics 70
5.1.1 SSD Failure Types 70
5.1.2 SSD Failure Characteristics 72
5.2 Impact of UL SSDs on RAID Reliability 74
5.3 RAID Recovery using Reparo 77
5.3.1 Overview of Reparo 77
5.4 Cooperative Die Recovery 82
5.4.1 Identifier: Parallel Search of Failed LBAs 82
5.4.2 Handler: Per-Core Space Utilization Adjustment 83
5.5 Identifier Acceleration Using P2L Mapping Information 89
5.5.1 Page-level P2L Entrustment to Neighboring Die 90
5.5.2 Block-level P2L Entrustment to Neighboring Die 92
5.5.3 Additional Considerations for P2L Entrustment 94
5.6 Experimental Results 95
5.6.1 Experimental Settings 95
5.6.2 Experimental Results 97
VI Conclusions 109
6.1 Summary 109
6.2 Future Work 111
6.2.1 Optimization with Accurate WAF Prediction 111
6.2.2 Maximizing Copyback Threshold 111
6.2.3 Pre-failure Detection 112๋ฐ
Abmash: Mashing Up Legacy Web Applications by Automated Imitation of Human Actions
Many business web-based applications do not offer applications programming
interfaces (APIs) to enable other applications to access their data and
functions in a programmatic manner. This makes their composition difficult (for
instance to synchronize data between two applications). To address this
challenge, this paper presents Abmash, an approach to facilitate the
integration of such legacy web applications by automatically imitating human
interactions with them. By automatically interacting with the graphical user
interface (GUI) of web applications, the system supports all forms of
integrations including bi-directional interactions and is able to interact with
AJAX-based applications. Furthermore, the integration programs are easy to
write since they deal with end-user, visual user-interface elements. The
integration code is simple enough to be called a "mashup".Comment: Software: Practice and Experience (2013)
From a Comprehensive Experimental Survey to a Cost-based Selection Strategy for Lightweight Integer Compression Algorithms
Lightweight integer compression algorithms are frequently applied in in-memory database systems to tackle the growing gap between processor speed and main memory bandwidth. In recent years, the vectorization of basic techniques such as delta coding and null suppression has considerably enlarged the corpus of available algorithms. As a result, today there is a large number of algorithms to choose from, while different algorithms are tailored to different data characteristics. However, a comparative evaluation of these algorithms with different data and hardware characteristics has never been sufficiently conducted in the literature. To close this gap, we conducted an exhaustive experimental survey by evaluating several state-of-the-art lightweight integer compression algorithms as well as cascades of basic techniques. We systematically investigated the influence of data as well as hardware properties on the performance and the compression rates. The evaluated algorithms are based on publicly available implementations as well as our own vectorized reimplementations. We summarize our experimental findings leading to several new insights and to the conclusion that there is no single-best algorithm. Moreover, in this article, we also introduce and evaluate a novel cost model for the selection of a suitable lightweight integer compression algorithm for a given dataset
- โฆ