Performance Study of Message-Passing in an Event Service: Java
Download
Report
Transcript Performance Study of Message-Passing in an Event Service: Java
Performance Study of Message
Passing in an Event Service:
Java RMI vs. TCP Sockets
MSE Project Presentation
Phase-I
Laxminarayan Muktinutalapati
(Lux)
Department of Computing and Information Sciences
Kansas State University
Overview
Introduction
Event service
Project Focus
Java RMI vs. TCP Sockets
Assumptions and Constraints
…contd.
Overview …(2)
Software Requirements Specification
Size Estimates
Project Plan
Documentation
Introduction
Event based distributed systems
Programmed to operate in response to
events
E.g.: Instant messaging, Stock-price
tracking, etc.
Distributed event service developed
independently in Java for the project
The Event Service
Distributed event service
Producer-Consumer pattern
Supports push model of event reception
Producers and Consumers decoupled
Event Notification Service (ENS) is the
means of communication
Event Service …(2)
Function of Event Notification Service
(ENS)
Deliver information regarding events
published (by Producers) to those
(Consumers) who are interested in the
corresponding information
Consumers typically register interest in
certain events with ENS
Event Service – Diagram
subscribe(event)
Producer
Consumer
unsubscribe(event)
push(event)
push(event)
Event
Notification
Service
Project Focus
Time based measures – to determine
efficiency of underlying mechanism
used for message passing
Java RMI vs. TCP Sockets
Tests performed at varying loads…
Measurements
Time taken for each event:
Ti = t1i + max { t2i= 1..n}
subscribe(event)
Producer
Consumer
unsubscribe(event)
push(event)
t1i
push(event)
Event
Notification
Service
t2i
Java RMI vs. TCP Sockets
Equivalent to a choice between ease of
use and performance
RMI inherits all the benefits from Java
Issues like object serialization handled
by Java
Communication via sockets known to be
considerably faster
Assumptions and Constraints
System operates on a complete network –
every node connected to every other node
Predefined set of events the producers
generate, which the consumers are familiar
with
Network latency – negligible or no effect on
results
Tests conducted to accommodate any other
such factors (time of day, load on system,
etc.)
Software Requirements Specification
To identify and define the requirements to aid
in developing the proposed system
Overall description of the system is followed
by a section that gives the specific
requirements which discusses key
functionality of the end product in adequate
detail
This document shall evolve continually
Size Estimation
Based on Function Point Analysis (FPA) as
outlined by IFPUG
Software measured in terms of user-level
functionality – system broken down into smaller
components based on functionality
Independent of technology used
Functional components carry weights which
contribute to the final Function Point Count
(FPC), which can be translated into a fair
estimate of the size of the proposed system
Estimates Summary
Total Unadjusted Function Points
UFP = 51
Value Adjustment Factor
VAF = 1.0
Final Function Point Count
FPC = UFP * VAF = 51
Language Factor for Java (LF): 53
Estimated Source Lines of Code
SLOC = FPC * LF = 2703
Project Plan
Phase I: Requirements
Overview, SRS, Cost Estimate, Project Plan
December 18, 2002
Phase II: Architecture
Formal Requirement Specification, Software
Quality Assurance Plan, Architecture Design, Test
Plan, Formal Technical Inspection
January 2003
Phase III: Implementation
User manual, Source Code, Testing and Reliability
Evaluation, Project Evaluation, References
February 2003
Documentation
The following documents, required for the
Phase-I presentation are available online:
Overview Document
Software Requirements Specification
Cost Estimation
Project Plan
Engineering Notebook (Time log)
URL - http://www.cis.ksu.edu/~lmu9988/MSE/P1
Thank You!