The Absurdity of Error Handling: Finding a Purpose for Errors in Safety-Critical SYCL - Erik Tomusk

Explore the absurdity of error handling in safety-critical SYCL software and discover a new approach focusing on resilience and determinism, rather than error handling, to ensure reliability and safety.

Key takeaways
  • The talk questions the purpose of error handling in safety-critical software, suggesting that it may not be necessary or effective in some cases.
  • The speaker proposes a different approach, focusing on resilience and determinism, rather than trying to handle errors.
  • The concept of abstractions and how they separate the developer from the underlying hardware complexity is discussed.
  • The talk also highlights the importance of considering the “unit of mitigation” or “application envelope” when designing error handling mechanisms.
  • The speaker suggests that error handling is not necessarily needed, and that it may even be counterproductive in some cases.
  • The role of exceptions and error codes in communicating information is also discussed, and the importance of considering the assumptions made by the developer about the state of the library after an exception is thrown.
  • The speaker argues that error handling is often unnecessary and that it may lead to unnecessary complexity, and that a different approach is needed to ensure the reliability and safety of the system.
  • The talk also discusses the concept of determinism and how it relates to safety-critical software, and how the use of exceptions and error codes can make it difficult to ensure determinism.
  • The speaker concludes by suggesting that the conversation about error handling is an important one, and that it is necessary to consider the purpose and effectiveness of error handling mechanisms in safety-critical software.