Комментарии 6
Такое количество жаргонизмов, что тяжело читать
Спасибо за обратную связь! Постараюсь писать проще. Что именно осталось непонятным? Я объясню.
Ну например, лично я завис и не отвис на таких фразах как
кривые RSS
гейты бит-идентичности
спиннер
хвосты батчей
трейс шёл батчами с фиксированными чанками, и батч ждал самый дорогой чанк — пока один воркер дожёвывает кластер тяжёлых сидов, остальные тринадцать уже умерли
классический профиль своп-спирали
троттлинг репейнта во время билда до 10 Гц
потому что ложный мост met2↔met4 сливал нумерацию цепей внутри ячеек, и одинаковые паттерны схлопывались при дедупликации
дедуп съел границы поглощённых кусков
У нас образцовые гейты эквивалентности: параллельный код сверяется с серийным до бита, результаты воспроизводятся строково от прогона к прогону.
Были ещё другие места, но на них я отвисал, но не факт что правильно понял
RSS = Resident Set Size, объём физической RAM, которую процесс реально занимает.Кривые-график этой величины во времени
гейты бит-идентичности = Автотест-'ворота': не пускают изменение дальше, если результат не совпал с эталоном до последнего бита.
спиннер = крутящийся индикатор 'идёт работа' в интерфейсе (у нас с текстом прогресса)
хвосты батчей = работа делится на пачки (батчи). 'Хвост' - концовка пачки, когда почти все потоки закончили, а один дожёвывает последнее, и остальные простаивают.
трейс шёл батчами с фиксированными чанками… остальные тринадцать уже умерли = обход цепей (трейс) шёл пачками по 896 заданий, поделёнными на 14 фиксированных кусков по числу потоков. Если одному потоку достался кусок с тяжёлыми заданиями, 13 других, доделав свои куски, простаивали и ждали его
классический профиль своп-спирали=Память кончается, ОС начинает выгружать страницы на диск (swap) , процесс ждёт диск , ещё медленнее. 'Профиль' = характерная форма поведения: стартует бодро, потом всё медленнее.
троттлинг репейнта во время билда до 10 Гц = Во время расчёта ограничили перерисовку интерфейса до 10 кадров/с, чтобы рендер не отъедал ресурсы у вычисления
ложный мост met2-met4 сливал нумерацию цепей… схлопывались при дедупликации = призрачная связь между слоями металла 2 и 4 ошибочно соединяла электрически разные цепи в одну. Внутри ячеек разные цепи получали одинаковые 'номера', становились неотличимы, и дедупликатор (убирающий повторы) выкидывал их как дубликаты. Итог — цепей насчиталось меньше, чем есть
дедуп съел границы поглощённых кусков=емкость по периметру (fringe) считается по границам цепи. Когда дедуп слил несколько цепей в одну, внутренние границы исчезли - а с ними и их вклад в ёмкость
образцовые гейты эквивалентности: параллельный код сверяется с серийным до бита, воспроизводятся строково=тесты проверяют, что многопоточная версия даёт ровно тот же результат, что однопоточная, и что повторные запуски дают идентичный вывод вплоть до символов в строке
level 2 и 3 планируете реализовывать?

Три фикса, четыре ошибки, один файл