(if you can t read this, move closer!) The high-performance protocol construction toolkit. Peter Royal
|
|
- Caroline Wade
- 6 years ago
- Views:
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!) Apache The high-performance protocol construction toolkit. Peter Royal Originally presented at ApacheCon US 2007 in Atlanta, GA 1 Hi, I m Peter
More informationIntroduction 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 informationApache 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 informationAchieving 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 informationIntroduction 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 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 informationLightstreamer. 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 informationBuilding 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 informationMTAT 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 informationInstant 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 informationAdobe 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 informationNODE.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 informationApple. 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 informationZiLOG 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 informationProtocols 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 informationPython 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 informationTowards 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 informationDVS-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 informationMOVING 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 informationCapriccio : 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 informationEJB 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 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 informationDolby 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 informationMRG - 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 informationAdobe 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 informationMySQL 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 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 informationPatterns 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 informationCreate 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 informationSaaS 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 informationOutline. 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 informationDVS-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 informationReal 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 informationNext-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 informationMultithreading 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 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 informationApplication 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 informationFoundations 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 informationPerformance 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 informationPurplefinder 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 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 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 informationCollaboration 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 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 informationHolberton 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 informationMRCP. 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 informationWebSphere 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 informationIntroduction 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 informationGrid 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 informationErlang 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 informationData 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 informationMobile 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 informationSE 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 informationDolby 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 informationChapter 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 informationGrand 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 informationRocking 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 informationSE 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 informationMultithreading 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 informationChapter 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 informationNirvana 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 informationInter-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 informationZilog 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 informationNubo 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 informationThousandEyes 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 informationDotstack 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 informationLet 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 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 informationApache 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 informationDesigning 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 informationSeptember 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 informationACCELERATED 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 informationUser-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 informationAsync 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 informationMiddleware. 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 informationHow 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 informationJVM 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 informationGIS - 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 informationAP-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 informationASP 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 informationGrid 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 informationSpoilt 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 informationCHAPTER - 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 informationMake 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 informationDolby 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 informationChapter 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 informationPimp 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 informationC++ 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 informationCOMP90015: 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 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 informationAccelerate 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 informationOur 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 informationPerformance 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 informationChapter 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 informationOverview 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 informationSELF-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 informationInstrument 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 informationLecture 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 informationRequirements 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 informationSession 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