Comet for Highly- Scalable Applications

Size: px
Start display at page:

Download "Comet for Highly- Scalable Applications"

Transcription

1 Comet for Highly- Scalable Applications Michael Carter and Arthur Lee diagrams by Jacob Rus 24 October 2007 The Ajax Experience Boston

2 What is Comet? Comet describes a model of user interaction Pushing real-time updates to web browsers Renkoo Gmail Chat Meebo

3 Old Method: Polling Otherwise known as hammering the server App (Event Dispatcher (Event Queues inside)

4 Old Method: Polling Otherwise known as hammering the server App (Event Dispatcher (Event Queues inside)

5 Old Method: Polling Otherwise known as hammering the server App (Event Dispatcher (Event Queues inside)

6 Old Method: Polling Otherwise known as hammering the server App (Event Dispatcher (Event Queues inside)

7 Old Method: Polling Otherwise known as hammering the server App (Event Dispatcher (Event Queues inside)

8 Old Method: Polling Otherwise known as hammering the server App (Event Dispatcher (Event Queues inside)

9 Polling Overview Old and busted Pros: Easy to implement Client side Server side Cons: Wasted requests Additional latency

10 Enter Long-Polling The new hotness Pros: Latency gone! Client side still easy Cons: Difficult to scale server-side Conceptually more complicated

11 Vertical Scaling: How do you scale comet on a single server? photo by Michael (mx5tx)

12 Vertical Scaling: How do you scale comet on a single server? Wrong way: Use a threaded server like Apache or IIS Supports a few dozen users CPU usage and latency go through the roof as users are added App Threaded Comet Dispatcher Event Queue Connect Queue

13 Vertical Scaling: How do you scale comet on a single server? Wrong way: Use a threaded server like Apache or IIS Supports a few dozen users CPU usage and latency go through the roof as users are added App Threaded Comet Dispatcher Event Queue Connect Queue

14 Vertical Scaling: How do you scale comet on a single server? Wrong way: Use a threaded server like Apache or IIS Supports a few dozen users CPU usage and latency go through the roof as users are added App Threaded Comet Dispatcher Event Queue Connect Queue

15 Vertical Scaling: How do you scale comet on a single server? Wrong way: Use a threaded server like Apache or IIS Supports a few dozen users CPU usage and latency go through the roof as users are added App Threaded Comet Dispatcher Event Queue Connect Queue

16 Vertical Scaling: How do you scale comet on a single server? Wrong way: Use a threaded server like Apache or IIS Supports a few dozen users CPU usage and latency go through the roof as users are added App Threaded Comet Dispatcher Event Queue Connect Queue

17 Vertical Scaling: How do you scale comet on a single server? Wrong way: Use a threaded server like Apache or IIS Compared to polling: Latency reduced for very light load Avg. latency depends on the order of events As much as 7 the CPU for moderate load CPU-bound at moderate load

18 Vertical Scaling: How do you scale comet on a single server? Right way: Use an event-based architecture Supports as many users as CPU and I/O can handle Event-Based Comet Dispatcher App Event Queue Connect Pool CPU usage scales linearly and latency remains low

19 Vertical Scaling: How do you scale comet on a single server? Right way: Use an event-based architecture Supports as many users as CPU and I/O can handle Event-Based Comet Dispatcher App Event Queue Connect Pool CPU usage scales linearly and latency remains low

20 Vertical Scaling: How do you scale comet on a single server? Right way: Use an event-based architecture Supports as many users as CPU and I/O can handle Event-Based Comet Dispatcher App Event Queue Connect Pool CPU usage scales linearly and latency remains low

21 Vertical Scaling: How do you scale comet on a single server? Right way: Use an event-based architecture Compared to polling: Decreased latency and CPU usage Compared to threaded Comet: Vastly decreased CPU usage Order of events irrelevant Performance degrades gracefully

22 Horizontal Scaling: How do you scale comet across many servers? photo by ulybug

23 Horizontal Scaling: How do you scale comet across many servers? Wrong way: Build the whole software stack into the comet server Embed publish-subscribe architecture into comet server Keep application state within comet nodes Allow comet nodes to communicate with each-other

24 Horizontal Scaling: How do you scale comet across many servers? Wrong way: Build the whole software stack into the comet server Design is inflexible, can t scale for some uses Comet Nodes Application Node Hard to scale to many nodes in the best case A B C D E F

25 Horizontal Scaling: How do you scale comet across many servers? Wrong way: Build the whole software stack into the comet server Design is inflexible, can t scale for some uses Comet Nodes Application Node A sends message to E Hard to scale to many nodes in the best case A B C D E F

26 Horizontal Scaling: How do you scale comet across many servers? Wrong way: Build the whole software stack into the comet server Design is inflexible, can t scale for some uses Comet Nodes Application Node E sends response to A Hard to scale to many nodes in the best case A B C D E F

27 Horizontal Scaling: How do you scale comet across many servers? Right way: Share nothing between nodes No CPU or I/O overhead of sharing state Application Node CPU usage scales linearly and latency remains low Comet Nodes

28 Horizontal Scaling: How do you scale comet across many servers? Right way: Use Orbited «wink» Distributed hash table Pre-defined hash function Application Nodes Comet Nodes Hash Function Leave authentication to app layer A B C D E F

29 Horizontal Scaling: How do you scale comet across many servers? Right way: Use Orbited «wink» Distributed hash table Pre-defined hash function Application Nodes Comet Nodes Hash Function B sends message to E Leave authentication to app layer A B C D E F

30 Horizontal Scaling: How do you scale comet across many servers? Right way: Use Orbited «wink» Distributed hash table Pre-defined hash function Application Nodes Comet Nodes Hash Function E sends response to B Leave authentication to app layer A B C D E F

31 Publish / Subscribe Pushing published events to groups of browsers What s it good for? Applications for which multiple users need the same live updates

32 Publish / Subscribe Pushing published events to groups of browsers What s it good for? Applications for which multiple users need the same live updates real-time chat

33 Publish / Subscribe Pushing published events to groups of browsers What s it good for? Applications for which multiple users need the same live updates stock tickers real-time chat

34 Scaling Pub/Sub How do you scale publish/subscribe horizontally? If we start with a single comet node, which dispatches events to multiple users in multiple groups then how do we scale up to multiple comet nodes?

35 Scaling Pub/Sub How do you scale publish/subscribe horizontally? If we start with a single node, which dispatches events to multiple users in multiple groups Application Node Comet Dispatcher Node A single comet node serves all users and all groups

36 Scaling Pub/Sub How do you scale publish/subscribe horizontally? then how do we scale up to a pair of nodes? Application Node Comet Dispatcher Nodes Either we arrange nodes by group: All of a group s events are sent by one node

37 Scaling Pub/Sub How do you scale publish/subscribe horizontally? then how do we scale up to a pair of nodes? Application Node Comet Dispatcher Nodes Or we arrange nodes by user: A user receives all events from the same node

38 Scaling Pub/Sub How do you scale publish/subscribe horizontally? But how, specifically? Split the architecture into layers Publish/Subscribe Cloud Comet Dispatcher Nodes App Do not mix pub/sub layer with comet dispatcher Treat pub/sub layer as a black box

39 Pub/Sub Options Publish/subscribe already has solutions Don t reinvent the wheel: Many well-understood, scalable publish/subscribe solutions exist Internet Relay Chat: Nearly 20 years old. Scales well for large groups of users. XMPP (Jabber): Flexible protocol. Does presence well, in addition to messaging. Java Message Service: It s enterprise, baby.

40 Pub/Sub with Orbited Orbited can be easily added to a pub/sub stack Scaling through modularity: Its simplicity makes Orbited easy to add to any web app architecture Orbited handles comet dispatch IRC or Jabber handles publish/ subscribe App servers do everything else Internet Relay Chat Application / Web Server Orbited Pub/Sub Stack IRC Bridge Orbited Browser

41 Conclusion: Polling latency unacceptable Comet solves this problem Impossible to scale Comet with threaded design Event-based architecture is necessary Horizontal scaling requires share nothing design Publish/subscribe is a difficult problem Scaling pub/sub is easiest with layered architecture

42 Michael Carter 24 September 2007 AJAXWorld

Lightstreamer. The Streaming-Ajax Revolution. Product Insight

Lightstreamer. The Streaming-Ajax Revolution. Product Insight Lightstreamer The Streaming-Ajax Revolution Product Insight 1 Agenda Paradigms for the Real-Time Web (four models explained) Requirements for a Good Comet Solution Introduction to Lightstreamer Lightstreamer

More information

Scaling Slack. Bing Wei

Scaling Slack. Bing Wei Scaling Slack Bing Wei Infrastructure@Slack 2 3 Our Mission: To make people s working lives simpler, more pleasant, and more productive. 4 From supporting small teams To serving gigantic organizations

More information

Large-scale Game Messaging in Erlang at IMVU

Large-scale Game Messaging in Erlang at IMVU Large-scale Game Messaging in Erlang at IMVU Jon Watte Technical Director, IMVU Inc @jwatte / #erlangfactory Presentation Overview Describe the problem Low-latency game messaging and state distribution

More information

Simple Jabber - Divide And Conquer XMPP

Simple Jabber - Divide And Conquer XMPP Simple Jabber - Divide And Conquer XMPP Jan Klemkow 30.08.2015 Abstract The Extensible Messaging and Presence Protocol (XMPP) 1 is like the web. It is far too complex to be implemented in one program with

More information

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Simone Bordet sbordet@intalio.com 1 Agenda What are Comet web applications? Impacts of Comet web applications WebSocket

More information

Which tools should you use to design? DESIGN FUNDAMENTALS

Which tools should you use to design? DESIGN FUNDAMENTALS Which tools should you use to design? DESIGN FUNDAMENTALS VS. Software Browser Software Pros Software Pros What you see is what you get What you see is what you get More likely to push the boundaries of

More information

Kaazing Gateway: An Open Source

Kaazing Gateway: An Open Source Kaazing Gateway: An Open Source HTML 5 Websocket Server Speaker Jonas Jacobi Co-Founder: Kaazing Co-Author: Pro JSF and Ajax, Apress Agenda Real-Time Web? Why Do I Care? Scalability and Performance Concerns

More information

Building next-gen Web Apps with WebSocket. Copyright Kaazing Corporation. All rights reserved.

Building next-gen Web Apps with WebSocket. Copyright Kaazing Corporation. All rights reserved. Building next-gen Web Apps with WebSocket Copyright 2011 - Kaazing Corporation. All rights reserved. Who am I? Graham Gear Solution Architect, with Kaazing, purveyors of HTML5 enabling tech Based in London,

More information

CS 160: Interactive Programming

CS 160: Interactive Programming CS 160: Interactive Programming Professor John Canny 3/8/2006 1 Outline Callbacks and Delegates Multi-threaded programming Model-view controller 3/8/2006 2 Callbacks Your code Myclass data method1 method2

More information

Cloud versus direct with VNC Connect

Cloud versus direct with VNC Connect VNC Connect security whitepaper Cloud versus direct with VNC Connect This document discusses strategies for choosing the best connectivity method for your business: establishing direct connections between

More information

IsoStack Highly Efficient Network Processing on Dedicated Cores

IsoStack Highly Efficient Network Processing on Dedicated Cores IsoStack Highly Efficient Network Processing on Dedicated Cores Leah Shalev Eran Borovik, Julian Satran, Muli Ben-Yehuda Outline Motivation IsoStack architecture Prototype TCP/IP over 10GE on a single

More information

The API is dead. Long live the protocol.

The API is dead. Long live the protocol. The API is dead. Long live the protocol. We need to add messaging to... Developers don't know who to trust or have a clear methodology. Messaging is complex and developers spend a lot of time

More information

Kaazing. Connect. Everything. WebSocket The Web Communication Revolution

Kaazing. Connect. Everything. WebSocket The Web Communication Revolution Kaazing. Connect. Everything. WebSocket The Web Communication Revolution 1 Copyright 2011 Kaazing Corporation Speaker Bio John Fallows Co-Founder: Kaazing, At the Heart of the Living Web Co-Author: Pro

More information

Building a Data-Friendly Platform for a Data- Driven Future

Building a Data-Friendly Platform for a Data- Driven Future Building a Data-Friendly Platform for a Data- Driven Future Benjamin Hindman - @benh 2016 Mesosphere, Inc. All Rights Reserved. INTRO $ whoami BENJAMIN HINDMAN Co-founder and Chief Architect of Mesosphere,

More information

High performance and scalable architectures

High performance and scalable architectures High performance and scalable architectures A practical introduction to CQRS and Axon Framework Allard Buijze allard.buijze@trifork.nl Allard Buijze Software Architect at Trifork Organizers of GOTO & QCON

More information

IERG 4080 Building Scalable Internet-based Services

IERG 4080 Building Scalable Internet-based Services Department of Information Engineering, CUHK MScIE 2 nd Semester, 2015/16 IERG 4080 Building Scalable Internet-based Services Lecture 9 Web Sockets for Real-time Communications Lecturer: Albert C. M. Au

More information

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies. Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Distributed Information Systems Architecture Chapter Outline

More information

Nick Terkay CSCI 7818 Web Services 11/16/2006

Nick Terkay CSCI 7818 Web Services 11/16/2006 Nick Terkay CSCI 7818 Web Services 11/16/2006 Ning? Start-up co-founded by Marc Andreeson, the co- founder of Netscape. October 2005 Ning is an online platform for painlessly creating web apps in a jiffy.

More information

Memshare: a Dynamic Multi-tenant Key-value Cache

Memshare: a Dynamic Multi-tenant Key-value Cache Memshare: a Dynamic Multi-tenant Key-value Cache ASAF CIDON*, DANIEL RUSHTON, STEPHEN M. RUMBLE, RYAN STUTSMAN *STANFORD UNIVERSITY, UNIVERSITY OF UTAH, GOOGLE INC. 1 Cache is 100X Faster Than Database

More information

A Scalable Event Dispatching Library for Linux Network Servers

A Scalable Event Dispatching Library for Linux Network Servers A Scalable Event Dispatching Library for Linux Network Servers Hao-Ran Liu and Tien-Fu Chen Dept. of CSIE National Chung Cheng University Traditional server: Multiple Process (MP) server A dedicated process

More information

Processes and Threads. Processes: Review

Processes and Threads. Processes: Review Processes and Threads Processes and their scheduling Threads and scheduling Multiprocessor scheduling Distributed Scheduling/migration Lecture 3, page 1 Processes: Review Multiprogramming versus multiprocessing

More information

Performance Case Study

Performance Case Study Performance Case Study @Fabian_Frank Yahoo! Search, Engineer Youthmedia.eu, Volunteer A Dynamic Website self-contained App self-contained App self-contained App node v0.4.x multi-core

More information

VNC Connect security whitepaper. Cloud versus direct with VNC Connect

VNC Connect security whitepaper. Cloud versus direct with VNC Connect VNC Connect security whitepaper Cloud versus direct with VNC Connect November 2017 Contents Introduction... 3 Key terminology... 3 Direct connectivity... 4 Cloud connectivity... 5 Summary... 6 Appendix:

More information

Software Requirement Specification

Software Requirement Specification Software Requirement Specification Publish/Subscribe System Group-03 Atul Jangra 2010CS50277 Dushyant Behl 2010CS50282 Shantanu 2010CS50295 Utkarsh 2010CS50299 1 1. Introduction Table of Content 1.1 Purpose...

More information

The Future of the Web: HTML 5, WebSockets, Comet and Server Sent Events

The Future of the Web: HTML 5, WebSockets, Comet and Server Sent Events The Future of the Web: HTML 5, WebSockets, Comet and Server Sent Events Sidda Eraiah Director of Management Services Kaazing Corporation Agenda Web Applications, where are they going? Real time data for

More information

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Distributed Information Systems Architecture Chapter Outline

More information

In this unit we are going to look at cloud computing. Cloud computing, also known as 'on-demand computing', is a kind of Internet-based computing,

In this unit we are going to look at cloud computing. Cloud computing, also known as 'on-demand computing', is a kind of Internet-based computing, In this unit we are going to look at cloud computing. Cloud computing, also known as 'on-demand computing', is a kind of Internet-based computing, where shared resources, data and information are provided

More information

Performance and Scalability with Griddable.io

Performance and Scalability with Griddable.io Performance and Scalability with Griddable.io Executive summary Griddable.io is an industry-leading timeline-consistent synchronized data integration grid across a range of source and target data systems.

More information

Developing Enterprise Cloud Solutions with Azure

Developing Enterprise Cloud Solutions with Azure Developing Enterprise Cloud Solutions with Azure Java Focused 5 Day Course AUDIENCE FORMAT Developers and Software Architects Instructor-led with hands-on labs LEVEL 300 COURSE DESCRIPTION This course

More information

Module 6 Node.js and Socket.IO

Module 6 Node.js and Socket.IO Module 6 Node.js and Socket.IO Module 6 Contains 2 components Individual Assignment and Group Assignment Both are due on Wednesday November 15 th Read the WIKI before starting Portions of today s slides

More information

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2 Chapter 1: Distributed Information Systems Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 1 Design

More information

Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux

Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux Give your application the ability to register callbacks with the kernel. by Frédéric Rossi In a previous article [ An Event Mechanism

More information

Deploying Ajax Comet Applications

Deploying Ajax Comet Applications Deploying Ajax Comet Applications war stories from the trenches of Greg Wilkins CTO Webtide.com Developer Jetty & Cometd Image from Flikr: aristocrat copyright 2008 Webtide LLC So you have an awesome web

More information

Fast Track to Java EE

Fast Track to Java EE Java Enterprise Edition is a powerful platform for building web applications. This platform offers all the advantages of developing in Java plus a comprehensive suite of server-side technologies. This

More information

Kony and TIBCO enable fast reliable Websockets Communication. Overview of the integration of WebSockets with TIBCO eftl and the Kony Platform

Kony and TIBCO enable fast reliable Websockets Communication. Overview of the integration of WebSockets with TIBCO eftl and the Kony Platform Kony and TIBCO enable fast reliable Websockets Communication Overview of the integration of WebSockets with TIBCO eftl and the Kony Platform Leading the way in enterprise mobility Founded in 2007 1400

More information

Brad Drysdale. HTML5 WebSockets - the Web Communication revolution, making the impossible, possible. Main sponsor

Brad Drysdale. HTML5 WebSockets - the Web Communication revolution, making the impossible, possible. Main sponsor Main sponsor HTML5 WebSockets - the Web Communication revolution, making the impossible, possible Brad Drysdale Picasso Matejko + Canale1o Malczewski + Chelmonski State of Scala Venkat Subramaniam Don't

More information

Medical practice: diagnostics, treatment and surgery in supercomputing centers

Medical practice: diagnostics, treatment and surgery in supercomputing centers International Advanced Research Workshop on High Performance Computing from Clouds and Big Data to Exascale and Beyond Medical practice: diagnostics, treatment and surgery in supercomputing centers Prof.

More information

Etanova Enterprise Solutions

Etanova Enterprise Solutions Etanova Enterprise Solutions Server Side Development» 2018-06-28 http://www.etanova.com/technologies/server-side-development Contents.NET Framework... 6 C# and Visual Basic Programming... 6 ASP.NET 5.0...

More information

Apache BookKeeper. A High Performance and Low Latency Storage Service

Apache BookKeeper. A High Performance and Low Latency Storage Service Apache BookKeeper A High Performance and Low Latency Storage Service Hello! I am Sijie Guo - PMC Chair of Apache BookKeeper Co-creator of Apache DistributedLog Twitter Messaging/Pub-Sub Team Yahoo! R&D

More information

Chapter 1: Distributed Information Systems

Chapter 1: Distributed Information Systems Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier

More information

CS533 Concepts of Operating Systems. Jonathan Walpole

CS533 Concepts of Operating Systems. Jonathan Walpole CS533 Concepts of Operating Systems Jonathan Walpole SEDA: An Architecture for Well- Conditioned Scalable Internet Services Overview What does well-conditioned mean? Internet service architectures - thread

More information

Scaling up: How we made millions of domains happier. Tom Arnfeld, DNS Engineer Pavel Odintsov, DNS Engineer

Scaling up: How we made millions of domains happier. Tom Arnfeld, DNS Engineer Pavel Odintsov, DNS Engineer Scaling up: How we made millions of domains happier Tom Arnfeld, DNS Engineer Pavel Odintsov, DNS Engineer Cloudflare DNS Services Authoritative DNS IPv4 and IPv6 support Low latency propagation DNSSEC

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 Operating Systems Principles

More information

Conversing in the Cloud. Ryan Kupfer, Scott Wetter, Bryan Welfel, Shekhar Pradhan

Conversing in the Cloud. Ryan Kupfer, Scott Wetter, Bryan Welfel, Shekhar Pradhan Conversing in the Cloud Ryan Kupfer, Scott Wetter, Bryan Welfel, Shekhar Pradhan Outline MixPool defined The hurdles A prime example of an application utilizing cloud technology The technologies The architecture

More information

QoS-Aware Admission Control in Heterogeneous Datacenters

QoS-Aware Admission Control in Heterogeneous Datacenters QoS-Aware Admission Control in Heterogeneous Datacenters Christina Delimitrou, Nick Bambos and Christos Kozyrakis Stanford University ICAC June 28 th 2013 Cloud DC Scheduling Workloads DC Scheduler S S

More information

Diagnosis via monitoring & tracing

Diagnosis via monitoring & tracing Diagnosis via monitoring & tracing Greg Ganger, Garth Gibson, Majd Sakr adapted from Raja Sambasivan 15-719: Advanced Cloud Computing Spring 2017 1 Problem diagnosis is difficult For developers of clouds

More information

COMMUNICATION PROTOCOLS

COMMUNICATION PROTOCOLS COMMUNICATION PROTOCOLS Index Chapter 1. Introduction Chapter 2. Software components message exchange JMS and Tibco Rendezvous Chapter 3. Communication over the Internet Simple Object Access Protocol (SOAP)

More information

Simple idea 1: load-time linking. Our main questions. Some terminology. Simple idea 2: base + bound register. Protection mechanics.

Simple idea 1: load-time linking. Our main questions. Some terminology. Simple idea 2: base + bound register. Protection mechanics. Our main questions! How is protection enforced?! How are processes relocated?! How is ory partitioned? Simple idea 1: load-time linking! Link as usual, but keep the list of references! At load time, determine

More information

CS 498RK FALL RESTFUL APIs

CS 498RK FALL RESTFUL APIs CS 498RK FALL 2017 RESTFUL APIs Designing Restful Apis blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/ www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api Resources

More information

Build the realtime web with XMPP and Wave

Build the realtime web with XMPP and Wave Build the realtime web with XMPP and Wave ollaborating in realtime on the web 2010-03-26 - Erlang Factory Mickaël Rémond Building the real time web: Initial problem Realtime web:

More information

Team 5: Fault-Terminators

Team 5: Fault-Terminators Team 5: Fault-Terminators 18-749: Fault-Tolerant Distributed Systems Patty Pun - tpun@andrew.cmu.edu Kevin Smith - kevinsmith@cmu.edu Felix Tze-Shun Yip - fty@andrew.cmu.edu Yi Zhang - zhangyi@cmu.edu

More information

PRESENTATION TITLE GOES HERE

PRESENTATION TITLE GOES HERE Performance Basics PRESENTATION TITLE GOES HERE Leah Schoeb, Member of SNIA Technical Council SNIA EmeraldTM Training SNIA Emerald Power Efficiency Measurement Specification, for use in EPA ENERGY STAR

More information

Designing for Performance: Concurrency and Parallelism

Designing for Performance: Concurrency and Parallelism Designing for Performance: Concurrency and Parallelism COS 518: Computer Systems Fall 2015 Logan Stafman Adapted from slides by Mike Freedman 2 Definitions Concurrency: Execution of two or more tasks overlap

More information

Building a Real-time Notification System

Building a Real-time Notification System Building a Real-time Notification System September 2015, Geneva Author: Jorge Vicente Cantero Supervisor: Jiri Kuncar CERN openlab Summer Student Report 2015 Project Specification Configurable Notification

More information

Data Acquisition. The reference Big Data stack

Data Acquisition. The reference Big Data stack Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Data Acquisition Corso di Sistemi e Architetture per Big Data A.A. 2016/17 Valeria Cardellini The reference

More information

Server execution of JavaScript: What could possibly go wrong?

Server execution of JavaScript: What could possibly go wrong? Server execution of JavaScript: What could possibly go wrong? Brian Geffon Staff Software Engineer Hello! 2 Outline Introductions Ø Brief History The paradigm shift Problems! Where we are today Closing

More information

Java Concurrency in practice Chapter 9 GUI Applications

Java Concurrency in practice Chapter 9 GUI Applications Java Concurrency in practice Chapter 9 GUI Applications INF329 Spring 2007 Presented by Stian and Eirik 1 Chapter 9 GUI Applications GUI applications have their own peculiar threading issues To maintain

More information

CSC 539: Operating Systems Structure and Design. Spring 2006

CSC 539: Operating Systems Structure and Design. Spring 2006 CSC 539: Operating Systems Structure and Design Spring 2006 Processes and threads process concept process scheduling: state, PCB, process queues, schedulers process operations: create, terminate, wait,

More information

Internet Technology 2/18/2016

Internet Technology 2/18/2016 Internet Technology 04r. Assignment 4 & 2013 Exam 1 Review Assignment 4 Review Paul Krzyzanowski Rutgers University Spring 2016 February 18, 2016 CS 352 2013-2016 Paul Krzyzanowski 1 February 18, 2016

More information

Hazard Pointers. Number of threads unbounded time to check hazard pointers also unbounded! difficult dynamic bookkeeping! thread B - hp1 - hp2

Hazard Pointers. Number of threads unbounded time to check hazard pointers also unbounded! difficult dynamic bookkeeping! thread B - hp1 - hp2 Hazard Pointers Store pointers of memory references about to be accessed by a thread Memory allocation checks all hazard pointers to avoid the ABA problem thread A - hp1 - hp2 thread B - hp1 - hp2 thread

More information

NON-BLOCKING DATA STRUCTURES AND TRANSACTIONAL MEMORY. Tim Harris, 31 October 2012

NON-BLOCKING DATA STRUCTURES AND TRANSACTIONAL MEMORY. Tim Harris, 31 October 2012 NON-BLOCKING DATA STRUCTURES AND TRANSACTIONAL MEMORY Tim Harris, 31 October 2012 Lecture 6 Linearizability Lock-free progress properties Queues Reducing contention Explicit memory management Linearizability

More information

S1 Informatic Engineering

S1 Informatic Engineering S1 Informatic Engineering Advanced Software Engineering Web App. Process and Architecture By: Egia Rosi Subhiyakto, M.Kom, M.CS Informatic Engineering Department egia@dsn.dinus.ac.id +6285640392988 SYLLABUS

More information

System requirements for Qlik Sense. Qlik Sense June 2018 Copyright QlikTech International AB. All rights reserved.

System requirements for Qlik Sense. Qlik Sense June 2018 Copyright QlikTech International AB. All rights reserved. System requirements for Qlik Sense Qlik Sense June 2018 Copyright 1993-2018 QlikTech International AB. All rights reserved. Copyright 1993-2018 QlikTech International AB. All rights reserved. Qlik, QlikTech,

More information

Zing Vision. Answering your toughest production Java performance questions

Zing Vision. Answering your toughest production Java performance questions Zing Vision Answering your toughest production Java performance questions Outline What is Zing Vision? Where does Zing Vision fit in your Java environment? Key features How it works Using ZVRobot Q & A

More information

RFC 003 Event Service October Computer Science Department October 2001 Request for Comments: 0003 Obsoletes: none.

RFC 003 Event Service October Computer Science Department October 2001 Request for Comments: 0003 Obsoletes: none. Ubiquitous Computing Bhaskar Borthakur University of Illinois at Urbana-Champaign Software Research Group Computer Science Department October 2001 Request for Comments: 0003 Obsoletes: none The Event Service

More information

Computer Systems Assignment 4: Scheduling and I/O

Computer Systems Assignment 4: Scheduling and I/O Autumn Term 018 Distributed Computing Computer Systems Assignment : Scheduling and I/O Assigned on: October 19, 018 1 Scheduling The following table describes tasks to be scheduled. The table contains

More information

Layered UI and Adaptation Policies for Ubiquitous Web Applications

Layered UI and Adaptation Policies for Ubiquitous Web Applications Layered UI and Adaptation Policies for Ubiquitous Web Applications Centering ideas for upcoming standards 25 October 2007 José M. Cantera.- Telefónica I+D jmcf@tid.es Introduction Introduction Developing

More information

JavaScript CS 4640 Programming Languages for Web Applications

JavaScript CS 4640 Programming Languages for Web Applications JavaScript CS 4640 Programming Languages for Web Applications 1 How HTML, CSS, and JS Fit Together {css} javascript() Content layer The HTML gives the page structure and adds semantics Presentation

More information

Delivering Real- Time Internet Solutions

Delivering Real- Time Internet Solutions Delivering Real- Time Internet Solutions Executive Summary The Internet has evolved and grown exponentially over recent years. So too have the demands and expectations for powerful, efficient and functional

More information

Pro2SQL. OpenEdge Replication. for Data Reporting. for Disaster Recovery. March 2017 Greg White Sr. Progress Consultant Progress

Pro2SQL. OpenEdge Replication. for Data Reporting. for Disaster Recovery. March 2017 Greg White Sr. Progress Consultant Progress Pro2SQL for Data Reporting OpenEdge Replication for Disaster Recovery March 2017 Greg White Sr. Progress Consultant Progress 1 Introduction Greg White Sr. Progress Consultant (Database and Pro2) 2 Replication

More information

SRAMs to Memory. Memory Hierarchy. Locality. Low Power VLSI System Design Lecture 10: Low Power Memory Design

SRAMs to Memory. Memory Hierarchy. Locality. Low Power VLSI System Design Lecture 10: Low Power Memory Design SRAMs to Memory Low Power VLSI System Design Lecture 0: Low Power Memory Design Prof. R. Iris Bahar October, 07 Last lecture focused on the SRAM cell and the D or D memory architecture built from these

More information

Harnessing the Power of HTML5 WebSocket to Create Scalable Real-time Applications. Brian Albers & Peter Lubbers, Kaazing

Harnessing the Power of HTML5 WebSocket to Create Scalable Real-time Applications. Brian Albers & Peter Lubbers, Kaazing Harnessing the Power of HTML5 WebSocket to Create Scalable Real-time Applications Brian Albers & Peter Lubbers, Kaazing 1 About Peter Lubbers Director of Documentation and Training, Kaazing Co-Founder

More information

Integrate MATLAB Analytics into Enterprise Applications

Integrate MATLAB Analytics into Enterprise Applications Integrate Analytics into Enterprise Applications Lyamine Hedjazi 2015 The MathWorks, Inc. 1 Data Analytics Workflow Preprocessing Data Business Systems Build Algorithms Smart Connected Systems Take Decisions

More information

Optimizing Software-Defined Storage for Flash Memory

Optimizing Software-Defined Storage for Flash Memory Optimizing Software-Defined Storage for Flash Memory Avraham Meir Chief Scientist, Elastifile Santa Clara, CA 1 Agenda What is SDS? SDS Media Selection Flash-Native SDS Non-Flash SDS File system benefits

More information

How to re-invent your IT Architecture. André Christ, Co-CEO LeanIX

How to re-invent your IT Architecture. André Christ, Co-CEO LeanIX How to re-invent your IT Architecture André Christ, Co-CEO LeanIX 2012 founded 30 employees > 80 customers 150 % motivated 2 OUR MISSION Become global #1 SaaS helping companies to modernize their IT architectures

More information

Oracle NoSQL Database at OOW 2017

Oracle NoSQL Database at OOW 2017 Oracle NoSQL Database at OOW 2017 CON6544 Oracle NoSQL Database Cloud Service Monday 3:15 PM, Moscone West 3008 CON6543 Oracle NoSQL Database Introduction Tuesday, 3:45 PM, Moscone West 3008 CON6545 Oracle

More information

Cloud platforms T Mobile Systems Programming

Cloud platforms T Mobile Systems Programming Cloud platforms T-110.5130 Mobile Systems Programming Agenda 1. Motivation 2. Different types of cloud platforms 3. Popular cloud services 4. Open-source cloud 5. Cloud on this course 6. Some useful tools

More information

Modern app programming

Modern app programming Modern app programming with RxJava and Eclipse Vert.x #QConSP @vertx_project Who am I? Vert.x core team member since 2016 Working at since 2012 Contributing specifically to monitoring and clustering @tsegismont

More information

Azure Integration Services

Azure Integration Services Azure Integration Services 2018 Microsoft Corporation. All rights reserved. This document is provided "as-is." Information and views expressed in this document, including URL and other Internet Web site

More information

Abstractions and Reality

Abstractions and Reality Abstractions and Reality Learning Objectives (i.e., after reviewing this presentation, you should be able to: ) Describe some ways that the abstraction provided by the C language is similar to and different

More information

System requirements for Qlik Sense. Qlik Sense September 2017 Copyright QlikTech International AB. All rights reserved.

System requirements for Qlik Sense. Qlik Sense September 2017 Copyright QlikTech International AB. All rights reserved. System requirements for Qlik Sense Qlik Sense September 2017 Copyright 1993-2017 QlikTech International AB. All rights reserved. Copyright 1993-2017 QlikTech International AB. All rights reserved. Qlik,

More information

Introduction to data centers

Introduction to data centers Introduction to data centers Paolo Giaccone Notes for the class on Switching technologies for data centers Politecnico di Torino December 2017 Cloud computing Section 1 Cloud computing Giaccone (Politecnico

More information

Virtual Machine Design

Virtual Machine Design Virtual Machine Design Lecture 4: Multithreading and Synchronization Antero Taivalsaari September 2003 Session #2026: J2MEPlatform, Connected Limited Device Configuration (CLDC) Lecture Goals Give an overview

More information

Scaling Up Performance Benchmarking

Scaling Up Performance Benchmarking Scaling Up Performance Benchmarking -with SPECjbb2015 Anil Kumar Runtime Performance Architect @Intel, OSG Java Chair Monica Beckwith Runtime Performance Architect @Arm, Java Champion FaaS Serverless Frameworks

More information

Essential Features of an Integration Solution

Essential Features of an Integration Solution Essential Features of an Integration Solution September 2017 WHITE PAPER Essential Features of an Integration Solution When an enterprise uses multiple applications, it needs to connect them for a variety

More information

More on Testing and Large Scale Web Apps

More on Testing and Large Scale Web Apps More on Testing and Large Scale Web Apps Testing Functionality Tests - Unit tests: E.g. Mocha - Integration tests - End-to-end - E.g. Selenium - HTML CSS validation - forms and form validation - cookies

More information

Operating Systems Overview

Operating Systems Overview Operating Systems Overview 1 operating system no clear traditional definition each definition cover a distinct aspect an interface between applications and hardware true, this was the first reason for

More information

Diffusion TM 5.0 Performance Benchmarks

Diffusion TM 5.0 Performance Benchmarks Diffusion TM 5.0 Performance Benchmarks Contents Introduction 3 Benchmark Overview 3 Methodology 4 Results 5 Conclusion 7 Appendix A Environment 8 Diffusion TM 5.0 Performance Benchmarks 2 1 Introduction

More information

Distributed Systems. Messaging and JMS Distributed Systems 1. Master of Information System Management

Distributed Systems. Messaging and JMS Distributed Systems 1. Master of Information System Management Distributed Systems Messaging and JMS 1 Example scenario Scenario: Store inventory is low This impacts multiple departments Inventory Sends a message to the factory when the inventory level for a product

More information

Tutorial 8 Build resilient, responsive and scalable web applications with SocketPro

Tutorial 8 Build resilient, responsive and scalable web applications with SocketPro Tutorial 8 Build resilient, responsive and scalable web applications with SocketPro Contents: Introduction SocketPro ways for resilient, responsive and scalable web applications Vertical scalability o

More information

Lecture 7 More Memory Management Slab Allocator. Slab Allocator

Lecture 7 More Memory Management Slab Allocator. Slab Allocator CS61C L07 More Memory Management (1) inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 7 More Memory Management 2006-09-13 Lecturer SOE Dan Garcia www.cs.berkeley.edu/~ddgarcia Unbox problems

More information

CLUSTERING HIVEMQ. Building highly available, horizontally scalable MQTT Broker Clusters

CLUSTERING HIVEMQ. Building highly available, horizontally scalable MQTT Broker Clusters CLUSTERING HIVEMQ Building highly available, horizontally scalable MQTT Broker Clusters 12/2016 About this document MQTT is based on a publish/subscribe architecture that decouples MQTT clients and uses

More information

Beetle. Sharing, flexibility and access control for Bluetooth Low Energy. Amit Levy James Hong Laurynas Riliskis Philip Levis Keith Winstein

Beetle. Sharing, flexibility and access control for Bluetooth Low Energy. Amit Levy James Hong Laurynas Riliskis Philip Levis Keith Winstein Beetle Sharing, flexibility and access control for Bluetooth Low Energy Amit Levy James Hong Laurynas Riliskis Philip Levis Keith Winstein Stanford University June 24, 2016 1 / 26 Meet Grace 2 / 26 Meet

More information

Slide 6-1. Processes. Operating Systems: A Modern Perspective, Chapter 6. Copyright 2004 Pearson Education, Inc.

Slide 6-1. Processes. Operating Systems: A Modern Perspective, Chapter 6. Copyright 2004 Pearson Education, Inc. Slide 6-1 6 es Announcements Slide 6-2 Extension til Friday 11 am for HW #1 Previous lectures online Program Assignment #1 online later today, due 2 weeks from today Homework Set #2 online later today,

More information

Real-Time Embedded User Interfaces

Real-Time Embedded User Interfaces Real-Time Embedded User Interfaces Justin Ireland August 2010 Introduction Modern appliances and electronic devices are becoming increasingly sophisticated. Advanced feature sets require advanced configuration

More information

Servlet Performance and Apache JServ

Servlet Performance and Apache JServ Servlet Performance and Apache JServ ApacheCon 1998 By Stefano Mazzocchi and Pierpaolo Fumagalli Index 1 Performance Definition... 2 1.1 Absolute performance...2 1.2 Perceived performance...2 2 Dynamic

More information

Cross Bulk Mailer 6.2 User Guide

Cross Bulk Mailer 6.2 User Guide http://dnnmodule.com/ Page 1 of 16 Cross Bulk Mailer 6.2 User Guide (The best email marketing module for DNN 7/8) http://dnnmodule.com 1/5/2016 Cross Software, China Skype: xiaoqi98@msn.com QQ: 35206992

More information

Software Architecture Patterns

Software Architecture Patterns Software Architecture Patterns *based on a tutorial of Michael Stal Harald Gall University of Zurich http://seal.ifi.uzh.ch/ase www.infosys.tuwien.ac.at Overview Goal Basic architectural understanding

More information

Processes and Threads

Processes and Threads TDDI04 Concurrent Programming, Operating Systems, and Real-time Operating Systems Processes and Threads [SGG7] Chapters 3 and 4 Copyright Notice: The lecture notes are mainly based on Silberschatz s, Galvin

More information

ebay Marketplace Architecture

ebay Marketplace Architecture ebay Marketplace Architecture Architectural Strategies, Patterns, and Forces Randy Shoup, ebay Distinguished Architect QCon SF 2007 November 9, 2007 What we re up against ebay manages Over 248,000,000

More information