首页> 外文OA文献 >Résolution triangulaire de systèmes linéaires creux de grande taille dans un contexte parallèle multifrontal et hors-mémoire
【2h】

Résolution triangulaire de systèmes linéaires creux de grande taille dans un contexte parallèle multifrontal et hors-mémoire

机译:大型空心线性系统在多前沿和内存不足并行环境中的三角分辨率

摘要

Nous nous intéressons à la résolution de systèmes linéaires creux de très grande taille par des méthodes directes de factorisation. Dans ce contexte, la taille de la matrice des facteurs constitue un des facteurs limitants principaux pour l'utilisation de méthodes directes de résolution. Nous supposons donc que la matrice des facteurs est de trop grande taille pour être rangée dans la mémoire principale du multiprocesseur et qu'elle a donc été écrite sur les disques locaux (hors-mémoire : OOC) d'une machine multiprocesseurs durant l'étape de factorisation. Nous nous intéressons à l'étude et au développement de techniques efficaces pour la phase de résolution après une factorization multifrontale creuse. La phase de résolution, souvent négligée dans les travaux sur les méthodes directes de résolution directe creuse, constitue alors un point critique de la performance de nombreuses applications scientifiques, souvent même plus critique que l'étape de factorisation. Cette thèse se compose de deux parties. Dans la première partie nous nous proposons des algorithmes pour améliorer la performance de la résolution hors-mémoire. Dans la deuxième partie nous pousuivons ce travail en montrant comment exploiter la nature creuse des seconds membres pour réduire le volume de données accédées en mémoire. Dans la première partie de cette thèse nous introduisons deux approches de lecture des données sur le disque dur. Nous montrons ensuite que dans un environnement parallèle le séquencement des tâches peut fortement influencer la performance. Nous prouvons qu'un ordonnancement contraint des tâches peut être introduit; qu'il n'introduit pas d'interblocage entre processus et qu'il permet d'améliorer les performances. Nous conduisons nos expériences sur des problèmes industriels de grande taille (plus de 8 Millions d'inconnues) et utilisons une version hors-mémoire d'un code multifrontal creux appelé MUMPS (solveur multifrontal parallèle). Dans la deuxième partie de ce travail nous nous intéressons au cas de seconds membres creux multiples. Ce problème apparaît dans des applications en electromagnétisme et en assimilation de données et résulte du besoin de calculer l'espace propre d'une matrice fortement déficiente, du calcul d'éléments de l'inverse de la matrice associée aux équations normales pour les moindres carrés linéaires ou encore du traitement de matrices fortement réductibles en programmation linéaire. Nous décrivons un algorithme efficace de réduction du volume d'Entrées/Sorties sur le disque lors d'une résolution hors-mémoire. Plus généralement nous montrons comment le caractère creux des seconds -membres peut être exploité pour réduire le nombre d'opérations et le nombre d'accès à la mémoire lors de l'étape de résolution. Le travail présenté dans cette thèse a été partiellement financé par le projet SOLSTICE de l'ANR (ANR-06-CIS6-010). ABSTRACT : We consider the solution of very large systems of linear equations with direct multifrontal methods. In this context the size of the factors is an important limitation for the use of sparse direct solvers. We will thus assume that the factors have been written on the local disks of our target multiprocessor machine during parallel factorization. Our main focus is the study and the design of efficient approaches for the forward and backward substitution phases after a sparse multifrontal factorization. These phases involve sparse triangular solution and have often been neglected in previous works on sparse direct factorization. In many applications, however, the time for the solution can be the main bottleneck for the performance. This thesis consists of two parts. The focus of the first part is on optimizing the out-of-core performance of the solution phase. The focus of the second part is to further improve the performance by exploiting the sparsity of the right-hand side vectors. In the first part, we describe and compare two approaches to access data from the hard disk. We then show that in a parallel environment the task scheduling can strongly influence the performance. We prove that a constraint ordering of the tasks is possible; it does not introduce any deadlock and it improves the performance. Experiments on large real test problems (more than 8 million unknowns) using an out-of-core version of a sparse multifrontal code called MUMPS (MUltifrontal Massively Parallel Solver) are used to analyse the behaviour of our algorithms. In the second part, we are interested in applications with sparse multiple right-hand sides, particularly those with single nonzero entries. The motivating applications arise in electromagnetism and data assimilation. In such applications, we need either to compute the null space of a highly rank deficient matrix or to compute entries in the inverse of a matrix associated with the normal equations of linear least-squares problems. We cast both of these problems as linear systems with multiple right-hand side vectors, each containing a single nonzero entry. We describe, implement and comment on efficient algorithms to reduce the input-output cost during an outof- core execution. We show how the sparsity of the right-hand side can be exploited to limit both the number of operations and the amount of data accessed. The work presented in this thesis has been partially supported by SOLSTICE ANR project (ANR-06-CIS6-010).
机译:我们对通过直接分解方法解决非常大的中空线性系统的分辨率感兴趣。在这种情况下,因子矩阵的大小构成使用直接解析方法的主要限制因素之一。因此,我们假设因子矩阵太大而无法存储在多处理器的主存储器中,因此在步骤中将其写入多处理器机器的本地磁盘(内存不足:OOC)因式分解。我们对中空多面分解后的拆分阶段有效技术的研究和开发感兴趣。分辨率阶段通常在直接空心分辨率的直接方法中被忽略,因此构成许多科学应用程序性能的关键点,通常比分解步骤更为关键。本文分为两部分。在第一部分中,我们提出了一些算法来提高内存不足分辨率的性能。在第二部分中,我们通过展示如何利用第二个成员的空心性质来减少在内存中访问的数据量来继续这项工作。在本文的第一部分,我们介绍了两种从硬盘读取数据的方法。然后,我们表明,在并行环境中,任务的排序会严重影响性能。我们证明可以引入约束的任务调度;它不会在进程之间引入死锁,并且可以提高性能。我们针对大型工业问题(超过800万个未知数)进行了实验,并使用了称为MUMPS(并行多面求解器)的空心多面代码的内存不足版本。在这项工作的第二部分,我们对多个第二中空构件的情况感兴趣。这个问题出现在电磁学和数据同化中,是由于需要计算强缺陷矩阵的本征空间,计算与最小二乘的正则方程有关的矩阵逆元素而产生的。线性或线性编程中高度可约矩阵的处理。我们描述了一种有效的算法,用于在内存不足解析期间减少磁盘上的I / O量。更笼统地说,我们展示了如何利用第二个成员的空心字符来减少解析步骤中的操作次数和对内存的访问次数。本文提出的工作部分由ANS SOLSTICE项目(ANR-06-CIS6-010)资助。摘要:我们考虑使用直接多前沿方法对非常大的线性方程组进行求解。在这种情况下,因子的大小是使用稀疏直接求解器的重要限制。因此,我们将假设这些因素已在并行分解过程中写入了目标多处理器计算机的本地磁盘上。我们的主要重点是稀疏多边因式分解后正向和反向替换阶段的有效方法的研究和设计。这些阶段涉及稀疏三角解,并且在先前有关稀疏直接因式分解的工作中经常被忽略。但是,在许多应用程序中,解决方案的时间可能是性能的主要瓶颈。本文分为两部分。第一部分的重点是优化解决方案阶段的核心外性能。第二部分的重点是通过利用右侧向量的稀疏性进一步提高性能。在第一部分中,我们描述并比较了两种从硬盘访问数据的方法。然后,我们表明,在并行环境中,任务调度会严重影响性能。我们证明了任务的约束排序是可能的。它不会引入任何死锁,并且可以提高性能。使用称为MUMPS(多边大规模大规模并行求解器)的稀疏多边代码的核外版本进行的大型实际测试问题(超过800万个未知数)的实验用于分析算法的行为。在第二部分中,我们对具有多个稀疏右侧的应用程序感兴趣,特别是那些具有单个非零条目的应用程序。激励性应用出现在电磁学和数据同化中。在这样的应用中,我们需要计算高度秩不足矩阵的零空间,或者计算与线性最小二乘问题的正规方程式相关联的矩阵逆矩阵中的项。我们将这两个问题都转换为具有多个右侧向量的线性系统,每个都包含一个非零条目。我们描述,实施和评论有效的算法,以减少内核外执行期间的输入输出成本。我们展示了如何利用右侧的稀疏性来限制操作次数和访问的数据量。 SOLSTICE ANR项目(ANR-06-CIS6-010)部分支持了本文中提出的工作。

著录项

  • 作者

    Slavova Tzvetomila;

  • 作者单位
  • 年度 2009
  • 总页数
  • 原文格式 PDF
  • 正文语种
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号