RU2600538C2 - Запуск приложения на основе интерфейса передачи сообщения (mpi) в гетерогенной среде - Google Patents

Запуск приложения на основе интерфейса передачи сообщения (mpi) в гетерогенной среде Download PDF

Info

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
Application number
RU2014113754/08A
Other languages
English (en)
Other versions
RU2014113754A (ru
Inventor
Артем Владимирович Ялозо
Александр Валерьевич Супалов
Михаил Вячеславович Чувелев
Original Assignee
Интел Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Интел Корпорейшн filed Critical Интел Корпорейшн
Priority to RU2014113754/08A priority Critical patent/RU2600538C2/ru
Priority to US14/643,066 priority patent/US10554776B2/en
Publication of RU2014113754A publication Critical patent/RU2014113754A/ru
Application granted granted Critical
Publication of RU2600538C2 publication Critical patent/RU2600538C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning 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.
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.
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 узла обработки.
17. Способ по п. 16, в котором упомянутый прокси-модуль на упомянутом процессорном узле дополнительно выполнен с возможностью запуска второго прокси-модуля во втором узле обработки, при этом упомянутый второй прокси-модуль предназначен для запуска процесса на основе MPI в упомянутом втором узле обработки.
18. По меньшей мере, один считываемый компьютером носитель информации, имеющий инструкции, сохраненные в нем, которые при исполнении процессором, обеспечивают выполнение следующих операций для запуска процессов на основе MPI из узла запуска, при этом упомянутые операции содержат:
определение типа OS, ассоциированного с узлом обработки, на котором должен быть запущен упомянутый процесс на основе MPI; и
запуск прокси-модуля на упомянутом узле обработки, причем упомянутый прокси-модуль предназначен для запуска процесса на основе MPI, в котором упомянутый запуск прокси-модуля включает в себя операции на основе упомянутого определенного типа OS узла обработки, при этом упомянутый прокси-модуль запускают путем выполнения безопасной оболочки, если определен первый тип OS узла обработки, и упомянутый прокси-модуль запускают путем запроса дистанционного запуска процесса из модуля системного обслуживания, выполняющегося в упомянутом узле обработки, если определен второй тип OS узла обработки.
19. Считываемый компьютером носитель информации по п. 18, в котором упомянутый узел обработки представляет собой один из множества узлов обработки, организованных как кластер узлов параллельной обработки, и упомянутый узел запуска представляет собой один из упомянутых узлов обработки.
20. Считываемый компьютером носитель информации по п. 18, в котором обмен данными между упомянутым узлом запуска и упомянутым узлом обработки выполняется через сокеты TCP.
21. Считываемый компьютером носитель информации по п. 18, в котором упомянутый прокси-модуль в упомянутом узле обработки дополнительно выполнен с возможностью выполнять операцию запуска второго прокси-модуля во втором узле обработки, при этом упомянутый второй прокси-модуль предназначен для запуска упомянутого процесса на основе MPI в упомянутом втором узле обработки.
RU2014113754/08A 2014-04-08 2014-04-08 Запуск приложения на основе интерфейса передачи сообщения (mpi) в гетерогенной среде RU2600538C2 (ru)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2790094C1 (ru) * 2022-05-19 2023-02-14 Акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" (АО НПЦ "ЭЛВИС") СПОСОБ ПАРАЛЛЕЛЬНОЙ ОБРАБОТКИ ИНФОРМАЦИИ В ГЕТЕРОГЕННОЙ МНОГОПРОЦЕССОРНОЙ СИСТЕМЕ НА КРИСТАЛЛЕ (СнК)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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