Comet for Highly- Scalable Applications
|
|
- Hilary Heath
- 5 years ago
- Views:
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 1 Agenda Paradigms for the Real-Time Web (four models explained) Requirements for a Good Comet Solution Introduction to Lightstreamer Lightstreamer
More informationScaling 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 informationLarge-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 informationSimple 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 informationComet 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 informationWhich 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 informationKaazing 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 informationBuilding 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 informationCS 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 informationCloud 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 informationIsoStack 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 informationThe 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 informationKaazing. 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 informationBuilding 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 informationHigh 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 informationIERG 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 informationChapter 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 informationNick 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 informationMemshare: 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 informationA 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 informationProcesses 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 informationPerformance 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 informationVNC 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 informationSoftware 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 informationThe 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 informationChapter 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 informationIn 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 informationPerformance 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 informationDeveloping 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 informationModule 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 informationGustavo 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 informationKernel 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 informationDeploying 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 informationFast 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 informationKony 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 informationBrad 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 informationMedical 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 informationEtanova 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 informationApache 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 informationChapter 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 informationCS533 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 informationScaling 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 informationSEDA: 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 informationConversing 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 informationQoS-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 informationDiagnosis 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 informationCOMMUNICATION 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 informationSimple 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 informationCS 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 informationBuild 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 informationTeam 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 informationPRESENTATION 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 informationDesigning 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 informationBuilding 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 informationData 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 informationServer 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 informationJava 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 informationCSC 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 informationInternet 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 informationHazard 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 informationNON-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 informationS1 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 informationSystem 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 informationZing 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 informationRFC 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 informationComputer 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 informationLayered 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 informationJavaScript 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 informationDelivering 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 informationPro2SQL. 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 informationSRAMs 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 informationHarnessing 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 informationIntegrate 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 informationOptimizing 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 informationHow 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 informationOracle 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 informationCloud 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 informationModern 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 informationAzure 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 informationAbstractions 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 informationSystem 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 informationIntroduction 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 informationVirtual 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 informationScaling 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 informationEssential 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 informationMore 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 informationOperating 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 informationDiffusion 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 informationDistributed 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 informationTutorial 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 informationLecture 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 informationCLUSTERING 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 informationBeetle. 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 informationSlide 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 informationReal-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 informationServlet 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 informationCross 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 informationSoftware 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 informationProcesses 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 informationebay 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