- Browse by Author
Browsing by Author "Satyanarayana, Geetha R."
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item A quantitative comparison & evaluation of prominent marshalling/un-marshalling formats in distributed real-time & embedded systems(2016-07-11) Satyanarayana, Geetha R.; Hill, James Haswell; Raje, Rajeev R.; Tuceryan, MihranThis thesis demonstrates a novel idea on how components in a distributed real-time & embedded (DRE) system can choose from different data interchange formats at run-time. It also quantitatively evaluates three binary data interchange protocols used in distributed real-time & embedded (DRE) systems: the Common Data Representation (CDR), which collects data "as-is" into a buffer; Binary JSON (BSON), which enables "on the fly" discovery of elements in a message; and FIX Adapted for Streaming (FAST), which is a binary compression algorithm popularly used for data exchange in financial stock market domain. We compare these three data exchange formats to determine if it is possible to minimize the data usage without compromising CPU processing times, data throughput, and data latency. The lack of such a study has made protocols such as CDR popular based on the assumption that collecting data "as-is" will consume less processing time and send with high throughput. We perform the study in the context of an Open Source Architecture for Software Instrumentation of Systems (OASIS). To perform our study, we modified its existing data interchange framework to flexibly and seamlessly integrate either format, and let the components choose a format at run-time. The experiments from our study shows that as data size increases, the throughput of CDR, BSON, and FAST decreases by 96.16%, 97.23%, and 84.41%, respectively. The increase in packaging and un-packaging times are 1985.12% and 1642.28% for FAST, compared to 3158.96% and 2312.50% for CDR, and 5077.98% and 3686.48% for BSON.Item Real time, Non-Intrusive Instrumentation & Monitoring of Standards-based Event-based Middleware(Office of the Vice Chancellor for Research, 2016-04-08) Satyanarayana, Geetha R.; Tu, Liren; Hill, James H.Standards-based middleware, such as the Common Object Request Broker Architecture (CORBA) Component Model and the Data Distribution Service, support event-based services for decoupled, asynchronous messaging between software components in a distributed system. The messaging models use the publisher-subscriber paradigm where one or more subscribers can subscribe to events from one or more publishers. The advantage of this paradigm is neither the publisher nor subscriber needs to be aware of the other. Instead, either entity is only concerned with the publication or receipt of an event. A critical aspect of these systems, however, is their instrumentation for analysis purposes, like monitoring its performance, state, and behavior to ensure the system is executing as expected. Traditionally, instrumenting such systems relied on intrusive instrumentation approaches, where developer inserted code snippets into the source code to collect the information needed. This means that developers must understand the original code, run the risk of inserting malicious code, and intermix code related to instrumentation with the normal business logic. Moreover, as the normal business logic evolves, the instrumentation code must also evolve. This can become a burden on developers until the business logic become less volatile. To overcome this complexity, we present Dynamic Event Monitor, a tool that can non-intrusively instrument and monitor events in a large scale distributed system at run time, using dynamic binary instrumentation. It operates in contexts without any a priori knowledge of the concrete events in the system, or how the system is composed. We have applied Dynamic Event Monitor to applications implemented in CORBA. Our results show that once the application is completely instrumented, the performance impact of actually monitoring events is minimal. For the applications we have tested, the instrumentation time is about 30-45 seconds and the time for real-time monitoring of events is about 2 milliseconds.