Date of Award
Fall 2013
Degree Type
Dissertation
Degree Name
Doctor of Philosophy (PhD)
Department
Computer Science
First Advisor
Charles E. Killian
Second Advisor
Jennifer L. Neville
Committee Chair
Charles E. Killian
Committee Member 1
Jennifer L. Neville
Committee Member 2
Dongyan Xu
Committee Member 3
Ramana R. Kompella
Committee Member 4
Patrick T. Eugster
Abstract
Systems software of very large scales are being heavily used today in various important scenarios such as online retail, banking, content services, web search and social networks. As the scale of functionality and complexity grows in these software, managing the implementations becomes a considerable challenge for developers, designers and maintainers. Software needs to be constantly monitored and tuned for optimal efficiency and user satisfaction. With large scale, these systems incorporate significant degrees of asynchrony, parallelism and distributed executions, reducing the manageability of software including performance management. Adding to the complexity, developers are under pressure between developing new functionality for customers and maintaining existing programs. This dissertation argues that the manual effort currently required to manage performance of these systems is very high, and can be automated to both reduce the likelihood of problems and quickly fix them once identified. The execution logs from these systems are easily available and provide rich information about the internals at runtime for diagnosis purposes, but the volume of logs is simply too large for today's techniques. Developers hence spend many human hours observing and investigating executions of their systems during development and diagnosis of software, for performance management. This dissertation proposes the application of machine learning techniques to automatically analyze logs from executions, to challenging tasks in different phases of the software lifecycle. It is shown that the careful application of statistical techniques to features extracted from instrumentation, can distill the rich log data into easily comprehensible forms for the developers.
Recommended Citation
Nagaraj, Karthik Swaminathan, "Enabling Richer Insight Into Runtime Executions Of Systems" (2013). Open Access Dissertations. 96.
https://docs.lib.purdue.edu/open_access_dissertations/96