FastDiagP: An Algorithm for Parallelized Direct Diagnosis
This work addresses efficiency problems for users of constraint-based applications dealing with complex and large-scale knowledge bases, but it is incremental as it builds directly on the existing FastDiag algorithm.
The paper tackles the runtime performance issues of the FastDiag algorithm for diagnosing inconsistent constraints in large-scale knowledge bases by proposing FastDiagP, a parallelized version that uses speculative programming to pre-calculate consistency checks, resulting in improved performance as demonstrated empirically on the Linux-2.6.3.33 configuration knowledge base.
Constraint-based applications attempt to identify a solution that meets all defined user requirements. If the requirements are inconsistent with the underlying constraint set, algorithms that compute diagnoses for inconsistent constraints should be implemented to help users resolve the "no solution could be found" dilemma. FastDiag is a typical direct diagnosis algorithm that supports diagnosis calculation without predetermining conflicts. However, this approach faces runtime performance issues, especially when analyzing complex and large-scale knowledge bases. In this paper, we propose a novel algorithm, so-called FastDiagP, which is based on the idea of speculative programming. This algorithm extends FastDiag by integrating a parallelization mechanism that anticipates and pre-calculates consistency checks requested by FastDiag. This mechanism helps to provide consistency checks with fast answers and boosts the algorithm's runtime performance. The performance improvements of our proposed algorithm have been shown through empirical results using the Linux-2.6.3.33 configuration knowledge base.