Table of Contents
Fetching ...

Improving Execution Concurrency in Partial-Order Plans via Block-Substitution

Sabah Binte Noor, Fazlul Hasan Siddiqui

TL;DR

This work establishes the necessary and sufficient conditions for non-concurrency constraints between two actions or two subplans with respect to a planning task and introduces an algorithm to improve a plan’s concurrency by optimizing resource utilization through substitutions of the plan’s subplans with respect to the corresponding planning task.

Abstract

Partial-order plans in AI planning facilitate execution flexibility and several other tasks, such as plan reuse, modification, and decomposition, due to their less constrained nature. A Partial-Order Plan (POP) allows two actions with no ordering between them, thus providing the flexibility of executing actions in different sequences. This flexibility can be further extended by enabling parallel execution of actions in a POP to reduce its overall execution time. While extensive studies exist on improving the flexibility of a POP by optimizing its action orderings through plan deordering and reordering, there has been limited focus on the flexibility of executing actions concurrently in a plan. Execution concurrency in a POP can be achieved by incorporating action non-concurrency constraints, specifying which actions can not be executed in parallel. This work formalizes the conditions for non-concurrency constraints to transform a POP into a parallel plan. We also introduce an algorithm to enhance the plan's concurrency by optimizing resource utilization through substitutions of its subplans with respect to the corresponding planning task. Our algorithm employs block deordering that eliminates orderings in a POP by encapsulating coherent actions in blocks, and then exploits blocks as candidate subplans for substitutions. Experiments over the benchmark problems from International Planning Competitions (IPC) exhibit significant improvement in plan concurrency, specifically, with improvement in 25% of the plans, and an overall increase of 2.1% in concurrency.

Improving Execution Concurrency in Partial-Order Plans via Block-Substitution

TL;DR

This work establishes the necessary and sufficient conditions for non-concurrency constraints between two actions or two subplans with respect to a planning task and introduces an algorithm to improve a plan’s concurrency by optimizing resource utilization through substitutions of the plan’s subplans with respect to the corresponding planning task.

Abstract

Partial-order plans in AI planning facilitate execution flexibility and several other tasks, such as plan reuse, modification, and decomposition, due to their less constrained nature. A Partial-Order Plan (POP) allows two actions with no ordering between them, thus providing the flexibility of executing actions in different sequences. This flexibility can be further extended by enabling parallel execution of actions in a POP to reduce its overall execution time. While extensive studies exist on improving the flexibility of a POP by optimizing its action orderings through plan deordering and reordering, there has been limited focus on the flexibility of executing actions concurrently in a plan. Execution concurrency in a POP can be achieved by incorporating action non-concurrency constraints, specifying which actions can not be executed in parallel. This work formalizes the conditions for non-concurrency constraints to transform a POP into a parallel plan. We also introduce an algorithm to enhance the plan's concurrency by optimizing resource utilization through substitutions of its subplans with respect to the corresponding planning task. Our algorithm employs block deordering that eliminates orderings in a POP by encapsulating coherent actions in blocks, and then exploits blocks as candidate subplans for substitutions. Experiments over the benchmark problems from International Planning Competitions (IPC) exhibit significant improvement in plan concurrency, specifically, with improvement in 25% of the plans, and an overall increase of 2.1% in concurrency.

Paper Structure

This paper contains 16 sections, 2 theorems, 1 equation, 8 figures, 4 tables, 5 algorithms.

Key Result

Theorem 1

The conditions in Definition def:nonconcurrent operator are necessary for a non-concurrency constraint between an operator pair in a POP.

Figures (8)

  • Figure 1: (a) A sequential plan from Elevator domain, where a lift e1 transfers passengers p1 and p2 from floor n2 to n3, and passenger p3 from floor n1 to n2. (b) A partial-order plan with $\mathit{flex}$ and $\mathit{cflex}$ values of 0.037, generated from the sequential plan in (a) using *eog.
  • Figure 2: A block-decomposed partial-order (BDPO) plan, generated from the POP in Figure \ref{['fig:pop']}(b), allows the unordered blocks, $b_1$ and $b_2$, to be executed in any order but not in parallel, yielding a $flex$ of 0.47 and a $cflex$ of 0.037.
  • Figure 3: Substituting block $b_2$ in the BDPO plan (presented in Figure \ref{['fig:dpop']}) with the block $b_2'$ allows the unordered blocks $b_1$ and $b_2'$ to be executed in any order, increasing the plan $\mathit{cflex}$ from 0.037 to 0.47.
  • Figure 4: Substituting a block $b_x$ in (a) a valid BDPO plan $\pi_{bdp}=\langle \mathcal{O},\mathcal{B}, \prec\rangle$ with a block $\hat{b}_x \notin \mathcal{B}$, where $\langle v_1, d_1\rangle \in cons(\hat{b}_x)$ and $\langle v_3, d_3\rangle \in prod(\hat{b}_x)$. (b) This substitution adds two causal links $b_r \xrightarrow{\langle v_1, d_1 \rangle} \hat{b}_x$ and $\hat{b}_x \xrightarrow{\langle v_3, d_3 \rangle} b_t$, and an ordering reason $CD(\langle v_1, d_1 \rangle)$ to $Re(\hat{b}_x \prec b_s)$ for resolving threat, producing a valid BDPO plan where blocks $b_i$ and $\hat{b}_x$ are unordered. The dotted lines represent ordering (basic or transitive) between two blocks.
  • Figure 5: Blocks $b_1$ and $b$ had a non-concurrency constraint on a variable $v_1$ (i.e., $vars_{nc}=\{v_1\}$) since blocks $b_2$ and $b_3$ in $b$ have non-concurrency constraints with $b_1$ on the variable $v_1$.
  • ...and 3 more figures

Theorems & Definitions (22)

  • Example 1
  • Definition 1
  • Definition 2
  • Definition 3
  • Definition 4
  • Definition 5
  • Definition 6
  • Definition 7
  • Definition 8
  • Definition 9
  • ...and 12 more