首页> 外文会议>IEEE International Conference on Big Data >External memory pipelining made easy with TPIE
【24h】

External memory pipelining made easy with TPIE

机译:外部内存管线使TPIE变得容易

获取原文

摘要

When handling large datasets that exceed the capacity of the main memory, movement of data between main memory and external memory (disk), rather than actual (CPU) computation time, is often the bottleneck in the computation. Since data is moved between disk and main memory in large contiguous blocks, this has led to the development of a large number of I/O-efficient algorithms that minimize the number of such block movements. However, actually implementing these algorithms can be somewhat of a challenge since operating systems do not give complete control over movement of blocks and management of main memory. TPIE is one of two major libraries that have been developed to support I/O-efficient algorithm implementations. It relies heavily on the fact that most I/O-efficient algorithms are naturally composed of components that stream through one or more lists of data items, while producing one or more such output lists, or components that sort such lists. Thus TPIE provides an interface where list stream processing and sorting can be implemented in a simple and modular way without having to worry about memory management or block movement. However, if care is not taken, such streaming-based implementations can lead to practically inefficient algorithms since lists of data items are typically written to (and read from) disk between components. In this paper we present a major extension of the TPIE library that includes a pipelining framework that allows for practically efficient streaming-based implementations while minimizing I/O-overhead between streaming components. The framework pipelines streaming components to avoid I/Os between components, that is, it processes several components simultaneously while passing output from one component directly to the input of the next component in main memory. TPIE automatically determines which components to pipeline and performs the required main memory management, and the extension also includes support for parallelization of internal memory computation and progress tracking across an entire application. Thus TPIE supports efficient streaming-based implementations of I/O-efficient algorithms in a simple, modular and maintainable way. The extended library has already been used to evaluate I/O-efficient algorithms in the research literature, and is heavily used in I/O-efficient commercial terrain processing applications by the Danish startup SCALGO.
机译:处理超过主存储器容量的大数据集时,主存储器和外部存储器(磁盘)之间的数据移动,而不是实际(CPU)计算时间,通常是计算中的瓶颈。由于数据在大型连续块中的磁盘和主存储器之间移动,因此这导致了大量I / O高效算法的开发,最小化了这种块移动的数量。然而,实际上实施这些算法可能有些挑战,因为操作系统不完全控制主存储器的块和管理的移动。 TPIE是已经开发出支持I / O高效算法实现的两个主要图书馆之一。它严重依赖于大多数I / O高效算法自然地由流通过一个或多个数据项列表的组件组成,同时产生一个或多个这样的输出列表或分类这些列表的组件。因此,TPIE提供了一种界面,其中列表流处理和排序可以以简单且模块化的方式实现,而无需担心内存管理或块移动。然而,如果不拍摄小心,则这种基于流的实现可以导致实际效率低下算法,因为数据项的列表通常被写入组件之间的(和从)磁盘之间。在本文中,我们介绍了TPIE库的主要扩展,其中包括流水线框架,其允许实际上基于流的实现,同时最小化流组件之间的I / O开销。框架流水线流传输组件以避免组件之间的I / O,即,它同时处理多个组件,同时将从一个组件直接传递到主存储器中的下一个组件的输入。 TPIe自动确定管道中的哪些组件并执行所需的主内存管理,并且扩展还包括支持内部存储器计算的并行化和整个应用程序的进度跟踪。因此,TPI以简单,模块化和可维护的方式支持I / O高效算法的高效基于流的实现。扩展库已被用于评估研究文献中的I / O高效算法,并且在丹麦启动ScaloGo中大量用于I / O高效的商业地形处理应用。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号