Top Banner
Paradigms & Benchmarks Ryan McCune CSE 60641 Final Presentation 11/3/11 Notre Dame Computer Science 1
13

Paradigms & Benchmarks

Feb 22, 2016

Download

Documents

Saman

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 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Paradigms & Benchmarks

Not

re D

ame

Com

pute

r Sci

enceParadigms &

BenchmarksRyan McCuneCSE 60641 Final Presentation

11/3

/11

1

Page 2: Paradigms & Benchmarks

Not

re D

ame

Com

pute

r Sci

ence

Current Environment

11/3

/11

2Performance + Scalability

Page 3: Paradigms & Benchmarks

Not

re D

ame

Com

pute

r Sci

ence

11/3

/11

3

• 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

Threading vs. Events

Page 4: Paradigms & Benchmarks

Not

re D

ame

Com

pute

r Sci

ence

11/3

/11

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

Page 5: Paradigms & Benchmarks

Not

re D

ame

Com

pute

r Sci

ence

Test Bed

• Hardware• 3.06 GHz Intel Core 2 Duo• 2 of 4 GB 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]

11/3

/11

5

Page 6: Paradigms & Benchmarks

Not

re D

ame

Com

pute

r Sci

ence

11/3

/11

6

• 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

Experiments

Page 7: Paradigms & Benchmarks

Not

re D

ame

Com

pute

r Sci

ence

11/3

/11

7

Page 8: Paradigms & Benchmarks

Not

re D

ame

Com

pute

r Sci

ence

11/3

/11

8

Page 9: Paradigms & Benchmarks

Not

re D

ame

Com

pute

r Sci

ence

11/3

/11

9

Page 10: Paradigms & Benchmarks

Not

re D

ame

Com

pute

r Sci

ence

Results

11/3

/11

10

• 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

Page 11: Paradigms & Benchmarks

Not

re D

ame

Com

pute

r Sci

ence

Discussion

11/3

/11

11

• 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

Page 12: Paradigms & Benchmarks

Not

re D

ame

Com

pute

r Sci

ence

Further Work

11/3

/11

12

• Vary & Elaborate Experiments• Benchmark complex application• Database backend

• SEDA Considerations• Simplicity vs. Complexity

Page 13: Paradigms & Benchmarks

Not

re D

ame

Com

pute

r Sci

enceThank You!

11/3

/11

13