Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/76263.76326acmconferencesArticle/Chapter ViewAbstractPublication PagesscConference Proceedingsconference-collections
Article
Free access

FUTURES: a mechanism for concurrency among objects

Published: 01 August 1989 Publication History

Abstract

A future provides the basic primitive through which a user in an object-oriented distributed system can achieve concurrency. It is based on the notion of being able to translate what appears to be a remote procedure call into a request for computation to be scheduled by the system. The mechanism required to make this translation is discussed. Refinements to the future mechanism allow futures to be passed as arguments to other procedure calls. This provides the user with the added flexibility of implementing synchronization schemes suited to specific needs. Further, it simplifies the process of migrating an object which has outstanding futures at the time of migration.

References

[1]
Bensley, E.H., Brando, T.J., and Prelle, M.J., "An Execution Model for Distributed Object Oriented Computation", OOPSLA '88 Proceedings. October, 1987.
[2]
Chatterjee, A., "Load Balancing in the Experimental System Environment", MCC Technical Report ACA-ESP-073- 89, Feb 1989. (MCC Non-Confidential)
[3]
U.S Department of Defence, "Programming Language Ada: Reference Manual", vol 106, Lecture Notes in Computer Science, Springer-Verlag, NY 1981.
[4]
Feldman, J.A., "High Level Programming for Distributed Computing", Cerumen. ACM22, 6, June 1979.
[5]
Goldberg, A, and Robson, D., Smalltalk-80: The Language and its Implementation, Reading, MA: Addison-Wesley, 1985.
[6]
Halstead, R., "Multilisp: A language for concurrent symbolic computation", ACM Transactions on Programming Languages and Systems 4, 4, October, 1985.
[7]
Hoare, C.A.R., "Communicating Sequential Processes", Commun ACM, 21, 8, Aug 1978.
[8]
Khanna, A., "The Use of Public Service Objects to Extend the ES-Kit Kernel", Prec. Fourth Conf. Hyporcubes, Concurrent Computers and Applications. Monterey, CA, March 1989.
[9]
Liskov, B., and Shrira, L., "Promises: Linguistic Support for Efficient Asynchronous Procedure Calls in Distributed Systems", Prec. SIGPLAN'88 Conf. on Programming Language Design and Implementation. June, 1988.
[10]
Porter, C., and Leddy, W.J., "C-H- in the ES-Kit Environment", Prec. Fourth Conf. Hypercubes, Concurrent Computers and Applications. Monterey, CA, March 1989.
[11]
Ritchie, D.M., and Thompson, K., "The UNIX Timesharing System", Commun ACM 17, 7, July 1974.
[12]
Smith, K.S., "Sets of Futures: Implementation, Syntax and Semantics", ES-Kit Technical Memo #66, July 1988. (MCC Non-Confidential)
[13]
Smith, R.J., "Experimental Systems Kit Hardware", Prec. Fourth Conf. Hypercubes, Concurrent Computers and Applications. Monterey, CA, March 1989.
[14]
Stroustrup, Bjame., The C++ Programming Language, AT&T Bell Laboratories, Addison-Wesley Publishing Company, July 1987.
[15]
Tiemann, M., User's Guide to GNU C++, March 2, 1989.
[16]
Tiemann, M., "Solving the RPC problem in GNU C-H-", MCC Technical Report A CA-ESP-285-88, October,1988. (MCC Non-Confidential)
[17]
van Wijngaarden, A., Mailloux, B.J, Peck, J.L., Koster, C.H.C, S intzoff, M., Lindsey, C.H., Meertens, L.G.L.T., Fisker, R.G., "Revised report on the Algorithm Language AL- GOL 68", Acta Inform. 5, 1-3 1975.

Cited By

View all
  • (2022)Veracity: declarative multicore programming with commutativityProceedings of the ACM on Programming Languages10.1145/35633496:OOPSLA2(1726-1756)Online publication date: 31-Oct-2022
  • (2015)EdgeReduceProceedings of the Second ACM International Conference on Mobile Software Engineering and Systems10.5555/2825041.2825056(72-82)Online publication date: 16-May-2015
  • (2015)Edge Reduce: Eliminating Mobile Network Traffic Using Application-Specific Edge Proxies2015 2nd ACM International Conference on Mobile Software Engineering and Systems10.1109/MobileSoft.2015.19(72-82)Online publication date: May-2015
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
Supercomputing '89: Proceedings of the 1989 ACM/IEEE conference on Supercomputing
August 1989
849 pages
ISBN:0897913418
DOI:10.1145/76263
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

  • Los Alamos National Labs: Los Alamos National Labs
  • NASA: National Aeronatics and Space Administration
  • Argonne Natl Lab: Argonne National Lab

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 August 1989

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

SC '89
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,516 of 6,373 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)40
  • Downloads (Last 6 weeks)11
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Veracity: declarative multicore programming with commutativityProceedings of the ACM on Programming Languages10.1145/35633496:OOPSLA2(1726-1756)Online publication date: 31-Oct-2022
  • (2015)EdgeReduceProceedings of the Second ACM International Conference on Mobile Software Engineering and Systems10.5555/2825041.2825056(72-82)Online publication date: 16-May-2015
  • (2015)Edge Reduce: Eliminating Mobile Network Traffic Using Application-Specific Edge Proxies2015 2nd ACM International Conference on Mobile Software Engineering and Systems10.1109/MobileSoft.2015.19(72-82)Online publication date: May-2015
  • (2008)An enhancement of futures runtime in presence of cache memory hierarchyITI 2008 - 30th International Conference on Information Technology Interfaces10.1109/ITI.2008.4588535(925-930)Online publication date: Jun-2008
  • (2007)Futures and the lazy task creation for .NET2007 15th International Conference on Software, Telecommunications and Computer Networks10.1109/SOFTCOM.2007.4446106(1-5)Online publication date: Sep-2007
  • (2006)Handling multiple concurrent exceptions in c++ using futuresAdvanced Topics in Exception Handling Techniques10.5555/2124243.2124249(62-80)Online publication date: 1-Jun-2006
  • (2006)Handling Multiple Concurrent Exceptions in C++ Using FuturesAdvanced Topics in Exception Handling Techniques10.1007/11818502_4(62-80)Online publication date: 2006
  • (2006)ES‐Kit: An object‐oriented distributed systemConcurrency: Practice and Experience10.1002/cpe.43300306043:6(525-539)Online publication date: 24-Oct-2006
  • (1995)Boundary analysis in the instructional footprint modelProceedings of the 1995 ACM 23rd annual conference on Computer science10.1145/259526.259538(56-65)Online publication date: 27-Feb-1995
  • (1993)Konzepte der ParallelarbeitRechnerarchitektur10.1007/978-3-642-58054-3_5(143-186)Online publication date: 1993
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media