SEDA: An Architecture for Robust, Well-Conditioned Internet Services

Size: px
Start display at page:

Download "SEDA: An Architecture for Robust, Well-Conditioned Internet Services"

Transcription

1 SEDA: An Architecture for Robust, Well-Conditioned Internet Services Matt Welsh UC Berkeley Computer Science Division 1

2 Motivation - Internet Services Today Massive concurrency demands Yahoo: 1.2 billion+ pageviews/day AOL web caches: 10 billion hits/day Load spikes are inevitable - the Slashdot Effect Traffic on September 11, 2001 overloaded many news sites Denial of service attacks increasingly common Peak load is orders of magnitude greater than average In this regime, overprovisioning is infeasible Load spikes occur exactly when the service is most valuable! Increasingly dynamic and complex Not just static web pages anymore: e-commerce, stock trading, driving directions, etc. New application domains, e.g. Web services Service logic evolves rapidly Matt Welsh, UC Berkeley 2

3 Massive Overload is Sudden and Unpredictable September 11 - unprecedented web traffic CNN: 20x over expected peak - 30,000+ hits/sec Grew server farm by 5x by scrounging machines, but still no service for 2.5 hours USGS site load after M7.1 earthquake 3 orders of magnitude increase in 10 minutes, disk log filled up 80 USGS Web server load Hits per second :00 03:00 06:00 09:00 12:00 15:00 18:00 21:00 00:00 Time Matt Welsh, UC Berkeley 3

4 Service building is a black art Supporting massive concurrency is hard Threads/processes designed for timesharing and don t scale High overheads and memory footprint Existing systems do not provide graceful management of load Standard OSs strive for maximum resource transparency Static resource containment is inflexible How to set apriori resource limits for widely fluctuating loads? Load management demands a feedback loop Dynamics of services exaggerate these problems Much work on performance/robustness for specific services e.g., Fast, event-driven Web servers As services become more dynamic, this engineering burden is excessive Services increasingly hosted on general-purpose facilities Matt Welsh, UC Berkeley 4

5 Proposal: The Staged Event-Driven Architecture SEDA: A new architecture for Internet services A general-purpose framework for high concurrency and load conditioning Decomposes applications into stages separated by queues Adopt a structured approach to event-driven concurrency Overload management is explicit in the programming model Event queues expose request streams to the application Perform load conditioning by filtering or prioritizing queues Dynamic control for self-tuning resource management System observes application performance and tunes runtime parameters Apply control for graceful degradation Perform load shedding or degrade service under overload Simplify task of building highly-concurrent services Decouple load management from service complexity Use of stages supports modularity, code reuse, debugging Dynamic control shields apps from complexity of resource management Matt Welsh, UC Berkeley 5

6 Outline Problems with Threads and Event-Driven Concurrency The Staged Event-Driven Architecture SEDA Implementation Application Study: High-Performance HTTP Server Using Control for Overload Prevention Future Work and Conclusions Matt Welsh, UC Berkeley 6

7 Classic model: One thread per task Threads are designed for timesharing High resource usage, context switch overhead, contended locks Too many threads throughput meltdown, response time explosion How to determine the right number of threads? Regardless of performance, threads are fundamentally the wrong interface Throughput, tasks/sec Throughput Latency Linear (ideal) latency Latency, msec Number of threads Matt Welsh, UC Berkeley 7

8 Event-driven Concurrency Multiplex many requests (FSMs) over small number of threads Ideal performance: Flat throughput, linear response time penalty Many examples: Click router, Flash web server, TP Monitors, etc. Difficult to engineer, modularize, and tune Typically very brittle: application-specific event scheduling FSM code can never block (but page faults, garbage collection force a block) Throughput Throughput, tasks/sec Number of tasks in pipeline Matt Welsh, UC Berkeley 8

9 Staged Event-Driven Architecture (SEDA) file data accept connection read packet connection packet parse packet HTTP request check cache cache hit cache miss handle miss send response I/O request packet file I/O write packet Decompose service into stages separated by queues Each stage performs a subset of request processing Stages use light-weight event-driven concurrency internally Nonblocking I/O interfaces are essential Queues make load management explicit Stages contain a thread pool to drive execution Small number of threads per stage Dynamic control grows/shrinks thread pools with demand Event Handler Thread Pool Dynamic Resource Control Applications implement simple event handler interface Apps don t allocate, schedule, or manage threads Matt Welsh, UC Berkeley 9

10 Queues for Control and Composition Queues subject to admission control policy Manage load by controlling queueing at each stage e.g., Thresholding, rate control, credit-based flow control Enqueue failure is an overload signal? Reject Accept Block on full queue backpressure Drop rejected events load shedding Can also degrade service, redirect request, etc. Queues introduce explicit execution boundary Threads may only execute within a single stage Performance isolation, modularity, independent load management Explicit event delivery supports inspection Trace flow of events through application Monitor queue lengths to detect bottleneck Profile Matt Welsh, UC Berkeley 10

11 SEDA Thread Pool Controller 200 Event Handler Input queue length Observe Length Thread Pool Adjust Size > Observe Throughput Threshold 40 0 Thread pool size Time (1 sec intervals) Goal: Determine ideal degree of concurrency for a stage Dynamically adjust number of threads allocated to each stage Avoid wasting threads when unneeded Controller operation Observes input queue length, adds threads if over threshold Idle threads removed from pool Drop in stage throughput indicates max thread pool size Matt Welsh, UC Berkeley 11

12 SEDA Batching Controller Event Handler Other Stages Stage output rate 0 Thread Pool Adjust Batching > Factor Running Avg Observe Rate Time (100 ms intervals) Batching factor Goal: Schedule for low response time and high throughput Batching factor: number of events consumed by each thread Large batching factor more locality, higher throughput Small batching factor more parallelism, lower response time Attempt to find smallest batching factor with stable throughput Reduces batching factor when throughput high, increases when low Matt Welsh, UC Berkeley 12

13 SEDA Prototype: Sandstorm application stage application stage application stage application stage asynchronous sockets HTTP protocol Gnutella protocol timer SSL/TLS protocol asynchronous file I/O Profiler System Manager NBIO Java Virtual Machine JAIO Operating System Implemented in Java with nonblocking I/O interfaces Scalable network performance up to 10,000 clients per node Influenced design of JDK 1.4 java.nio APIs Java viable as service construction language Built-in threading, automatic memory management, cross-platform Java-based SEDA Web server outperforms Apache and Flash Matt Welsh, UC Berkeley 13

14 Outline Problems with Threads and Event-Driven Concurrency The Staged Event-Driven Architecture SEDA Implementation Application Study: High-Performance HTTP Server Using Control for Overload Prevention Future Work and Conclusions Matt Welsh, UC Berkeley 14

15 Haboob: A SEDA-Based Web Server file data accept connection read packet connection packet parse packet HTTP request check cache cache hit cache miss handle miss send response I/O request packet file I/O write packet SEDA-based HTTP server for static and dynamic pages Memory page cache (sized at 200 MB to force disk I/O) Dynamic page generation with new Python-based scripting language Database access, asynchronous SSL/TLS library Measured static file load from SpecWEB99 benchmark 1 to 1024 clients making repeated requests, think time 20ms Total fileset size is 3.31 GB ; page sizes from 102 Bytes to 940 KB Comparison with Apache and Flash Apache: Process-based concurrency, 150 processes Flash (Vivek Pai, Princeton): Event-driven w/ 4 processes Apache accepts only 150 connections, Flash only 506 Matt Welsh, UC Berkeley 15

16 SEDA Scales Well with Increasing Load Throughput, MBit/sec Apache Flash SEDA Throughput Number of clients 4-way Pentium III 500 MHz, Gigabit Ethernet, 2 GB RAM, Linux , IBM JDK 1.3 SEDA throughput 10% higher than Apache and Flash (which are in C!) But higher efficiency was not really the goal! Apache accepts only 150 clients at once - no overload despite thread model But as we will see, this penalizes many clients Matt Welsh, UC Berkeley 16

17 Max Response Time vs. Apache and Flash Max response time, seconds Apache Flash SEDA Number of clients SEDA yields stable, predictable performance Apache and Flash are very unfair when overloaded 1.7 minutes 37 sec 3.8 sec Long response times due to exponential backoff in TCP SYN retransmit Not accepting connections is the wrong approach to overload management Matt Welsh, UC Berkeley 17

18 Can t we just fix Apache? Real problem with Apache: Uses TCP protocol as a request queue Unfortunately, incurs a terrible response time penalty How to fix Apache? Add a couple of threads to rapidly accept and read requests Internally queue requests to avoid TCP backoff But that s not all! Replace static process limit with dynamic control Isolate potential bottlenecks to avoid overload You get the idea... accept connection read packet Apache Thread Pool Tune Process Limit CGI script SSL processing long disk I/O Matt Welsh, UC Berkeley 18

19 Outline Problems with Threads and Event-Driven Concurrency The Staged Event-Driven Architecture SEDA Implementation Application Study: High-Performance HTTP Server Using Control for Overload Prevention Future Work and Conclusions Matt Welsh, UC Berkeley 19

20 Alternatives for Overload Control Fundamentally: Apply admission control to each stage Expensive stages throttled more aggressively Degrade service (e.g., reduce image quality or service complexity) Redirect request to another server (e.g., HTTP redirect) Can couple with front-end load balancing across server farm Reject request (e.g., Error message or Please wait... ) Social engineering possible: fake or confusing error message Deliver differentiated service Give some users better service; don t reject users with a full shopping cart! Matt Welsh, UC Berkeley 20

21 Dynamic Control for Overload Prevention Token Bucket λ Stage Response Times Controller RT Target Adaptive admission control at each stage Target metric: Bound 90th percentile response time Measure stage latency, throttle incoming event rate Distribution Additive-increase/Multiplicative-decrease controller design Slight overshoot in input rate can lead to large response time spikes! Clamp down quickly on input rate when over target Increase incoming rate slowly when below target Matt Welsh, UC Berkeley 21

22 Arashi: A Web-based service Yahoo Mail clone - real world service Dynamic page generation, SSL New Python-based Web scripting language Mail stored in back-end MySQL database Realistic client load generator Traces taken from departmental IMAP server Markov chain model of user behavior Overload control applied to each request type separately: admission control list folders accept connection read packet parse packet degrade service, send error page, etc. show message... delete/refile message database access send response (some stages not shown) Matt Welsh, UC Berkeley 22

23 Overload prevention during massive load spike th percentile response time (sec) Load spike (1000 users) Time (5 sec intervals) No overload control With overload control Reject rate Load spike ends Sudden load spike of 1000 users hitting Arashi service 7 request types, handled by separate stages with overload controller 90th percentile response time target: 1 second Rejected requests cause clients to pause for 5 sec Overload controller has no knowledge of the service! Reject rate Matt Welsh, UC Berkeley 23

24 Structured Event Queues Related Work Many examples: Click modular router, Scout OS, Work Crews, TSS/360, etc. Often concerned with optimizing fast path, less general processing within stages StagedServer [Microsoft]: Explored use of batching for cache locality only We focus on network-of-queues for robustness to huge variations in load Overload prevention techniques in Internet services Dynamic listen queue thresholding [Voigt, Cherkasova, Kant] Specialized scheduling techniques [Crovella, Harchol-Balter] Class-based service differentiation [Bhoj, Voigt, Reumann] SEDA generalizes on these techniques by introducing them to the service programming model, not as generic OS functions Control-theoretic approaches to resource management PID control of Internet service parameters [Diao, Hellerstein] Feedback-driven scheduling [Stankovic, Abdelzaher, Steere] This work complements our approach to system design Often limited by linear models - fail to capture full complexity of real system Matt Welsh, UC Berkeley 24

25 SEDA Impact and Retrospectives Adoption by other systems at Berkeley and elsewhere Ninja vspace: Cluster-based SEDA for scalable servers Replicate stages on a cluster for scalablilty and fault tolerance OceanStore (global, secure, archival filesystem) based on SEDA TerraLycos chat server, LimeWire Gnutella servers, SwiftMQ system, etc... SEDA requires a fundamental shift in thinking Programming model is no longer single request in isolation Rather, processing many requests at each stage Overload exposed to applications through queue rejections Open questions and future work Explore impact of SEDA on OS design Rejecting requests which have accumulated state? Need rollback mechanism backwards along event path Applying control theory to SEDA resource management Internet services are highly nonlinear, difficult to apply classic control theory Matt Welsh, UC Berkeley 25

26 Summary Support for massive load requires new design techniques SEDA introduces service design as a network of stages Architecture for services that are robust to huge variations in load Combines efficiency of event-driven concurrency with programmability of threads Observation and control as key to service design Expose request streams and overload to applications Dynamic control to keep stages within operating regime Decouple load management from service complexity Bring body of work on control theory to bear on Internet services Opens up interesting new directions for Internet service design What would a native SEDA operating system look like? Language and tool support for event-driven computing For more information, software, and papers: Matt Welsh, UC Berkeley 26

27 Backup Slides Follow Matt Welsh, UC Berkeley 27

28 But isn t it difficult to program in this way? Some learning curve for SEDA, but mitigated by design: Easier to manage event-driven concurrency within each stage Queues help with debugging, modularity, and performance isolation Also, stages can block (for difficult code or lazy programmers) Much better than monolithic, event-driven spaghetti-code designs Decomposition into stages helps greatly! Each stage is a self-contained, well-conditioned module Stage communication via message protocol, not API Some drawbacks: Shared state across stages still requires synchronization Funny concurrency issues, e.g., inter-event dependencies and serialization Matt Welsh, UC Berkeley 28

29 Future Directions Explore impact of SEDA on OS design Rethinking the role of resource virtualization Strive for robustness/stability rather than mere speed Scheduling, I/O, VM, programming model all affected Adaptivity and control as the basis for robust, large-scale systems Feedback as first-order systems construction primitive Interesting ties with control theory, performance modeling, machine learning Further development of formal techniques needed to apply to real systems Longer term: Resilient, massively scalable computing platforms Macrocomputing - computing across many unreliable devices e.g., Wireless sensor networks with s of nodes Language-based approach to robust computing under uncertainty Matt Welsh, UC Berkeley 29

30 High-performance Web servers Related Work Many systems realizing the benefit of event-driven design [Flash, Harvest, Squid, JAWS,...] Specific applications - no general-purpose framework Little work on load conditioning, event scheduling StagedServer (Microsoft Research) Core design similar to SEDA Primarily concerned with cache locality Wavefront thread scheduler: last in, first out Click Modular Router, Scout OS, Utah Janos Various systems making use of structured event queues Packet processing decomposed as stages Threads call through multiple stages Major goal is latency reduction Matt Welsh, UC Berkeley 30

31 Resource Containers [Banga] Related Work 2 Similar to Scout path and Janos flow Vertical resource management for data flows SEDA applies resource management at per-stage level Scalable I/O and Event Delivery [ASHs, IO-Lite, fbufs, /dev/poll, FreeBSD kqueue, NT completion ports] Structure I/O system to scale with number of clients We build on this work Large body of work on scheduling Interesting thread/event/task scheduling results e.g., Use of SRPT and SCF scheduling in Web servers [Crovella, Harchol-Balter] Alternate performance metrics [Bender] We plan to investigate their use within SEDA Matt Welsh, UC Berkeley 31

32 Apache and Flash Architectures Apache Classic thread/process per task model Maintains fixed-size pool of 150 processes Only accepts 150 processes at a time; others queue in network Leads to extreme unfairness due to exponential TCP backoff Lucky clients serviced quickly Unlucky clients must go out to lunch Flash [V. Pai et al., USENIX 1999] Canonical example of event-driven server design Single thread processes all concurrent requests Lots of optimizations Sub-processes used to perform disk I/O, DNS lookup Limited to 506 simultaneous connections due to fd limits Original USENIX paper only measured up to this point Matt Welsh, UC Berkeley 32

33 Response Time Distribution - 64 Clients SEDA Flash Apache 0.8 Prob [response time <= x] Response time, msec Note log scale SEDA Flash Apache Mean RT 15 ms 18 ms 16 ms Max RT 1.8 sec 12 sec 2.2 sec All servers about the same, Apache a little faster Matt Welsh, UC Berkeley 33

34 Response Time Distribution Clients Prob [response time <= x] Apache (150 conns) Flash (506 conns) SEDA (1024 conns) Long tail in Apache & Flash due to TCP SYN backoff Response time, msec Note log scale SEDA Flash Apache Mean RT 547 ms 665 ms 475 ms Max RT 3.8 sec 37 sec 1.7 minutes Apache accepts only 150 connections: less resource contention But very unfair treatment of clients Matt Welsh, UC Berkeley 34

35 Response time CDF by request type Prob [response time <= x] showmsg login refile deletemsg list folderlist search Response time, msec CDF of response time, 128 clients Most request types meet performance target Search is particularly bad - but not very common Aggressiveness of controller proportional to request frequency Matt Welsh, UC Berkeley 35

36 Overload prevention under increasing load th percentile RT, seconds Response time target No admission control With admission control Fraction of accepted requests Number of clients 90th %-tile response time target set to 1 second Controller keeps response time below target with increased load Greater proportion of expensive requests rejected System admin can tune response time vs. rejected load tradeoff Matt Welsh, UC Berkeley 36

37 Controller-based Overload Prevention Performance target 90th percentile RT = 1 sec Prob [response time <= x] With overload control No overload control Response time, msec 1024 clients under overload Adaptive load-shedding controller attempts to meet performance target Dynamically adjust queue thresholds to maintain low response time Goal: 90th percentile response time of 1 sec In this run, 49% of requests rejected from server Matt Welsh, UC Berkeley 37

Adaptive Overload Control for Busy Internet Servers

Adaptive Overload Control for Busy Internet Servers Adaptive Overload Control for Busy Internet Servers Matt Welsh Intel Research and Harvard University David Culler Intel Research and U.C. Berkeley 1 The Problem: Overload in the Internet Overload is an

More information

SEDA: An Architecture for Well-Conditioned, Scalable Internet Services

SEDA: An Architecture for Well-Conditioned, Scalable Internet Services SEDA: An Architecture for Well-Conditioned, Scalable Internet Services Matt Welsh, David Culler, and Eric Brewer Computer Science Division University of California, Berkeley {mdw,culler,brewer}@cs.berkeley.edu

More information

Adaptive Overload Control for Busy Internet Servers

Adaptive Overload Control for Busy Internet Servers Adaptive Overload Control for Busy Internet Servers Matt Welsh and David Culler Intel Research, Berkeley and University of California, Berkeley {mdw,culler}@cs.berkeley.edu Abstract As Internet services

More information

MAGENTO HOSTING Progressive Server Performance Improvements

MAGENTO HOSTING Progressive Server Performance Improvements MAGENTO HOSTING Progressive Server Performance Improvements Simple Helix, LLC 4092 Memorial Parkway Ste 202 Huntsville, AL 35802 [email protected] 1.866.963.0424 www.simplehelix.com 2 Table of Contents

More information

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM? MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM? Ashutosh Shinde Performance Architect [email protected] Validating if the workload generated by the load generating tools is applied

More information

Web Server Architectures

Web Server Architectures Web Server Architectures CS 4244: Internet Programming Dr. Eli Tilevich Based on Flash: An Efficient and Portable Web Server, Vivek S. Pai, Peter Druschel, and Willy Zwaenepoel, 1999 Annual Usenix Technical

More information

Cloud Based Application Architectures using Smart Computing

Cloud Based Application Architectures using Smart Computing Cloud Based Application Architectures using Smart Computing How to Use this Guide Joyent Smart Technology represents a sophisticated evolution in cloud computing infrastructure. Most cloud computing products

More information

Exploiting Remote Memory Operations to Design Efficient Reconfiguration for Shared Data-Centers over InfiniBand

Exploiting Remote Memory Operations to Design Efficient Reconfiguration for Shared Data-Centers over InfiniBand Exploiting Remote Memory Operations to Design Efficient Reconfiguration for Shared Data-Centers over InfiniBand P. Balaji, K. Vaidyanathan, S. Narravula, K. Savitha, H. W. Jin D. K. Panda Network Based

More information

PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design

PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions Slide 1 Outline Principles for performance oriented design Performance testing Performance tuning General

More information

One Server Per City: C Using TCP for Very Large SIP Servers. Kumiko Ono Henning Schulzrinne {kumiko, hgs}@cs.columbia.edu

One Server Per City: C Using TCP for Very Large SIP Servers. Kumiko Ono Henning Schulzrinne {kumiko, hgs}@cs.columbia.edu One Server Per City: C Using TCP for Very Large SIP Servers Kumiko Ono Henning Schulzrinne {kumiko, hgs}@cs.columbia.edu Goal Answer the following question: How does using TCP affect the scalability and

More information

Application Performance Testing Basics

Application Performance Testing Basics Application Performance Testing Basics ABSTRACT Todays the web is playing a critical role in all the business domains such as entertainment, finance, healthcare etc. It is much important to ensure hassle-free

More information

JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers

JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers Dave Jaffe, PhD, Dell Inc. Michael Yuan, PhD, JBoss / RedHat June 14th, 2006 JBoss Inc. 2006 About us Dave Jaffe Works for Dell

More information

SCALABILITY AND AVAILABILITY

SCALABILITY AND AVAILABILITY SCALABILITY AND AVAILABILITY Real Systems must be Scalable fast enough to handle the expected load and grow easily when the load grows Available available enough of the time Scalable Scale-up increase

More information

Analysis of Delivery of Web Contents for Kernel-mode and User-mode Web Servers

Analysis of Delivery of Web Contents for Kernel-mode and User-mode Web Servers Analysis of Delivery of Web Contents for Kernel-mode and User-mode Web Servers Syed Mutahar Aaqib Research Scholar Department of Computer Science & IT IT University of Jammu Lalitsen Sharma Associate Professor

More information

scalability OneBridge

scalability OneBridge scalability OneBridge Mobile Groupware technical brief An important consideration for IT professionals when choosing a server-based synchronization solution is that of scalability. Scalability refers to

More information

Comparing the Performance of Web Server Architectures

Comparing the Performance of Web Server Architectures Comparing the Performance of Web Server Architectures David Pariag, Tim Brecht, Ashif Harji, Peter Buhr, and Amol Shukla David R. Cheriton School of Computer Science University of Waterloo, Waterloo, Ontario,

More information

- An Essential Building Block for Stable and Reliable Compute Clusters

- An Essential Building Block for Stable and Reliable Compute Clusters Ferdinand Geier ParTec Cluster Competence Center GmbH, V. 1.4, March 2005 Cluster Middleware - An Essential Building Block for Stable and Reliable Compute Clusters Contents: Compute Clusters a Real Alternative

More information

Estimate Performance and Capacity Requirements for Workflow in SharePoint Server 2010

Estimate Performance and Capacity Requirements for Workflow in SharePoint Server 2010 Estimate Performance and Capacity Requirements for Workflow in SharePoint Server 2010 This document is provided as-is. Information and views expressed in this document, including URL and other Internet

More information

1.0 Hardware Requirements:

1.0 Hardware Requirements: 01 - ServiceDesk Plus - Best Practices We appreciate you choosing ServiceDesk Plus for your organization to deliver world-class IT services. Before installing the product, take a few minutes to go through

More information

BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB

BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB Planet Size Data!? Gartner s 10 key IT trends for 2012 unstructured data will grow some 80% over the course of the next

More information

1. Comments on reviews a. Need to avoid just summarizing web page asks you for:

1. Comments on reviews a. Need to avoid just summarizing web page asks you for: 1. Comments on reviews a. Need to avoid just summarizing web page asks you for: i. A one or two sentence summary of the paper ii. A description of the problem they were trying to solve iii. A summary of

More information

Berkeley Ninja Architecture

Berkeley Ninja Architecture Berkeley Ninja Architecture ACID vs BASE 1.Strong Consistency 2. Availability not considered 3. Conservative 1. Weak consistency 2. Availability is a primary design element 3. Aggressive --> Traditional

More information

A Hybrid Web Server Architecture for e-commerce Applications

A Hybrid Web Server Architecture for e-commerce Applications A Hybrid Web Server Architecture for e-commerce Applications David Carrera, Vicenç Beltran, Jordi Torres and Eduard Ayguadé {dcarrera, vbeltran, torres, eduard}@ac.upc.es European Center for Parallelism

More information

Introduction 1 Performance on Hosted Server 1. Benchmarks 2. System Requirements 7 Load Balancing 7

Introduction 1 Performance on Hosted Server 1. Benchmarks 2. System Requirements 7 Load Balancing 7 Introduction 1 Performance on Hosted Server 1 Figure 1: Real World Performance 1 Benchmarks 2 System configuration used for benchmarks 2 Figure 2a: New tickets per minute on E5440 processors 3 Figure 2b:

More information

Capacity Planning Guide for Adobe LiveCycle Data Services 2.6

Capacity Planning Guide for Adobe LiveCycle Data Services 2.6 White Paper Capacity Planning Guide for Adobe LiveCycle Data Services 2.6 Create applications that can deliver thousands of messages per second to thousands of end users simultaneously Table of contents

More information

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications ECE6102 Dependable Distribute Systems, Fall2010 EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications Deepal Jayasinghe, Hyojun Kim, Mohammad M. Hossain, Ali Payani

More information

An Oracle White Paper July 2011. Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

An Oracle White Paper July 2011. Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide An Oracle White Paper July 2011 1 Disclaimer The following is intended to outline our general product direction.

More information

Development and Evaluation of an Experimental Javabased

Development and Evaluation of an Experimental Javabased Development and Evaluation of an Experimental Javabased Web Server Syed Mutahar Aaqib Department of Computer Science & IT University of Jammu Jammu, India Lalitsen Sharma, PhD. Department of Computer Science

More information

Accelerating and Simplifying Apache

Accelerating and Simplifying Apache Accelerating and Simplifying Apache Hadoop with Panasas ActiveStor White paper NOvember 2012 1.888.PANASAS www.panasas.com Executive Overview The technology requirements for big data vary significantly

More information

Resource Containers: A new facility for resource management in server systems

Resource Containers: A new facility for resource management in server systems CS 5204 Operating Systems Resource Containers: A new facility for resource management in server systems G. Banga, P. Druschel, Rice Univ. J. C. Mogul, Compaq OSDI 1999 Outline Background Previous Approaches

More information

Part V Applications. What is cloud computing? SaaS has been around for awhile. Cloud Computing: General concepts

Part V Applications. What is cloud computing? SaaS has been around for awhile. Cloud Computing: General concepts Part V Applications Cloud Computing: General concepts Copyright K.Goseva 2010 CS 736 Software Performance Engineering Slide 1 What is cloud computing? SaaS: Software as a Service Cloud: Datacenters hardware

More information

Scala Storage Scale-Out Clustered Storage White Paper

Scala Storage Scale-Out Clustered Storage White Paper White Paper Scala Storage Scale-Out Clustered Storage White Paper Chapter 1 Introduction... 3 Capacity - Explosive Growth of Unstructured Data... 3 Performance - Cluster Computing... 3 Chapter 2 Current

More information

WHITE PAPER 1 WWW.FUSIONIO.COM

WHITE PAPER 1 WWW.FUSIONIO.COM 1 WWW.FUSIONIO.COM WHITE PAPER WHITE PAPER Executive Summary Fusion iovdi is the first desktop- aware solution to virtual desktop infrastructure. Its software- defined approach uniquely combines the economics

More information

InfiniteGraph: The Distributed Graph Database

InfiniteGraph: The Distributed Graph Database A Performance and Distributed Performance Benchmark of InfiniteGraph and a Leading Open Source Graph Database Using Synthetic Data Objectivity, Inc. 640 West California Ave. Suite 240 Sunnyvale, CA 94086

More information

Windows Server Performance Monitoring

Windows Server Performance Monitoring Spot server problems before they are noticed The system s really slow today! How often have you heard that? Finding the solution isn t so easy. The obvious questions to ask are why is it running slowly

More information

Agenda. Tomcat Versions Troubleshooting management Tomcat Connectors HTTP Protocal and Performance Log Tuning JVM Tuning Load balancing Tomcat

Agenda. Tomcat Versions Troubleshooting management Tomcat Connectors HTTP Protocal and Performance Log Tuning JVM Tuning Load balancing Tomcat Agenda Tomcat Versions Troubleshooting management Tomcat Connectors HTTP Protocal and Performance Log Tuning JVM Tuning Load balancing Tomcat Tomcat Performance Tuning Tomcat Versions Application/System

More information

Shoal: IaaS Cloud Cache Publisher

Shoal: IaaS Cloud Cache Publisher University of Victoria Faculty of Engineering Winter 2013 Work Term Report Shoal: IaaS Cloud Cache Publisher Department of Physics University of Victoria Victoria, BC Mike Chester V00711672 Work Term 3

More information

Why Threads Are A Bad Idea (for most purposes)

Why Threads Are A Bad Idea (for most purposes) Why Threads Are A Bad Idea (for most purposes) John Ousterhout Sun Microsystems Laboratories [email protected] http://www.sunlabs.com/~ouster Introduction Threads: Grew up in OS world (processes).

More information

High Availability Essentials

High Availability Essentials High Availability Essentials Introduction Ascent Capture s High Availability Support feature consists of a number of independent components that, when deployed in a highly available computer system, result

More information

Contents Introduction... 5 Deployment Considerations... 9 Deployment Architectures... 11

Contents Introduction... 5 Deployment Considerations... 9 Deployment Architectures... 11 Oracle Primavera Contract Management 14.1 Sizing Guide July 2014 Contents Introduction... 5 Contract Management Database Server... 5 Requirements of the Contract Management Web and Application Servers...

More information

Petascale Software Challenges. Piyush Chaudhary [email protected] High Performance Computing

Petascale Software Challenges. Piyush Chaudhary piyushc@us.ibm.com High Performance Computing Petascale Software Challenges Piyush Chaudhary [email protected] High Performance Computing Fundamental Observations Applications are struggling to realize growth in sustained performance at scale Reasons

More information

Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at

Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at distributing load b. QUESTION: What is the context? i. How

More information

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance. Agenda Enterprise Performance Factors Overall Enterprise Performance Factors Best Practice for generic Enterprise Best Practice for 3-tiers Enterprise Hardware Load Balancer Basic Unix Tuning Performance

More information

SIDN Server Measurements

SIDN Server Measurements SIDN Server Measurements Yuri Schaeffer 1, NLnet Labs NLnet Labs document 2010-003 July 19, 2010 1 Introduction For future capacity planning SIDN would like to have an insight on the required resources

More information

Wisdom from Crowds of Machines

Wisdom from Crowds of Machines Wisdom from Crowds of Machines Analytics and Big Data Summit September 19, 2013 Chetan Conikee Irfan Ahmad About Us CloudPhysics' mission is to discover the underlying principles that govern systems behavior

More information

LinuxWorld Conference & Expo Server Farms and XML Web Services

LinuxWorld Conference & Expo Server Farms and XML Web Services LinuxWorld Conference & Expo Server Farms and XML Web Services Jorgen Thelin, CapeConnect Chief Architect PJ Murray, Product Manager Cape Clear Software Objectives What aspects must a developer be aware

More information

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Internet Information Services Agent Version 6.3.1 Fix Pack 2.

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Internet Information Services Agent Version 6.3.1 Fix Pack 2. IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Internet Information Services Agent Version 6.3.1 Fix Pack 2 Reference IBM Tivoli Composite Application Manager for Microsoft

More information

Enterprise Applications

Enterprise Applications Enterprise Applications Chi Ho Yue Sorav Bansal Shivnath Babu Amin Firoozshahian EE392C Emerging Applications Study Spring 2003 Functionality Online Transaction Processing (OLTP) Users/apps interacting

More information

COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters

COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters COSC 6374 Parallel Computation Parallel I/O (I) I/O basics Spring 2008 Concept of a clusters Processor 1 local disks Compute node message passing network administrative network Memory Processor 2 Network

More information

From Internet Data Centers to Data Centers in the Cloud

From Internet Data Centers to Data Centers in the Cloud From Internet Data Centers to Data Centers in the Cloud This case study is a short extract from a keynote address given to the Doctoral Symposium at Middleware 2009 by Lucy Cherkasova of HP Research Labs

More information

Architecting ColdFusion For Scalability And High Availability. Ryan Stewart Platform Evangelist

Architecting ColdFusion For Scalability And High Availability. Ryan Stewart Platform Evangelist Architecting ColdFusion For Scalability And High Availability Ryan Stewart Platform Evangelist Introduction Architecture & Clustering Options Design an architecture and develop applications that scale

More information

Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle

Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle Agenda Introduction Database Architecture Direct NFS Client NFS Server

More information

Performance Analysis of Web based Applications on Single and Multi Core Servers

Performance Analysis of Web based Applications on Single and Multi Core Servers Performance Analysis of Web based Applications on Single and Multi Core Servers Gitika Khare, Diptikant Pathy, Alpana Rajan, Alok Jain, Anil Rawat Raja Ramanna Centre for Advanced Technology Department

More information

Testing & Assuring Mobile End User Experience Before Production. Neotys

Testing & Assuring Mobile End User Experience Before Production. Neotys Testing & Assuring Mobile End User Experience Before Production Neotys Agenda Introduction The challenges Best practices NeoLoad mobile capabilities Mobile devices are used more and more At Home In 2014,

More information

Streaming and Virtual Hosted Desktop Study

Streaming and Virtual Hosted Desktop Study White Paper Intel Information Technology Streaming, Virtual Hosted Desktop, Computing Models, Client Virtualization Streaming and Virtual Hosted Desktop Study Benchmarking Results As part of an ongoing

More information

How To Test A Web Server

How To Test A Web Server Performance and Load Testing Part 1 Performance & Load Testing Basics Performance & Load Testing Basics Introduction to Performance Testing Difference between Performance, Load and Stress Testing Why Performance

More information

Azul Compute Appliances

Azul Compute Appliances W H I T E P A P E R Azul Compute Appliances Ultra-high Capacity Building Blocks for Scalable Compute Pools WP_ACA0209 2009 Azul Systems, Inc. W H I T E P A P E R : A z u l C o m p u t e A p p l i a n c

More information

Chapter 1 - Web Server Management and Cluster Topology

Chapter 1 - Web Server Management and Cluster Topology Objectives At the end of this chapter, participants will be able to understand: Web server management options provided by Network Deployment Clustered Application Servers Cluster creation and management

More information

Liferay Portal Performance. Benchmark Study of Liferay Portal Enterprise Edition

Liferay Portal Performance. Benchmark Study of Liferay Portal Enterprise Edition Liferay Portal Performance Benchmark Study of Liferay Portal Enterprise Edition Table of Contents Executive Summary... 3 Test Scenarios... 4 Benchmark Configuration and Methodology... 5 Environment Configuration...

More information

What Is Specific in Load Testing?

What Is Specific in Load Testing? What Is Specific in Load Testing? Testing of multi-user applications under realistic and stress loads is really the only way to ensure appropriate performance and reliability in production. Load testing

More information

MuleSoft Blueprint: Load Balancing Mule for Scalability and Availability

MuleSoft Blueprint: Load Balancing Mule for Scalability and Availability MuleSoft Blueprint: Load Balancing Mule for Scalability and Availability Introduction Integration applications almost always have requirements dictating high availability and scalability. In this Blueprint

More information

Optimizing TCP Forwarding

Optimizing TCP Forwarding Optimizing TCP Forwarding Vsevolod V. Panteleenko and Vincent W. Freeh TR-2-3 Department of Computer Science and Engineering University of Notre Dame Notre Dame, IN 46556 {vvp, vin}@cse.nd.edu Abstract

More information

Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms

Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms Distributed File System 1 How do we get data to the workers? NAS Compute Nodes SAN 2 Distributed File System Don t move data to workers move workers to the data! Store data on the local disks of nodes

More information

A Comparative Study on Vega-HTTP & Popular Open-source Web-servers

A Comparative Study on Vega-HTTP & Popular Open-source Web-servers A Comparative Study on Vega-HTTP & Popular Open-source Web-servers Happiest People. Happiest Customers Contents Abstract... 3 Introduction... 3 Performance Comparison... 4 Architecture... 5 Diagram...

More information

B M C S O F T W A R E, I N C. BASIC BEST PRACTICES. Ross Cochran Principal SW Consultant

B M C S O F T W A R E, I N C. BASIC BEST PRACTICES. Ross Cochran Principal SW Consultant B M C S O F T W A R E, I N C. PATROL FOR WEBSPHERE APPLICATION SERVER BASIC BEST PRACTICES Ross Cochran Principal SW Consultant PAT R O L F O R W E B S P H E R E A P P L I C AT I O N S E R V E R BEST PRACTICES

More information

An introduction to Apache Traffic Server. Leif Hedstrom December 2011

An introduction to Apache Traffic Server. Leif Hedstrom December 2011 An introduction to Apache Traffic Server Leif Hedstrom December 2011 Who am I? One of the drivers to open source Traffic Server (at Yahoo) Committer for Apache Traffic Server VP of Apache Traffic Server

More information

http://support.oracle.com/

http://support.oracle.com/ Oracle Primavera Contract Management 14.0 Sizing Guide October 2012 Legal Notices Oracle Primavera Oracle Primavera Contract Management 14.0 Sizing Guide Copyright 1997, 2012, Oracle and/or its affiliates.

More information

Perfmon counters for Enterprise MOSS

Perfmon counters for Enterprise MOSS Perfmon counters for Enterprise MOSS # Counter What does it measure or can tell us Threshold [Action taken if] Notes PROCESSOR RELATED COUNTERS 1 Processor(_Total)\% Measures average processor utilization

More information

Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging

Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging In some markets and scenarios where competitive advantage is all about speed, speed is measured in micro- and even nano-seconds.

More information

Running a Workflow on a PowerCenter Grid

Running a Workflow on a PowerCenter Grid Running a Workflow on a PowerCenter Grid 2010-2014 Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise)

More information

Mark Bennett. Search and the Virtual Machine

Mark Bennett. Search and the Virtual Machine Mark Bennett Search and the Virtual Machine Agenda Intro / Business Drivers What to do with Search + Virtual What Makes Search Fast (or Slow!) Virtual Platforms Test Results Trends / Wrap Up / Q & A Business

More information

Dynamic Thread Pool based Service Tracking Manager

Dynamic Thread Pool based Service Tracking Manager Dynamic Thread Pool based Service Tracking Manager D.V.Lavanya, V.K.Govindan Department of Computer Science & Engineering National Institute of Technology Calicut Calicut, India e-mail: [email protected],

More information

Tomcat Tuning. Mark Thomas April 2009

Tomcat Tuning. Mark Thomas April 2009 Tomcat Tuning Mark Thomas April 2009 Who am I? Apache Tomcat committer Resolved 1,500+ Tomcat bugs Apache Tomcat PMC member Member of the Apache Software Foundation Member of the ASF security committee

More information

OpenFlow Based Load Balancing

OpenFlow Based Load Balancing OpenFlow Based Load Balancing Hardeep Uppal and Dane Brandon University of Washington CSE561: Networking Project Report Abstract: In today s high-traffic internet, it is often desirable to have multiple

More information

Design and Performance of a Web Server Accelerator

Design and Performance of a Web Server Accelerator Design and Performance of a Web Server Accelerator Eric Levy-Abegnoli, Arun Iyengar, Junehwa Song, and Daniel Dias IBM Research T. J. Watson Research Center P. O. Box 74 Yorktown Heights, NY 598 Abstract

More information

MailEnable Scalability White Paper Version 1.2

MailEnable Scalability White Paper Version 1.2 MailEnable Scalability White Paper Version 1.2 Table of Contents 1 Overview...2 2 Core architecture...3 2.1 Configuration repository...3 2.2 Storage repository...3 2.3 Connectors...3 2.3.1 SMTP Connector...3

More information

Web Email DNS Peer-to-peer systems (file sharing, CDNs, cycle sharing)

Web Email DNS Peer-to-peer systems (file sharing, CDNs, cycle sharing) 1 1 Distributed Systems What are distributed systems? How would you characterize them? Components of the system are located at networked computers Cooperate to provide some service No shared memory Communication

More information

Business Application Services Testing

Business Application Services Testing Business Application Services Testing Curriculum Structure Course name Duration(days) Express 2 Testing Concept and methodologies 3 Introduction to Performance Testing 3 Web Testing 2 QTP 5 SQL 5 Load

More information

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence 2. Web Servers Introduction Web content lives on Web servers Web servers speak the platform independent HyperText Transfer Protocol (HTTP) (so

More information

PERFORMANCE TUNING ORACLE RAC ON LINUX

PERFORMANCE TUNING ORACLE RAC ON LINUX PERFORMANCE TUNING ORACLE RAC ON LINUX By: Edward Whalen Performance Tuning Corporation INTRODUCTION Performance tuning is an integral part of the maintenance and administration of the Oracle database

More information

Top 10 Reasons why MySQL Experts Switch to SchoonerSQL - Solving the common problems users face with MySQL

Top 10 Reasons why MySQL Experts Switch to SchoonerSQL - Solving the common problems users face with MySQL SCHOONER WHITE PAPER Top 10 Reasons why MySQL Experts Switch to SchoonerSQL - Solving the common problems users face with MySQL About Schooner Information Technology Schooner Information Technology provides

More information

A Scalability Study for WebSphere Application Server and DB2 Universal Database

A Scalability Study for WebSphere Application Server and DB2 Universal Database A Scalability Study for WebSphere Application and DB2 Universal Database By Yongli An, Tsz Kin Tony Lau, and Peter Shum DB2 Universal Database Performance & Advanced Technology IBM Toronto Lab, IBM Canada

More information

Using Apache Derby in the real world

Using Apache Derby in the real world Apache Derby a 100% Java Open Source RDBMS Using Apache Derby in the real world Victorian AJUG, Australia 28 th August 2008 Chris Dance Chris Dance Introduction Director and Found of PaperCut Software

More information

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2

More information

Network Infrastructure Services CS848 Project

Network Infrastructure Services CS848 Project Quality of Service Guarantees for Cloud Services CS848 Project presentation by Alexey Karyakin David R. Cheriton School of Computer Science University of Waterloo March 2010 Outline 1. Performance of cloud

More information

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture CSE 544 Principles of Database Management Systems Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture References Anatomy of a database system. J. Hellerstein and M. Stonebraker. In Red Book (4th

More information

TFE listener architecture. Matt Klein, Staff Software Engineer Twitter Front End

TFE listener architecture. Matt Klein, Staff Software Engineer Twitter Front End TFE listener architecture Matt Klein, Staff Software Engineer Twitter Front End Agenda TFE architecture overview TSA architecture overview TSA hot restart Future plans Q&A TFE architecture overview Listener:

More information

Cisco UCS and Fusion- io take Big Data workloads to extreme performance in a small footprint: A case study with Oracle NoSQL database

Cisco UCS and Fusion- io take Big Data workloads to extreme performance in a small footprint: A case study with Oracle NoSQL database Cisco UCS and Fusion- io take Big Data workloads to extreme performance in a small footprint: A case study with Oracle NoSQL database Built up on Cisco s big data common platform architecture (CPA), a

More information

CommuniGate Pro White Paper. Dynamic Clustering Solution. For Reliable and Scalable. Messaging

CommuniGate Pro White Paper. Dynamic Clustering Solution. For Reliable and Scalable. Messaging CommuniGate Pro White Paper Dynamic Clustering Solution For Reliable and Scalable Messaging Date April 2002 Modern E-Mail Systems: Achieving Speed, Stability and Growth E-mail becomes more important each

More information

DYNAMIC LOAD BALANCING IN CLIENT SERVER ARCHITECTURE

DYNAMIC LOAD BALANCING IN CLIENT SERVER ARCHITECTURE DYNAMIC LOAD BALANCING IN CLIENT SERVER ARCHITECTURE PROJECT OF COEN233 SUBMITTED BY Aparna R Lalita V Sanjeev C 12/10/2013 INSTRUCTOR Dr. Prof Ming-Hwa Wang Santa Clara University 1 TABLE OF CONTENTS

More information

Responsive, resilient, elastic and message driven system

Responsive, resilient, elastic and message driven system Responsive, resilient, elastic and message driven system solving scalability problems of course registrations Janina Mincer-Daszkiewicz, University of Warsaw [email protected] Dundee, 2015-06-14 Agenda

More information

White Paper. How Streaming Data Analytics Enables Real-Time Decisions

White Paper. How Streaming Data Analytics Enables Real-Time Decisions White Paper How Streaming Data Analytics Enables Real-Time Decisions Contents Introduction... 1 What Is Streaming Analytics?... 1 How Does SAS Event Stream Processing Work?... 2 Overview...2 Event Stream

More information

Quantum StorNext. Product Brief: Distributed LAN Client

Quantum StorNext. Product Brief: Distributed LAN Client Quantum StorNext Product Brief: Distributed LAN Client NOTICE This product brief may contain proprietary information protected by copyright. Information in this product brief is subject to change without

More information