{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/109425"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/109425","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Towards scalable and specialized application error analysis","abstract":"Modern systems at scale are increasingly susceptible to transient hardware errors at current technology sizes from natural phenomena such as high-energy particle strikes (also called soft errors). Traditional solutions aimed at dealing with soft errors, however, typically rely on indiscriminate redundancy in space and/or time for resilience. Such techniques can incur high system overheads, whether in manufacturing cost, runtime performance, energy consumption, and/or area requirements. Moreover, the all-or-nothing protection oﬀered by full redundancy may result in over-protection and ineﬃcient use of resources. To that end, while it is critical to be able to protect against the eﬀect of hardware errors, it is important to do so in an an eﬃcient and low-cost manner. One way to reduce the cost of protecting applications from hardware errors is to understand how errors propagate at ﬁner granularities, and only protect vulnerable components via selective duplication. This raises three important questions: 1. What granularity of analysis is reasonable to target? 2. Which components at this granularity should be selected for protection? 3. How should the selective protection be implemented in a low-cost manner? This thesis addresses these three questions with the design of multiple tools and techniques geared towards identifying and understanding how single-bit ﬂip errors propagate and affect an application’s output. First, we present a general-purpose tool called Approxilyzer. Approxilyzer uses the novel error pruning and equalization techniques pioneered by a prior tool, Relyzer, to quantify the impact of virtually every error site in an application. Targeting the instruction-level granularity for analysis and protection, Approxilyzer shows that not all errors are equally important, and that trading oﬀ a small output quality degradation (for example, 1%) can yield large resiliency overhead reduction (up to 55%) for 99% resiliency coverage. While Approxilyzer is a promising tool for resiliency analysis, it initially took a long time to run due to the large number of error sites requiring exploration in an application. To accelerate error analysis tools (such as Approxilyzer), the second part of this thesis introduces a software-testing inspired toolkit called Minotaur. Minotaur bridges the gap between software testing and hardware resiliency by adapting multiple techniques from the software engineering domain to make hardware error analysis faster and thus more scalable. We show that Minotaur can signiﬁcantly improve the runtime of Approxilyzer (10.3× on average), while simultaneously improving its accuracy in identifying vulnerable instructions which need protection. The third part of this thesis focuses on reducing the implementation overhead of instruction-level duplication, by taking into consideration the hardware platform and unique opportunities provided by the backend architecture. Speciﬁcally, we develop a tool called SInRG, or Software-managed Instruction Replication for GPUs. SInRG provides a family of instruction duplication techniques that exploit underutilized hardware resources for error detection. Inspired by CPU instruction-level duplication, SInRG establishes the ﬁrst practical approach to software-directed instruction duplication for GPU-based systems, identiﬁes GPU-speciﬁc opportunities for overhead reduction, and explores software and hardware performance optimizations to lower the overheads of replication signiﬁcantly. The GPU-speciﬁc software optimizations trade oﬀ error containment for performance and reduce the average runtime overhead to 36%. We also propose new ISA extensions with limited hardware changes and area costs to further lower the average runtime overhead to just 30%. General purpose error analysis and hardening techniques provide the beneﬁt of being universally applicable to general purpose code. Given additional information about the application, however, can further enable low-cost resiliency solutions by leveraging domain knowledge. The fourth part of this thesis uses this premise to perform a specialized resiliency analysis for convolutional neural networks (CNNs), due to their prevalence in many safety-critical application such as self-driving cars. We develop and evaluate two selective protection techniques at diﬀerent target granularities in CNNs (feature map level and inference level), and show that the combination of both techniques is better than the sum of its parts. Our results show that the specialized, domain-speciﬁc error analysis and hardening techniques can achieve very high error coverage of 99.78% on average for the CNNs explored, while incurring as low as 20% overhead, or 5× less overhead compared to full duplication. Overall, this thesis focuses on understanding how hardware errors propagate to corrupt an application’s output. We develop multiple tools and techniques for error analysis, and advocate for specialized, selective protection solutions as a means to achieve low overheads while maintaining high error coverage in applications.","abstract_html":"Modern systems at scale are increasingly susceptible to transient hardware errors at current technology sizes from natural phenomena such as high-energy particle strikes (also called soft errors). Traditional solutions aimed at dealing with soft errors, however, typically rely on indiscriminate redundancy in space and/or time for resilience. Such techniques can incur high system overheads, whether in manufacturing cost, runtime performance, energy consumption, and/or area requirements. Moreover, the all-or-nothing protection oﬀered by full redundancy may result in over-protection and ineﬃcient use of resources. To that end, while it is critical to be able to protect against the eﬀect of hardware errors, it is important to do so in an an eﬃcient and low-cost manner. One way to reduce the cost of protecting applications from hardware errors is to understand how errors propagate at ﬁner granularities, and only protect vulnerable components via selective duplication. This raises three important questions: 1. What granularity of analysis is reasonable to target? 2. Which components at this granularity should be selected for protection? 3. How should the selective protection be implemented in a low-cost manner? This thesis addresses these three questions with the design of multiple tools and techniques geared towards identifying and understanding how single-bit ﬂip errors propagate and affect an application’s output. First, we present a general-purpose tool called Approxilyzer. Approxilyzer uses the novel error pruning and equalization techniques pioneered by a prior tool, Relyzer, to quantify the impact of virtually every error site in an application. Targeting the instruction-level granularity for analysis and protection, Approxilyzer shows that not all errors are equally important, and that trading oﬀ a small output quality degradation (for example, 1%) can yield large resiliency overhead reduction (up to 55%) for 99% resiliency coverage. While Approxilyzer is a promising tool for resiliency analysis, it initially took a long time to run due to the large number of error sites requiring exploration in an application. To accelerate error analysis tools (such as Approxilyzer), the second part of this thesis introduces a software-testing inspired toolkit called Minotaur. Minotaur bridges the gap between software testing and hardware resiliency by adapting multiple techniques from the software engineering domain to make hardware error analysis faster and thus more scalable. We show that Minotaur can signiﬁcantly improve the runtime of Approxilyzer (10.3× on average), while simultaneously improving its accuracy in identifying vulnerable instructions which need protection. The third part of this thesis focuses on reducing the implementation overhead of instruction-level duplication, by taking into consideration the hardware platform and unique opportunities provided by the backend architecture. Speciﬁcally, we develop a tool called SInRG, or Software-managed Instruction Replication for GPUs. SInRG provides a family of instruction duplication techniques that exploit underutilized hardware resources for error detection. Inspired by CPU instruction-level duplication, SInRG establishes the ﬁrst practical approach to software-directed instruction duplication for GPU-based systems, identiﬁes GPU-speciﬁc opportunities for overhead reduction, and explores software and hardware performance optimizations to lower the overheads of replication signiﬁcantly. The GPU-speciﬁc software optimizations trade oﬀ error containment for performance and reduce the average runtime overhead to 36%. We also propose new ISA extensions with limited hardware changes and area costs to further lower the average runtime overhead to just 30%. General purpose error analysis and hardening techniques provide the beneﬁt of being universally applicable to general purpose code. Given additional information about the application, however, can further enable low-cost resiliency solutions by leveraging domain knowledge. The fourth part of this thesis uses this premise to perform a specialized resiliency analysis for convolutional neural networks (CNNs), due to their prevalence in many safety-critical application such as self-driving cars. We develop and evaluate two selective protection techniques at diﬀerent target granularities in CNNs (feature map level and inference level), and show that the combination of both techniques is better than the sum of its parts. Our results show that the specialized, domain-speciﬁc error analysis and hardening techniques can achieve very high error coverage of 99.78% on average for the CNNs explored, while incurring as low as 20% overhead, or 5× less overhead compared to full duplication. Overall, this thesis focuses on understanding how hardware errors propagate to corrupt an application’s output. We develop multiple tools and techniques for error analysis, and advocate for specialized, selective protection solutions as a means to achieve low overheads while maintaining high error coverage in applications.","abstract_has_math":false,"creators":["Hassan N Mahmoud, Abdulrahman"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Adve, Sarita V","Marinov, Darko","Fletcher, Christopher W","Misailovic, Sasa","Hari, Siva Kumar Sastry","Ceze, Luis"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2021,"date_issued":"2021-03-05T21:38:18Z","date_published":"2021-03-05T21:38:18Z","updated_at":"2026-07-22T22:24:50Z","subjects":["Reliability","Computer Architecture","Approximate Computing","Hardware Resilience","Software-directed Reliability","Software Testing","Deep Neural Networks","Soft Errors","Domain-Specific Reliability"],"languages":["en"],"rights":["Copyright 2020 Abdulrahman Hassan N Mahmoud"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/2142/109425","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Adve, Sarita V","Marinov, Darko","Fletcher, Christopher W","Misailovic, Sasa","Hari, Siva Kumar Sastry","Ceze, Luis"]},{"key":"dc:creator","label":"Author","values":["Hassan N Mahmoud, Abdulrahman"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2021-03-05T21:38:18Z","2020-12-02","2020-12"]},{"key":"dc:type","label":"Dc Type","values":["text","Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Reliability","Computer Architecture","Approximate Computing","Hardware Resilience","Software-directed Reliability","Software Testing","Deep Neural Networks","Soft Errors","Domain-Specific Reliability"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2020 Abdulrahman Hassan N Mahmoud"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/109425"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Modern systems at scale are increasingly susceptible to transient hardware errors at current technology sizes from natural phenomena such as high-energy particle strikes (also called soft errors). Traditional solutions aimed at dealing with soft errors, however, typically rely on indiscriminate redundancy in space and/or time for resilience. Such techniques can incur high system overheads, whether in manufacturing cost, runtime performance, energy consumption, and/or area requirements. Moreover, the all-or-nothing protection oﬀered by full redundancy may result in over-protection and ineﬃcient use of resources. To that end, while it is critical to be able to protect against the eﬀect of hardware errors, it is important to do so in an an eﬃcient and low-cost manner. One way to reduce the cost of protecting applications from hardware errors is to understand how errors propagate at ﬁner granularities, and only protect vulnerable components via selective duplication. This raises three important questions: 1. What granularity of analysis is reasonable to target? 2. Which components at this granularity should be selected for protection? 3. How should the selective protection be implemented in a low-cost manner? This thesis addresses these three questions with the design of multiple tools and techniques geared towards identifying and understanding how single-bit ﬂip errors propagate and affect an application’s output. First, we present a general-purpose tool called Approxilyzer. Approxilyzer uses the novel error pruning and equalization techniques pioneered by a prior tool, Relyzer, to quantify the impact of virtually every error site in an application. Targeting the instruction-level granularity for analysis and protection, Approxilyzer shows that not all errors are equally important, and that trading oﬀ a small output quality degradation (for example, 1%) can yield large resiliency overhead reduction (up to 55%) for 99% resiliency coverage. While Approxilyzer is a promising tool for resiliency analysis, it initially took a long time to run due to the large number of error sites requiring exploration in an application. To accelerate error analysis tools (such as Approxilyzer), the second part of this thesis introduces a software-testing inspired toolkit called Minotaur. Minotaur bridges the gap between software testing and hardware resiliency by adapting multiple techniques from the software engineering domain to make hardware error analysis faster and thus more scalable. We show that Minotaur can signiﬁcantly improve the runtime of Approxilyzer (10.3× on average), while simultaneously improving its accuracy in identifying vulnerable instructions which need protection. The third part of this thesis focuses on reducing the implementation overhead of instruction-level duplication, by taking into consideration the hardware platform and unique opportunities provided by the backend architecture. Speciﬁcally, we develop a tool called SInRG, or Software-managed Instruction Replication for GPUs. SInRG provides a family of instruction duplication techniques that exploit underutilized hardware resources for error detection. Inspired by CPU instruction-level duplication, SInRG establishes the ﬁrst practical approach to software-directed instruction duplication for GPU-based systems, identiﬁes GPU-speciﬁc opportunities for overhead reduction, and explores software and hardware performance optimizations to lower the overheads of replication signiﬁcantly. The GPU-speciﬁc software optimizations trade oﬀ error containment for performance and reduce the average runtime overhead to 36%. We also propose new ISA extensions with limited hardware changes and area costs to further lower the average runtime overhead to just 30%. General purpose error analysis and hardening techniques provide the beneﬁt of being universally applicable to general purpose code. Given additional information about the application, however, can further enable low-cost resiliency solutions by leveraging domain knowledge. The fourth part of this thesis uses this premise to perform a specialized resiliency analysis for convolutional neural networks (CNNs), due to their prevalence in many safety-critical application such as self-driving cars. We develop and evaluate two selective protection techniques at diﬀerent target granularities in CNNs (feature map level and inference level), and show that the combination of both techniques is better than the sum of its parts. Our results show that the specialized, domain-speciﬁc error analysis and hardening techniques can achieve very high error coverage of 99.78% on average for the CNNs explored, while incurring as low as 20% overhead, or 5× less overhead compared to full duplication. Overall, this thesis focuses on understanding how hardware errors propagate to corrupt an application’s output. We develop multiple tools and techniques for error analysis, and advocate for specialized, selective protection solutions as a means to achieve low overheads while maintaining high error coverage in applications.","Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2021-03-04 without embargo terms","The student, Abdulrahman Hassan N Mahmoud, accepted the attached license on 2020-12-02 at 10:48.","The student, Abdulrahman Hassan N Mahmoud, submitted this Dissertation for approval on 2020-12-02 at 11:22.","This Dissertation was approved for publication on 2020-12-02 at 13:37.","DSpace SAF Submission Ingestion Package generated from Vireo submission #16032 on 2021-03-04 at 15:35:56","Made available in DSpace on 2021-03-05T21:38:18Z (GMT). No. of bitstreams: 3 HASSANNMAHMOUD-DISSERTATION-2020.pdf: 13979255 bytes, checksum: d46e41bc99827ddc4b28adb437e85f5a (MD5) LICENSE.txt: 4225 bytes, checksum: d48e0b717fd09f477956b5af07f1ffda (MD5) PROQUEST_LICENSE.txt: 4571 bytes, checksum: 058dcf228ff6feb38ea91b14c8da8c2c (MD5) Previous issue date: 2020-12-02"]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Towards scalable and specialized application error analysis"]}]}],"canonical_facts":{"dc:contributor":["Adve, Sarita V","Marinov, Darko","Fletcher, Christopher W","Misailovic, Sasa","Hari, Siva Kumar Sastry","Ceze, Luis"],"dc:creator":["Hassan N Mahmoud, Abdulrahman"],"dc:date":["2021-03-05T21:38:18Z","2020-12-02","2020-12"],"dc:description":["Modern systems at scale are increasingly susceptible to transient hardware errors at current technology sizes from natural phenomena such as high-energy particle strikes (also called soft errors). Traditional solutions aimed at dealing with soft errors, however, typically rely on indiscriminate redundancy in space and/or time for resilience. Such techniques can incur high system overheads, whether in manufacturing cost, runtime performance, energy consumption, and/or area requirements. Moreover, the all-or-nothing protection oﬀered by full redundancy may result in over-protection and ineﬃcient use of resources. To that end, while it is critical to be able to protect against the eﬀect of hardware errors, it is important to do so in an an eﬃcient and low-cost manner. One way to reduce the cost of protecting applications from hardware errors is to understand how errors propagate at ﬁner granularities, and only protect vulnerable components via selective duplication. This raises three important questions: 1. What granularity of analysis is reasonable to target? 2. Which components at this granularity should be selected for protection? 3. How should the selective protection be implemented in a low-cost manner? This thesis addresses these three questions with the design of multiple tools and techniques geared towards identifying and understanding how single-bit ﬂip errors propagate and affect an application’s output. First, we present a general-purpose tool called Approxilyzer. Approxilyzer uses the novel error pruning and equalization techniques pioneered by a prior tool, Relyzer, to quantify the impact of virtually every error site in an application. Targeting the instruction-level granularity for analysis and protection, Approxilyzer shows that not all errors are equally important, and that trading oﬀ a small output quality degradation (for example, 1%) can yield large resiliency overhead reduction (up to 55%) for 99% resiliency coverage. While Approxilyzer is a promising tool for resiliency analysis, it initially took a long time to run due to the large number of error sites requiring exploration in an application. To accelerate error analysis tools (such as Approxilyzer), the second part of this thesis introduces a software-testing inspired toolkit called Minotaur. Minotaur bridges the gap between software testing and hardware resiliency by adapting multiple techniques from the software engineering domain to make hardware error analysis faster and thus more scalable. We show that Minotaur can signiﬁcantly improve the runtime of Approxilyzer (10.3× on average), while simultaneously improving its accuracy in identifying vulnerable instructions which need protection. The third part of this thesis focuses on reducing the implementation overhead of instruction-level duplication, by taking into consideration the hardware platform and unique opportunities provided by the backend architecture. Speciﬁcally, we develop a tool called SInRG, or Software-managed Instruction Replication for GPUs. SInRG provides a family of instruction duplication techniques that exploit underutilized hardware resources for error detection. Inspired by CPU instruction-level duplication, SInRG establishes the ﬁrst practical approach to software-directed instruction duplication for GPU-based systems, identiﬁes GPU-speciﬁc opportunities for overhead reduction, and explores software and hardware performance optimizations to lower the overheads of replication signiﬁcantly. The GPU-speciﬁc software optimizations trade oﬀ error containment for performance and reduce the average runtime overhead to 36%. We also propose new ISA extensions with limited hardware changes and area costs to further lower the average runtime overhead to just 30%. General purpose error analysis and hardening techniques provide the beneﬁt of being universally applicable to general purpose code. Given additional information about the application, however, can further enable low-cost resiliency solutions by leveraging domain knowledge. The fourth part of this thesis uses this premise to perform a specialized resiliency analysis for convolutional neural networks (CNNs), due to their prevalence in many safety-critical application such as self-driving cars. We develop and evaluate two selective protection techniques at diﬀerent target granularities in CNNs (feature map level and inference level), and show that the combination of both techniques is better than the sum of its parts. Our results show that the specialized, domain-speciﬁc error analysis and hardening techniques can achieve very high error coverage of 99.78% on average for the CNNs explored, while incurring as low as 20% overhead, or 5× less overhead compared to full duplication. Overall, this thesis focuses on understanding how hardware errors propagate to corrupt an application’s output. We develop multiple tools and techniques for error analysis, and advocate for specialized, selective protection solutions as a means to achieve low overheads while maintaining high error coverage in applications.","Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2021-03-04 without embargo terms","The student, Abdulrahman Hassan N Mahmoud, accepted the attached license on 2020-12-02 at 10:48.","The student, Abdulrahman Hassan N Mahmoud, submitted this Dissertation for approval on 2020-12-02 at 11:22.","This Dissertation was approved for publication on 2020-12-02 at 13:37.","DSpace SAF Submission Ingestion Package generated from Vireo submission #16032 on 2021-03-04 at 15:35:56","Made available in DSpace on 2021-03-05T21:38:18Z (GMT). No. of bitstreams: 3 HASSANNMAHMOUD-DISSERTATION-2020.pdf: 13979255 bytes, checksum: d46e41bc99827ddc4b28adb437e85f5a (MD5) LICENSE.txt: 4225 bytes, checksum: d48e0b717fd09f477956b5af07f1ffda (MD5) PROQUEST_LICENSE.txt: 4571 bytes, checksum: 058dcf228ff6feb38ea91b14c8da8c2c (MD5) Previous issue date: 2020-12-02"],"dc:format":["application/pdf"],"dc:identifier":["http://hdl.handle.net/2142/109425"],"dc:language":["en"],"dc:rights":["Copyright 2020 Abdulrahman Hassan N Mahmoud"],"dc:subject":["Reliability","Computer Architecture","Approximate Computing","Hardware Resilience","Software-directed Reliability","Software Testing","Deep Neural Networks","Soft Errors","Domain-Specific Reliability"],"dc:title":["Towards scalable and specialized application error analysis"],"dc:type":["text","Thesis"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:24:50Z"}