18204877. RUNTIME TECHNIQUES FOR DETECTING ANTI-PATTERNS CAUSING PERFORMANCE ISSUES simplified abstract (Apple Inc.)

From WikiPatents
Jump to navigation Jump to search

RUNTIME TECHNIQUES FOR DETECTING ANTI-PATTERNS CAUSING PERFORMANCE ISSUES

Organization Name

Apple Inc.

Inventor(s)

Hamza B. Sohail of San Jose CA (US)

Joel Middendorf of CUPERTINO CA (US)

Han Ming Ong of Los Altos CA (US)

RUNTIME TECHNIQUES FOR DETECTING ANTI-PATTERNS CAUSING PERFORMANCE ISSUES - A simplified explanation of the abstract

This abstract first appeared for US patent application 18204877 titled 'RUNTIME TECHNIQUES FOR DETECTING ANTI-PATTERNS CAUSING PERFORMANCE ISSUES

Simplified Explanation

The patent application describes techniques for intercepting a target thread's call for a semaphore wait function in an application.

  • Launch an application and insert a dynamic library into it.
  • Intercept a target thread's call for a semaphore wait function.
  • Request adding the target thread to a wait queue.
  • Check the wait list of a table for the target thread.
  • Store entries in the table's wait list or signal list, including a quality-of-service category and a hang flag for a thread.
  • Create an entry representing the target thread if it is not already in the wait list.
  • Enqueue the target thread to the wait queue.
  • Compare the target thread to entries in the signal list.
  • Update the hang flag for the entry representing the target thread based on the comparison.

Potential Applications

  • This technology can be applied in operating systems or software systems that use semaphore wait functions.
  • It can be used in multi-threaded applications to manage thread synchronization and improve performance.

Problems Solved

  • The techniques solve the problem of efficiently managing thread synchronization and preventing thread hangs in applications.
  • It addresses the challenge of identifying and handling threads that are waiting for a semaphore in a timely manner.

Benefits

  • Improved performance and efficiency in managing thread synchronization.
  • Prevention of thread hangs and improved responsiveness in applications.
  • Enhanced control and management of threads waiting for a semaphore.


Original Abstract Submitted

Techniques may include launching an application and inserting a dynamic library into the application. An intercept wait function can intercept a target thread's call for a semaphore wait function. The semaphore wait function may request adding the target thread to a wait queue. The wait list of a table may be checked for the target thread. The table can store entries in the wait list or a signal list where an entry may include a quality-of-service category and a hang flag for a thread. The entry representing the target thread may be created after determining that the entry is not in the wait list. The semaphore wait function can enqueue the target thread to the wait queue. The target thread can be compared to entries in the signal list. The hang flag for the entry representing the target thread can be updated based on the comparison.