stringtranslate.com

Отладчик Джинкс

Jinx был отладчиком параллелизма , который детерминированно контролировал чередование рабочих нагрузок между ядрами процессора, фокусируясь на взаимодействиях общей памяти. Используя этот детерминированный подход, Jinx стремился увеличить частоту возникновения неуловимых ошибок общей памяти, иногда называемых Heisenbugs . Jinx больше не доступен. Corensic, компания, которая разрабатывала Jinx, была куплена F5 Networks , и проект Jinx был отменен. [1]

Jinx работал, динамически создавая набор потенциальных чередований (т. е. альтернативных возможностей или сценариев выполнения, которые произойдут при некоторых будущих условиях), которые с наибольшей вероятностью приведут к ошибкам параллелизма, и быстро тестировал эти пути выполнения, чтобы выявить проблемы параллелизма, такие как взаимоблокировки , состояния гонки и нарушения атомарности, которые встречаются в многопроцессорных приложениях.

В отличие от проверяющих моделей, Jinx не требовал спецификации модели. В отличие от динамических и статических методов анализа кода, Jinx был примечателен тем, что не выдавал ложных срабатываний (ложных отчетов об ошибках). Это было потому, что Jinx тестировал сценарии, которые, скорее всего, были ошибками, а не просто выводил эти сценарии путем анализа исходного кода или наблюдения за выполнением программы.

Jinx был реализован как гипервизор , что дало ему возможность наблюдать эффекты всех элементов программной среды на чередование потоков. Jinx работал независимо от любого языка программирования или библиотек потоков или инструментов.

Jinx был разработан (ныне несуществующей) компанией Corensic из Сиэтла, штат Вашингтон, на основе исследований, проведенных в Вашингтонском университете [2], и первоначально представлен на конференции ASPLOS в 2009 году.

Ссылки

  1. ^ Бартош Милевски [@BartoszMilewski] (23 сентября 2014 г.). «@double_thunk Corensic был куплен F5, а Jinx был отменен. Извините!» ( Твит ) – через Twitter .
  2. ^ "Sampa: Research Projects". sampa.cs.washington.edu . Получено 11 июня 2023 г. .