Если первое, что пришло в голову, это популярное приложение, позволяющее просматривать контент через торрент-протокол, я боюсь вам сказать, что нет, это не так, речь идет о разработчики из Политехнического университета Вирджинии кто недавно сделал предложение для обсуждения с разработчиками ядра Linux на наборе патчей с внедрение системы Popcorn (Распределенное выполнение потоков) для распределения потоков.
эта система позволяет организовать выполнение приложений на нескольких компьютерах с распределением и миграцией прозрачный поток между хостами. С помощью Popcorn приложения можно запускать на одном хосте, после чего их можно беспрерывно передавать на другой хост. В многопоточных программах разрешена миграция на другие однопоточные хосты.
О попкорне
В отличие от проекта CRIU, который позволяет сохранять состояние процесса и возобновлять выполнение в другой системе, Popcorn обеспечивает прозрачную и динамическую миграцию между хостами во время выполнения приложения, не требуя действий пользователя и обеспечивая согласованность виртуальной памяти на всех хостах, где потоки выполняются одновременно.
Попкорн предоставляет стек исправлений для ядра Linux и библиотека с тестом, показывающим, как системные вызовы Popcorn из миграционных потоков могут использоваться в распределенных исполняемых приложениях.
На уровне ядра предлагаются расширения подсистемы виртуальной памяти. с реализацией распределенной разделяемой памяти, которая позволяет процессам на разных хостах получать доступ к общему и согласованному виртуальному адресному пространству. Согласованность страниц виртуальной памяти обеспечивается протоколом, который реплицирует страницы памяти на хост при обращении к ним для чтения и делает недействительными страницы памяти при записи.
Взаимодействие между хостами осуществляется с помощью обработчика сообщений уровня ядра, передаваемых через сокет TCP. Замечено, что TCP / IP используется для упрощения отладки и тестирования во время разработки. Разработчики понимают, что с точки зрения безопасности и производительности TCP / IP - не лучший способ передачи содержимого структур ядра и страниц памяти между хостами. Все хосты, на которых запущены распределенные приложения, должны иметь одинаковый уровень доверия. После стабилизации основных алгоритмов будет применяться более эффективный вид транспорта.
С 2014 года Popcorn разрабатывается как исследовательский проект. изучить возможности создания распределенных приложений, потоки которых могут выполняться на разных узлах в гетерогенных компьютерных системах, в которых ядра могут быть объединены на основе различных архитектур набора команд (Xeon / Xeon-Phi, ARM / x86, CPU / GPU / ПЛИС).
Набор исправлений, предложенный разработчикам ядра Linux, поддерживает работу только на хостах с процессором x86., Но также есть более функциональная версия Popcorn Linux который позволяет приложениям запускаться на хостах с разными архитектурами ЦП (x86 и ARM).
Чтобы использовать Popcorn в гетерогенных средах, необходимо использовать специальный компилятор на основе LLVM. При распределенном выполнении на хостах с той же архитектурой перестройка отдельным компилятором не требуется.
Также, мы можем заметить анонс чего-то похожего на проект Telefork с первоначальной реализацией прототипа API запускать дочерние процессы на других компьютерах кластера (как fork (), но перенесите процесс ветвления на другой компьютер).
Код написан на Rust и пока позволяет клонировать только самые простые процессы, которые не используют системные ресурсы, например файлы. При выполнении телефонного вызова память и структуры, связанные с процессом, клонируются на другой хост, на котором запущен серверный контроллер (телепад).
Используя ptrace, зеркальное отображение памяти процесса сериализуется и вместе с состоянием процесса и журналами передается на другой хост. API также позволяет сохранять состояние процесса в файл и восстанавливать его через него.
источник: https://lkml.org/