[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

The Design, Implementation, and Performance Evaluation of BERMUDA

Published: 01 February 1994 Publication History

Abstract

We describe the design and implementation of BERMUDA, which is a loosely coupled system interfacing Prolog to the Britton-Lee Intelligent Database Machine (IDM-500). BERMUDA allows multiple concurrent Prolog processes, possibly running on different machines, to share a database. In addition, it preserves the semantics of Prolog programs and makes the use of the database system transparent to the user. We discuss several architectural issues faced by such systems and the approach adopted for each one in BERMUDA. We also present the performance results of a variety of experiments with the system. These include single-user benchmarks of BERMUDA against stand-alone Prolog and stand-alone IDM, detailed profiling of the costs of the modules of BERMUDA that shows the overhead imposed by the interface, and multiuser benchmarks of BERMUDA that show how the system behaves under heavier load. These experiments demonstrate the effectiveness of loosely coupled systems in general and of BERMUDA specifically. They also help in the identification of some aspects of the design and implementation of BERMUDA that could be improved.

References

[1]
{1} J. Bocca et al., "Some steps towards DBMS based KBMS," in Information Processing 86. Amsterdam: North-Holland, Sept. 1986, pp. 1061-1067.
[2]
{2} M. Astrahan et al., "System R: Relational approach to database manage ment," ACM Transactions on Database Systems 1, vol. 2. pp. 97-137, June 1976.
[3]
{3} P. Selinger et al., "Access path selection in a relational data base system," in Proc. 1979 ACM-SIGMOD Conf. Management of Data, Boston, June 1979, pp. 23-34.
[4]
{4} R. Baron et al., "Mach: A new kernel foundation for UNIX development," in Proc. Winter '86 USENIX, 1986, pp. 93-112.
[5]
{5} BIM, BIM Prolog, Version 2.5. 1989.
[6]
{6} D. Bitton, D. J. DeWitt, and C. Turbyfill, "Benchmarking database systems: A systematic approach," in Proc. 9th Int. VLDB Conf., Florence, Italy, Aug. 1983, pp. 8-19.
[7]
{7} J. Bocca, "On the evaluation strategy of EDUCE," in Proc. 1986 ACM-SIGMOD Conf. Management of Data, Washington, DC, May 1986, pp. 368-378.
[8]
{8} J. Bocca, "EDUCE--a marriage of convenience: Prolog and a relational DBMS", in Proc. 1986 Symp. Logic Programming. Salt Lake City, Sept. 1986, pp. 36-45.
[9]
{9} S. Ceri, G. Gottlob, and G. Wiederhold, "Interfacing relational databases and Prolog efficiently," in Proc. 1st Int. Conf. Expert Database Systems, Charleston, SC, Apr. 1986, pp. 141-153.
[10]
{10} S. Ceri, G. Gottlob, and G. Wiederhold, "Efficient database access from Prolog," IEEE Trans. Software Eng., vol. 15, no. 2, pp. 153-164, Feb. 1989.
[11]
{11} S. Ceri, G. Gottlob, and L. Tanca, "What you always wanted to know about Datalog (and never dared to ask)," IEEE Trans. Knowl. Data Eng., vol. 1, no. 1, pp. 146-166, Mar. 1989.
[12]
{12} C. L. Chang and A. Walker, "PROSQL: A Prolog programming interface with SQL/DS," in Expert Database Systems, Proc. 1st Int. Workshop, L. Kerschberg, Ed. Menlo Park, CA: Benjamin/Cummings, 1986, pp. 233-246.
[13]
{13} E. Denoel, D. Roelants, and M. Vauclair, "Query translation for coupling Prolog with a relational database management system," in Proc. Workshop Integration of Logic Programming and Databases, Venice, Italy, Dec. 1986.
[14]
{14} R. P. Draves and E. C. Cooper, "C threads," Dept. of Computer Science, Carnegie Mellon Univ., Tech. Rep., 1987.
[15]
{15} S. Finkelstein, "Common expression analysis in database applications," in Proc. 1982 ACM-SIGMOD Conf. Management of Data, Orlando, FL, June 1982, pp. 235-245.
[16]
{16} H. Gallaire and J. Minker, Logic and Data Bases. New York: Plenum, 1978.
[17]
{17} S. Ghosh, C. C. Lin, and T. Sellis, "Implementation of a Prolog-INGRES interface," ACM-SIGMOD Record, vol. 17, no. 2. pp. 77-88, June 1988.
[18]
{18} Y. E. Ioannidis, J. Chen, M. A. Freidman, and M. Tsangaris, "BERMUDA--an architectural perspective on interfacing Prolog to a database machine," in Proc. 2nd Int. Conf. Expert Database Systems, Tysons Corner, VA, Apr. 1988, PP. 91-105.
[19]
{19} M. Jarke, J. Clifford, and Y. Vassiliou, "An optimizing Prolog front-end to a relational query system." in Proc. 1984 ACM-SIGMOD Conf. Management of Data, Boston, June 1984, pp. 296-306.
[20]
{20} Britton Lee, Inc., IDM Program Interface Manual, Version 2.0, Los Gatos, CA, 1989.
[21]
{21} K. Morris, J. D. Ullman, and A. VanGelder, "NAIL! system design overview," in Proc. 3rd Int. Conf. Logic Programming, London, July 1986, pp. 554-568.
[22]
{22} L. Naish and J. A. Thom, "The MU-Prolog deductive database," Computer Science Dept., Univ. of Melburne, Tech. Rep. 83/10, Nov. 1983.
[23]
{23} S. Naqvi and S. Tsur, A Logical Language for Data and Knowledge Bases. New York: Computer Science Press, 1989.
[24]
{24} J. M. Nicolas and K. Yazdanian, "An outline of BDGEN: A deductive DBMS," in Information Processing 83, R. E. Mason, Ed. Amsterdam: North-Holland, 1983, pp. 711-717.
[25]
{25} D. M. Ritchie and K. Thompson, "The UNIX time-sharing system," Bell Syst. Tech. J. 57. vol. 6, pp. 1905-1929, July-Aug. 1978.
[26]
{26} A. P. Sheth and A. B. O'Hare, "The architecture of BrAID: A system for efficient AI/DB integration," Bellcore, Tech. Memo. TM-STS-015544, Nov. 1989.
[27]
{27} A. P. Sheth and A. B. O'Hare, "The architecture of BrAID: A system for bridging AI/DB systems," in Proc. 7th Int. Conf. Data Engineering, Kobe, Japan, Apr. 1991.
[28]
{28} M. Stonebraker, "Triggers and inference in data base systems," in Proc. Islamorada Workshop on Large-Scale Knowledge Base and Reasoning Systems. Islamorada, FL, Feb. 1985.
[29]
{29} M. Ubell, "The intelligent database machine (IDM)," in Query Processing in Database Systems, W. Kim, D. Reiner, and D. Batory, Eds. New York: Springer, 1984.
[30]
{30} R. Venken, "A Prolog meta-interpreter for partial evaluation and its applications to source to source transformation and query-optimization," in Proc. ECCAI. T. O'Shea, Ed. Amsterdam: Elsevier, 1984. pp. 91-100.
[31]
{31} M. H. Williams, P. Massey, and J. Crammond, "Benchmarking Prolog for database applications," Heriot-Watt Univ., Edinburgh, Tech. Rep. No. 87/7,1987.

Cited By

View all
  • (2002)Efficient Management of Persistent KnowledgeJournal of Intelligent Information Systems10.1023/A:101552063053919:1(111-134)Online publication date: 1-Jul-2002
  1. The Design, Implementation, and Performance Evaluation of BERMUDA

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image IEEE Transactions on Knowledge and Data Engineering
    IEEE Transactions on Knowledge and Data Engineering  Volume 6, Issue 1
    February 1994
    191 pages

    Publisher

    IEEE Educational Activities Department

    United States

    Publication History

    Published: 01 February 1994

    Author Tags

    1. BERMUDA
    2. Britton-Lee Intelligent Database Machine
    3. IDM-500
    4. PROLOG
    5. Prolog
    6. Prolog program semantics
    7. Unix
    8. architectural issues
    9. costs
    10. deductive database
    11. deductive databases
    12. interface
    13. logic programming
    14. loosely coupled system
    15. multiple concurrent Prolog processes
    16. multiuser benchmarks
    17. performance evaluation
    18. single-user benchmarks
    19. software cost estimation
    20. stand-alone IDM
    21. stand-alone Prolog
    22. system integration
    23. user interfaces

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 18 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2002)Efficient Management of Persistent KnowledgeJournal of Intelligent Information Systems10.1023/A:101552063053919:1(111-134)Online publication date: 1-Jul-2002

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media