- Browse by Subject
Browsing by Subject "software systems"
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item REAL-TIME MONITORING AND ANALYSIS OF DISTRIBUTED SOFTWARE SYSTEMS VIA THE WEB(Office of the Vice Chancellor for Research, 2012-04-13) Puranik, Darshan G.; Hill, James H.Web 2.0 and HTML5 is revolutionizing the way end-users interact with web pages and web sites via the World Wide Web. Instead of interacting with static web pages that require end-users to transparently surf between pages and achieve some variation of dynamic behavior related to new con-tent, end-users now remain on the same page while new content is streamed from the web server. This advancement in technology is now bringing real-time capabilities to the web. Current state-of-the-art frameworks built atop Web 2.0 and HTML5 that enable real-time capabilities via the web is called Asynchronous JavaScript and XML (AJAX). AJAX operates by contacting the web server in the back-ground (i.e., without causing the browser to surf to a new page) and execut-ing an infinite loop that continuously streams content, such as new instant messages and images, back to the client browser. Although AJAX enables real-time streaming of content, it is resource intensive on the server-side. An emerging technology called WebSockets has the potential to address many of the shortcomings of AJAX, such as resource intensity. It, however, is unknown how much WebSockets improves upon AJAX. This research therefore compares the performance of AJAX and WebSockets. We perform this comparison by implementing a real-time dashboard for the Open-Source Architecture for Software Instrumentation of Systems (OASIS), which is an open-source framework for supporting real-time instrumentation of distributed software systems.Item Realtime Dynamic Binary Instrumentation(Office of the Vice Chancellor for Research, 2016-04-08) Du, Mike; Hill, James H.Abstract: We present a novel technique and framework for decreasing instrumentation overhead in software systems that utilize dynamic binary instrumentation. First, we introduce a lightweight networking framework combined with an easily extensible BSON implementation as a heavy analysis routine replacement. Secondly, we bind instrumentation and analysis threads to non-overlapping cpu cores---allowing analysis threads to execute faster. Lastly, we utilize a lock-free buffering system to bridge the gap between instrumentation and analysis threads, and minimize the overhead to the instrumentation threads. Using this combination, we managed to write a dynamic binary instrumentation tool (DBI) in Pin using Pin++ that is 1100% faster than its counterpart DBI tool with no buffering, and less than 500% slower than a similar tool with no analysis routine.