World Scientific
  • Search
Skip main navigation

Cookies Notification

We use cookies on this site to enhance your user experience. By continuing to browse the site, you consent to the use of our cookies. Learn More
×
Our website is made possible by displaying certain online content using javascript.
In order to view the full content, please disable your ad blocker or whitelist our website www.worldscientific.com.

System Upgrade on Tue, Oct 25th, 2022 at 2am (EDT)

Existing users will be able to log into the site and access content. However, E-commerce and registration of new users may not be available for up to 12 hours.
For online purchase, please visit us again. Contact us at [email protected] for any enquiries.
Special Issue on High-Level Parallel Programming and ApplicationsNo Access

INTEGRATING REMOTE INVOCATIONS WITH ASYNCHRONISM AND COOPERATIVE MULTITASKING

    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

    • A. Birrell and B. Nelson, ACM Trans, on Computer Systems 2(1), 39 (1984), DOI: 10.1145/2080.357392. Crossref, ISIGoogle 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
    • C. Ururahy, N. Rodriguez and R. Ierusalimschy, Computer Languages 28(2), 155 (2002). Google Scholar
    • M. A. Leal, N. Rodriguez and R. Ierusalimschy, Journal of Universal Computer Science 9(8), 730 (2003). ISIGoogle Scholar
    • N. Carriero and D. Gelernter, ACM Computing Surveys 21(3), 323 (1989), DOI: 10.1145/72551.72553. Crossref, ISIGoogle 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 Scholar
    • K. 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 Scholar
    • A. 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 et al. , Simula Begin , Petrocelli Charter ( 1975 ) . Google Scholar
    • A. L. de Moura, N. Rodriguez and R. Ierusalimschy, Journal of Universal Computer Science 10(7), 910 (2004). ISIGoogle 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. Adyaet al., Cooperative task management without manual stack management, USENIX Annual Technical Conference (2002) pp. 289–302. Google Scholar
    • S. E. Ganz, D. P. Friedman and M. Wand, Trampolined style, Intl Conf. on Functional Programming (1999) pp. 18–27. Google Scholar
    • M. 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 Scholar
    • M. 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 Scholar
    • M. 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
    • D. Caromel, Comm. of the ACM 36(9), 90 (1993), DOI: 10.1145/162685.162711. Crossref, ISIGoogle Scholar