1 / 13

Event-Driven Architectures: Paradigms and Benchmarks

Explore the performance and scalability of event-driven architectures versus threading in the current computing environment. The presentation delves into the duality of threads and events, showcasing the benefits and challenges of each paradigm. The study includes experiments conducted on a test bed setup and discusses the results, highlighting the superiority of event handling for concurrent requests. The presentation concludes with a discussion on the future potential of evented architecture in software engineering. Further work involves expanding experiments and considering database backends and SEDA complexities.

saman
Download Presentation

Event-Driven Architectures: Paradigms and Benchmarks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Paradigms & Benchmarks Notre Dame Computer Science Ryan McCune CSE 60641 Final Presentation

  2. Current Environment Notre Dame Computer Science Performance + Scalability

  3. Threading vs. Events • Thread / Message-Passing Duality • Threads • Good • Intuitive Abstraction • Fundamental concurrency • Bad • Threading hard • Always complex • SEDA • Events • Good • Non-blocking • Minimal overhead • Bad • Functional Programming less intutive • Scheduling Notre Dame Computer Science

  4. Created by Ryan Dahl of Joynet in 2009 • Event-driven server-side Javascript • Asynchronous, non-blocking • V8 JS Engine • Model well-suited for current challenges • Reactor Design Pattern • Service-oriented architecture Notre Dame Computer Science

  5. Test Bed • Hardware • 3.06 GHz Intel Core 2 Duo • 2 of 4GB RAM • Software • VMWare Fusion 4.1.1 • Ubuntu Linux 11.10 • Node 0.4.12 • EventMachine 0.12.10 • Apache 2.2.20 [No PHP] Notre Dame Computer Science

  6. Experiments • Apache Benchmark utility • Variable Total and Concurrent Requests • Total [10^3, 10^4, 10^5, 10^6] • Concurrent [10^2, 500, 10^3, 5000, 10^4] • More interested in concurrency • Range determined experimentally • VM Okay • Run for 1 and 2 cores Notre Dame Computer Science

  7. Notre Dame Computer Science

  8. Notre Dame Computer Science

  9. Notre Dame Computer Science

  10. Results • Events Win? • Like Duality + Events/Threads research, must consider system needs • What system was modeled? • Events handled far more concurrent requests • Node >> EventMachine • Blocking libraries in Ruby • Inconsistent • More cores did not help Apache serve more requests Notre Dame Computer Science

  11. Discussion • Evented Architecture may be model of the future • Cloud • Realtime apps • Fewer resources • Increasing connectivity • Web app paradigms • Node is exceptional • Fully evented bottom-up • JavaScript V8 • Software Engineering • Community • Coffeetalk • Client v Browser Notre Dame Computer Science

  12. Further Work • Vary & Elaborate Experiments • Benchmark complex application • Database backend • SEDA Considerations • Simplicity vs. Complexity Notre Dame Computer Science

  13. Thank You! Notre Dame Computer Science

More Related