Issue No. 08 - August (1992 vol. 25)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/2.153282
<p>A special-purpose architectural support that reduces the goal-management execution time in flat concurrent Prolog (FCP) is described. The architectural support consists of a dedicated goal-management unit that executes high-level goal-management operations concurrently with goal-reduction operations. The efficient execution of goal-management instructions is realized using a goal cache that stores recently spawned goals. It is shown that operations such as goal-switching, spawning, and halting are efficiently performed by changing their status in the goal cache. More complex operations, such as goal suspension and activation are decoupled from goal reduction by using two suspension tables and activation queues. Using an analytic performance model, it is shown that, for the systems development workload, which consists of large FCP programs, the overhead of software-implemented goal management is 50% of the program execution time. This is reduced up to 3% using the goal-management unit and the goal cache, resulting in a speedup of almost 2. The results are generalized for other workloads that exhibit different goal-management complexities.</p>
M. D. Ercegovac, T. Lang and L. Alkalaj, "Architectural Support for Goal Management in Flat Concurrent Prolog," in Computer, vol. 25, no. , pp. 34-47, 1992.