(if you can t read this, move closer!) The high-performance protocol construction toolkit. Peter Royal

Size: px
Start display at page:

Download "(if you can t read this, move closer!) The high-performance protocol construction toolkit. Peter Royal"

Transcription

1 (if you can t read this, move closer!) Apache The high-performance protocol construction toolkit. Peter Royal <proyal@apache.org> Originally presented at ApacheCon Europe 2007 in Amsterdam

2 Hi, I m Peter

3 MINA hacker since Fall 2005

4 Radar Networks

5 San Francisco

6 Apache Member

7 What is MINA?

8 MINA?

9 Multipurpose Infrastructure Networked Applications

10 Built on Java NIO

11 Non-Blocking

12 Asynchronous

13 Event-Driven (SEDA!)

14 Multiple Transports (framework is really agnostic)

15 TCP

16 UDP (being re-written for 2.0)

17 In-VM (great for testing)

18 RS-232 (under development)

19 Smartly Designed

20 Follows Inversion of Control Pattern (plays nicely with PicoContainer, Spring, etc)

21 Separation of Concerns

22 Wire Protocol Application Logic Rather than this...

23 Wire Protocol Application Logic Concerns are Separated

24 Stable and Production- Ready v1.0 released Fall 2006 v1.1 released April 2007 Same API as v1.0 but uses Java 5 Concurrency primitives v2.0 this year API simplification based on lessons learned

25 Many Users

26 Apache Directory LDAPv3, NTP, DNS, DHCP and Kerberos

27 AsyncWeb (joining Apache very soon though!) HTTP/HTTPS

28 Apache (incubating) Qpid Advanced Messaging Queuing Protocol (AMQP) (from Wall Street!)

29 QuickFIX/J Financial Information exchange (FIX)

30 Openfire products/openfire/ XMPP

31 red5 RTMP (talk to Flash player)

32 ...and more! (maybe you, next time!)

33 Key Concepts

34 ByteBuffer Core NIO construct MINA version that wraps and provides additional convenience methods auto-expanding, string encoding MINA gives control... allocate from the Heap or Stack optional Pooling (in v2, will be non-pooled and heap-only, as it provides the best performance)

35 Future Represents a function call that completes asynchronously Provides blocking functions to retrieve the result MINA allows callbacks to be invoked upon completion, so invoking thread can fire and forget (unlike the Java 5 Future)

36 Writes IoHandler IoProcessor IoService Reads

37 Writes IoHandler IoProcessor IoService Reads Two Versions

38 Writes IoHandler IoProcessor IoService Reads IoAcceptor act as server single thread for new connections

39 Writes IoHandler IoProcessor IoService Reads IoConnector act as client

40 Writes IoHandler IoProcessor IoService Reads Connection instance is an IoSession

41 Writes IoHandler IoProcessor IoService Reads Handles reads and writes

42 Writes IoHandler IoProcessor IoService Reads Instance count scales with CPU/Load

43 Writes IoHandler IoProcessor IoService Reads Session fixed to an Instance (under review for v2)

44 Writes IoHandler IoProcessor IoService Reads Chain of s

45 Writes IoHandler IoProcessor IoService Reads Per Connection

46 Writes IoHandler IoProcessor IoService Reads Reusable

47 Writes IoHandler IoProcessor IoService Reads Hot Deployable

48 Writes IoHandler IoProcessor IoService Reads Filter all events Read / Write / Idle / etc

49 Writes IoHandler IoProcessor IoService Reads Application Logic Lives Here

50 Large Library of s

51 Protocol Conversion Framework to plug in your own codecs to handle conversion to/from a ByteBuffer Existing codecs Text-based Java Serialization

52 Blacklist

53 Logging (great for debugging!)

54 SSL / TLS

55 Compression

56 Read Throttling (we re working on a general solution for writes)

57 Thread Models (a necessary evil)

58 single threaded

59 One IoProcessor Thread

60 Scalability sucks

61 Add more IoProcessor Threads (at least one per CPU core)

62 Lowest latency Scales nicely (connection latency to be addressed in v2)

63 multi threaded

64 use ExecutorFilter

65 IoProcessor threads only do reads & writes (the intent)

66 Filters execute on a different thread. (filter location is key!)

67 Work for a session is serialized (queued per session)

68 Work is delegated to an Executor (generally a java.util.concurrent.threadpoolexecutor)

69 Size thread pool to active session count (too much in queue == OOM! Use the Read Throttle filter)

70 recommended application pattern use ExecutorFilter as first in chain unless you need really low latency use ProtocolCodecFilter convert the wire protocol into a Java representation put application logic into an IoHandler store state in the IoSession minimum of Java 5 java.util.concurrent rocks!

71 Example Time!

72 Everybody loves a Haiku

73 This is our Haiku validator

74 Simple Protocol Connect Send 3 lines of text Receive HAIKU! or NOT A HAIKU: (plus a little reason why not)

75 ProtocolCodecFilter + TextLineCodecFactory Bytes to Java String s. For free!

76 ToHaiku Three String s to a Haiku

77 Filter is very testable (mock objects rock!)

78 IoHandler is very simple Validate Haiku, send result

79 Also very testable

80 Very easy to hook it all up

81 Questions?

82 Thank You!

83

(if you can t read this, move closer!) The high-performance protocol construction toolkit. Peter Royal

(if you can t read this, move closer!) The high-performance protocol construction toolkit. Peter Royal (if you can t read this, move closer!) Apache The high-performance protocol construction toolkit. Peter Royal Originally presented at ApacheCon US 2007 in Atlanta, GA 1 Hi, I m Peter

More information

Introduction to MINA. Trustin Lee.

Introduction to MINA. Trustin Lee. Introduction to MINA Trustin Lee trustin@apache.org http://people.apache.org/~trustin/ Agenda Overview In-depth View Implementation Demo Future Conclusion December 13, 2005 ApacheCon US 2005 2 Overview

More information

Apache Multipurpose Infrastructure for Network Applications Building Scalable Network Applications

Apache Multipurpose Infrastructure for Network Applications Building Scalable Network Applications Apache Multipurpose Infrastructure for Network Applications Building Scalable Network Applications Dan Pritchett Rearden Commerce Dan Pritchett Apache Multipurpose Infrastructure for Network Applications

More information

Achieving Scalability and High Availability for clustered Web Services using Apache Synapse. Ruwan Linton WSO2 Inc.

Achieving Scalability and High Availability for clustered Web Services using Apache Synapse. Ruwan Linton WSO2 Inc. Achieving Scalability and High Availability for clustered Web Services using Apache Synapse Ruwan Linton [ruwan@apache.org] WSO2 Inc. Contents Introduction Apache Synapse Web services clustering Scalability/Availability

More information

Introduction to Asynchronous I/O using the Grizzly Framework

Introduction to Asynchronous I/O using the Grizzly Framework Introduction to Asynchronous I/O using the Grizzly Framework Jeanfrancois Arcand Senior Staff Engineer Sun Microsystems Goal The Grizzly framework has been designed to help developers to take advantage

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

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

Building Large Scale Distributed Systems with AMQP. Ted Ross

Building Large Scale Distributed Systems with AMQP. Ted Ross Building Large Scale Distributed Systems with AMQP Ted Ross tross@apache.org Agenda What is AMQP? Why is AMQP important to large distributed enterprises? How is the Apache Community making AMQP a reality?

More information

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services MTAT.03.229 Enterprise System Integration Lecture 2: Middleware & Web Services Luciano García-Bañuelos Slides by Prof. M. Dumas Overall view 2 Enterprise Java 2 Entity classes (Data layer) 3 Enterprise

More information

Instant Integration into the AMQP Cloud with Apache Qpid Messenger. Rafael Schloming Principle Software Red Hat

Instant Integration into the AMQP Cloud with Apache Qpid Messenger. Rafael Schloming Principle Software Red Hat Instant Integration into the AMQP Cloud with Apache Qpid Messenger Rafael Schloming Principle Software Engineer @ Red Hat rhs@apache.org Overview Introduction Messaging AMQP Proton Demo Summary Introduction

More information

Adobe ColdFusion (2016 release)

Adobe ColdFusion (2016 release) Adobe (2016 release) Feature improvement history Features included in each edition of Adobe API Manager API monitoring API version and lifecycle management API access control API rate limiting and throttling

More information

NODE.JS MOCK TEST NODE.JS MOCK TEST I

NODE.JS MOCK TEST NODE.JS MOCK TEST I http://www.tutorialspoint.com NODE.JS MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Node.js Framework. You can download these sample mock tests at

More information

Apple. Massive Scale Deployment / Connectivity. This is not a contribution

Apple. Massive Scale Deployment / Connectivity. This is not a contribution Netty @ Apple Massive Scale Deployment / Connectivity Norman Maurer Senior Software Engineer @ Apple Core Developer of Netty Formerly worked @ Red Hat as Netty Project Lead (internal Red Hat) Author of

More information

ZiLOG Real-Time Kernel Version 1.2.0

ZiLOG Real-Time Kernel Version 1.2.0 ez80acclaim Family of Microcontrollers Version 1.2.0 PRELIMINARY Introduction The (RZK) is a realtime, preemptive, multitasking kernel designed for time-critical embedded applications. It is currently

More information

Protocols SPL/ SPL

Protocols SPL/ SPL Protocols 1 Application Level Protocol Design atomic units used by protocol: "messages" encoding reusable, protocol independent, TCP server, LinePrinting protocol implementation 2 Protocol Definition set

More information

Python Twisted. Mahendra

Python Twisted. Mahendra Python Twisted Mahendra M @mahendra http://creativecommons.org/licenses/by-sa/3.0/ Methods of concurrency Workers Threads and processes Event driven Let us examine this with the case of a web server Worker

More information

Towards a Common Java LDAP API

Towards a Common Java LDAP API Towards a Common Java LDAP API Emmanuel Lecharny Apache Software Foundation elecharny@apache.org Ludovic Poitou Sun Microsystems ludovic.poitou@sun.com Abstract. When it comes to access LDAP from the Java

More information

DVS-200 Configuration Guide

DVS-200 Configuration Guide DVS-200 Configuration Guide Contents Web UI Overview... 2 Creating a live channel... 2 Inputs... 3 Outputs... 6 Access Control... 7 Recording... 7 Managing recordings... 9 General... 10 Transcoding and

More information

MOVING FORWARD WITH FABRIC INTERFACES

MOVING FORWARD WITH FABRIC INTERFACES 14th ANNUAL WORKSHOP 2018 MOVING FORWARD WITH FABRIC INTERFACES Sean Hefty, OFIWG co-chair Intel Corporation April, 2018 USING THE PAST TO PREDICT THE FUTURE OFI Provider Infrastructure OFI API Exploration

More information

Capriccio : Scalable Threads for Internet Services

Capriccio : Scalable Threads for Internet Services Capriccio : Scalable Threads for Internet Services - Ron von Behren &et al - University of California, Berkeley. Presented By: Rajesh Subbiah Background Each incoming request is dispatched to a separate

More information

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java EJB Enterprise Java EJB Beans ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY Peter R. Egli 1/23 Contents 1. What is a bean? 2. Why EJB? 3. Evolution

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

Dolby Conference Phone 3.1 configuration guide for West

Dolby Conference Phone 3.1 configuration guide for West Dolby Conference Phone 3.1 configuration guide for West 17 January 2017 Copyright 2017 Dolby Laboratories. All rights reserved. For information, contact: Dolby Laboratories, Inc. 1275 Market Street San

More information

MRG - AMQP trading system in a rack. Carl Trieloff Senior Consulting Software Engineer/ Director MRG Red Hat, Inc.

MRG - AMQP trading system in a rack. Carl Trieloff Senior Consulting Software Engineer/ Director MRG Red Hat, Inc. MRG - AMQP trading system in a rack Carl Trieloff Senior Consulting Software Engineer/ Director MRG Red Hat, Inc. Trading system in a rack... We will cover a generic use case of a trading system in a rack,

More information

Adobe ColdFusion 11 Enterprise Edition

Adobe ColdFusion 11 Enterprise Edition Adobe ColdFusion 11 Enterprise Edition Version Comparison Adobe ColdFusion 11 Enterprise Edition Adobe ColdFusion 11 Enterprise Edition is an all-in-one application server that offers you a single platform

More information

MySQL X Protocol Talking to MySQL Directly over the Wire

MySQL X Protocol Talking to MySQL Directly over the Wire MySQL X Protocol Talking to MySQL Directly over the Wire Simon J Mudd Percona Live Europe Amsterdam 5 th October 2016 Content What is MySQL X protocol How does it work Building

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

Patterns for Asynchronous Invocations in Distributed Object Frameworks

Patterns for Asynchronous Invocations in Distributed Object Frameworks Patterns for Asynchronous Invocations in Distributed Object Frameworks Patterns for Asynchronous Invocations in Distributed Object Frameworks Markus Voelter Michael Kircher Siemens AG, Corporate Technology,

More information

Create High Performance, Massively Scalable Messaging Solutions with Apache ActiveBlaze

Create High Performance, Massively Scalable Messaging Solutions with Apache ActiveBlaze Create High Performance, Massively Scalable Messaging Solutions with Apache ActiveBlaze Rob Davies Director of Open Source Product Development, Progress: FuseSource - http://fusesource.com/ Rob Davies

More information

SaaS Providers. ThousandEyes for. Summary

SaaS Providers. ThousandEyes for. Summary USE CASE ThousandEyes for SaaS Providers Summary With Software-as-a-Service (SaaS) applications rapidly replacing onpremise solutions, the onus of ensuring a great user experience for these applications

More information

Outline. More on MINA features. ú Performance. ú Separating low- level IO handling from the protocol from the business logic.

Outline. More on MINA features. ú Performance. ú Separating low- level IO handling from the protocol from the business logic. Ehab Ababneh Outline The Problem: Thousands of Clients. Solution: Non- Blocking IO. The Reactor Pattern: Down to the roots of NBIO. NBIO is hard, just like multithreading. Frameworks are a bliss!... Apache

More information

DVS-200 Configuration Guide

DVS-200 Configuration Guide DVS-200 Configuration Guide Contents Web UI Overview... 2 Creating a live channel... 2 Inputs... 3 Outputs... 7 Access Control... 8 Recording... 8 Managing recordings... 10 General... 11 Transcoding and

More information

Real World Messaging With Apache ActiveMQ. Bruce Snyder 7 Nov 2008 New Orleans, Louisiana

Real World Messaging With Apache ActiveMQ. Bruce Snyder 7 Nov 2008 New Orleans, Louisiana Real World Messaging With Apache ActiveMQ Bruce Snyder bsnyder@apache.org 7 Nov 2008 New Orleans, Louisiana Do You Use JMS? 2 Agenda Common questions ActiveMQ features 3 What is ActiveMQ? Message-oriented

More information

Next-Generation AMQP Messaging Performance, Architectures, and Ecosystems with Red Hat Enterprise MRG. Bryan Che MRG Product Manager Red Hat, Inc.

Next-Generation AMQP Messaging Performance, Architectures, and Ecosystems with Red Hat Enterprise MRG. Bryan Che MRG Product Manager Red Hat, Inc. Next-Generation AMQP Messaging Performance, Architectures, and Ecosystems with Red Hat Enterprise MRG Bryan Che MRG Product Manager Red Hat, Inc. Carl Trieloff Senior Consulting Software Engineer/ Director

More information

Multithreading and Interactive Programs

Multithreading and Interactive Programs Multithreading and Interactive Programs CS160: User Interfaces John Canny. Last time Model-View-Controller Break up a component into Model of the data supporting the App View determining the look of the

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

Application Layer Introduction; HTTP; FTP

Application Layer Introduction; HTTP; FTP Application Layer Introduction; HTTP; FTP Tom Kelliher, CS 325 Feb. 4, 2011 1 Administrivia Announcements Assignment Read 2.4 2.6. From Last Time Packet-switched network characteristics; protocol layers

More information

Foundations of Python

Foundations of Python Foundations of Python Network Programming The comprehensive guide to building network applications with Python Second Edition Brandon Rhodes John Goerzen Apress Contents Contents at a Glance About the

More information

Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1

Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1 Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1 version 1.0 July, 2007 Table of Contents 1. Introduction...3 2. Best practices...3 2.1 Preparing the solution environment...3

More information

Purplefinder Enterprise Platform Messagng with ActiveMQ. Peter Potts 13 th October 2010

Purplefinder Enterprise Platform Messagng with ActiveMQ. Peter Potts 13 th October 2010 Purplefinder Enterprise Platform Messagng with ActiveMQ Peter Potts 13 th October 2010 Resources Manning Book: ActiveMQ in Action Apache Documentation & download: http://activemq.apache.org/ 8 example

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

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

Collaboration of Tasks

Collaboration of Tasks Operating systems (vimia219) Collaboration of Tasks Tamás Kovácsházy, PhD 13 rd Topic Inter Process Communication with Message Passing Budapest University of Technology and Economics Department of Measurement

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

Holberton takes on full-stack software engineering with a project based approach, we have a mission to cultivate community and encourage innovation.

Holberton takes on full-stack software engineering with a project based approach, we have a mission to cultivate community and encourage innovation. Syllabus - Year 1 Holberton takes on full-stack software engineering with a project based approach, we have a mission to cultivate community and encourage innovation. Our syllabus walks through the major

More information

MRCP. Client Integration Manual. Developer Guide. Powered by Universal Speech Solutions LLC

MRCP. Client Integration Manual. Developer Guide. Powered by Universal Speech Solutions LLC Powered by Universal Speech Solutions LLC MRCP Client Integration Manual Developer Guide Revision: 37 Last updated: May 20, 2017 Created by: Arsen Chaloyan Universal Speech Solutions LLC Overview 1 Table

More information

WebSphere MQ Low Latency Messaging V2.1. High Throughput and Low Latency to Maximize Business Responsiveness IBM Corporation

WebSphere MQ Low Latency Messaging V2.1. High Throughput and Low Latency to Maximize Business Responsiveness IBM Corporation WebSphere MQ Low Latency Messaging V2.1 High Throughput and Low Latency to Maximize Business Responsiveness 2008 IBM Corporation WebSphere MQ Low Latency Messaging Extends the WebSphere MQ messaging family

More information

Introduction to Distributed Systems. Fabienne Boyer, LIG,

Introduction to Distributed Systems. Fabienne Boyer, LIG, Introduction to Distributed Systems Fabienne Boyer, LIG, fabienne.boyer@imag.fr What is a distributed system? Set of software components Running in separate address spaces Communicating through a network

More information

Grid Computing Fall 2005 Lecture 5: Grid Architecture and Globus. Gabrielle Allen

Grid Computing Fall 2005 Lecture 5: Grid Architecture and Globus. Gabrielle Allen Grid Computing 7700 Fall 2005 Lecture 5: Grid Architecture and Globus Gabrielle Allen allen@bit.csc.lsu.edu http://www.cct.lsu.edu/~gallen Concrete Example I have a source file Main.F on machine A, an

More information

Erlang and Thrift for Web Development

Erlang and Thrift for Web Development Erlang and Thrift for Web Development Todd Lipcon (@tlipcon) Cloudera June 25, 2009 Introduction Erlang vs PHP Thrift A Case Study About Me Who s this dude who looks like he s 14? Built web sites in Perl,

More information

Data Model Considerations for Radar Systems

Data Model Considerations for Radar Systems WHITEPAPER Data Model Considerations for Radar Systems Executive Summary The market demands that today s radar systems be designed to keep up with a rapidly changing threat environment, adapt to new technologies,

More information

Mobile Operating Systems Lesson 04 PalmOS Part 2

Mobile Operating Systems Lesson 04 PalmOS Part 2 Mobile Operating Systems Lesson 04 PalmOS Part 2 Oxford University Press 2007. All rights reserved. 1 PalmOS Memory Support Assumes that there is a 256 MB memory card(s) The card RAM, ROM, and flash memories

More information

SE Memory Consumption

SE Memory Consumption Page 1 of 5 view online Overview Calculating the utilization of memory within a Service Engine (SE) is useful to estimate the number of concurrent connections or the amount of memory that may be allocated

More information

Dolby Conference Phone. Configuration Guide for Microsoft Skype for Business

Dolby Conference Phone. Configuration Guide for Microsoft Skype for Business Dolby Conference Phone Configuration Guide for Microsoft Skype for Business Version 3.3 31 July 2017 Copyright 2017 Dolby Laboratories. All rights reserved. Dolby Laboratories, Inc. 1275 Market Street

More information

Chapter 5.6 Network and Multiplayer

Chapter 5.6 Network and Multiplayer Chapter 5.6 Network and Multiplayer Multiplayer Modes: Event Timing Turn-Based Easy to implement Any connection type Real-Time Difficult to implement Latency sensitive 2 Multiplayer Modes: Shared I/O Input

More information

Grand Central Dispatch

Grand Central Dispatch A better way to do multicore. (GCD) is a revolutionary approach to multicore computing. Woven throughout the fabric of Mac OS X version 10.6 Snow Leopard, GCD combines an easy-to-use programming model

More information

Rocking with Racket. Marc Burns Beatlight Inc

Rocking with Racket. Marc Burns Beatlight Inc Rocking with Racket Marc Burns Beatlight Inc What am I doing here? My first encounter with Racket was in 2010 I wanted to use Racket in industry The opportunity arose in June 2014: Loft What am I doing

More information

SE Memory Consumption

SE Memory Consumption Page 1 of 5 SE Memory Consumption view online Calculating the utilization of memory within a Service Engine is useful to estimate the number of concurrent connections or the amount of memory that may be

More information

Multithreading and Interactive Programs

Multithreading and Interactive Programs Multithreading and Interactive Programs CS160: User Interfaces John Canny. This time Multithreading for interactivity need and risks Some design patterns for multithreaded programs Debugging multithreaded

More information

Chapter 4: Threads. Operating System Concepts. Silberschatz, Galvin and Gagne

Chapter 4: Threads. Operating System Concepts. Silberschatz, Galvin and Gagne Chapter 4: Threads Silberschatz, Galvin and Gagne Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Linux Threads 4.2 Silberschatz, Galvin and

More information

Nirvana A Technical Introduction

Nirvana A Technical Introduction Nirvana A Technical Introduction Cyril PODER, ingénieur avant-vente June 18, 2013 2 Agenda Product Overview Client Delivery Modes Realm Features Management and Administration Clustering & HA Scalability

More information

Inter-Process Communication and Synchronization of Processes, Threads and Tasks: Lesson-1: PROCESS

Inter-Process Communication and Synchronization of Processes, Threads and Tasks: Lesson-1: PROCESS Inter-Process Communication and Synchronization of Processes, Threads and Tasks: Lesson-1: PROCESS 1 Process Concepts 2 Process A process consists of executable program (codes), state of which is controlled

More information

Zilog Real-Time Kernel

Zilog Real-Time Kernel An Company Configurable Compilation RZK allows you to specify system parameters at compile time. For example, the number of objects, such as threads and semaphores required, are specez80acclaim! Family

More information

Nubo on premise POC requirements for VMWare ESXi

Nubo on premise POC requirements for VMWare ESXi for VMWare ESXi Version 1 Date October, 2015 page 1 Table of Contents 1. About this document 2. Nubo POC Architecture Diagram 3. Hardware Requirements 4. Software Requirements 5. Network & Settings Requirements

More information

ThousandEyes for. Application Delivery White Paper

ThousandEyes for. Application Delivery White Paper ThousandEyes for Application Delivery White Paper White Paper Summary The rise of mobile applications, the shift from on-premises to Software-as-a-Service (SaaS), and the reliance on third-party services

More information

Dotstack Porting Guide.

Dotstack Porting Guide. dotstack TM Dotstack Porting Guide. dotstack Bluetooth stack is a C library and several external interfaces that needs to be implemented in the integration layer to run the stack on a concrete platform.

More information

Let s Encrypt Apache Tomcat * * Full disclosure: Tomcat will not actually be encrypted.

Let s Encrypt Apache Tomcat * * Full disclosure: Tomcat will not actually be encrypted. Let s Encrypt Apache Tomcat * * Full disclosure: Tomcat will not actually be encrypted. Christopher Schultz Chief Technology Officer Total Child Health, Inc. * Slides available on the Linux Foundation

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

Apache Thrift Introduction & Tutorial

Apache Thrift Introduction & Tutorial Apache Thrift Introduction & Tutorial Marlon Pierce, Suresh Marru Q & A TIOBE Index Programming Language polyglotism Modern distributed applications are rarely composed of modules written in a single language.

More information

Designing for Scalability. Patrick Linskey EJB Team Lead BEA Systems

Designing for Scalability. Patrick Linskey EJB Team Lead BEA Systems Designing for Scalability Patrick Linskey EJB Team Lead BEA Systems plinskey@bea.com 1 Patrick Linskey EJB Team Lead at BEA OpenJPA Committer JPA 1, 2 EG Member 2 Agenda Define and discuss scalability

More information

September 15th, Finagle + Java. A love story (

September 15th, Finagle + Java. A love story ( September 15th, 2016 Finagle + Java A love story ( ) @mnnakamura hi, I m Moses Nakamura Twitter lives on the JVM When Twitter realized we couldn t stay on a Rails monolith and continue to scale at the

More information

ACCELERATED COMPLEX EVENT PROCESSING WITH GRAPHICS PROCESSING UNITS

ACCELERATED COMPLEX EVENT PROCESSING WITH GRAPHICS PROCESSING UNITS ACCELERATED COMPLEX EVENT PROCESSING WITH GRAPHICS PROCESSING UNITS Prabodha Srimal Rodrigo Registration No. : 138230V Degree of Master of Science Department of Computer Science & Engineering University

More information

User-level threads. with threads. Paul Turner

User-level threads. with threads. Paul Turner User-level threads with threads. Paul Turner Threading Models 1:1 (Kernel Threading) User contexts correspond directly with their own kernel schedulable entity. Everything does this (e.g.

More information

Async Programming & Networking. CS 475, Spring 2018 Concurrent & Distributed Systems

Async Programming & Networking. CS 475, Spring 2018 Concurrent & Distributed Systems Async Programming & Networking CS 475, Spring 2018 Concurrent & Distributed Systems Review: Resource Metric Processes images Camera Sends images Image Service 2 Review: Resource Metric Processes images

More information

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication

More information

How we scaled push messaging for millions of Netflix devices. Susheel Aroskar Cloud Gateway

How we scaled push messaging for millions of Netflix devices. Susheel Aroskar Cloud Gateway How we scaled push messaging for millions of Netflix devices Susheel Aroskar Cloud Gateway Why do we need push? How I spend my time in Netflix application... What is push? What is push? How you can build

More information

JVM and application bottlenecks troubleshooting

JVM and application bottlenecks troubleshooting JVM and application bottlenecks troubleshooting How to find problems without using sophisticated tools Daniel Witkowski, EMEA Technical Manager, Azul Systems Daniel Witkowski - About me IT consultant and

More information

GIS - Clustering Architectures. Raj Kumar Integration Management 9/25/2008

GIS - Clustering Architectures. Raj Kumar Integration Management 9/25/2008 GIS - Clustering Architectures Raj Kumar Integration Management 9/25/2008 Agenda What is Clustering Reasons to Cluster Benefits Perimeter Server Clustering Components of GIS Clustering Perimeter Server

More information

AP-MC1500 Audio MCU(Multipoint Control Unit) High-performance Audio MCU Solution

AP-MC1500 Audio MCU(Multipoint Control Unit) High-performance Audio MCU Solution AP-MC1500 Audio MCU(Multipoint Control Unit) High-performance Audio MCU Solution AddPac Technology 2007, Sales and Marketing www.addpac.com Contents Product Overview Hardware Specification Software Service

More information

ASP Project: STTP Streaming Telemetry Transport Protocol

ASP Project: STTP Streaming Telemetry Transport Protocol J. Ritchie Carroll Grid Protection Alliance ASP Project: STTP Streaming Telemetry Transport Protocol NASPI Fall Meeting Philadelphia, PA October 23, 2018 DOE FOA 1492 DE- Project Partners 2 Schedule and

More information

Grid Computing. MCSN - N. Tonellotto - Distributed Enabling Platforms

Grid Computing. MCSN - N. Tonellotto - Distributed Enabling Platforms Grid Computing 1 Resource sharing Elements of Grid Computing - Computers, data, storage, sensors, networks, - Sharing always conditional: issues of trust, policy, negotiation, payment, Coordinated problem

More information

Spoilt for Choice Which Integration Framework to choose? Mule ESB. Integration. Kai Wähner

Spoilt for Choice Which Integration Framework to choose? Mule ESB. Integration.  Kai Wähner Spoilt for Choice Which Integration Framework to choose? Integration vs. Mule ESB vs. Main Tasks Evaluation of Technologies and Products Requirements Engineering Enterprise Architecture Management Business

More information

CHAPTER - 4 REMOTE COMMUNICATION

CHAPTER - 4 REMOTE COMMUNICATION CHAPTER - 4 REMOTE COMMUNICATION Topics Introduction to Remote Communication Remote Procedural Call Basics RPC Implementation RPC Communication Other RPC Issues Case Study: Sun RPC Remote invocation Basics

More information

Make sure you join the member server to Active directory domain

Make sure you join the member server to Active directory domain Configure Windows Server 2008 Member Server as Domain Controller Overview: Domain controllers allow local and remote users to leverage on directory service to store the directory data. Most of the System

More information

Dolby Conference Phone 3.0 configuration guide for Unify OpenScape Enterprise Express 8.0.x

Dolby Conference Phone 3.0 configuration guide for Unify OpenScape Enterprise Express 8.0.x Dolby Conference Phone 3.0 configuration guide for Unify OpenScape Enterprise Express 8.0.x 11 July 2016 Copyright 2016 Dolby Laboratories. All rights reserved. For information, contact: Dolby Laboratories,

More information

Chapter 4: Threads. Operating System Concepts 9 th Edit9on

Chapter 4: Threads. Operating System Concepts 9 th Edit9on Chapter 4: Threads Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads 1. Overview 2. Multicore Programming 3. Multithreading Models 4. Thread Libraries 5. Implicit

More information

Pimp My Data Grid. Brian Oliver Senior Principal Solutions Architect <Insert Picture Here>

Pimp My Data Grid. Brian Oliver Senior Principal Solutions Architect <Insert Picture Here> Pimp My Data Grid Brian Oliver Senior Principal Solutions Architect (brian.oliver@oracle.com) Oracle Coherence Oracle Fusion Middleware Agenda An Architectural Challenge Enter the

More information

C++ Threading. Tim Bailey

C++ Threading. Tim Bailey C++ Threading Introduction Very basic introduction to threads I do not discuss a thread API Easy to learn Use, eg., Boost.threads Standard thread API will be available soon The thread API is too low-level

More information

COMP90015: Distributed Systems Assignment 1 Multi-threaded Dictionary Server (15 marks)

COMP90015: Distributed Systems Assignment 1 Multi-threaded Dictionary Server (15 marks) COMP90015: Distributed Systems Assignment 1 Multi-threaded Dictionary Server (15 marks) Problem Description Using a client-server architecture, design and implement a multi-threaded server that allows

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

Accelerate MySQL for Demanding OLAP and OLTP Use Case with Apache Ignite December 7, 2016

Accelerate MySQL for Demanding OLAP and OLTP Use Case with Apache Ignite December 7, 2016 Accelerate MySQL for Demanding OLAP and OLTP Use Case with Apache Ignite December 7, 2016 Nikita Ivanov CTO and Co-Founder GridGain Systems Peter Zaitsev CEO and Co-Founder Percona About the Presentation

More information

Our topic. Concurrency Support. Why is this a problem? Why threads? Classic solution? Resulting architecture. Ken Birman

Our topic. Concurrency Support. Why is this a problem? Why threads? Classic solution? Resulting architecture. Ken Birman Our topic Concurrency Support Ken Birman To get high performance, distributed systems need to achieve a high level of concurrency As a practical matter: interleaving tasks, so that while one waits for

More information

Performance Objects and Counters for the System

Performance Objects and Counters for the System APPENDIXA Performance Objects and for the System May 19, 2009 This appendix provides information on system-related objects and counters. Cisco Tomcat Connector, page 2 Cisco Tomcat JVM, page 4 Cisco Tomcat

More information

Chapter 4: Threads. Chapter 4: Threads

Chapter 4: Threads. Chapter 4: Threads Chapter 4: Threads Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Operating System Examples

More information

Overview of Layered Architectures

Overview of Layered Architectures Overview of ed Architectures Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Professor of Computer Science Institute for Software Integrated Systems Vanderbilt University Nashville,

More information

SELF-AWARE APPLICATIONS AUTOMATIC PRODUCTION DIAGNOSIS DINA GOLDSHTEIN

SELF-AWARE APPLICATIONS AUTOMATIC PRODUCTION DIAGNOSIS DINA GOLDSHTEIN SELF-AWARE APPLICATIONS AUTOMATIC PRODUCTION DIAGNOSIS DINA GOLDSHTEIN Agenda Motivation Hierarchy of self-monitoring CPU profiling GC monitoring Heap analysis Deadlock detection 2 Agenda Motivation Hierarchy

More information

Instrument Software Framework (ISF) A Small Scale Component Framework for Space

Instrument Software Framework (ISF) A Small Scale Component Framework for Space Mars Science Laboratory Instrument Software Framework (ISF) A Small Scale Component Framework for Space Timothy Canham, Jet Propulsion Laboratory Garth Watney, Jet Propulsion Laboratory Leonard Reder,

More information

Lecture notes Lectures 1 through 5 (up through lecture 5 slide 63) Book Chapters 1-4

Lecture notes Lectures 1 through 5 (up through lecture 5 slide 63) Book Chapters 1-4 EE445M Midterm Study Guide (Spring 2017) (updated February 25, 2017): Instructions: Open book and open notes. No calculators or any electronic devices (turn cell phones off). Please be sure that your answers

More information

Requirements and Dependencies

Requirements and Dependencies CHAPTER 2 You can install and use Security Manager as a standalone product or in combination with several other Cisco Security Management Suite applications, including optional applications that you can

More information

Session W-06. Brian Lauge Pedersen Technical Solutions Professional - Datacenter

Session W-06. Brian Lauge Pedersen Technical Solutions Professional - Datacenter Session W-06 Brian Lauge Pedersen Technical Solutions Professional - Datacenter blauge@microsoft.com Introducing & Benefits of Remote Desktop Services Remote Desktop Architecture What's New for Windows

More information