首页> 外文会议>International conference on high performance computing, networking, storage and analysis 2009 >A Microdriver Architecture for Error Correcting Codes inside the Linux Kernel
【24h】

A Microdriver Architecture for Error Correcting Codes inside the Linux Kernel

机译:用于在Linux内核中纠错代码的微驱动程序体系结构

获取原文
获取原文并翻译 | 示例

摘要

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.rnThis 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.
机译:诸如数据加密或生成容错代码之类的编码任务属于Linux内核中计算最昂贵的任务。它们集成到内核中,使用户能够透明地访问这些功能,加密硬盘的使用方式与未加密硬盘相同。但是,作为整体内核的Linux无法通过访问现代硬件加速器(例如图形处理单元(GPU))来支持这些昂贵的任务,因为相应的加速器库(例如用于NVIDIA GPU的CUDA-API)仅提供用户空间API 。在高性能群集环境中,Linux通常与并行文件系统结合使用,这些环境中的巨大存储增长导致需要多错误校正代码。通常需要在存储集群上运行的并行文件系统来存储计算结果,而无需等待大量时间。尽管可以使用标准PC来构建这种存储集群的前端,但到目前为止,几乎不可能用最终用户硬件来构建功能强大的RAID后端。这项工作研究了图形卡在诸如RAID之类的编码应用中的潜力。 Linux内核。为此,已经设计了一种特殊的微驱动程序概念(梭子鱼),可以将其集成到Linux中,而无需更改内核API。为了研究此概念的性能,已对Linux RAID 6系统和所应用的Reed-Solomon代码进行了示例性扩展和研究。最终的测量结果概述了我们的微型驱动程序概念的机会和局限性。一方面,对于复杂的8故障校正码,该概念可实现72的加速,而对于简单的2纠错码,则无法产生额外的加速。因此,梭子鱼的一个示例应用程序可能是替换集群存储环境中昂贵的RAID系统。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号