Table of Contents
Fetching ...

Finding Minimal Clusters in st-DAGs

Ulrich Vogl, Markus Siegle

Abstract

Directed Acylic Graphs with a single entry vertex and a single exit vertex (st-DAGs) have many applications. For instance, they are frequently used for modelling flow problems or precedence conditions among tasks, work packages, etc.. This paper presents an algorithm for finding special types of subgraphs in such st-DAGs, called clusters. Knowing the clusters of a given st-DAG is very useful during DAG analysis. Clusters are characterized by a kind of synchronizing behaviour at their entry border and at their exit border. In this context, we introduce the notion of syncpoint, a type of synchronisation point within a DAG, and for a given st-DAG we construct a second DAG, called MSP-DAG, whose edges are given by the precedence relation among maximum size syncpoints (MSPs). Our new cluster finding algorithm searches for clusters between potential pairs of enclosing MSPs. The efficiency of the algorithm stems from the fact that it works on the MSP-DAG, which is usually much smaller than the original st-DAG. The paper includes a thorough complexity analysis of the algorithm's runtime, which turns out to be quadratic in the number of DAG vertices and exponential in the number of MSP-DAG vertices. There is also a section reporting on experiments with randomly generated DAGs, which shows the practical applicability of the algorithm and confirm our theoretical findings.

Finding Minimal Clusters in st-DAGs

Abstract

Directed Acylic Graphs with a single entry vertex and a single exit vertex (st-DAGs) have many applications. For instance, they are frequently used for modelling flow problems or precedence conditions among tasks, work packages, etc.. This paper presents an algorithm for finding special types of subgraphs in such st-DAGs, called clusters. Knowing the clusters of a given st-DAG is very useful during DAG analysis. Clusters are characterized by a kind of synchronizing behaviour at their entry border and at their exit border. In this context, we introduce the notion of syncpoint, a type of synchronisation point within a DAG, and for a given st-DAG we construct a second DAG, called MSP-DAG, whose edges are given by the precedence relation among maximum size syncpoints (MSPs). Our new cluster finding algorithm searches for clusters between potential pairs of enclosing MSPs. The efficiency of the algorithm stems from the fact that it works on the MSP-DAG, which is usually much smaller than the original st-DAG. The paper includes a thorough complexity analysis of the algorithm's runtime, which turns out to be quadratic in the number of DAG vertices and exponential in the number of MSP-DAG vertices. There is also a section reporting on experiments with randomly generated DAGs, which shows the practical applicability of the algorithm and confirm our theoretical findings.

Paper Structure

This paper contains 15 sections, 5 theorems, 4 equations, 9 figures, 1 table, 5 algorithms.

Key Result

Lemma 1

In a DAG $G=(V,E)$, let the subgraph $G'=(V',E')$ be a cluster. Let $A \subseteq V'$ be the entry vertices of $G'$ and let $B \subseteq V'$ be the exit vertices of $G'$. Then the set of incoming edges of $A$ is a FSP or a FHSP, and the set of outgoing edges of $B$ is a FSP or a BHSP.

Figures (9)

  • Figure 1: An st-DAG with $s=1$ and $t=10$. Vertices 4 and 7 can be reduced serially. Vertices 8 and 9 can be reduced parallelly. The subgraph induced by vertex set $\{ 2,3,5,6\}$ is a minimal complex cluster. The two subgraphs induced by vertex sets $\{ 2,3,4,5,6,7\}$ and $\{ 2,3,4,5,6,7,8,9\}$ are also clusters, but they are neither complex (since serial/parallel reductions inside those subgraphs are possible) nor minimal.
  • Figure 2: The relationships between different classes of syncpoints
  • Figure 3: A DAG exemplifying different types of syncpoints. Fullsyncpoints (FSPs) are shown in magenta colour, Forward-Halfsyncpoints (FHSPs) in green and Backward-Halfsyncpoints (BHSPs) in blue. Note that the BHSP is a Subsyncpoint (SSP) of the rightmost FSP. All SPs except the BHSP are Maximum Syncpoints (MSPs).
  • Figure 4: An example of two non-disjoint MSPs, where $\mathcal{X} \overset{i}\rightsquigarrow \mathcal{Y}$
  • Figure 5: A DAG (left) and the associated MSP-DAG (right)
  • ...and 4 more figures

Theorems & Definitions (20)

  • Definition 1
  • Definition 2
  • Definition 3
  • Definition 4
  • Definition 5
  • Definition 6
  • Definition 7
  • Lemma 1
  • proof
  • Definition 8
  • ...and 10 more