Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Moslem Didehban

dblp:52/7950 · DBLP profile ↗
← Back
12ranked-venue papers
6as first author
3since 2021 · last 2024
0000-0002-9357-4702ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 8 · 3 first-author · 2 since 2021Security and privacy · 3 · 2 first-author · 1 since 2021Software engineering, systems software and programming languages · 3 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
5 papers
Hardware reliability and fault tolerance · 91% Distributed systems · 5% Processor architecture and microarchitecture · 4%
Software engineering, system software, and programming languages
1 paper
Compilers and program optimization · 100%

Topics — the 12 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Hardware reliability and fault tolerance
soft errors
1.332024
Generic Soft Error Data and Control Flow Error Detection by Instruction Duplication · IEEE Trans. Dependable Secur. Comput. 2024
InCheck: An In-application Recovery Scheme for Soft Errors · DAC 2017
nZDC: a compiler technique for near zero silent data corruption · DAC 2016
Hardware reliability and fault tolerance › soft errors
instruction duplication
1.022024
Generic Soft Error Data and Control Flow Error Detection by Instruction Duplication · IEEE Trans. Dependable Secur. Comput. 2024
nZDC: a compiler technique for near zero silent data corruption · DAC 2016
Hardware reliability and fault tolerance › error detection
control-flow error detection
0.812024
Generic Soft Error Data and Control Flow Error Detection by Instruction Duplication · IEEE Trans. Dependable Secur. Comput. 2024
Hardware reliability and fault tolerance
fault injection
0.612022
EXPERTISE: An Effective Software-level Redundant Multithreading Scheme against Hardware Faults · ACM Trans. Archit. Code Optim. 2022
Hardware reliability and fault tolerance › redundancy
redundant multithreading
0.612022
EXPERTISE: An Effective Software-level Redundant Multithreading Scheme against Hardware Faults · ACM Trans. Archit. Code Optim. 2022
Hardware reliability and fault tolerance › soft errors
soft error resilience
0.412019
Software Approaches for In-time Resilience · DAC 2019
Distributed systems › fault tolerance
checkpointing
0.312017
InCheck: An In-application Recovery Scheme for Soft Errors · DAC 2017
Hardware reliability and fault tolerance
error recovery
0.312017
InCheck: An In-application Recovery Scheme for Soft Errors · DAC 2017
Hardware reliability and fault tolerance
software fault tolerance
0.312017
InCheck: An In-application Recovery Scheme for Soft Errors · DAC 2017
Hardware reliability and fault tolerance › soft errors
silent data corruption
0.212016
nZDC: a compiler technique for near zero silent data corruption · DAC 2016
Processor architecture and microarchitecture
instruction set architecture
0.212024
Generic Soft Error Data and Control Flow Error Detection by Instruction Duplication · IEEE Trans. Dependable Secur. Comput. 2024
Compilers and program optimization
compiler-based fault tolerance
0.112016
nZDC: a compiler technique for near zero silent data corruption · DAC 2016

Methods — techniques the papers use, named apart from their topics

fault injection · 1.5verilog-based fault simulation · 0.8statistical fault injection · 0.6compiler-level transformation · 0.6software resilience techniques · 0.4
YearPublicationVenuePosition
2024 Generic Soft Error Data and Control Flow Error Detection by Instruction Duplication
abstract
Transient faults or soft errors are considered one of the most daunting reliability challenges for microprocessors. Software solutions for soft error protection are attractive because they can provide flexible and effective error protection. For instance, nZDC (Didehban and Shrivastava 2016) state-of-the-art instruction duplication error protection scheme achieves a high degree of error detection by verifying the results of memory write operations and utilizes an effective control-flow checking mechanism. However, nZDC control-flow checking mechanism is architecture-dependent and suffers from some vulnerability holes. In this work, we address these issues by substituting nZDC control-flow checking mechanism with a general (ISA-independent) scheme and propose two transformations, coarse-grained scheduling, and asymmetric control-flow signatures, for hard-to-detect control flow errors. Fault injection experiments on different hardware components of synthesizable Verilog description of an OpenRISC-based microprocessor reveal that the proposed transformation shows 85% less silent data corruptions compared to nZDC. In addition, programs protected by the proposed scheme run on average around 37% faster than nZDC-protected programs.
Moslem Didehban, Hwisoo So, Prudhvi Gali, Aviral Shrivastava, Kyoungwoo Lee
IEEE Trans. Dependable Secur. Comput.1
2022 EXPERTISE: An Effective Software-level Redundant Multithreading Scheme against Hardware Faults
abstract
Error resilience is the primary design concern for safety- and mission-critical applications. Redundant MultiThreading (RMT) is one of the most promising soft and hard error resilience strategies because it does not require additional hardware modification. While the state-of-the-art software RMT scheme can achieve a high degree of error protection, our detailed investigation revealed that it suffers from performance overhead and insufficient fault coverage. This paper proposes EXPERTISE, a compiler-level RMT scheme that can detect the manifestation of hardware faults in all processor components. EXPERTISE transformation generates a checker-thread for the main execution thread. These redundant threads are executed simultaneously on two physically different cores of a multicore processor and perform almost the same computations. After each memory write operation is committed by the main-thread, the checker-thread loads back the written data from the memory and checks it against its own locally computed values. If they match, the execution continues. Otherwise, the error flag is raised. In order to evaluate the effectiveness of the proposed solution, we performed soft and hard error injection experiments on all the different hardware components of an ARM Cortex53-like μ-architecturally simulated microprocessor. Based on statistical fault injection campaigns, we have found that EXPERTISE provides 188× better fault coverage with 27% faster performance as compared to the state-of-the-art scheme.
Hwisoo So, Moslem Didehban, Yohan Ko, Aviral Shrivastava, Kyoungwoo Lee
ACM Trans. Archit. Code Optim.2
2021 CHITIN: A Comprehensive In-thread Instruction Replication Technique Against Transient Faults
abstract
Soft errors have become one of the most important design concerns due to drastic technology scaling. Software-based error detection techniques are attractive, due to their flexibility and hardware independence. However, our in-depth analysis reveals that the state-of-the-art techniques in the area cannot provide comprehensive fault coverage: i) their control-flow protection schemes provide incomplete redundancy of original instructions, ii) they do not protect function calls and returns, and iii) their instruction scheduling leaves many vulnerabilities open. In this paper, we propose CHITIN - code transformations for soft error resilience that adopts the load-back checking scheme of nZDC, an improved version of SWIFT-like control-flow protection scheme, and a contiguous scheduling of the original and redundant instructions to dramatically improve the vulnerability from soft errors that disrupt the control-flow. Our fault injection experiments demonstrate that CHITIN can reduce more than 89% of the silent data corruptions in the state-of-the-art solutions.
Hwisoo So, Moslem Didehban, Jinhyo Jung, Aviral Shrivastava, Kyoungwoo Lee
DATE2
2019 Software Approaches for In-time Resilience
abstract
Advances in semiconductor technology have enabled unprecedented growth in safety-critical applications. However, due to unabated scaling, the unreliability of the underlying hardware is only getting worse. For a lot of applications, just recovering from errors is not enough -- the latency between the occurrence of the fault to it's detection and recovery from the fault, i.e., in-time error resilience is of vital importance. This is especially true for real-time applications, where the timing of application events is a crucial part of the correctness of application. While software techniques for resilience are highly desirable since they can be flexibly applied, but achieving reliable, in-time software resilience is still an elusive goal. A new class of recent techniques have started to tackle this problem. This paper presents a succinct overview of existing software resilience techniques from the point-of-view of in-time resilience, and points out future challenges.
Aviral Shrivastava, Moslem Didehban
DAC2
2019 A software-level Redundant MultiThreading for Soft/Hard Error Detection and Recovery
abstract
In this work, we investigate the potential of software-only RMT (Redundant MultiThreading) schemes for soft and hard error detection and recovery. We first implement and evaluate the error protection capability of basic software level triple redundant multithreading (STRMT) and analyze its vulnerability. Then we introduce FISHER (FlexIble Soft and Hard Error Resiliency) as a software RMT scheme which can achieve high degree of error resiliency and does not suffer from STRMT vulnerability holes. FISHER executes three threads and rather than having a centralized voting mechanism, it distributes and intertwines error detection and recovery operations between redundant threads. We performed 135,000 soft/hard error injection experiments on different hardware components of an ARM cortex53-like μ-architecturally simulated microprocessor. The results demonstrate that FISHER can reduce programs failure rate by around 42× and 26× compared to original and basic STRMT-protected versions of programs, respectively.
Hwisoo So, Moslem Didehban, Aviral Shrivastava, Kyoungwoo Lee
DATE2
2018 EXPERT: Effective and flexible error protection by redundant multithreading
abstract
Resiliency is a first-order design concern in modern microprocessor design. Compiler-level Redundant MultiThreading (RMT) schemes are promising because of their capability to detect the manifestation of hardware transient and permanent faults. In this work, we propose EXPERT, a compiler-level RMT scheme which can detect the manifestation of hardware faults in all hardware components. EXPERT transformation generates a checker thread for program main execution thread. These redundant threads execute simultaneously on two physically different cores of a multi-core processor. They perform mostly same computations, however, after each memory write operation committed by the main thread, the checker thread loads back the written data from the memory and checks it against its own locally computed values. If they match, execution continues. Otherwise, the error flag will be raised. Our processor-wide statistical transient and permanent fault injection experiments show that EXPERT error coverage is ~65x better than the state-of-the-art scheme.
Hwisoo So, Moslem Didehban, Yohan Ko, Aviral Shrivastava, Kyoungwoo Lee
DATE2
2018 A Compiler Technique for Processor-Wide Protection From Soft Errors in Multithreaded Environments
abstract
Aggressive transistor scaling down and nearthreshold computing have rendered modern microprocessor susceptible to soft errors. Software approaches that protect computations against soft errors are desirable because they offer flexible protection and are suitable for mixed-critical systems. In particular, fine-grain instruction duplication based techniques are deemed to be most effective; however, many of the existing instruction duplication techniques either suffer from many vulnerable intervals or are not suitable for multithreaded environments. In this paper, we present multithreded near zero silent data corruption (MZDC), a software scheme which provides high-level processor-wide error coverage in multithreaded environments. MZDC duplicates all programs' instructions and uses diagnosis block after replicated memory operations to overcome the inconsistency issue in a multithread environment. Statistical fault injection experiments on a dual-core ARM cortex-A53 μ architecturally simulated microprocessor show that on average, MZDC can achieve more than 37× better fault coverage than the state-of-the-art.
Moslem Didehban, Aviral Shrivastava
IEEE Trans. Reliab.1
2017 InCheck: An In-application Recovery Scheme for Soft Errors
abstract
An ideal solution for soft error tolerance should hide the effect of soft errors from user and provide correct results at expected time. Software solutions are attractive because they can provide flexible reliability without imposing any hardware modifications. Our investigation of state-of-the-art error recovery techniques reveals that they suffer from poor coverage (ability to detect and correctly recover from soft errors). This paper presents InCheck (In-application Checkpointing and Recovery) as an effective, safe and timely software technique for complete error coverage. The key features of InCheck are: verified register preservation, single memory location checkpoints, and safe & timely recovery. To evaluate the effectiveness of InCheck, we performed more than 210,000 fault injection experiments on different hardware components of an ARM cortex53-like processor running MiBench applications. The original and SWIFTR (state-of-the-art) protected programs suffered from 8000 and 1800 instances of wrong outputs respectively, but when protected by InCheck, there was no failure.
Moslem Didehban, Sai Ram Dheeraj Lokam, Aviral Shrivastava
DAC1
2017 NEMESIS: A software approach for computing in presence of soft errors
abstract
Soft errors are considered as the main reliability challenge for sub-nanoscale microprocessors. Software-level soft error resilience schemes are desirable because they require no hardware modifications and their protection can be tuned based on the application requirements. However, existing software-level error tolerant schemes do not provide high-level of protection. In this work, we present NEMESIS - a compiler-level fine-grain soft error detection, diagnosis and recovery technique that can provide high degree of error-resiliency. NEMESIS runs three versions of computations and detects soft errors by checking the results of all memory write and branch operations. In the case of mismatch, NEMESIS recovery routine reverts the effect of error from the architectural state of the program and program resumes its normal execution. Our extensive μ-architectural-level fault injection experiments results show that NEMESIS transformation is able to detect all soft errors and recover from 97% of detected errors.
Moslem Didehban, Aviral Shrivastava, Sai Ram Dheeraj Lokam
ICCAD1
2016 nZDC: a compiler technique for near zero silent data corruption
abstract
Exponentially growing rate of soft errors makes reliability a major concern in modern processor design. Since software-oriented approaches offer flexible protection even in off-the-shelf processes, they are attractive solutions in protecting against soft errors. Among such approaches, in-application instruction duplication based approaches have been widely used and are deemed to be the most effective. Such techniques duplicate the program assembly instructions and periodically check the results to identify possible errors. Even though early reports suggest that these achieve close to 100% protection from soft errors, we find several gaps in the protection. Existing techniques are unable to protect several important microarchitectural components, as well as a significant fraction of instructions, resulting in Silent Data Corruptions (SDCs). This paper presents nZDC or near Zero silent Data Corruption -- an effective instruction duplication based approach to protect programs from soft errors. Extensive fault injection experiments on almost all the unprotected microarchitectural components in simulated ARM Cortex A53, while executing benchmarks fromMiBench suite, demonstrate that nZDC is extremely effective, without incurring any more performance penalty than the state-of-the-art.
Moslem Didehban, Aviral Shrivastava
DAC1
2011 A Gate Level Analysis of Transient Faults Effects on Dual-Core Chip-Multi Processors
abstract
With continuous scaling in CMOS technology the number of transistors grows more and more in a single chip and it makes modern processors prone to the risk of transient fault. In this work the effects of transient faults in MIPS-based Chip-Multi Processors (CMPs) are investigated in two phases. In the first phase a low level fault injection is performed and sensitive components is determined. In the next phase, in order to improve the reliability term in CMPs, two simple low overhead fault tolerant techniques are employed on the most vulnerable components in the MIPS-based dual-core processor. Hsiao code was used which is an optimal minimum odd-weight-column single error correction and double error detection SEC-DED code to protect MPI and program counters. TMR (Triple Modular Redundancy) technique is used to improve reliability of the Arbiter. Using fault injection improves 12.8% in error recovery and 16.6% reduction of failure rate with negligible performance overhead.
Moslem Didehban, Ario Sadafi, Sajjad Salehi, Mohammad Bagher Chami
ARES1
2010 Analysis of Transient Faults on a MIPS-Based Dual-Core Processor
abstract
This paper presents a simulation-based fault injection analysis of a MIPS-based dual-core processor. In order to fulfill the requirement of this analysis, 114 different fault targets are used in various points of main components which are described in VHDL language; each experiment was repeated 50 times, resulting in 5700 transient faults in this simulation model. The experimental results demonstrate that, depending on the fault injection targets and the benchmark characteristics, fault effects vary significantly. On average, up to 35.2% of injected faults are recovered in simulation time, while 52.6% of faults lead to system failure, and the remaining 12.2%, treat as latent errors. Different benchmarks show different vulnerability for various components; but on average, Arbiter and Message passing interface are the most vulnerable components outside the tiles, while PC and Bus Handler have highest failure rate among in-tile components. Fault injection on each region has noticeable impact on the result of the other core. In general, fault injection in Shared regions has highest contribution in system failure.
Iman Faraji, Moslem Didehban, Hamid R. Zarandi
ARES2