Parallel algorithms and architectures for rule-based systems

  • Authors:
  • A. Gupta;C. Forgy;A. Newell;R. Wedig

  • Affiliations:
  • Carnegie-Mellon UniversityPittsburgh, Pennsylvania;Carnegie-Mellon UniversityPittsburgh, Pennsylvania;Carnegie-Mellon UniversityPittsburgh, Pennsylvania;Carnegie-Mellon UniversityPittsburgh, Pennsylvania

  • Venue:
  • ISCA '86 Proceedings of the 13th annual international symposium on Computer architecture
  • Year:
  • 1986

Quantified Score

Hi-index 0.00

Visualization

Abstract

Rule-based systems, on the surface, appear to be capable of exploiting large amounts of parallelism—it is possible to match each rule to the data memory in parallel. In practice, however, we show that the speed-up from parallelism is quite limited, less than 10-fold. The reasons for the small speed-up are: (1) the small number of rules relevant to each change to data memory; (2) the large variation in the processing required by the relevant rules; and (3) the small number of changes made to data memory between synchronization steps. Furthermore, we observe that to obtain this limited factor of 10-fold speed-up, it is necessary to exploit parallelism at a very fine granularity. We propose that a suitable architecture to exploit such fine-grain parallelism is a bus-based shared-memory multiprocessor with 32-64 processors. Using such a multiprocessor (with individual processors working at 2 MIPS), it is possible to obtain execution speeds of about 3800 rule-firings/sec. This speed is significantly higher than that obtained by other proposed parallel implementations of rule-based systems.