paradigms & benchmarks

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

Upload: saman

Post on 22-Feb-2016

54 views

Category:

Documents


1 download

DESCRIPTION

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

TRANSCRIPT

Not

re D

ame

Com

pute

r Sci

enceParadigms &

BenchmarksRyan McCuneCSE 60641 Final Presentation

11/3

/11

1

Not

re D

ame

Com

pute

r Sci

ence

Current Environment

11/3

/11

2Performance + Scalability

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

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

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

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

Not

re D

ame

Com

pute

r Sci

ence

11/3

/11

7

Not

re D

ame

Com

pute

r Sci

ence

11/3

/11

8

Not

re D

ame

Com

pute

r Sci

ence

11/3

/11

9

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

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

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

Not

re D

ame

Com

pute

r Sci

enceThank You!

11/3

/11

13