Опис послуги
ПерекладЯ інженер паралельних обчислень і вже багато років працюю з мовою Occam, яка виросла з теорії взаємодіючих послідовних процесів Хоара. Зі мною зазвичай звертаються з однією з двох задач. Або є стара транспьютерна система, яка досі управляє установкою, сканером чи стендом, а розібратися в її коді вже нікому. Або задумується новий проект, де потрібен доказово вільний від взаємоблокувань паралелізм, а не звичний клубок потоків і мьютексів. Беруся за те й за те. Для легасі я читаю вихідники на Occam 2, відновлюю мережу процесів на папері, описую кожен канал та конструкції PAR й ALT, а потім або підтримую роботу на емуляторах транспьютера, або переписую логіку на occam-pi, на C з CSP-бібліотекою або на канали Go, зберігаючи точну семантику синхронізації. Для нових систем я моделюю все як послідовні процеси, що спілкуються через типізовані канали, доводжу відсутність дедлоків та живлоків та надаю акуратний прокоментований код з тестовим оточенням. До типової поставки входять описана карта процесів, робочі вихідники під контролем версій, збірка та симуляція, а також короткий звіт про модель конкурентності, щоб вашій команді було легко її супроводжувати. Коректність для мене важливіша за ефектні прийоми: канали залишаються небуферизованими без вагомої причини, охоронці ALT перевіряються, а розділене стану я проектую так, щоб його просто не було. Потрібно оживити один упертий транспьютерний модуль чи побудувати паралельну симуляцію з нуля, я доведу справу від аналізу до протестованої здачі. Опишіть, що робить система, на якому залізі чи рантаймі вона працює та скільки старого коду уцілило, і я чесно оціню обсяг робіт ще до старту.