A Microdriver Architecture for Error Correcting Codes inside the Linux Kernel

被引:0
|
作者
Brinkmann, A. [1 ]
Eschweiler, D. [1 ]
机构
[1] Univ Paderborn, Paderborn Ctr Parallel Comp PC2, Paderborn, Germany
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Coding tasks, such as encryption of data or the generation of failure-tolerant codes, belong to the most computationaly expensive tasks inside the Linux kernel. Their integration into the kernel enables the user to transparently access these functionalities, encrypted hard disks can be used in the same way as unencrypted ones. Nevertheless, Linux as a monolithic kernel is not prepared to support these expensive tasks by accessing modern hardware accelerators, like graphics processing units (GPUs), as the corresponding accelerator libraries, like the CUDA-API for NVIDIA GPUs, only offer user-space APIs. Linux is often used in conjunction with parallel file systems in high performance cluster environments and the tremendous storage growth in these environments leads to the requirement of multi-error correcting codes. Parallel file systems, which often run on a storage cluster, are required to store the calculated results without huge waiting times. Whereas the frontend of such a storage cluster can be build with standard PCs, it is in contrast nearly impossible to build a capable RAID backend with end user hardware up to now. This work investigated the potential of graphic cards for such coding applications like RAID in the Linux kernel. For this purpose, a special microdriver concept (Barracuda) has been designed that can be integrated into Linux without changing kernel APIs. For the investigation of the performance of this concept, the Linux RAID 6-system and the applied Reed-Solomon code have been exemplary extended and studied. The resulting measurements outline opportunities and limitations of our microdriver concept. On the one hand, the concept achieves a speed-up of 72 for complex, 8-failure correcting codes, while no additional speed-up can be generated for simpler, 2-error correcting codes. An example application for Barracuda could therefore be replacement of expensive RAID systems in cluster storage environments.
引用
收藏
页数:10
相关论文
共 50 条
  • [1] New results on error correcting output codes of kernel machines
    Passerini, A
    Pontil, M
    Frasconi, P
    IEEE TRANSACTIONS ON NEURAL NETWORKS, 2004, 15 (01): : 45 - 54
  • [2] ERROR CORRECTING CODES
    PETERSON, WW
    CURRENT SCIENCE, 1961, 30 (12): : 480 - &
  • [3] ERROR CORRECTING CODES AND SECRET CODES
    SLOANE, NJA
    AMERICAN MATHEMATICAL MONTHLY, 1978, 85 (10): : 854 - 854
  • [4] ERROR DETECTING AND ERROR CORRECTING CODES
    HAMMING, RW
    BELL SYSTEM TECHNICAL JOURNAL, 1950, 29 (02): : 147 - 160
  • [5] ERROR CORRECTING CODES FOR CORRECTING BURSTS OF ERRORS
    MEGGITT, JE
    IBM JOURNAL OF RESEARCH AND DEVELOPMENT, 1960, 4 (03) : 329 - 334
  • [6] On the number of error correcting codes
    Dong, Dingding
    Mani, Nitya
    Zhao, Yufei
    COMBINATORICS PROBABILITY AND COMPUTING, 2023, 32 (05) : 819 - 832
  • [7] Error Correcting codes with Mathematica
    Gashkov, I
    COMPUTATIONAL SCIENCE - ICCS 2003, PT II, PROCEEDINGS, 2003, 2658 : 1042 - 1051
  • [8] Error correcting codes with mathematica
    Gashkov, I
    COMPUTATIONAL SCIENCE - ICCS 2003, PT I, PROCEEDINGS, 2003, 2657 : 737 - 746
  • [9] Error Correcting Network Codes
    Belhamra, Mohamed Amine
    Souidi, El Mamoun
    COMPUTER NETWORKS, 2021, 197
  • [10] ERROR-CORRECTING CODES
    PETERSON, WW
    SCIENTIFIC AMERICAN, 1962, 206 (02) : 96 - &