Concurrent Tabling: Algorithms and Implementation
Rui F. Marques · 2007
Interpretation Benchmarks In Tables 7.23 and 7.24 we show the results for running the Abstract Interpretation programs in parallel, using private tables. These benchmarks are, in a sense, more representative of the typical tabled program’s performance than the previous ones, because they use real programs that use amore standard mix of Prolog and different features of tabling. In Table 7.23 we show the results for private tables using Local scheduling under the Shared Completed Tables engine. Although not as good as the results from Prolog, they give a speedup that is nearly linear, up to eight processors, and much better than the ones from the Transitive Closure benchmarks. In Table 7.24 we show the results for scalability using private tables using Batched scheduling under the Concurrent Completion engine. A little surprisingly, these are even better than the ones for Local scheduling. We conclude that although a very intensive use of tabling may lead to some performance losses with the current engine, the results for parallelizing real applications with private tables should be, as far as the system is concerned, good, and overall dependent of the parallelism that the programmer can extract from the application.