Font Size: a A A

High performance robust computer systems

Posted on:2002-05-18Degree:Ph.DType:Dissertation
University:Carnegie Mellon UniversityCandidate:DeVale, John PeterFull Text:PDF
GTID:1468390011492422Subject:Computer Science
Abstract/Summary:PDF Full Text Request
Although our society increasingly relies on computing systems for smooth, efficient operation; computer “errors” that interrupt our lives are commonplace. Better error and exception handling seems to be correlated with more reliable software systems [shelton00] [koopman99]. Unfortunately, robust handling of exceptional conditions is a rarity in modern software systems, and there are no signs that the situation is improving. This dissertation examines the central issues surrounding the reasons why software systems are, in general, not robust, and presents methods of resolving each issue.; Although it is commonly held that building robust code is too impractical, we present methods of addressing common robustness failures in a simple, generic fashion. We develop uncomplicated checking mechanisms that can be used to detect and handle exceptional conditions before they can affect process or system state (preemptive detection). This gives a software system the information it needs to gracefully recover from the exceptional condition without the need for task restarts.; The perception that computing systems can be either robust or fast (but not both) is a myth perpetuated by not only a dearth of quantitative data, but also an abundance of conventional wisdom whose truth is rooted in an era before modern superscalar processors. The advanced microarchitectural features of such processors are the key to building and understanding systems that are both fast and robust. This research provides an objective, quantitative analysis of the performance cost associated with making a software system highly robust. It develops methods by which the systems studied can be made robust for less than 5% performance overhead for nearly every case, and often much less.; Studies indicate that most programmers have an incomplete understanding of how to build software systems with robust exception handling, or even the importance of good design with respect to handling errors and exceptional conditions [maxion98]. Those studies, while large in scope and thorough in analysis, contain data from students with little professional programming experience. This work presents data collected from professional programming teams that measured their expected exception handling performance against their achieved performance. The data provides an indication that despite industry experience or specifications mandating robustness, some teams could not predict the robustness response of their software, and did not build robust systems.
Keywords/Search Tags:Systems, Robust, Performance, Software
PDF Full Text Request
Related items