remote procedure calls
play

REMOTE PROCEDURE CALLS Steve Vinoski Basho Technologies, Cambridge, - PowerPoint PPT Presentation

MYTHBUSTING REMOTE PROCEDURE CALLS Steve Vinoski Basho Technologies, Cambridge, MA USA @stevevinoski, vinoski@ieee.org, http://steve.vinoski.net/ Monday, October 1, 12 Remote Procedure Call Monday, October 1, 12 Remote Procedure Call


  1. Distributed Systems BSD socket API Argus, a language/system for reliable distributed apps Xerox Cedar: the seminal Birrell/Nelson paper "Implementing Remote Procedure Calls" Eden, an OO distributed OS based on RPC Monday, October 1, 12

  2. Distributed Systems Monday, October 1, 12

  3. Distributed Systems Emerald, a distributed object language providing object mobility and local/remote transparency Monday, October 1, 12

  4. Distributed Systems Emerald, a distributed object language providing object mobility and local/remote transparency ANSAware, a full-feature RPC-based system for portable distributed apps Monday, October 1, 12

  5. RPC Everywhere Monday, October 1, 12

  6. RPC Everywhere Monday, October 1, 12

  7. RPC Everywhere Distributed systems research focus: full-stack systems Monday, October 1, 12

  8. RPC Everywhere Distributed systems research focus: full-stack systems OS, language, compiler, distribution mechanisms Monday, October 1, 12

  9. RPC Everywhere Distributed systems research focus: full-stack systems OS, language, compiler, distribution mechanisms Most used RPC as a key abstraction Monday, October 1, 12

  10. Focus on Uniformity Monday, October 1, 12

  11. Focus on Uniformity Local/remote transparency, location transparency Monday, October 1, 12

  12. Focus on Uniformity Local/remote transparency, location transparency Single type system across the distributed system Monday, October 1, 12

  13. Focus on Uniformity Local/remote transparency, location transparency Single type system across the distributed system Types checked at compile-time Monday, October 1, 12

  14. Protocols Research systems papers rarely discussed network protocols Closed, proprietary, specialized per system Protocol was just part of "RPC black box" Monday, October 1, 12

  15. Industrial Distributed Systems Monday, October 1, 12

  16. Industrial Distributed Systems Vendors supplied full stacks: hardware, software, network Limited network interoperability between stacks Homogeneous systems Monday, October 1, 12

  17. Research Into Practice Monday, October 1, 12

  18. Research Into Practice Vendors needed to adopt distributed systems research Monday, October 1, 12

  19. Research Into Practice Vendors needed to adopt distributed systems research But didn't want to adopt full research stacks Monday, October 1, 12

  20. Research Into Practice Vendors needed to adopt distributed systems research But didn't want to adopt full research stacks Porting was difficult Monday, October 1, 12

  21. Research Into Practice Vendors needed to adopt distributed systems research But didn't want to adopt full research stacks Porting was difficult Everything had to be compiled to get reasonable performance Monday, October 1, 12

  22. Research Into Practice Vendors needed to adopt distributed systems research But didn't want to adopt full research stacks Porting was difficult Everything had to be compiled to get reasonable performance Little interest in interpreters and virtual machines Monday, October 1, 12

  23. Standards Rapid hardware advances produced a need for software portability and interoperability Users began to have heterogeneous networks, so they wanted portable OS interfaces standard/portable programming languages standard networks and protocols Monday, October 1, 12

  24. Languages Researchers had their own distributed languages Industry wanted standard languages Monday, October 1, 12

  25. Research Into Practice Vendors adopted research ideas But kept their own stacks and used standard languages Monday, October 1, 12

  26. Industrial RPC Systems Apollo's Network Computing System (NCS), an RPC system with an IDL Sun's Open Network Computing (ONC) RPC DEC, IBM, HP also had RPC-based projects Monday, October 1, 12

  27. Internet Influence ARPANET converted to TCP/IP in 1983 Internet services such as email and file transfer continued to improve and gain popularity through the 1980s Industry started adopting TCP/IP in the latter half of the 80s Monday, October 1, 12

  28. RPC History: The 1990s Monday, October 1, 12

  29. Distributed Objects Monday, October 1, 12

  30. Distributed Objects Distributed systems were popping up everywhere OOP was viewed as the way to develop software Vendors all had their own distributed objects projects Monday, October 1, 12

  31. CORBA Industry standard comprising contributions from a variety of vendors Based squarely on 1980s research, focused on distributed objects languages (first C, then C++, others later) local/remote transparency Monday, October 1, 12

  32. Published in 1999 Still earns royalties! :) Monday, October 1, 12

  33. CORBA Industry standard comprising contributions from a variety of vendors Based squarely on 1980s research, focused on distributed objects languages (first C, then C++, others later) local/remote transparency Monday, October 1, 12

  34. A Note on Distributed Computing Monday, October 1, 12

  35. A Note on Distributed Computing Monday, October 1, 12

  36. A Note on Distributed Computing Important 1994 paper by Jim Waldo, Ann Wollrath, Geoff Wyant, Sam Kendall Monday, October 1, 12

  37. A Note on Distributed Computing Important 1994 paper by Jim Waldo, Ann Wollrath, Geoff Wyant, Sam Kendall Explained (again) why distributed objects and local objects were different Monday, October 1, 12

  38. A Note on Distributed Computing Important 1994 paper by Jim Waldo, Ann Wollrath, Geoff Wyant, Sam Kendall Explained (again) why distributed objects and local objects were different latency Monday, October 1, 12

  39. A Note on Distributed Computing Important 1994 paper by Jim Waldo, Ann Wollrath, Geoff Wyant, Sam Kendall Explained (again) why distributed objects and local objects were different latency access models Monday, October 1, 12

  40. A Note on Distributed Computing Important 1994 paper by Jim Waldo, Ann Wollrath, Geoff Wyant, Sam Kendall Explained (again) why distributed objects and local objects were different latency access models partial failure Monday, October 1, 12

  41. A Note on Distributed Computing Important 1994 paper by Jim Waldo, Ann Wollrath, Geoff Wyant, Sam Kendall Explained (again) why distributed objects and local objects were different latency access models partial failure concurrency Monday, October 1, 12

  42. " Communications protocol development has tended to follow two paths. One path has emphasized integration with the current language model . The other path has emphasized solving the problems inherent in distributed computing . Both are necessary, and successful advances in distributed computing synthesize elements from both camps. " —A Note on Distributed Computing Monday, October 1, 12

  43. Fallacies of Distributed Computing The network is reliable There is one administrator Latency is zero Transport cost is zero Bandwidth is infinite The network is The network is secure homogeneous Topology doesn't change FROM HTTP://EN.WIKIPEDIA.ORG/WIKI/FALLACIES_OF_DISTRIBUTED_COMPUTING Monday, October 1, 12

  44. Distributed Java Monday, October 1, 12

  45. Distributed Java Various Java distributed computing projects, too many to cover here But large parts of Java adopted CORBA Later, CORBA adopted ill-conceived "Objects By Value" and "Reverse Java-IDL Mapping" specs to allow Java objects to be passed over the wire Monday, October 1, 12

  46. The Rise of the Web Monday, October 1, 12

  47. The Rise of the Web CORBA and Java focused on the enterprise and later, SOAP Meanwhile, the Web was taking over the world Monday, October 1, 12

  48. Distributed Objects! Monday, October 1, 12

  49. Distributed Objects! The Web is arguably distributed objects too, but: Monday, October 1, 12

  50. Distributed Objects! The Web is arguably distributed objects too, but: fixed set of methods Monday, October 1, 12

  51. Distributed Objects! The Web is arguably distributed objects too, but: fixed set of methods hypermedia coupling Monday, October 1, 12

  52. Distributed Objects! The Web is arguably distributed objects too, but: fixed set of methods hypermedia coupling language independent Monday, October 1, 12

  53. Distributed Objects! The Web is arguably distributed objects too, but: fixed set of methods hypermedia coupling language independent designed specifically for large-scale networks Monday, October 1, 12

Recommend


More recommend