1 / 13

Paradigms & Benchmarks

Paradigms & Benchmarks. Ryan McCune CSE 60641 Final Presentation. Current Environment. Performance + Scalability. Threading vs. Events. Thread / Message-Passing Duality Threads Good Intuitive Abstraction Fundamental concurrency Bad Threading hard Always complex SEDA Events Good

saman
Download Presentation

Paradigms & 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