INTEGRATING REMOTE INVOCATIONS WITH ASYNCHRONISM AND COOPERATIVE MULTITASKING
Abstract
In this paper we argue that it is possible to couple the advantages of programming with the well-known abstraction of RPC with asynchronous programming models adequate for wide-area programming environments such as grids. We discuss how some programming language features can help create different programming abstractions over a basic asynchronous invocation primitive. The paper also discusses how coroutines (cooperative multitasking) can be used to allow computation to proceed while a client is waiting for the result of a remote invocation, avoiding the pitfalls of programming with threads.
References
- ACM Trans, on Computer Systems 2(1), 39 (1984), DOI: 10.1145/2080.357392. Crossref, ISI, Google Scholar
- Sun Microsystems. RPC: Remote procedure call protocol specification, 1988 . Google Scholar
- The common object request broker: Architecture and specification, 1999. OMG document/99-10-07, v2.3.1 . Google Scholar
-
W. Edwards , Core JINI ( Prentice-Hall , 1999 ) . Google Scholar -
R. Ierusalimschy , Programming in Lua , 2nd edn. ( 2006 ) . Google Scholar - Computer Languages 28(2), 155 (2002). Google Scholar
- Journal of Universal Computer Science 9(8), 730 (2003). ISI, Google Scholar
- ACM Computing Surveys 21(3), 323 (1989), DOI: 10.1145/72551.72553. Crossref, ISI, Google Scholar
G. P. Picco , A. Murphy and G. Roman , LIME: Linda meets mobility, 21st Intl Conf. on Software Engineering (ICSE'99) (1999) pp. 368–377. Google Scholar-
C. Pok , G. Roman and G. Hackmann , A lightweight coordination middleware for mobile computing , 6th Intl Conf. on Coordination Models and Languages (COORD '04) ( Pisa , 2004 ) . Google Scholar A. Tanenbaum and R. van Renesse , A critique of the remote procedure call paradigm, EUTECO'88 Conf (Participants Edition, 1988) pp. 775–783. Google ScholarK. Birman and R. van Renessee (eds.), Reliable Distributed Computing with, the Isis Toolkit,chapter RPC considered inadequate (IEEE Computer Society Press, 1994) pp. 68–78. Google Scholar-
U. Saif and D. Greaves , Communication primitives for ubiquitous systems or RPC considered harmful , Workshop on Smart Appliances and Wearable Computing (in conj, with ICDCS'01) ( 2001 ) . Google Scholar H. Lieberman , Object-Oriented Concurrent Programming,chapter Concurrent Object-Oriented Programming in Act 1 (The MIT Press, 1987) pp. 9–36. Google ScholarA. Yonezawa , J. P. Briot and E. Shibayama , Object-oriented concurrent programming in ABCL/1, SIGPLAN Notices (OOPSLA'86 Proceedings)21 (1986) pp. 258–268. Google Scholar- E. Toernig. C Coroutines(coro library), 2000. www.goron.de/~froese/coro/coro. html . Google Scholar
-
G. Birtwistle , Simula Begin ,Petrocelli Charter ( 1975 ) . Google Scholar - Journal of Universal Computer Science 10(7), 910 (2004). ISI, Google Scholar
-
R. von Behren , J. Condit and E. Brewer , Why events are a bad idea (for highconcurrency servers) , 9th Workshop on Hot Topics in Operating Systems (HotOS IX) ,Usenix ( 2003 ) . Google Scholar - N. Schemenauer, T. Peters, and M. Hetland. PEP 255 Simple Generators, 2001. www.python.org/peps/pep-0255.html . Google Scholar
- D. Conway. RFC 31: Subroutines: Co-routines, 2000. dev.perl.org/perl6/rfc/31.html . Google Scholar
- D. Nehab. Luasocket: Networking support for lua, 2004. luaforge.net/projects/luasocket/ . Google Scholar
A. Adya , Cooperative task management without manual stack management, USENIX Annual Technical Conference (2002) pp. 289–302. Google ScholarS. E. Ganz , D. P. Friedman and M. Wand , Trampolined style, Intl Conf. on Functional Programming (1999) pp. 18–27. Google ScholarM. Welsh , D. Culler and E. Brewer , Seda: an architecture for well-conditioned, scalable internet services, 18th Symp. on Operating Systems Princ. (SOSP-18) (ACM, 2001) pp. 230–243. Google ScholarM. Serrano , F. Boussinot and B. Serpette , Scheme fair threads, 6th ACMSIGPLAN Intl Conf. on Princ. and Practice of Declarative Programming (ACM, 2004) pp. 203–214. Google ScholarM. Alt and S. Gorlatch , Future-based RMI: optimizing compositions of remote method calls on the grid, Euro-Par 20032790,Lecture Notes in Computer Science (2003) pp. 682–693. Google Scholar- Comm. of the ACM 36(9), 90 (1993), DOI: 10.1145/162685.162711. Crossref, ISI, Google Scholar


