Function request shipping in a database machine environment

  • Gary Hallmark
Part of the Lecture Notes in Computer Science book series (LNCS, volume 368)


In ARBRE, a multiprocessor shared nothing database machine, parts of a single transaction must execute at several processing sites. The code fragments which implement the transaction must somehow come to exist at the necessary sites; they must be linked and loaded; and each must be invoked by a coordinator or subordinate transaction thread. We call this mechanism function request shipping, or FRS. The primary concerns in FRS are about the code that implements the function: its language, representation, transport, and execution. We present three alternative mechanisms for code transport and execution: piggyback, callback, and shared disk. The performance of these mechanisms, with and without code caching, was measured on the ARBRE prototype. The results indicate that the method of choice depends on both the cache hit ratio and the size of the code fragments.


Query Optimizer Code Size Code Fragment Code Transport Transaction Management 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AC88a]
    William Alexander and George Copeland. Comparison of dataflow control techniques in distributed data-intensive systems. In Proceedings of the 1988 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, pages 157–166, May 1988.Google Scholar
  2. [AC88b]
    William Alexander and George Copeland. Process and dataflow control in distributed data-intensive systems. In Proceedings, ACM-SIGMOD International Conference on Management of Data, pages 90–98, ACM, June 1988.Google Scholar
  3. [BBKV87]
    F. Bancilhon, T. Briggs, S. Khoshafian, and P. Valduriez. Fad, a powerful and simple database language. In Proceedings of the 13th International Conference on Very Large Data Bases, pages 97–105, Brighton, England, September 1–4 1987.Google Scholar
  4. [BN84]
    A. D. Birrell and B. J. Nelson. Implementing remote procedure calls. ACM Transactions on Computer Systems, 2(1):39–59, February 1984.Google Scholar
  5. [DGG*86]
    David J. DeWitt, Robert H. Gerber, Goetz Graefe, Michael L. Heytens, Krishna B. Kumar, and M. Muralikrishna. Gamma-a high performance dataflow database machine. In Proceedings of the 12th International Conference on Very Large Data Bases, pages 228–237, August 1986.Google Scholar
  6. [Fal87]
    Joseph R. Falcone. A programmable interface language for heterogeneous distributed systems. ACM Transactions on Computer Systems, 5(4):330–351, November 1987.Google Scholar
  7. [HDV88]
    Brian Hart, Scott Danforth, and Patrick Valduriez. Parallelizing a Database Programming Language. Technical Report ACA-ST-257-88, Microelectronics and Computer Technology Corporation, Austin, TX 78759, August 1988.Google Scholar
  8. [HMSC88]
    Roger Haskin, Yoni Malachi, Wayne Sawdon, and Gregory Chan. Recovery management in quicksilver. ACM Transactions on Computer Systems, 6(1):82–108, February 1988.Google Scholar
  9. [IBM]
    IBM Corporation. SQL/Data System General Information. IBM Form No. GH24-5012.Google Scholar
  10. [KV87]
    Setrag Khoshafian and Patrick Valduriez. Parallel execution strategies for declustered databases. In Matsura Kitsuregawa, editor, 5th International Workshop on Database Machines, pages 626–639, Kluwer Academic Publishers, Japan, October 1987.Google Scholar
  11. [LCJS87]
    Barbara Liskov, Dorothy Curtis, Paul Johnson, and Robert Scheifler. Implementation of Argus. In Proceedings of the Eleventh ACM Symposium on Operating Systems Principles, pages 111–122, November 1987.Google Scholar
  12. [LDH*89]
    Raymond Lorie, Jean-Jacques Daudenarde, Gary Hallmark, James Stamos, and Honesty Young. Adding intra-transaction parallelism to an existing dbms: early experience. IEEE Data Engineering Bulletin, 12(1):2–8, March 1989.Google Scholar
  13. [LMP87]
    Bruce Lindsay, John McPherson, and Hamid Pirahesh. A data management extension architecture. In Proceedings, ACM-SIGMOD International Conference on Management of Data, pages 220–226, May 27–29 1987.Google Scholar
  14. [LS83]
    B. Liskov and R. Scheifler. Guardians and actions: linguistic support for robust, distributed programs. ACM Transactions on Programming Languages and Systems, 5(3):381–404, July 1983.Google Scholar
  15. [MLO86]
    C. Mohan, B. Lindsay, and R. Obermarck. Transaction management in the R* distributed database management sysytem. ACM Transactions on Database Systems, 11(4):378–396, December 1986.Google Scholar
  16. [SR86]
    M. Stonebraker and L. Rowe. The design of postgres. In Proceedings, ACM-SIGMOD International Conference on Management of Data, May 1986. Washington, D.C.Google Scholar
  17. [SS86]
    M. Satyanarayanan and Ellen H. Siegal. MultiRPC: A Parallel Remote Procedure Call Mechanism. Technical Report CMU-CS-86-139, Carnegie Mellon University, Department of Computer Science, Pittsburgh, PA, August 1986.Google Scholar
  18. [Sta86]
    James W. Stamos. Remote Evaluation. PhD thesis, Massachusetts Institute of Technology, MIT Laboratory for Computer Science, Cambridge, MA, January 1986. Also available as MIT technical report number MIT-LCS-TR-354.Google Scholar
  19. [Sto86]
    Michael Stonebraker. The case for shared nothing. IEEE Database Engineering Bulletin, 9(1):4–9, March 1986.Google Scholar
  20. [STP*87]
    A. Z. Spector, D. Thomspon, R. F. Pausch, J. L. Eppinger, D. Duchamp, R. Draves, D. S. Daniels, and J. J. Bloch. Camelot: A Distributed Transaction Facility for Mach and the Internet — An Interim Report. Technical Report CMU-CS-87-129, Carnegie Mellon University, June 17 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1989

Authors and Affiliations

  • Gary Hallmark
    • 1
    • 2
  1. 1.IBM Almaden Research CenterSpain
  2. 2.Oracle CorporationBelmont

Personalised recommendations