RU2600538C2 - Запуск приложения на основе интерфейса передачи сообщения (mpi) в гетерогенной среде - Google Patents
Запуск приложения на основе интерфейса передачи сообщения (mpi) в гетерогенной среде Download PDFInfo
- Publication number
- RU2600538C2 RU2600538C2 RU2014113754/08A RU2014113754A RU2600538C2 RU 2600538 C2 RU2600538 C2 RU 2600538C2 RU 2014113754/08 A RU2014113754/08 A RU 2014113754/08A RU 2014113754 A RU2014113754 A RU 2014113754A RU 2600538 C2 RU2600538 C2 RU 2600538C2
- Authority
- RU
- Russia
- Prior art keywords
- mpi
- processing node
- node
- processing
- proxy module
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Изобретение относится к области приложений на основе интерфейса передачи сообщения (MPI). Техническим результатом является эффективный запуск приложений на основе MPI в гетерогенной среде. Узел обработки для запуска процессов на основе MPI содержит: операционную систему (OS), предназначенную для приема запроса обработки на основе интерфейса прохождения сообщения (MPI), при этом упомянутый запрос принимают из модуля управления процессом в узле запуска; прокси-модуль для запуска процесса на основе MPI в ответ на прием упомянутого запроса; причем упомянутый процесс на основе MPI содержит модуль приложения для обмена данными с другими процессами на основе MPI, в соответствии со стандартом MPI, а упомянутый обмен данными ассоциирован с рабочими характеристиками задачи, в котором упомянутый прокси-модуль сформирован путем исполнения безопасной оболочки (SSH) или упомянутый прокси-модуль сформирован на основе модуля системного обслуживания OS в зависимости от типа упомянутой OS. 4 н. и 17 з.п. ф-лы, 7 ил.
Description
Область техники, к которой относится изобретение
Настоящее раскрытие относится к приложениям на основе интерфейса передачи сообщения (MPI) и, более конкретно, к системам и способам для запуска приложения на основе MPI в гетерогенной среде.
Уровень техники
Вычислительные системы с параллельной обработкой могут использоваться для распределения рабочей нагрузки на множество процессоров или вычислительных узлов для повышения пропускной способности при вычислениях. Процессы или задачи могут выполняться параллельно в каждом из узлов и могут сообщаться друг с другом, для совместного использования данных, ресурсов, результатов и т.д. Такой обмен данными между узлами может возникать по сети или другому соединению для передачи данных и может соответствовать стандарту интерфейса передачи сообщений, который обычно обозначается как MPI. Подход типа клиент-сервер обычно используется в MPI, где процесс "сервера" в одном узле обозначает возможность приема передаваемых данных из процессов "клиента" в других узлах. В свою очередь, могут быть согласованы, установлены и синхронизированы соединения для передачи данных между каждой парой клиент-сервер, используя дополнительные операции, которые могут привести к увеличению сложности системы.
Система параллельной обработки также, в общем, может быть воплощена в гетерогенной среде, где вычислительные узлы размещены на разных платформах, которые могут включать в себя различную архитектуру процессора и/или разные операционные системы (OS). Гетерогенная среда, однако, может дополнительно увеличить сложность операций MPI. Например, разные OS могут иметь разные процедуры для запуска процесса (например, запуска и инициализации) в каждом узле.
Может потребоваться разрабатывать отдельные версии исходного кода MPI и поддерживать для каждой OS платформы, ассоциированной с одним или больше узлами в гетерогенной среде, в результате чего повышаются трудозатраты, стоимость и потенциальные задержки при воплощении и обновлениях системы.
Краткое описание чертежей
Свойства и преимущества вариантов осуществления заявленного предмета изобретения будут понятны из следующего подробного описания изобретения и после ссылки на чертежи, на которых одинаковые номера обозначают одинаковые части и на которых:
на фиг. 1 показана схема высокого уровня системы одного примерного варианта осуществления, в соответствии с настоящим раскрытием;
на фиг. 2 показана блок-схема одного примерного варианта осуществления, в соответствии с настоящим раскрытием;
на фиг. 3 показана блок-схема последовательности операций обмена данными одного примерного варианта осуществления, в соответствии с настоящим раскрытием;
на фиг. 4 показана блок-схема последовательности операций одного примерного варианта осуществления, в соответствии с настоящим раскрытием;
на фиг. 5 показана блок-схема последовательности операций по другому примерному варианту осуществления, в соответствии с настоящим раскрытием;
на фиг. 6 показана блок-схема последовательности операций по другому примерному варианту осуществления, в соответствии с настоящим раскрытием; и
на фиг. 7 показана схема высокого уровня системы платформы по другому примерному варианту осуществления, в соответствии с настоящим раскрытием.
Хотя в следующем "Подробном описании изобретения" делается ссылка на иллюстративные варианты осуществления, множество альтернатив, модификаций и их вариантов будут понятны для специалиста в данной области техники.
Подробное описание изобретения
В общем, настоящее раскрытие направлено на системы, устройства, способы и считываемый компьютером носитель информации для запуска процессов и/или приложений, в которых используется стандарт интерфейса передачи сообщения (MPI) (например, процессы на основе MPI) в гетерогенной среде платформ или узлов, на которых могут быть установлены разные операционные системы (OS).
Первый узел, который можно назвать узлом запуска, может быть выполнен с возможностью запуска процессов на основе MPI в том же узле или в любом количестве других узлов, которые могут называться узлами обработки. В узле запуска может быть установлена OS первого типа, в то время как в узлах обработки может быть установлен OS того же или другого типа.
Узел запуска может включать в себя модуль кросс-платформенной обработки (РМ), который выполнен с возможностью определения типа OS в узле обработки. РМ также может включать в себя модуль запроса запуска, выполненный с возможностью передачи запроса запуска в узел обработки. Узел обработки может быть выполнен с возможностью формирования прокси-модуля в ответ на этот запрос, где прокси-модуль может запускать один или больше процессов на основе MPI. В некоторых вариантах осуществления, в зависимости от типа OS узла обработки, прокси-узел может быть сформирован в результате исполнения безопасной оболочки (SSH) или через модуль системного обслуживания OS узла обработки.
Кросс-платформенный РМ выполнен с возможностью исполнения в разных OS и запуска процессов на основе MPI в других узлах, на которых установлены разные OS, обеспечивает унифицированную инфраструктуру РМ, которая снижает трудности и сложности, представляемые разными РМ, с разными функциями и свойствами, которые требуются для разных OS.
На фиг. 1 иллюстрируется схема 100 системы верхнего уровня одного примерного варианта осуществления, в соответствии с настоящим раскрытием. Представленная система включает в себя узел 102 запуска, который дополнительно включает в себя кросс-платформенный менеджер 104 процесса (РМ), операции которого будут более подробно описаны ниже. Система может также включать в себя любое количество дополнительных узлов 106, 108, 110 и т.д., которые называются узлами обработки, в которых могут быть запущены процессы 112 на основе MPI, например, в ответ на запросы из узла запуска. Процессы на основе MPI обычно сообщаются друг с другом, используя библиотеку процедур интерфейса передачи данных, которые соответствуют стандарту MPI. Множество узлов, как узел 102 запуска, так и узлы 106, 108, 110 обработки, могут быть установлены на платформах одного или разных типов, показанных как платформы типа А 114, платформы типа В 116, платформы типа С 118 и т.д. Типы платформ могут включать в себя разные архитектуры процессора, и в них могут быть установлены разные OS для формирования гетерогенной вычислительной среды. Узлы обработки (и узел запуска) могут быть организованы как кластер параллельной обработки, состоящий из узлов, по которому может быть распределена задача. Передача данных между узлами на основе MPI может выполняться для совместного использования данных, ресурсов и результатов, что способствует окончанию задачи, выполняемой параллельно.
Узел может представлять собой компьютер, такой как рабочая станция, переносной компьютер или сервер, но примерные варианты осуществления не ограничены этим и могут изменяться. OS представляет собой набор программных средств, которые могут управлять аппаратными ресурсами компьютера и могут обеспечивать общие услуги для программ, процессов и/или приложений, работающих в OS. Примеры операционных систем могут представлять собой Linux® и Microsoft®, Windows®, но примерные варианты осуществления могут изменяться и могут не быть ограничены этим. Например, варианты осуществления могут охватывать любую операционную систему, такую как MacOS®, Android®, Berkeley Software Distribution (BSD®), iOS®, OS X®, QNX®, Windows® Phone и IBM® z/OS®, и т.д.
Хотя один узел запуска и множество узлов обработки показаны на этом чертеже с целью иллюстрации, следует понимать, что система может быть выполнена с любым количеством или комбинацией узлов запуска и обработки, и что узел запуска может быть воплощен как один из узлов обработки. Гетерогенная среда поэтому может включать в себя любое количество платформ и OS разных типов.
На фиг. 2 иллюстрируется блок-схема 200, в соответствии с одним примерным вариантом осуществления, который соответствует настоящему раскрытию. Система представлена более подробно, где воплощен вариант осуществления узла 102 запуска платформы, обозначенной как платформа А или платформа В, которая выполнена с возможностью установки OS 202, которая аналогична обозначенной, как OS типа А или типа В. В этом примерном варианте осуществления, с целью иллюстрации, OS типа А может представлять собой OS Windows®, и OS типа В может представлять собой OS Linux® или MacOS®. Кросс-платформенный РМ 104 узла 102 запуска также может включать в себя модуль 212 определения типа OS и модуль 214 запроса запуска, операции которых более подробно поясняются ниже.
Также показан узел 106 обработки (узел 2) на платформе типа А, выполненной с возможностью установки в ней OS типа А 204, прокси-модуль 210 и один или больше запущенных процессом 112 на основе MPI. OS 204 также может включать в себя модуль 206 системного обслуживания. Другой узел 110 обработки (узел N), в платформе типа В также представлен. Узел N может быть выполнен возможностью установки в нем, как в хост-устройстве, OS типа В 208, прокси-модуля 210 и одного или больше запущенных процессов 112 на основе MPI.
Модуль 212 определения типа OS кросс-платформеннного РМ 104 может быть выполнен с возможностью определения типа OS узла обработки, после чего должен быть запущен процесс на основе MPI. На основе такого определения модуль 214 запроса запуска может быть выполнен с возможностью передачи запроса в этот узел обработки для обеспечения формирования узлом обработки прокси-модуля 210. OS в узлах запуска и обработки может быть выполнена с возможностью, по меньшей мере, частично, предоставлять TCP сокеты для передачи запросов на запуск.
В случае, когда в узле 106 обработки установлена OS Windows®, прокси-модуль может быть сформирован с помощью модуля 206 системного обслуживания в ответ на запрос из узла запуска. Модуль системного обслуживания может представлять собой компонент OS Windows®, например, предварительно установленный компонент. В случае узла 110 обработки, в котором установлена OS Linux®, прокси-модуль может быть сформирован в результате исполнения безопасной оболочки (SSH), которая представляет собой протокол криптографической сети для защищенной передачи данных, дистанционной регистрации через командную строку, дистанционного исполнения команды, и другие безопасные услуги защищенной сети между двумя подключенными к сети компьютерами. Другие примеры средств дистанционного запуска, аналогичных SSH, которые могут использоваться в некоторых вариантах осуществления, включают в себя удаленную оболочку (RSH), удаленное порождение нового процесса, "srun" в простой утилите Linux для управления ресурсами (SLURM), "blaunch" в средстве совместного использования нагрузки платформы (LSF), "qrsh" механизма решетки Sun (SGE), "рое", для запуска параллельной операционной среды, и т.п.
Сформированный прокси-модуль 210 может быть выполнен с возможностью запуска процессов 112 на основе MPI, которые затем могут сообщаться друг с другом, используя интерфейсы, соответствующие стандарту MPI, или любые соответствующие их вариации.
В некоторых вариантах осуществления система может быть масштабируемой и может обеспечивать возможности иерархических запусков. Например, прокси-модуль одного узла обработки может сообщаться с модулем системного обслуживания другого узла обработки для запроса формирования прокси-модуля на этом втором узле обработки, что, в свою очередь, может запускать процессы на основе MPI в этом втором узле. В качестве альтернативы, прокси-модуль одного узла обработки может формировать прокси-модуль другого узла обработки, например, путем исполнения SSH, который, в свою очередь, может запускать процессы на основе MPI в этом втором узле.
В некоторых вариантах осуществления процессы 112 на основе MPI могут быть запущены на удаленных узлах (узлах обработки), при этом от пользователя не требуется вводить данные, такие как пароль. Некоторые операционные системы могут воплощать дистанционный запуск без автоматического требования пароля, например, в результате запуска процесса, в котором дистанционно используется безопасная оболочка (SSH). Другие операционные системы, однако, могут использовать промежуточную системную службу 206, которая уже может исполняться в дистанционном узле, в соответствии с административными привилегиями, для формирования процессов в дистанционном узле, сформированные процессы затем имеют текущие привилегии пользователя (например, процесс узла запуска, запрашивающий запуск) таким образом, что процессы 112 на основе MPI могут быть запущены дистанционно без ввода регистрационного имени пользователя и/или пароля. Обслуживание системы может быть включено в OS 204 для предоставления определений и переводов, ассоциированных с OS, и для предоставления соответствующего уровня привилегии для запущенных процессов таким образом, что они могут работать и могут сообщаться друг с другом, используя MPI, например, через сетевые соединения.
Сетевые передачи данных могут включать в себя, например, передачу данных по сети InfiniBand® и/или другие, обладающие относительно высокими рабочими характеристиками сети передачи данных. Другие типы сетевой передачи данных могут включать в себя передачу данных между устройствами, используя сеть передачи данных на близком расстоянии, такую как сеть BLUETOOTH®, персональную вычислительную сеть (PAN), передачу данных на близком расстоянии (NFC), сеть ZigBee, проводное соединение Ethernet, соединение по проводной или беспроводной универсальной последовательной шине (USB), радиочастотную идентификацию (RFID), и сеть передачи данных на большом расстоянии, такую как сеть Wi-Fi, глобальная вычислительная сеть (WAN), включающая в себя, но без ограничений сеть сотовых телефонов (3G, 4G и т.д. и т.п.), Интернет, сеть предприятия, телефонные сети или любые их комбинации и т.п.
В некоторых вариантах осуществления системная служба 206 может открывать сокет TCP в режиме прослушивания, например во время или после запуска узла 106 обработки, для отслеживания запросов запуска из узла 102 запуска. В некоторых вариантах осуществления прослушиваемый сокет может быть открыт для порта 8679. Запросы запуска могут включать в себя аргументы командной строки, учетные данные пользователя и/или любую другую информацию, ассоциированную с запуском прокси-модулей 210 и процессов 112 передачи данных на основе MPI. Системная служба 206 может прерывать соединение с узлом запуска (или кросс-платформенным РМ 104) после формирования/запуска прокси-модуля 210.
В некоторых вариантах осуществления кросс-платформенный РМ 104 может быть выполнен как два (или больше) модулей исходного кода, которые могут быть разработаны, скомпилированы и могут поддерживаться независимо друг от друга. Хотя оба модуля могут быть скомпилированы для перевода исходного кода в двоичные исполнительные коды, которые совместимы с аппаратными средствами и OS платформами узла запуска, первый модуль исходного кода может быть выполнен с возможностью включать в себя исходный код, который является независимым от OS узла запуска. В отличие от этого, второй модуль исходного кода может быть выполнен с возможностью включать в себя исходный код, который зависит от или по-другому может быть связан с OS узла запуска. Следует понимать, что такое разделение исходного кода может упрощать разработку, распределение и поддержку кросс-платформенного РМ 104. В некоторых вариантах осуществления второй (зависимый от OS) исходный код может быть относительно малым и менее сложным, чем первый модуль исходного кода.
На фиг. 3 иллюстрируется блок-схема 300 последовательности операций потока обработки одного примерного варианта осуществления, который соответствует настоящему раскрытию. Узел 102 запуска исполняет кросс-платформенный менеджер 302 обработки. В некоторых вариантах осуществления узел 102 запуска может представлять собой платформу OS Windows® или платформу OS Linux®. Запросы на запуск процессов 304 на основе MPI передают из узла 102 запуска в узел 106 платформы А и в узел 110 платформы В. Запросы могут быть переданы через соединения сокета TCP между узлами. В ответ на эти запросы 304 модуль системного обслуживания в узле 106 платформы запускает прокси-модуль 306, который, в свою очередь, запускает один или больше процессов 308 на основе MPI. В некоторых вариантах осуществления узел 106 платформы А может представлять собой платформу OS Windows®.
Также в ответ на эти запросы прокси-модуль формируется в узле 110 платформы В непосредственно из узла запуска (например, через безопасную оболочку), и прокси-модуль запускает один или больше процессов 308 на основе MPI. В некоторых вариантах осуществления узел 110 платформы В может представлять собой платформу OS Linux®.
После запуска обработки на основе MPI они могут сообщаться друг с другом 310, например, используя библиотечные подпрограммы, которые воплощают стандарт MPI или его варианты. Обмен данными 310 MPI может происходить между процессами одного и того же узла или между процессами любого из узлов 102, 106, 110, и может происходить через соединения сокетов TCP сети в манере передачи переданных сообщений.
На фиг. 4 иллюстрируется блок-схема последовательности операций 400 одного примерного варианта осуществления, в соответствии с настоящим раскрытием. Операции обеспечивают способ для запуска процесса на основе MPI в узле обработки, в котором установлена OS Windows® или ее вариант. В операции 402 запрос на запуск процесса на основе MPI принимают из узла запуска. В операции 404 запускается прокси-процесс в узле обработки, в ответ на запрос, компонентом системной службы узла OS обработки. В операции 406 прокси-процесс запускает процесс на основе MPI. В операции 408 выполняют передачу данных на основе MPI между запущенным процессом MPI в этом узле и другими процессами на основе MPI в этом или другом узлах, включая в себя узел запуска.
На фиг. 5 иллюстрируется блок-схема последовательности операций 500 другого примера варианта осуществления, в соответствии с настоящим раскрытием. Операции направлены на способ для запуска процесса на основе MPI в узле обработки, в котором установлена OS Linux®, MacOS® или ее вариант. В операции 502 из узла запуска принимают запрос на запуск процесса на основе MPI. В операции 504 запускают прокси-процесс в узле обработки, в ответ на запрос путем выполнения безопасной оболочки. В операции 506 прокси-процесс запускает процесс на основе MPI. В операции 508 выполняют передачу данных на основе MPI между запущенным процессом MPI в этом узле и другими процессами на основе MPI в этом или в других узлах, включая в себя узел запуска.
На фиг. 6 иллюстрируется блок-схема последовательности операций 600 по другому примерному варианту осуществления, в соответствии с настоящим раскрытием. Операции направлены на способ для запуска процесса на основе MPI из узла запуска. Во время операции 610 выполняют определение в момент определения типа OS, ассоциированной с узлом обработки, в котором должен быть запущен процесс на основе MPI. При операции 620 запускают прокси-модуль в узле обработки. Прокси-модуль выполнен с возможностью запуска процесса на основе MPI. Запуск прокси-модуля включает в себя операции, которые основаны на определении типа OS узла обработки. Если тип OS узла обработки представляет собой OS Linux® или MacOS®, прокси-модуль запускают через исполнение безопасной оболочки для дистанционного запуска процесса. Если тип OS узла обработки представляет собой OS Windows®, прокси-модуль запускают путем запроса удаленного запуска процесса из модуля системного обслуживания, исполняющегося в узле обработки.
На фиг. 7 иллюстрируется схема 700 системы верхнего уровня одного примерного варианта осуществления, в соответствии с настоящим раскрытием. Система 700 может представлять собой аппаратную платформу 710 или вычислительное устройство, такое как, например, смартфон, интеллектуальный планшет, карманный персональный компьютер (PDA), мобильное Интернет-устройство (MID), конвертируемый планшет, ноутбук или переносной компьютер, настольный компьютер, сервер, интеллектуальный телевизор или любое другое устройство, стационарное или мобильное. Устройство может, в общем, представлять пользователю различные интерфейсы через дисплей 780, такой как, например, сенсорный экран, жидкокристаллический дисплей (LCD) или любой другой соответствующий тип дисплея.
Система 700 показана как включающая в себя процессор 720. В некоторых вариантах осуществления процессор 720 может быть воплощен как любое количество ядер процессора. Процессор (или ядра процессора) может представлять собой процессор любого типа, такой как, например, микропроцессор, встроенный процессор, цифровой сигнальный процессор (DSP), сетевой процессор, программируемая вентильная матрица или другое устройство, выполненное с возможностью выполнения кода. Процессор 720 может представлять собой однопотоковое ядро или многопотоковое ядро в том, что он может включать в себя более, чем один контекст аппаратного потока (или "логичный процессор") на ядро. Система 700 также показана как включающая в себя запоминающее устройство 730, соединенное с процессором 720. Запоминающее устройство 730 может представлять собой любое из широкого разнообразия запоминающих устройств (включая в себя различные уровни иерархии памяти и/или кэш-памяти), как известно, или по-другому может быть доступно для специалиста в данной области техники. Также показана система 700, которая включает в себя систему ввода-вывода (10) или контроллер 740, который может быть выполнен с возможностью предоставления или управления передачей данных между процессором 720 и другими элементами системы 700 или другими элементами (не показаны), внешними для системы 700. Система 700 также может включать в себя интерфейс 770 беспроводной передачи данных, выполненный с возможностью обеспечения беспроводной передачи данных между системой 700 и любыми внешними объектами. Беспроводные передачи данных могут соответствовать или, в противном случае, могут быть совместимыми с любыми существующими или разработанными в будущем стандартами передачи данных, включая в себя стандарты передачи данных для мобильного телефона.
Система 700 может дополнительно включать в себя узел 750 запуска и один или больше узлов 760 обработки. Узел запуска может быть выполнен с возможностью запуска процессов или приложения на основе MPI в узлах 760 обработки, как описано выше. В некоторых вариантах осуществления узел 750 запуска может представлять собой один из узлов 760 обработки. В некоторых вариантах осуществления узел 750 запуска и/или узлы 760 обработки могут быть воплощены в процессоре 720. В некоторых вариантах осуществления узел 750 запуска и узлы 760 обработки могут быть распределены по множеству экземпляров платформы 710 и могут быть выполнены как кластер узлов параллельной обработки.
Следует понимать, что в некоторых вариантах осуществления различные компоненты системы 700 могут быть скомбинированы в системе в виде архитектуры "система на микросхеме" (SoC). В некоторых вариантах осуществления компоненты могут представлять собой аппаратные компоненты, компоненты встроенного программного обеспечения, программные компоненты или любую соответствующую комбинацию аппаратных средств, компонентов встроенного микропрограммного обеспечения или программных компонентов.
Варианты осуществления описанных здесь способов могут быть воплощены в системе, которая включает в себя один или больше носителей записи, на которых сохранены, индивидуально или в комбинации, инструкции, которые при их исполнении одним или больше процессорами выполняют способы. Здесь процессор может включать в себя, например, системное CPU (например, процессор ядра) и/или программируемую схему. Таким образом, предполагается, что операции в соответствии со способами, описанными здесь, могут быть распределены среди множества физических устройств, таких как структуры обработки в нескольких различных физических местах положения.
Кроме того, предполагается, что операции способа могут выполняться индивидуально или в виде подкомбинации, как будет понятно для специалиста в данной области техники. Таким образом, не все операции каждой из блок-схем последовательности операций должны быть выполнены, и настоящее раскрытие явно направлено на то, что все подкомбинации таких операций будут включены, как будет понятно для специалиста в данной области техники.
Носитель записи может включать в себя любой тип материального носителя записи, например любой тип диска, включая в себя гибкие диски, оптические диски, постоянное запоминающее устройство на компакт-дисках (CD-ROM), перезаписываемые компакт-диски (CD-RW), цифровые универсальные диски (DVD) и магнитооптические диски, полупроводниковые устройства, такие как постоянные запоминающие устройства (ROM), оперативные запоминающие устройства (RAM), такие как динамические и статические RAM, стираемые программируемые постоянные запоминающие устройства (EPROM), электрически стираемые программируемые постоянные запоминающие устройства (EEPROM), запоминающее устройство флэш, магнитные или оптические карты или носители любого типа, пригодные для сохранения электронных инструкций.
Термин "схема", используемый в любом представленном здесь варианте осуществления, может включать в себя, например, одну или любую комбинацию аппаратных схем, программируемых схем, схем конечных автоматов и/или встроенное программное обеспечение, которое содержит инструкции, исполняемые программируемой схемой. Схема может быть воплощена как интегральная схема, такая как интегральные микросхемы. Программы и/или приложения (APS) могут быть воплощены как код или инструкции, которые могут быть выполнены в программируемых схемах, таких как хост-процессор или любая другая программируемая схема. Программное обеспечение может быть воплощено как пакет программного обеспечения, код, инструкции, набор инструкций и/или данные, записанные на энергонезависимые считываемые компьютером носители информации. Встроенное программное обеспечение может быть воплощено как код, инструкции или наборы инструкций, и/или данные, которые были жестко кодированы (то есть энергонезависимые) в запоминающих устройствах. "Модуль", используемый здесь в любом варианте осуществления, может быть воплощен как любая комбинация программного обеспечения, встроенного программного обеспечения и/или схемы.
Таким образом, настоящее раскрытие направлено на системы, устройства, способы и считываемый компьютером носитель информации для запуска процессов на основе MPI и приложений в гетерогенной окружающей среде. Следующие примеры относятся к дополнительным вариантам осуществления.
В соответствии с примером 1 предусмотрен узел обработки для запуска процессов на основе MPI. Узел обработки может включать в себя операционную систему (OS), OS предназначена для приема запроса обработки на основе интерфейса прохождения сообщения (MPI), запроса принятого из модуля управления процессом в узле запуска. Узел обработки в этом примере может также включать в себя прокси-модуль для запуска процесса на основе MPI в ответ на прием запроса. Процесс на основе MPI в этом примере может дополнительно включать в себя модуль приложения для обмена данными с другими процессами на основе MPI, в соответствии со стандартом MPI, обмен данными, ассоциирован с рабочими характеристиками задачи.
Пример 2 может включать в себя элементы примера 1, и прокси-модуль сформирован путем исполнения безопасной оболочки (SSH).
Пример 3 может включать в себя элементы примера 2, и процесс на основе MPI запускают с привилегиями, ассоциированными с модулем управления процесса в узле запуска.
Пример 4 может включать в себя элементы примера 2, и OS представляет собой Linux®, OS® или MacOS®.
Пример 5 может включать в себя элементы по примеру 1, и прокси-модуль сформирован на основе модуля системного обслуживания OS.
Пример 6 может включать в себя элементы по примеру 5, и модуль системного обслуживания исполняется с административными привилегиями, и процесс на основе MPI запускают с привилегиями, ассоциированными с модулем обработки процесса в узле запуска.
Пример 7 может включать в себя элементы по примеру 5, и OS представляет собой OS Windows®.
Пример 8 может включать в себя элементы примера 1, и узел обработки представляет собой один из множества узлов обработки, организованных как кластер узлов параллельной обработки, и узел запуска представляет собой один из узлов обработки.
Пример 9 может включать в себя элементы примера 1, и запрос на обработку на основе MPI принимают через сокеты протокола управления передачей (TCP).
Пример 10 может включать в себя элементы примера 1, и прокси-модуль дополнительно выполнен с возможностью запуска второго прокси-модуля во втором узле обработки, второй прокси-модуль, предназначенный для запуска процесса на основе MPI во втором узле обработки.
В соответствии с примером 11 предусмотрена система для запуска процессов на основе MPI для множества типов платформ. Система может включать в себя первую OS, ассоциированную с платформой узла запуска, первая OS предусмотрена для обмена данными между платформой узла запуска и платформой узла обработки, и множество типов платформ включают в себя платформу узла запуска и платформу узла обработки. Система в данном примере также может включать в себя модуль управления процессом (РМ), ассоциированный с платформой узла запуска. Модуль РМ в данном примере может включать в себя модуль определения типа OS, предназначенный для определения типа второй OS, ассоциированной с платформой узла обработки. Модуль РМ в этом примере может также включать в себя модуль запроса запуска, предназначенный для передачи запроса в платформу узла обработки, запрос, предназначенный для формирования прокси-модуля для запуска процесса на основе MPI на платформе узла обработки, и обмен данными по запросу основан на определенном типе второй OS.
Пример 12 может включать в себя элементы по примеру 11, и прокси-модуль сформирован в результате исполнения безопасной оболочки (SSH).
Пример 13 может включать в себя элементы по примеру 11, и вторая OS представляет собой OS Linux® или MacOS®.
Пример 14 может включать в себя элементы по примеру 11, и прокси-модуль сформирован на основе модуля системного обслуживания второй OS.
Пример 15 может включать в себя элементы примера 11, и вторая OS представляет собой OS Windows®.
Пример 16 может включать в себя элементы примера 11, и платформа узла обработки представляет собой одну из множества платформ узла обработки, организованных как кластер параллельной обработки узлов, и платформа узла запуска представляет собой одну из платформ узла обработки.
Пример 17 может включать в себя элементы по примеру 11, и первая OS представляет собой OS Linux®, MacOS® или OS Windows®.
Пример 18 может включать в себя элементы примера 11, и платформа узла запуска и/или платформа узла обработки представляет собой смартфон, переносное вычислительное устройство, интеллектуальный телевизор или интеллектуальный планшет.
Пример 19 может включать в себя элементы примера 11, и платформа узла запуска и платформа узла обработки дополнительно включают в себя интерфейс пользователя, и интерфейс пользователя представляет собой сенсорный экран.
В соответствии с примером 20, предусмотрен способ для запуска процесса на основе MPI из узла запуска. Способ в этом примере может включать в себя определение типа OS, ассоциированное с узлом обработки, на котором должен быть запущен процесс на основе MPI. Способ в этом примере также может включать в себя запуск прокси-модуля на узле обработки, прокси-модуль, предназначенный для запуска процесса на основе MPI, и запуск прокси-модуля включает в себя операции на основе определенного типа OS узла обработки.
Пример 21 может включать в себя элементы по примеру 20, и запуск прокси-модуля дополнительно включает в себя выполнение безопасной оболочки для удаленного запуска процесса.
Пример 22 может включать в себя элементы по примеру 21, и OS представляет собой OS Linux® или MacOS®.
Пример 23 может включать в себя элементы по примеру 20, и запуск прокси-модуля дополнительно включает в себя запрос дистанционного запуска процесса из модуля системного обслуживания, выполняющегося в узле обработки.
Пример 24 может включать в себя элементы по примеру 23, и OS представляет собой OS Windows®.
Пример 25 может включать в себя элементы по примеру 20, и прокси-модуль узла обработки дополнительно выполнен с возможностью запуска второго прокси-модуля во втором узле обработки, второй прокси-модуль предназначен для запуска процесса на основе MPI во втором узле обработки.
В соответствии с примером 26, предусмотрена система для запуска процесса на основе MPI из узла запуска. Система в этом примере может включать в себя средство для определения типа OS, ассоциированного с узлом обработки, в котором должен быть запущен процесс на основе MPI. Система в этом примере также может включать в себя средство для запуска прокси-модуля на узле обработки, прокси-модуля для запуска процесса на основе MPI, и запуск прокси-модуля включает в себя операции на основе OS определенного типа узла обработки.
Пример 27 может включать в себя элементы примера 26, и запуск прокси-модуля дополнительно включает в себя средство для исполнения безопасной оболочки для дистанционного запуска процесса.
Пример 28 может включать в себя элементы примера 27, и OS представляет собой OS Linux® или MacOS®.
Пример 29 может включать в себя элементы примера 26, и запуск прокси-модуля дополнительно включает в себя средство для запроса запуска удаленного процесса из модуля системного обслуживания, исполняющегося в узле обработки.
Пример 30 может включать в себя элементы примера 29, и OS представляет собой OS Windows®.
Пример 31 может включать в себя элементы примера 26, и узел обработки представляет собой один из множества узлов обработки, организованных как кластер узлов параллельной обработки, и узел запуска представляет собой один из узлов обработки.
Пример 32 может включать в себя элементы примера 26, и обмен данными между узлом запуска и узлом обработки выполняется через сокеты TCP.
Пример 33 может включать в себя элементы примера 26, и прокси-модуль на узле обработки дополнительно включает в себя средство для запуска второго прокси-модуля во втором узле обработки, второй прокси-модуль, предназначенный для запуска процесса на основе MPI во втором узле обработки.
В соответствии с другим примером, предусмотрен, по меньшей мере, один считываемый компьютером носитель информации, имеющий инструкции, сохраненные в нем, которые при исполнении процессором обеспечивают выполнение процессором операции способа, как описано в любом из представленных выше примеров.
В соответствии с другим примером, предусмотрено устройство, включающее в себя средство для выполнения способа, как описано в любом из представленных выше примеров.
Термины и выражения, которые были использованы здесь, используются как термины описания, а не ограничения, и отсутствует какое-либо намерение использовать такие термины и выражения для исключения каких-либо показанных и описанных эквивалентов свойств (или их частей), и предполагается, что различные модификации возможны в пределах объема формулы изобретения. В соответствии с этим формула изобретения предназначена для охвата всех таких эквивалентов. Различные свойства, аспекты и варианты осуществления были описаны здесь. Свойства, аспекты и варианты осуществления могут быть скомбинированы друг с другом, а также могут быть выполнены их вариации и модификации, как будет понятно для специалиста в данной области техники. Настоящее раскрытие поэтому следует рассматривать как охватывающее такие комбинации, вариации и модификации.
Claims (21)
1. Узел обработки для запуска процессов на основе MPI, содержащий:
операционную систему (OS), предназначенную для приема запроса обработки на основе интерфейса прохождения сообщения (MPI), при этом упомянутый запрос принимают из модуля управления процессом в узле запуска;
прокси-модуль для запуска процесса на основе MPI в ответ на прием упомянутого запроса; причем
упомянутый процесс на основе MPI содержит модуль приложения для обмена данными с другими процессами на основе MPI, в соответствии со стандартом MPI, а упомянутый обмен данными ассоциирован с рабочими характеристиками задачи, в котором упомянутый прокси-модуль сформирован путем исполнения безопасной оболочки (SSH) или упомянутый прокси-модуль сформирован на основе модуля системного обслуживания OS в зависимости от типа упомянутой OS.
операционную систему (OS), предназначенную для приема запроса обработки на основе интерфейса прохождения сообщения (MPI), при этом упомянутый запрос принимают из модуля управления процессом в узле запуска;
прокси-модуль для запуска процесса на основе MPI в ответ на прием упомянутого запроса; причем
упомянутый процесс на основе MPI содержит модуль приложения для обмена данными с другими процессами на основе MPI, в соответствии со стандартом MPI, а упомянутый обмен данными ассоциирован с рабочими характеристиками задачи, в котором упомянутый прокси-модуль сформирован путем исполнения безопасной оболочки (SSH) или упомянутый прокси-модуль сформирован на основе модуля системного обслуживания OS в зависимости от типа упомянутой OS.
2. Узел обработки по п. 1, в котором упомянутый процесс на основе MPI запускают с привилегиями, ассоциированными с модулем управления процесса в узле запуска.
3. Узел обработки по п. 1, в котором упомянутая OS выбрана из группы, состоящей из OS Linux® и MacOS®.
4. Узел обработки по п. 1, в котором упомянутый модуль системного обслуживания исполняется с административными привилегиями, и упомянутый процесс на основе MPI запускают с привилегиями, ассоциированными с упомянутым модулем обработки процесса в узле запуска.
5. Узел обработки по п. 1, в котором упомянутая OS представляет собой OS Windows®.
6. Узел обработки по п. 1, в котором упомянутый узел обработки представляет собой один из множества узлов обработки, организованных как кластер узлов параллельной обработки, и упомянутый узел запуска представляет собой один из упомянутых узлов обработки.
7. Узел обработки по п. 1, в котором упомянутый запрос на обработку на основе MPI принимают через сокеты протокола управления передачей (TCP).
8. Узел обработки по п. 1, в котором упомянутый прокси-модуль дополнительно выполнен с возможностью запуска второго прокси-модуля во втором узле обработки, при этом упомянутый второй прокси-модуль предназначен для запуска упомянутого процесса на основе MPI в упомянутом втором узле обработки.
9. Система для запуска процессов на основе MPI для множества типов платформ, при этом упомянутая система содержит:
первую OS, ассоциированную с платформой узла запуска, причем упомянутая первая OS предусмотрена для обмена данными между упомянутой платформой узла запуска и платформой узла обработки, при этом упомянутое множество типов платформ включают в себя платформу узла запуска и платформу узла обработки; и
модуль управления процессом (РМ), ассоциированный с упомянутой платформой узла запуска, при этом упомянутый модуль РМ содержит:
модуль определения типа OS, предназначенный для определения типа второй OS, ассоциированного с упомянутой платформой узла обработки; и
модуль запроса запуска, предназначенный для передачи запроса в упомянутую платформу узла обработки, при этом упомянутый запрос предназначен для формирования прокси-модуля для запуска процесса на основе MPI на упомянутой платформе узла обработки, в которой передача запроса основана на определенном типе упомянутой второй OS, и в которой упомянутый прокси-модуль формируют путем исполнения безопасной оболочки, если определен первый тип второй OS, и упомянутый прокси-модуль формируют на основе модуля системного обслуживания OS, если определен второй тип второй OS.
первую OS, ассоциированную с платформой узла запуска, причем упомянутая первая OS предусмотрена для обмена данными между упомянутой платформой узла запуска и платформой узла обработки, при этом упомянутое множество типов платформ включают в себя платформу узла запуска и платформу узла обработки; и
модуль управления процессом (РМ), ассоциированный с упомянутой платформой узла запуска, при этом упомянутый модуль РМ содержит:
модуль определения типа OS, предназначенный для определения типа второй OS, ассоциированного с упомянутой платформой узла обработки; и
модуль запроса запуска, предназначенный для передачи запроса в упомянутую платформу узла обработки, при этом упомянутый запрос предназначен для формирования прокси-модуля для запуска процесса на основе MPI на упомянутой платформе узла обработки, в которой передача запроса основана на определенном типе упомянутой второй OS, и в которой упомянутый прокси-модуль формируют путем исполнения безопасной оболочки, если определен первый тип второй OS, и упомянутый прокси-модуль формируют на основе модуля системного обслуживания OS, если определен второй тип второй OS.
10. Система по п. 9, в которой упомянутый первый тип второй OS соответствует OS Linux® или MacOS®.
11. Система по п. 9, в которой упомянутый второй тип второй OS соответствует OS Windows®.
12. Система по п. 9, в которой упомянутая платформа узла обработки представляет собой одну из множества платформ узла обработки, организованных как кластер параллельной обработки узлов, и упомянутая платформа узла запуска представляет собой одну из упомянутых платформ узла обработки.
13. Система по п. 9, в которой упомянутая первая OS выбрана из группы, состоящей из OS Linux®, MacOS® и OS Windows®.
14. Система по п. 9, в которой упомянутая платформа узла запуска и/или упомянутая платформа узла обработки выбрана из группы, состоящей из смартфона, переносного вычислительного устройства, интеллектуального телевизора или интеллектуального планшета.
15. Система по п. 9, в которой упомянутая платформа узла запуска и упомянутая платформа узла обработки дополнительно содержат интерфейс пользователя, при этом упомянутый интерфейс пользователя представляет собой сенсорный экран.
16. Способ запуска процесса на основе MPI из узла запуска, при этом упомянутый способ содержит:
определение типа OS, ассоциированного с узлом обработки, на котором должен быть запущен упомянутый процесс на основе MPI; и
запуск прокси-модуля на упомянутом узле обработки, причем упомянутый прокси-модуль предназначен для запуска процесса на основе MPI, в котором упомянутый запуск прокси-модуля включает в себя операции на основе упомянутого определенного типа OS узла обработки, при этом упомянутый прокси-модуль запускают путем выполнения безопасной оболочки, если определен первый тип OS узла обработки, и упомянутый прокси-модуль запускают путем запроса дистанционного запуска процесса из модуля системного обслуживания, выполняющегося в упомянутом узле обработки, если определен второй тип OS узла обработки.
определение типа OS, ассоциированного с узлом обработки, на котором должен быть запущен упомянутый процесс на основе MPI; и
запуск прокси-модуля на упомянутом узле обработки, причем упомянутый прокси-модуль предназначен для запуска процесса на основе MPI, в котором упомянутый запуск прокси-модуля включает в себя операции на основе упомянутого определенного типа OS узла обработки, при этом упомянутый прокси-модуль запускают путем выполнения безопасной оболочки, если определен первый тип OS узла обработки, и упомянутый прокси-модуль запускают путем запроса дистанционного запуска процесса из модуля системного обслуживания, выполняющегося в упомянутом узле обработки, если определен второй тип OS узла обработки.
17. Способ по п. 16, в котором упомянутый прокси-модуль на упомянутом процессорном узле дополнительно выполнен с возможностью запуска второго прокси-модуля во втором узле обработки, при этом упомянутый второй прокси-модуль предназначен для запуска процесса на основе MPI в упомянутом втором узле обработки.
18. По меньшей мере, один считываемый компьютером носитель информации, имеющий инструкции, сохраненные в нем, которые при исполнении процессором, обеспечивают выполнение следующих операций для запуска процессов на основе MPI из узла запуска, при этом упомянутые операции содержат:
определение типа OS, ассоциированного с узлом обработки, на котором должен быть запущен упомянутый процесс на основе MPI; и
запуск прокси-модуля на упомянутом узле обработки, причем упомянутый прокси-модуль предназначен для запуска процесса на основе MPI, в котором упомянутый запуск прокси-модуля включает в себя операции на основе упомянутого определенного типа OS узла обработки, при этом упомянутый прокси-модуль запускают путем выполнения безопасной оболочки, если определен первый тип OS узла обработки, и упомянутый прокси-модуль запускают путем запроса дистанционного запуска процесса из модуля системного обслуживания, выполняющегося в упомянутом узле обработки, если определен второй тип OS узла обработки.
определение типа OS, ассоциированного с узлом обработки, на котором должен быть запущен упомянутый процесс на основе MPI; и
запуск прокси-модуля на упомянутом узле обработки, причем упомянутый прокси-модуль предназначен для запуска процесса на основе MPI, в котором упомянутый запуск прокси-модуля включает в себя операции на основе упомянутого определенного типа OS узла обработки, при этом упомянутый прокси-модуль запускают путем выполнения безопасной оболочки, если определен первый тип OS узла обработки, и упомянутый прокси-модуль запускают путем запроса дистанционного запуска процесса из модуля системного обслуживания, выполняющегося в упомянутом узле обработки, если определен второй тип OS узла обработки.
19. Считываемый компьютером носитель информации по п. 18, в котором упомянутый узел обработки представляет собой один из множества узлов обработки, организованных как кластер узлов параллельной обработки, и упомянутый узел запуска представляет собой один из упомянутых узлов обработки.
20. Считываемый компьютером носитель информации по п. 18, в котором обмен данными между упомянутым узлом запуска и упомянутым узлом обработки выполняется через сокеты TCP.
21. Считываемый компьютером носитель информации по п. 18, в котором упомянутый прокси-модуль в упомянутом узле обработки дополнительно выполнен с возможностью выполнять операцию запуска второго прокси-модуля во втором узле обработки, при этом упомянутый второй прокси-модуль предназначен для запуска упомянутого процесса на основе MPI в упомянутом втором узле обработки.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2014113754/08A RU2600538C2 (ru) | 2014-04-08 | 2014-04-08 | Запуск приложения на основе интерфейса передачи сообщения (mpi) в гетерогенной среде |
US14/643,066 US10554776B2 (en) | 2014-04-08 | 2015-03-10 | Startup of message-passing-interface (MPI) based applications in a heterogeneous environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2014113754/08A RU2600538C2 (ru) | 2014-04-08 | 2014-04-08 | Запуск приложения на основе интерфейса передачи сообщения (mpi) в гетерогенной среде |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2014113754A RU2014113754A (ru) | 2015-10-20 |
RU2600538C2 true RU2600538C2 (ru) | 2016-10-20 |
Family
ID=54210812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2014113754/08A RU2600538C2 (ru) | 2014-04-08 | 2014-04-08 | Запуск приложения на основе интерфейса передачи сообщения (mpi) в гетерогенной среде |
Country Status (2)
Country | Link |
---|---|
US (1) | US10554776B2 (ru) |
RU (1) | RU2600538C2 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2790094C1 (ru) * | 2022-05-19 | 2023-02-14 | Акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" (АО НПЦ "ЭЛВИС") | СПОСОБ ПАРАЛЛЕЛЬНОЙ ОБРАБОТКИ ИНФОРМАЦИИ В ГЕТЕРОГЕННОЙ МНОГОПРОЦЕССОРНОЙ СИСТЕМЕ НА КРИСТАЛЛЕ (СнК) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105471675A (zh) * | 2015-11-20 | 2016-04-06 | 浪潮电子信息产业股份有限公司 | 一种多节点批量测试的方法及系统 |
US10621365B1 (en) * | 2017-05-22 | 2020-04-14 | Architecture Technology Corporation | Obfuscation for high-performance computing systems |
CN107748700A (zh) * | 2017-10-09 | 2018-03-02 | 北京东土科技股份有限公司 | 一种基于嵌入式操作系统的mpi实现系统和方法 |
US11122079B1 (en) | 2019-04-08 | 2021-09-14 | Architecture Technology Corporation | Obfuscation for high-performance computing systems |
CN112306718B (zh) * | 2020-11-18 | 2023-02-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种本地设备与异构设备之间的通信方法、系统及相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7472193B2 (en) * | 2002-04-16 | 2008-12-30 | Dean Dauger | Expanded method and system for parallel operation and control of legacy computer clusters |
RU2345408C2 (ru) * | 2003-03-27 | 2009-01-27 | Майкрософт Корпорейшн | Улучшение доступности и масштабируемости в системе передачи сообщений способом, прозрачным для приложения |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001101033A (ja) * | 1999-09-27 | 2001-04-13 | Hitachi Ltd | オペレーティングシステム及びアプリケーションプログラムの障害監視方法 |
CA2365730A1 (en) * | 2001-12-20 | 2003-06-20 | Platform Computing (Barbados) Inc. | Method and device to assist in the execution of tasks of parallel jobs |
US7395536B2 (en) * | 2002-11-14 | 2008-07-01 | Sun Microsystems, Inc. | System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment |
JP4345334B2 (ja) * | 2003-03-28 | 2009-10-14 | 日本電気株式会社 | 耐障害計算機システム、プログラム並列実行方法およびプログラム |
GB2397477B (en) | 2003-11-26 | 2004-12-01 | F Secure Oyj | Securing a data transmission channel |
US8190714B2 (en) * | 2004-04-15 | 2012-05-29 | Raytheon Company | System and method for computer cluster virtualization using dynamic boot images and virtual disk |
US7526534B2 (en) | 2004-07-16 | 2009-04-28 | Cassatt Corporation | Unified system services layer for a distributed processing system |
US7512934B2 (en) * | 2004-08-25 | 2009-03-31 | Microsoft Corporation | Parallel debugger |
US8397224B2 (en) * | 2004-09-13 | 2013-03-12 | The Mathworks, Inc. | Methods and system for executing a program in multiple execution environments |
US7681075B2 (en) * | 2006-05-02 | 2010-03-16 | Open Invention Network Llc | Method and system for providing high availability to distributed computer applications |
US8589953B1 (en) * | 2010-08-06 | 2013-11-19 | Open Invention Network, Llc | System and method for transparent consistent application-replication of multi-process multi-threaded applications |
US7765561B1 (en) * | 2005-11-10 | 2010-07-27 | The Mathworks, Inc. | Dynamically sizing a collaboration of concurrent computing workers based on user inputs |
US7644130B2 (en) * | 2005-12-30 | 2010-01-05 | Intel Corporation | Method and apparatus for transparent selection of alternate network interfaces in a message passing interface (“MPI”) implementation |
US8156493B2 (en) * | 2006-04-12 | 2012-04-10 | The Mathworks, Inc. | Exception handling in a concurrent computing process |
US8561077B1 (en) * | 2006-04-12 | 2013-10-15 | The Math Works, Inc. | Binder for a multi-threaded process to access an un-shareable resource |
US7631168B1 (en) * | 2006-05-10 | 2009-12-08 | The Math Works, Inc. | Graphical interface for grouping concurrent computing units executing a concurrent computing process |
US8713582B2 (en) * | 2006-10-26 | 2014-04-29 | International Business Machines Corporation | Providing policy-based operating system services in an operating system on a computing system |
US7634388B2 (en) * | 2006-10-26 | 2009-12-15 | International Business Machines Corporation | Providing policy-based operating system services in an operating system on a computing system |
US8032899B2 (en) * | 2006-10-26 | 2011-10-04 | International Business Machines Corporation | Providing policy-based operating system services in a hypervisor on a computing system |
US20090007256A1 (en) | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Using a trusted entity to drive security decisions |
US7966624B2 (en) * | 2007-08-22 | 2011-06-21 | Intel Corporation | Using message passing interface (MPI) profiling interface for emulating different MPI implementations |
US7809970B2 (en) * | 2007-08-27 | 2010-10-05 | International Business Machines Corporation | System and method for providing a high-speed message passing interface for barrier operations in a multi-tiered full-graph interconnect architecture |
US8347038B2 (en) * | 2008-03-31 | 2013-01-01 | Intel Corporation | Optimizing memory copy routine selection for message passing in a multicore architecture |
US8245240B2 (en) * | 2008-04-04 | 2012-08-14 | Intel Corporation | Extended dynamic optimization of connection establishment and message progress processing in a multi-fabric message passing interface implementation |
US20100017655A1 (en) * | 2008-07-16 | 2010-01-21 | International Business Machines Corporation | Error Recovery During Execution Of An Application On A Parallel Computer |
US8341619B2 (en) * | 2009-05-13 | 2012-12-25 | Oracle International Corporation | Simplifying installation of software modules on heterogeneous remote systems |
US8738781B2 (en) * | 2009-06-22 | 2014-05-27 | Red Hat Israel, Ltd. | Launching a virtual machine associated with a client during startup |
US9141580B2 (en) * | 2010-03-23 | 2015-09-22 | Citrix Systems, Inc. | Systems and methods for monitoring and maintaining consistency of a configuration |
US8250405B2 (en) * | 2010-05-27 | 2012-08-21 | International Business Machines Corporation | Accelerating recovery in MPI environments |
US9451012B1 (en) * | 2011-08-30 | 2016-09-20 | CSC Holdings, LLC | Heterogeneous cloud processing utilizing consumer devices |
US9467494B1 (en) * | 2011-12-30 | 2016-10-11 | Rupaka Mahalingaiah | Method and apparatus for enabling mobile cluster computing |
US9104490B2 (en) | 2012-12-27 | 2015-08-11 | Intel Corporation | Methods, systems and apparatuses for processor selection in multi-processor systems |
US9239739B2 (en) | 2013-09-27 | 2016-01-19 | Intel Corporation | Methods and apparatus for controlling affinity for execution entities |
US9537932B2 (en) * | 2013-10-23 | 2017-01-03 | Microsoft Technology Licensing, Llc | Emulating test distributed application on server |
US9065854B2 (en) * | 2013-10-28 | 2015-06-23 | Citrix Systems, Inc. | Systems and methods for managing a guest virtual machine executing within a virtualized environment |
US9626261B2 (en) * | 2013-11-27 | 2017-04-18 | Futurewei Technologies, Inc. | Failure recovery resolution in transplanting high performance data intensive algorithms from cluster to cloud |
US9503514B2 (en) * | 2014-04-24 | 2016-11-22 | International Business Machines Corporation | Administering virtual machines in a distributed computing environment |
-
2014
- 2014-04-08 RU RU2014113754/08A patent/RU2600538C2/ru not_active IP Right Cessation
-
2015
- 2015-03-10 US US14/643,066 patent/US10554776B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7472193B2 (en) * | 2002-04-16 | 2008-12-30 | Dean Dauger | Expanded method and system for parallel operation and control of legacy computer clusters |
RU2345408C2 (ru) * | 2003-03-27 | 2009-01-27 | Майкрософт Корпорейшн | Улучшение доступности и масштабируемости в системе передачи сообщений способом, прозрачным для приложения |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2790094C1 (ru) * | 2022-05-19 | 2023-02-14 | Акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" (АО НПЦ "ЭЛВИС") | СПОСОБ ПАРАЛЛЕЛЬНОЙ ОБРАБОТКИ ИНФОРМАЦИИ В ГЕТЕРОГЕННОЙ МНОГОПРОЦЕССОРНОЙ СИСТЕМЕ НА КРИСТАЛЛЕ (СнК) |
Also Published As
Publication number | Publication date |
---|---|
RU2014113754A (ru) | 2015-10-20 |
US20150288777A1 (en) | 2015-10-08 |
US10554776B2 (en) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9560037B2 (en) | Integrated APIs and UIs for consuming services across different distributed networks | |
CN106687975B (zh) | 可信执行环境可扩展计算装置接口 | |
US8799862B2 (en) | Application testing using sandboxes | |
US9081703B2 (en) | Method and apparatuses for facilitating sharing device connections between a host and client based on the power mode of the host | |
RU2600538C2 (ru) | Запуск приложения на основе интерфейса передачи сообщения (mpi) в гетерогенной среде | |
JP5893029B2 (ja) | クラウド・コンピューティング環境においてハイパーバイザの制御を可能にする方法 | |
US20150237128A1 (en) | Omnichannel approach to application sharing across different devices | |
US20190245758A1 (en) | Slice instance management method and apparatus | |
US9565168B1 (en) | System and method of a trusted computing operation mode | |
US20220116755A1 (en) | Multi-access edge computing (mec) vehicle-to-everything (v2x) interoperability support for multiple v2x message brokers | |
US20230164241A1 (en) | Federated mec framework for automotive services | |
WO2017173667A1 (zh) | 一种管理方法及装置 | |
KR20220065670A (ko) | 에지 네트워킹을 이용한 확장 피어-투-피어(p2p) | |
CN109716735B (zh) | 用于在于一个或多个应用平台上执行的隔离的应用之间共享应用数据的系统和方法 | |
EP3329374A1 (en) | System and method for trusted operability when moving between network functions virtualization states | |
US9710626B2 (en) | Security model for network information service | |
CN103885833A (zh) | 一种资源管理方法和系统 | |
CN109697121B (zh) | 用于向应用分配处理资源的方法、设备和计算机可读介质 | |
US20130074069A1 (en) | System and method for cross-platform application execution and display | |
US20220012042A1 (en) | Mechanism for secure and resilient configuration upgrades | |
JPWO2018003020A1 (ja) | 制御装置、コンテナの起動方法及びプログラム | |
US11151551B2 (en) | Systems and methods related to executing transactions in a hybrid cloud environment | |
EP3387816B1 (en) | Connecting and retrieving security tokens based on context | |
WO2016195624A1 (en) | Transferring an image file over a network | |
US10637924B2 (en) | Cloud metadata discovery API |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20180409 |