RU2597556C2 - Структура компьютерного кластера для выполнения вычислительных задач и способ функционирования указанного кластера - Google Patents
Структура компьютерного кластера для выполнения вычислительных задач и способ функционирования указанного кластера Download PDFInfo
- Publication number
- RU2597556C2 RU2597556C2 RU2013121560/12A RU2013121560A RU2597556C2 RU 2597556 C2 RU2597556 C2 RU 2597556C2 RU 2013121560/12 A RU2013121560/12 A RU 2013121560/12A RU 2013121560 A RU2013121560 A RU 2013121560A RU 2597556 C2 RU2597556 C2 RU 2597556C2
- Authority
- RU
- Russia
- Prior art keywords
- computing
- computer cluster
- auxiliary means
- auxiliary
- destination
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
- Advance Control (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Electrotherapy Devices (AREA)
- Complex Calculations (AREA)
- Stored Programmes (AREA)
Abstract
Изобретение относится к структуре компьютерного кластера и способу функционирования предлагаемой структуры компьютерного кластера. Предлагаемая структура компьютерного кластера содержит вычислительные узлы CN, которые передают выполнение конкретных вычислительных задач вспомогательным средствам. Настоящее изобретение находит применение в технологии высокопроизводительных кластеров, при этом обеспечивается возможность гибкой связи при обмене данных между ускорителем и вычислительными узлами, а также обеспечивается прямой доступ вычислительных узлов к любому ускорителю, и их динамического соединения. Таким образом, решается вопрос нехватки ресурсов, расширяется область назначения ускорителей. 3 н. и 8 з.п. ф-лы, 10 ил.
Description
Настоящее изобретение ориентировано на структуру компьютерного кластера. Более конкретно, оно относится к структуре компьютерного кластера с улучшенным управлением ресурсами в отношении применения вычислительных узлов для выполнения масштабируемых вычислительных задач, равно как и сложных комплексных вычислительных задач. Изобретение особенно ориентировано на структуру компьютерного кластера для выполнения вычислительных задач и способ работы компьютерного кластера с такой структурой. Такая структура компьютерного кластера согласно настоящему изобретению использует ускорительные функциональные устройства, помогающие вычислительным узлам выполнить данную вычислительную задачу. Настоящее изобретение дополнительно ориентировано на создание компьютерного программного продукта, конфигурированного для осуществления указанного способа, а также на создание компьютерного носителя записи для хранения указанного компьютерного программного продукта.
В технике известны структуры компьютерных кластеров, содержащие вычислительные узлы, включающие по меньшей мере один процессор, а также ускорители, фиксированно связанные с указанными вычислительными узлами для внешнего выполнения вычислений, для которых требуются большие ресурсы. Результатом фиксированной связи ускорителей с вычислительными узлами является статичность назначения, что ведет к избыточной или недостаточной загрузке таких ускорителей. Это может привести к нехватке ресурсов, либо может привести к избыточному предложению ресурсов. Более того, такое статичное назначение ускорителей вычислительным узлам не создает отказоустойчивости системы в случае выхода ускорителей из строя.
Публикация доклада «rCUDA: способ уменьшения числа графических ускорителей в высокопроизводительных кластерах», авторы Хосе Дуато, Рафаэль Майо и др., на Международной конференции по высокопроизводительным вычислениям и моделированию (HPCS), дата выпуска: 28 июня 2010 г. - 2 июля 2010 г., на стр. 224-231 ("rCUDA: reducing the number of GPU-based accelerators in high performance clusters" by Jose Duato, Rafael Mayo et al., International Conference on High Performance Computing and Simulation (HPCS), Issue Date: June 28, 2010 - July 2, 2010, On page(s): 224-231), описывает базовую структуру, позволяющую применять удаленные ускорители на основе графических процессоров (GPU) в высокопроизводительных кластерах, что делает возможным уменьшить общее число ускорителей, установленных в таком кластере. Это может привести к сбережению энергии, снижению затрат на приобретение, установку и обслуживание оборудования и уменьшению занимаемого объема в пространстве.
В публикации «Пакет для гетерогенных вычислений на основе OpenCL в кластерах с большим числом графических процессоров», авторы Амнон Барак и др. из Еврейского Университета в Иерусалиме ("A package for open CL based heterogeneous computing on clusters with many GPU devices" by Amnon Barak, et al. of the Department of Computer Science from Hebrew University of Jerusalem) описан пакет для исполнения приложений на основе OpenМР, С++ и немодифицированной OpenCL в кластерах с большим числом графических процессоров (GPU). Кроме того, создана реализация спецификаций OpenCL и расширений интерфейса прикладных программ OpenMP API, которая позволяет приложениям, работающим на одном хостинговом узле, прозрачно использовать устройства в пределах всего кластера.
На фиг.1 представлена известная структура компьютерного кластера. Эта структура компьютерного кластера содержит множество вычислительных узлов CN, соединенных один с другим и совместно выполняющих вычислительную задачу. Каждый такой вычислительный узел CN фиксированно связан с ускорителем Асc. Как показано на фиг.1, вычислительный узел CN содержит ускорительный модуль АСС, виртуально интегрированный в этом вычислительном узле CN вместе с микропроцессором, например центральным процессором CPU. Как отмечено выше, фиксированная связь ускорителей Асc с вычислительными узлами CN ведет к избыточной или неполной загрузке ускорителей Асc в зависимости от конкретной вычислительной задачи. Более того, такая структура не обладает отказоустойчивостью в случае выхода одного из ускорителей Асc из строя. В известной структуре компьютерного кластера, показанной на фиг.1, вычислительные узлы CN поддерживают связь один с другими через инфраструктуру, тогда как ускорители Асc не могут обмениваться информацией непосредственно, а нуждаются в вычислительном узле CN, сопряженном с инфраструктурой IN, для обмена данными.
Следовательно, целью настоящего изобретения является создание структуры компьютерного кластера, которая обеспечила бы возможность гибкой связи с точки зрения обмена данными между ускорителем и вычислительными узлами, равно как и прямо доступ вычислительных узлов к любому и каждому из ускорителей. Более того, целью настоящего изобретения является организация динамического соединения ускорителей с вычислительными узлами во время работы.
Эти задачи решает структура компьютерного кластера, признаки которой перечислены в п.1 формулы изобретения.
Соответственно, предложена структура компьютерного кластера для выполнения вычислительных задач, такая структура компьютерного кластера содержит:
- множество вычислительных узлов, каждый из которых взаимодействует с инфраструктурой связи, по меньшей мере два из указанных узлов организованы для совместных вычислений по меньшей мере первого фрагмента вычислительной задачи;
- по меньшей мере одно вспомогательное средство, выполненное с возможностью вычисления по меньшей мере второго фрагмента вычислительной задачи, при этом каждое вспомогательное средство взаимодействует с инфраструктурой связи; и
- средство управления ресурсами, выполненное с возможностью назначения по меньшей мере одного вспомогательного средства по меньшей мере одному из множества вычислительных узлов для вычисления указанного второго фрагмента вычислительной задачи, при этом указанное назначение осуществляется в качестве функции заданного метрического показателя назначения.
В этой структуре компьютерного кластера ускорительные функции реализованы независимыми вспомогательными средствами. Описанная структура компьютерного кластера допускает свободное соединение таких вспомогательных средств с вычислительными узлами, которые могут быть также названы компьютерными узлами. Таким образом, становится реальным совместное использование ускорителей, здесь - в форме вспомогательных средств, вычислительными узлами. Для назначения вспомогательного средства вычислительному узлу может быть предусмотрено средство управления ресурсами в виде модуля управления ресурсов или узла управления ресурсов. Это средство управления ресурсами может в начале выполнения вычислительной задачи установить статическое назначение. В качестве альтернативы или в дополнение во время работы, иными словами в ходе выполнения вычислительной задачи, он может устанавливать динамическое назначение.
Такое средство управления ресурсами предназначено для предоставления вычислительным узлам информации о назначении с целью передачи фрагментов вычислительных задач по меньшей мере от одного вычислительного узла для выполнения вне этого узла по меньшей мере в одном вспомогательном средстве. Это средство управления ресурсами может быть реализовано в виде отдельного аппаратного модуля или виртуального модуля, либо может быть составлено из их сочетания. В частности, такое средство управления ресурсами может быть организовано на основе какого-либо из следующих компонентов: микропроцессора, аппаратного компонента, виртуализированного аппаратного компонента или присоединяемой программы. Более того, части средства управления ресурсами могут быть распределены в пределах всей системы и поддерживать связь через инфраструктуру связи.
Связь между вспомогательными средствами осуществляется посредством сетевого протокола. Следовательно, назначение вспомогательных средств осуществляется в соответствии с функцией потребностей приложений, иными словами, в зависимости от выполнения конкретной вычислительной задачи. Этим обеспечивается отказоустойчивость при выходе из строя вспомогательных средств, равно как и возможности масштабирования. Масштабируемость становится возможной в результате поддержки инкрементного развития системы, поскольку вспомогательные средства выполнены независимо от вычислительных узлов. Следовательно, число вычислительных узлов и число подготовленных вспомогательных средств могут отличаться одно от другого. Таким образом, обеспечена максимальная гибкость в предоставлении аппаратных ресурсов. Более того, все вычислительные узлы могут совместно использовать один и тот же прирост мощностей системы.
Вычислительная задача может быть определена посредством алгоритма, исходного кода, двоичного кода или также может быть сочетанием каких-либо из перечисленных выше алгоритмов и кодов. Вычислительная задача может представлять собой задачу моделирования, расчеты которой могут быть осуществлены в структуре компьютерного кластера. Более того, вычислительная задача может содержать множество частных задач, также именуемых подзадачами, которые во всей своей полноте описывают общую вычислительную задачу. Вычислительную задачу можно разделить на несколько фрагментов, например, по меньшей мере первый фрагмент вычислительной задачи и по меньшей мере второй фрагмент вычислительной задачи. Предлагаемая структура компьютерного кластера может также решать эти фрагменты вычислительной задачи параллельно или последовательно.
Каждый вычислительный модуль взаимодействует с инфраструктурой связи, также именуемой соединением. Аналогично, каждое вспомогательное средство тоже взаимодействует с инфраструктурой связи. Следовательно, вычислительные узлы, равно как и вспомогательные средства взаимодействуют посредством этой инфраструктуры связи. Поэтому каждый вычислительный узел связан с каждым вспомогательным средством через инфраструктуру связи без обязательного привлечения дополнительного узла связи в процессе обмена данными от вычислительного узла с вспомогательным средством. Таким образом, устанавливают динамическое назначение вычислительных узлов вспомогательным средствам, при этом вычислительные узлы выполняют по меньшей мере фрагмент вычислительной задачи без необходимости в передаче информации от одного вычислительного узла одному вспомогательному средству. Поэтому, есть возможность непосредственно связать вспомогательные средства с инфраструктурой связи без обязательного присутствия промежуточного вычислительного узла, который обычно применяется для этого в известных системах.
Для осуществления назначения между вспомогательными средствами и вычислительными узлами необходим специальный набор правил. С этой целью предложен метрический показатель назначения, который служит основой для принятия решения, какое вспомогательное средство соединить с каким вычислительным узлом. Таким метрическим показателем назначения может управлять средство управления ресурсами. Термин «управление метрическими показателями назначения» относится к установлению и обновлению правил указания по меньшей мере одного вспомогательного средства, назначенного по меньшей мере одному указанному вычислительному узлу. Следовательно, можно обновлять метрические показатели назначения в процессе работы. Такие правила назначения могут быть созданы в функции балансирования нагрузки, которая определяет рабочую нагрузку структуры компьютерного кластера, особенно вспомогательных средств. Более того, есть возможность определить вычислительные мощности вспомогательных средств и, кроме того, определить требования вычислительной задачи и назначить выбранное вспомогательное средство, которое предоставляет требуемые вычислительные мощности рассматриваемому вычислительному узлу. Для определения первоначального назначения вспомогательных средств вычислительным узлам указанные метрические показатели назначения задают заранее, однако эти показатели можно изменять по ходу работы. Таким образом, в начале выполнения вычислительной задачи осуществляется статическое назначение, а в процессе работы осуществляется динамическое назначение.
В одном из вариантов настоящего изобретения заданный метрический показатель назначения формируют в соответствии с по меньшей мере одним из группы способов определения метрических показателей, при этом группа содержит: временную логику, матрицу назначения, таблицу назначения, вероятностную функцию и целевую функцию. Таким образом, при назначении вспомогательных средств можно учитывать временные зависимости. Возможен случай, когда для вспомогательных средств определен временной порядок, который обеспечивает, что конкретное вспомогательное средство всегда назначают вычислительному узлу, если другое вспомогательное средство не смогло выполнить по меньшей мере фрагмент вычислительной задачи. Следовательно, при назначении вспомогательных средств можно использовать иерархические соотношения, установленные между ними. Метрический показатель назначения может назвать идентификатор вычислительного узла и может далее определить идентификаторы совместимых вспомогательных средств, которые могут быть назначены. Вероятностная функция может, например, указать, что в случае, когда конкретное вспомогательное средство не в состоянии выполнить некую вычислительную задачу, другое вспомогательное средство сможет выполнить ту же самую вычислительную задачу с какой-то конкретной вероятностью. Более того, для оценки требуемого объема ресурсов и, кроме того, для оценки созданных вычислительных мощностей вспомогательных средств могут быть применены целевые функции. Следовательно, вычислительные задачи с какими-то определенными требованиями можно сразу направлять подходящим вспомогательным средствам.
При осуществлении динамического назначения может быть также использована предыстория вычисления, именуемая также записями в системном журнале вычислений. Следовательно, вычислительные задачи можно эмпирически оценить путем вычислений по меньшей мере в одном первом вспомогательном средстве и записи показателей времени отклика, а также путем выполнения той же самой вычислительной задачи по меньшей мере на одном другом вспомогательном средстве и записи показателей времени отклика. Таким образом, вычислительные мощности вспомогательного средства можно зарегистрировать, эмпирически оценить и потому назначать такие модули вычислительным узлам в функции от требуемых вычислительных мощностей и от реальных мощностей модулей. Конкретные вычислительные задачи могут содержать информацию о приоритете, которая указывает, насколько срочно необходимо вычислить именно эту конкретную вычислительную задачу. Возможны также случаи, когда конкретные вычислительные узлы задают уровень приоритета, который указывает, насколько срочно необходимо выполнить некую вычислительную задачу или по меньшей мере фрагмент некой вычислительной задачи по сравнению с другими фрагментами компьютерных задач, исходящими от других вычислительных узлов. Следовательно, есть возможность сформулировать информацию о приоритетах применительно к отдельным фрагментам вычислительных задач, равно как информацию о приоритетах, относящуюся к вычислительным узлам.
Когда вспомогательное средство назначено какому-либо вычислительному узлу, это вспомогательное средство выполняет конкретные фрагменты вычислительных задач. Это может быть осуществлено посредством вызова удаленной процедуры, передачи параметров или передачи данных. Сложность рассматриваемого фрагмента вычислительной задачи можно оценить как функцию передачи параметров. Если параметр содержит матрицу, сложность передачи такого параметра можно оценить числом измерений этой матрицы.
Для взаимодействия с инфраструктурой связи может быть предусмотрен интерфейсный модуль, помещаемый между одним вычислительным узлом и инфраструктурой связи. Еще один интерфейсный модуль, отличный от указанного первого интерфейсного модуля, может быть помещен между вспомогательным средством и инфраструктурой связи. Такой интерфейсный модуль может быть отличен от вычислительного узла и также отличен от вспомогательного средства. Интерфейсный модуль просто предоставляет сетевые функциональные возможности без того, чтобы участвовать в выполнении фрагментов вычислительной задачи. Этот интерфейсный модуль просто предоставляет функциональные возможности для решения задач управления и связи, обусловленных вычислительной задачей. Такой интерфейсный модуль может, например, предоставлять функциональные возможности применительно к маршрутизации и передаче данных, относящихся к вычислительной задаче.
Более того, ускорение также может быть реализовано обратным способом - посредством передачи выполнения по меньшей мере фрагмента вычислительной задачи по меньшей мере от одного вспомогательного средства по меньшей мере одному вычислительному узлу. Следовательно, поток команд управления и информации может быть обращен и направлен в противоположную сторону по сравнению с рассмотренными выше аспектами настоящего изобретения.
Согласно одному из аспектов настоящего изобретения указанное заданное назначение может быть определено в соответствии по меньшей мере с одной группой способов спецификации матрицы, так что эта группа содержит: временную логику, матрицу назначения, таблицу назначения, вероятностную функцию и целевую функцию. Это может создать то преимущество, что заданные метрические показатели назначения могут быть сформированы с использованием формальной или полуформальной модели или типа данных.
Согласно другому аспекту настоящего изобретения заданный метрический показатель назначения определяют в функции по меньшей мере одного из группы параметров назначения, так что эта группа содержит: информацию о ресурсах, информацию о стоимости, информацию о сложности, информацию о масштабируемости, регистрационную запись в журнале вычислений, информацию компилятора, информацию о приоритетах и метку времени. Это может создать то преимущество, что назначение может быть произведено динамически в ходе работы с учетом различных параметров времени выполнения задания и в соответствии с конкретными характеристиками вычислительной задачи.
Согласно следующему аспекту настоящего изобретения назначение по меньшей мере одного вспомогательного средства одному из множества вычислительных узлов запускает по меньшей мере одну группу сигналов, так что эта группа содержит: вызов удаленной процедуры, передачу параметров и передачу данных. Это может создать то преимущество, что по меньшей мере фрагмент вычислительной задачи может быть переадресован от одного вычислительного узла по меньшей мере одному вспомогательному средству.
Согласно еще одному аспекту настоящего изобретения каждый вычислительный узел и каждое вспомогательное средство взаимодействуют с инфраструктурой связи через соответствующий интерфейсный модуль. Это может создать то преимущество, что данные можно передавать через инфраструктуру связи без обязательного использования промежуточного вычислительного узла. Следовательно, не требуется соединять вспомогательное средство с вычислительным узлом непосредственно, а можно реализовать динамическое назначение.
Согласно другому аспекту настоящего изобретения интерфейсный модуль содержит по меньшей мере одну группу компонентов, так что эта группа содержит: виртуальный интерфейс, шлейф, гнездо, сетевой контроллер и сетевое устройство. Это может создать то преимущество, что вычислительные узлы, равно как и вспомогательные средства могут быть также виртуально соединены с инфраструктурой связи. Более того, существующие инфраструктуры связи могут быть легко доступны.
Согласно следующему аспекту настоящего изобретения инфраструктура связи содержит по меньшей мере одну группу компонентов, так что эта группа содержит: шину данных, линию связи, коммутатор, маршрутизатор и сеть с высокой скоростью передачи данных. Это может создать то преимущество, что могут быть использованы существующие инфраструктуры связи, а также могут быть построены новые инфраструктуры связи с использованием общедоступных сетевых устройств.
Согласно еще одному аспекту настоящего изобретения каждый вычислительный узел содержит по меньшей мере одну группу компонентов, так что эта группа содержит: многоядерный процессор, кластер, компьютер, рабочую станцию и процессор общего назначения. Это может создать то преимущество, что вычислительные узлы являются в высокой степени масштабируемыми.
Согласно другому аспекту настоящего изобретения по меньшей мере одно вспомогательное средство содержит по меньшей мере одну группу компонентов, так что эта группа содержит: многоядерный процессор, скалярный процессор, сопроцессор, графический процессор, кластер из многоядерных процессоров и однокристальный процессор. Это может создать то преимущество, что такие вспомогательные средства построены для обработки конкретных проблем с высокой скоростью.
Вычислительные узлы обычно применяют процессоры, содержащие мощный модуль управления, поскольку приходится одновременно выполнять множество вычислительных задач. Процессоры, используемые во вспомогательных средствам, обычно содержат мощное арифметико-логическое устройство и простую систему управления по сравнению с процессорами вычислительных узлов. Например, во вспомогательных средствах могут найти применение SIMD-процессоры, именуемые также компьютерами с одним потоком команд и множеством потоков данных. Таким образом, процессоры, применяемые в вычислительных узлах, отличаются по своей процессорной архитектуре от процессоров, используемых во вспомогательных средствах.
Согласно следующему аспекту настоящего изобретения средство управления ресурсами предназначено для обновления указанного заданного метрического показателя назначения в процессе выполнения по меньшей мере одного фрагмента вычислительной задачи. Это может создать то преимущество, что назначение вспомогательных средств вычислительным узлам может быть произведено динамически в ходе работы.
Указанная цель достигается также с применением способа работы структуры компьютерного кластера согласно признакам, перечисленным в п.11 формулы изобретения.
Соответственно предложен способ работы структуры компьютерного кластера для выполнения вычислительной задачи, при этом способ содержит этапы, на которых:
- вычисляют по меньшей мере первый фрагмент вычислительной задачи с использованием по меньшей мере двух из множества вычислительных узлов, так что каждый вычислительный узел взаимодействует с инфраструктурой связи;
- вычисляют по меньшей мере второй фрагмент вычислительной задачи с использованием по меньшей мере одного вспомогательного средства, так что каждое вспомогательное средство сопряжено с инфраструктурой связи; и
- назначают по меньшей мере одно вспомогательное средство одному из множества вычислительных узлов посредством средства управления ресурсами для вычисления указанного второго фрагмента вычислительной задачи, при этом назначение производится в зависимости от заданного метрического показателя назначения.
Более того, предложены компьютерная программа, конфигурированная для реализации предлагаемого способа, а также компьютерный носитель записи для хранения указанного компьютерного программного продукта.
Настоящее изобретение далее будет описано на примерах со ссылками на прилагаемые чертежи:
фиг.1 представляет известную структуру компьютерного кластера;
фиг.2 представляет схематичную иллюстрацию структуры компьютерного кластера согласно одному из аспектов настоящего изобретения;
фиг.3 представляет схематичную иллюстрацию структуры компьютерного кластера согласно еще одному из аспектов настоящего изобретения;
фиг.4 представляет схематичную иллюстрацию способа функционирования структуры компьютерного кластера согласно одному из аспектов настоящего изобретения;
фиг.5 представляет схематичную иллюстрацию способа функционирования структуры компьютерного кластера согласно еще одному из аспектов настоящего изобретения;
фиг.6 представляет схематичную иллюстрацию потока команд управления в структуре компьютерного кластера согласно еще одному из аспектов настоящего изобретения;
фиг.7 представляет схематичную иллюстрацию потока команд управления для реализации обратного ускорения в структуре компьютерного кластера согласно еще одному из аспектов настоящего изобретения;
фиг.8 представляет схематичную иллюстрацию потока команд управления в структуре компьютерного кластера согласно еще одному из аспектов настоящего изобретения;
фиг.9 представляет схематичную иллюстрацию топологии сети в структуре компьютерного кластера согласно одному из аспектов настоящего изобретения.
В последующем для обозначения одинаковых компонентов будут использованы одни и те же позиционные обозначения, если не указано иначе.
На фиг.2 представлена структура компьютерного кластера, содержащая собственно кластер C, а также группу BG вспомогательных средств. Кластер в рассматриваемом варианте содержит четыре вычислительных узла, обозначенных так же, как CN, и три вспомогательных средства, обозначенных так же, как B. Гибкая связь между вспомогательными средствами и вычислительными узлами обеспечивается посредством инфраструктуры IN связи, такой как так называемое соединение. Такой вид инфраструктуры IN связи может быть реализован, например, с использованием системы infiniBand. Следовательно, каждое из вспомогательных средств B может быть использовано совместно любыми вычислительными узлами CN. Более того, может быть осуществлена виртуализация на уровне кластера. Каждое вспомогательное средство или по меньшей мере часть вспомогательных средств может быть виртуализована и сделана доступной для вычислительных узлов виртуально.
В рассматриваемом варианте вычислительные задачи выполняют посредством по меньшей мере одного из вычислительных узлов CN, и по меньшей мере фрагмент этих вычислительных задач может быть направлен для выполнения по меньшей мере одному из вспомогательных средств B. Эти вспомогательные средства B предназначены для выполнения вычислений для конкретных специальных проблем и предоставляют специальные вычислительные мощности. Таким образом, решение проблем может быть передано от одного из вычислительных узлов CN для внешней обработки вспомогательным средствам B, необходимые вычисления могут быть выполнены этими вспомогательными средствами, а результаты могут быть возвращены назад вычислительному узлу. Назначение вспомогательных средств ESB вычислительным узлам CN может быть произведено средством управления ресурсами, также именуемым RM. Это средство управления ресурсами инициализирует первое назначение и в последующем осуществляет динамическое назначение вспомогательных средств B вычислительным узлам CN.
Для связи между вспомогательными средствами и вычислительными узлами может быть использован интерфейс прикладных программ, также именуемый API. Вспомогательными средствами B можно управлять прозрачным образом посредством вычислительных узлов через обращение к соответствующим функциям интерфейса API. Такой интерфейс API абстрагирует и усиливает реальные собственные модели программирования вспомогательных средств. Более того, интерфейс API может предоставить средства для обеспечения отказоустойчивости на случай выхода вспомогательного средства из строя. Протокол связи, применяемый при обращениях к функциям интерфейса API, может быть «расположен» поверх уровня связи. В дальнейшем приведено краткое описание множества обращений интерфейса API согласно одному из аспектов настоящего изобретения, в которых параметр «ускоритель» ("accelerator") может определять адресуемое вспомогательное средство:
- aanlnit (accelerator).
Инициализирует вспомогательное средство перед использованием
- aanFinalize (accelerafor).
Сбрасывает информацию об учете использования вспомогательного средства после его использования
- aanMemAUoc (address, size, accelerator).
Выделяет байты размера памяти для рассматриваемого вспомогательного средства Возвращает адрес выделенной памяти устройства
- aanMemFree (address, accelerator).
Освобождает память, начиная с адреса рассматриваемого вспомогательного средства
- aanMemCpy(dst, src, size, direction, accelerator).
Копирует байты размера из src по адресу dst памяти.
Операция копирования может иметь следующее направление:
(i) от вспомогательного средства главному компьютеру,
(ii) от главного компьютера вспомогательному средству
- aanKernelCreate (filejame, functjiame, kernel, accelerator).
Создает ядро, определяемое именем файла (filejiame) и именем функции (functjiame) для выполнения в рассматриваемом вспомогательном средстве.
Возвращает обработку ядру.
- aanKernelSetArg (kernel, index, size, align, value).
Определяет аргумент для выполнения ядра по его индексу в списке аргументов, размеру, требованиям к совмещению (align) и величине
- aanKernelRun (kernel, grid_dim, block_dim).
Запускает выполнение ядра во вспомогательном средстве, ассоциированном с ядром в ходе предыдущего обращения к функции acKernelCreate(). Число потоков определено посредством числа потоков в одном блоке (block dim) и числа блоков в сетке (grid_dim)
- aanKernelFree (kernel).
Освобождает ресурсы, ассоциированные с ядром.
На фиг.3 представлена еще одна конфигурация кластера согласно одному из аспектов настоящего изобретения. Предлагаемая структура компьютерного кластера предназначена для выполнения вычислительных задач научного характера, особенно в контексте технологии высокопроизводительных кластеров. Более детальный анализ портфеля программ (кодов) приложений для высокопроизводительных кластеров научного назначения показывает, что многие программные коды, для которых требуются экзафлопсные (Exascale) возможности, включают, с одной стороны, кодовые программные блоки, которые хорошо подходят для экзафлопсных вычислений (Exascaling), а, с другой стороны, такие кодовые программные блоки, которые слишком сложны, чтобы быть масштабируемыми. В последующем, разделение между высокой масштабируемостью и сложностью проведено на уровне кодовых программных блоков, так что мы вводим понятия экзафлопсных кодовых программных блоков (Exascale Code Blocks (ЕСВ)) и сложных кодовых программных блоков (complex Code Blocks (ССВ)).
Очевидно, что не бывает ни программных кодов чисто с высокой масштабируемостью, ни строго сложных кодовых программных кодов. Каждый программный код содержит элементы с высокой масштабируемостью и сложные элементы с меньшей масштабируемостью. На деле, имеет место некий континуум между этими двумя крайностями. Интересно, что многие относительно менее масштабируемые элементы программного кода не требуют высокой масштабируемости, но зато для них необходима большая локальная память. Также очевидно, что элементы для связи «всех со всеми» имеют большие преимущества при меньшем параллелизме.
Для таких проблем, где имеет место благоприятное соотношение между блоками ECB и блоками CCB с точки зрения относительных объемов памяти (т.е. степеней свободы при манипуляции с относительными объемами памяти, т.е. степеней свободы при манипуляциях с блоками ECB по сравнению с манипуляциями с блоками CCB), времени выполнения задач и данных, которыми необходимо обмениваться, сам собой напрашивается способ адаптации к этой ситуации посредством специального архитектурного решения. Это решение содержит традиционный подход компьютерных кластеров вместе с экзафлопсным (Exascale) вспомогательным средством, имеющим группу жестко связанных вспомогательных средств и соединенным с кластером через сеть этого кластера. Такой дуалистический подход обладает потенциалом значительного расширения узкого поля применения чисто экзафлопсных систем.
Возникает модель «крупнозернистой» архитектуры, где в высокой степени масштабируемые части или блоки ECB программного кода приложения выполняют в параллельной многоядерной архитектуре, доступ к которой осуществляется динамически, тогда как блоки CCB выполняют в традиционной кластерной системе подходящей размерности, включая соединения с усовершенствованной системой динамического распределения ресурсов.
Кластеры в экзафлопсной системе нуждаются в элементах виртуализации, чтобы гарантировать устойчивость к внешним воздействиям и надежность. Тогда как локальные ускорители, в принципе, позволяют достаточно просто построить всю систему и, в частности, способны использовать исключительно широкую локальную полосу, они представляют собой абсолютно статические аппаратные элементы, хорошо приспособленные для распределенной обработки или параллелизации типа ведущий-ведомый. Следовательно, было бы затруднительно включить эти элементы на уровень программного обеспечения виртуализации. Кроме того, здесь нет отказоустойчивости в случае выхода из строя ускорителя, и нет устойчивости против избыточной или недостаточной загрузки.
Вычислительные узлы CN в составе одного кластера соединены внутри этого кластера посредством стандартного кластерного соединения, например Mellanox InfiniBand. Эта сеть расширена, чтобы включить в нее также вспомогательные средства (ESB). На чертеже мы изобразили три таких вспомогательных средств. Каждый из этих модулей ESB содержит множество многоядерных ускорителей, соединенных один с другими посредством специальной высокоскоростной сети передачи данных с низкой задержкой.
Такое соединение узлов CN с модулями ESB является очень гибким. Становится возможным совместное использование ускорительных возможностей разными вычислительными узлами. Эта модель не мешает виртуализации на уровне кластера и позволяет использовать полный параллелизм модулей ESB. Назначение ESB-для-CN осуществляется динамическим администратором ресурсов RM. Статическое назначение, сделанное в момент начала работы, можно превратить в динамическое во время работы. Вся связь CN-ESB осуществляется с использованием протокола сети кластера. Для осуществления связи внутри ускорителя АС потребуется разработка новых технических решений. Выделение модулей ESB может следовать потребностям приложений, и при этом гарантируется отказоустойчивость в случае выхода из строя ускорителя, поскольку все вычислительные узлы совместно используют один и тот же потенциал роста.
В качестве вычислительного элемента во вспомогательном средстве может быть применен многоядерный процессор типа «рыцарский угол» (Knight's Corner (КС)), выпускаемый компанией «Интел». Кристалл процессора КС будет содержать более 50 ядер, и при этом ожидается, что он сможет реализовать вычислительную производительность DP свыше 2 Терафлоп/с в одном кристалле. При объединении 10000 элементов можно будет достигнуть суммарной производительности 10 Петафлоп/с. Предшественник процессора КС, процессор «перевозчик рыцаря» (Knight's Ferry (KF)) будет использован в проекте создания пилотной системы на основе PCIe с целью исследований концепции кластер-бустер (CN-ESB).
Поскольку скорость вычислений в процессоре KF превосходит скорость современных общедоступных процессоров примерно в 10 раз, система связи внутри вспомогательного средства ESB должна иметь соответствующую размерность. Система связи модуля ESB требует скорости передачи данных по меньшей мере 1 Терабит/с на каждую плату (дуплекс). Система EXTOLL (Extreme Low Latency Interconnect (соединения с ультранизкой задержкой)) связи может быть использована в качестве варианта реализации системы шин, обеспечивающей скорость передачи данных 1,44 Терабит/с на одну плату. Она реализует трехмерную (3d) топологию, создающую 6 соединений связи на одну плату. Благодаря своей простоте эта топология представляется применимой для вспомогательного средства на основе многоядерных ускорителей. Даже притом, что два направления зарезервированы для сквозной маршрутизации, система EXTOLL способна «насытить» производительность системы PCI Express, если рассматривать скорость передачи данных. Задержка может достигать 0,3 мкс в случае реализации на основе специализированных интегральных схем ASIC. Сегодня система EXTOLL реализована на основе программируемых пользователем вентильных матриц FPGA.
На фиг.4 показана логическая схема, иллюстрирующая аспект способа работы структуры компьютерного кластера согласно настоящему изобретению. На первом этапе 100 выполняют по меньшей мере фрагмент вычислительной задачи посредством по меньшей мере двух из множества вычислительных узлов CN, так что каждый вычислительный узел CN сопряжен с инфраструктурой IN связи. Более того, выполнение по меньшей мере второго фрагмента этой вычислительной задачи на этапе 101 осуществляется посредством по меньшей мере одного вспомогательного средства В, так что каждое вспомогательное средство В сопряжено с инфраструктурой IN связи. Далее, на этапе 102 происходит назначение по меньшей мере одного вспомогательного средства В одному из множества вычислительных узлов CN посредством средства RM управления ресурсами для выполнения второго фрагмента вычислительной задачи. Как показывает правая стрелка на фиг.4, поток команд управления может вернуть систему к этапу 100. После назначения по меньшей мере одного вспомогательного средства B по меньшей мере одному из множества вычислительных узлов CN на этапе 102 информация об этом назначении может быть передана вычислительному узлу CN, который использует эту переданную ему информацию о назначении на последующих этапах передачи выполнения задач вовне. Следовательно, выполнение по меньшей мере второго фрагмента вычислительной задачи происходит на этапе 101 в функции назначения, произведенного на этапе 102.
На фиг.5 представлена логическая схема, иллюстрирующая способ работы структуры компьютерного кластера согласно одному из аспектов настоящего изобретения. В рассматриваемом варианте после произведенного на этапе 202 назначения по меньшей мере одного вспомогательного средства В одному из множества вычислительных узлов CN осуществляют этап 201 выполнения по меньшей мере второго фрагмента вычислительной задачи. Следовательно, можно выбрать конкретное вспомогательное средство B, и на основе назначения, произведенного на этапе 202, вспомогательное средство B выполняет по меньшей мере второй фрагмент вычислительной задачи. Это может быть преимуществом в случае, когда по меньшей мере второй фрагмент вычислительной задачи направляют средству RM управления ресурсами, которое назначает вспомогательное средство B для выполнения этого второго фрагмента вычислительной задачи. Указанное средство RM управления ресурсами может затем передать второй фрагмент вычислительной задачи назначенному вспомогательному средству B без необходимости того, чтобы вычислительный узел CN непосредственно контактировал с вспомогательным средством B.
Как показано на фиг.4 и 5, специалист в рассматриваемой области должен понимать, чтобы любые из этих этапов могут быть выполнены итеративно в различном порядке и могут содержать другие подэтапы. Например, этап 102 может быть выполнен прежде этапа 201, что приводит к выполнению первого фрагмента вычислительной задачи, назначению одного вспомогательного средства одному вычислительному узлу и, наконец, выполнению второго фрагмента вычислительной задачи. Этап 102 может содержать такие подэтапы, как возврат выполненного по меньшей мере второго фрагмента вычислительной задачи назад в вычислительный узел CN. Следовательно, вспомогательное средство В возвращает результат своих вычислений назад вычислительным узлам CN. Эти вычислительные узлы CN могут использовать возвращенные величины для выполнения других вычислительных задач и могут вновь передать по меньшей мере другой фрагмент какой-либо вычислительной задачи по меньшей мере одному из вспомогательных средств B.
На фиг.6 показана блок-схема потока команд управления в структуре компьютерного кластера согласно одному из аспектов настоящего изобретения. Согласно настоящему изобретению вычислительный узел CN принимает вычислительную задачу и запрашивает назначение ему вспомогательного средства B для внешнего выполнения по меньшей мере фрагмента принятой вычислительной задачи. Поэтому происходит обращение к средству RM управления ресурсами, который направляет указанный фрагмент вычислительной задачи выбранному вспомогательному средству B. Это вспомогательное средство B выполняет упомянутый фрагмент вычислительной задачи и возвращает результат, что обозначено самой крайней правой стрелкой. Согласно еще одному аспекту рассматриваемого варианта возвращаемая величина может быть передана назад вычислительному узлу CN.
На фиг.7 представлена блок-схема потока команд управления, реализующего обратное ускорение, в структуре компьютерного кластера согласно одному из аспектов настоящего изобретения. В рассматриваемом варианте ускорение вычислений при решении вычислительной задачи, выполняемой по меньшей мере одним вспомогательным средством B, происходит в результате назначения по меньшей мере одного вычислительного узла по меньшей мере одному вспомогательному средству B. Таким образом, поток команд управления и информации оказывается направлен в противоположную сторону (обратно) по сравнению с вариантом, показанным на фиг.6.
Выполнение вычислительных задач может быть поэтому ускорено путем передачи вычислительных задач от вспомогательных средств B по меньшей мере одному вычислительному узлу CN.
На фиг.8 представлена блок схема потока команд управления в структуре компьютерного кластера согласно еще одному аспекту настоящего изобретения. В рассматриваемом варианте средство RM управления ресурсами не передает по меньшей мере фрагмент вычислительной задачи вспомогательному средству B, а сам вычислительный узел CN запрашивает адрес или дополнительную идентификацию от вспомогательного средства B, предназначенного для вычислений, специфичных по меньшей мере для одного фрагмента вычислительной задачи. Указанное средство RM управления ресурсами возвращает требуемый адрес вычислительному узлу CN. Этот вычислительный узел CN теперь может непосредственно получить доступ к вспомогательному средству B посредством инфраструктуры IN связи. В рассматриваемом варианте к инфраструктуре IN связи обращаются и получают доступ через интерфейсные модули. Вычислительные узлы CN получают доступ к инфраструктуре IN связи посредством интерфейсного модуля IU1, а вспомогательное средство B взаимодействие с инфраструктурой IN связи посредством интерфейсного модуля IU2.
Более того, средство RM управления ресурсами предназначено для оценки объема ресурсов вспомогательного средства B и осуществляет назначение, иными словами выбор вспомогательного средства B, в функции от оценки объема ресурсов каждого из вспомогательных средств B. Для этого средство RM управления ресурсами может получить метрический показатель назначения, который может быть сохранен в базе DB данных или в источнике данных любого другого типа. Указанное средство RM управления ресурсами предназначено для обновления метрического показателя назначения, что может быть произведено с использованием системы управления базы данных. База DB данных может быть реализована в виде хранилища данных любого типа. Она может быть, например, реализована в виде таблицы, регистра или кэш-памяти.
На фиг.9 представлена схематичная иллюстрация топологии сети в структуре компьютерного кластера согласно одному из аспектов настоящего изобретения.
В одном из вариантов вычислительные узлы совместно используют общую первую инфраструктуру связи, например, с топологией типа звезда, с центральным модулем S переключения. Еще одна, вторая, инфраструктура связи предназначена для связи вычислительных узлов CN с вспомогательными средствами BN. Третья инфраструктура связи предназначена для связи между вспомогательными узлами BN. Следовательно, высокоскоростной сетевой интерфейс между вспомогательными узлами BN может быть организован с использованием специального интерфейса связи BN-BN. Такая инфраструктура связи BN-BN может быть построена в топологической структуре типа 3d.
Еще в одном варианте созданы две инфраструктуры связи, одна из которых предназначена для связи между вычислительными узлами CN, а другая инфраструктура связи предназначена для связи между вспомогательными узлами BN. Обе инфраструктуры связи могут быть соединены одна с другой посредством по меньшей мере одной линии связи от первой сети связи к второй сети связи или от второй сети связи к первой связи. Следовательно, один выбранный вычислительный узел CN или один выбранный вспомогательный узел BN соединен соответственно с другой сетью. Как показано на фиг.9, один вспомогательный узел BN соединен с инфраструктурой связи между вычислительными узлами CN путем использования коммутационного модуля S.
Еще в одном варианте группа BG вспомогательных средств сама может быть соединена с инфраструктурой связи вычислительных узлов CN или промежуточной инфраструктурой связи.
Инфраструктуры связи могут в общем случае отличаться одна от другой такими характеристиками, как топология, ширина полосы пропускания, протоколы связи, пропускная способность и обмен сообщениями. Вспомогательное средство B может содержать, например, от 1 до 10000 вспомогательных узлов BN, хотя допустимое число таких узлов указанным диапазоном не ограничивается. Средство RM управления ресурсами может в общем случае управлять частью вспомогательных узлов BN и может вследствие этого разбивать всю совокупность вспомогательных узлов BN и динамически формировать вспомогательные средства B из совокупности вспомогательных узлов BN. Коммутационный модуль S может быть реализован на основе коммутатора, маршрутизатора или любого сетевого устройства.
Специалисты в рассматриваемой области должны понимать, что возможны и другие варианты структуры компьютерного кластера. Например, доступ к базе DB данных могут получать и другие компоненты, соответственно узлы структуры компьютерного кластера. Представленные вычислительные узлы CN, равно как и представленные группы BG вспомогательных средств, могут представлять собой один из множества других вычислительных узлов CN, равно как одну из множества групп BG вспомогательных средств, соответственно, которые обращаются и получают доступ к средству RM управления ресурсами и/или инфраструктуре IN связи. Более того, ускорение может быть также осуществлено обратным способом путем передачи по меньшей мере фрагменты вычислительной задачи по меньшей мере от одного вспомогательного средства B по меньшей мере одному вычислительному узлу.
Claims (11)
1. Структура компьютерного кластера для обработки вычислительной задачи, содержащая:
множество вычислительных узлов (CN), каждый из которых взаимодействует с инфраструктурой связи (IN), при этом по меньшей мере два из указанных вычислительных узлов размещены для совместных вычислений по меньшей мере первого фрагмента вычислительной задачи;
по меньшей мере одно вспомогательное средство (В), размещенное для вычисления по меньшей мере второго фрагмента вычислительной задачи, при этом каждое вспомогательное средство (В) взаимодействует с инфраструктурой связи (IN); и
средство управления ресурсами (RM), размещенное для назначения по меньшей мере одного вспомогательного средства (В) по меньшей мере одному из множества вычислительных узлов (CN) для вычисления указанного второго фрагмента вычислительной задачи, при этом
указанное средство управления ресурсами (RM) выполнено с возможностью осуществления назначения с использованием заданного метрического показателя назначения в начале обработки указанной вычислительной задачи, и (i) инициализации назначения, (ii) изменения заданного метрического показателя назначения, и (iii) осуществления назначения с использованием измененного заданного метрического показателя назначения в течение обработки вычислительной задачи.
множество вычислительных узлов (CN), каждый из которых взаимодействует с инфраструктурой связи (IN), при этом по меньшей мере два из указанных вычислительных узлов размещены для совместных вычислений по меньшей мере первого фрагмента вычислительной задачи;
по меньшей мере одно вспомогательное средство (В), размещенное для вычисления по меньшей мере второго фрагмента вычислительной задачи, при этом каждое вспомогательное средство (В) взаимодействует с инфраструктурой связи (IN); и
средство управления ресурсами (RM), размещенное для назначения по меньшей мере одного вспомогательного средства (В) по меньшей мере одному из множества вычислительных узлов (CN) для вычисления указанного второго фрагмента вычислительной задачи, при этом
указанное средство управления ресурсами (RM) выполнено с возможностью осуществления назначения с использованием заданного метрического показателя назначения в начале обработки указанной вычислительной задачи, и (i) инициализации назначения, (ii) изменения заданного метрического показателя назначения, и (iii) осуществления назначения с использованием измененного заданного метрического показателя назначения в течение обработки вычислительной задачи.
2. Структура компьютерного кластера по п. 1, характеризующаяся тем, что выполнена с возможностью формирования указанного заданного метрического показателя назначения в соответствии с по меньшей мере одним из группы способов определения метрических показателей, содержащей: временную логику, матрицу назначения, таблицу назначения, вероятностную функцию и целевую функцию.
3. Структура компьютерного кластера по п. 2, характеризующаяся тем, что выполнена с возможностью определения указанного заданного метрического показателя назначения в соответствии с по меньшей мере одним из группы параметров назначения, содержащей: информацию о ресурсах, информацию об издержках, информацию о сложности, информацию о масштабируемости, регистрационную запись в журнале вычислений, информацию компилятора, информацию о приоритетах и метку времени.
4. Структура компьютерного кластера по п. 3, в которой назначение по меньшей мере одного вспомогательного средства (В) одному из множества вычислительных узлов (CN) запускает передачу по меньшей мере одного из группы сигналов, содержащей: вызов удаленной процедуры, передачу параметров, передачу данных.
5. Структура компьютерного кластера по п. 4, в которой каждый вычислительный узел (CN) и каждое вспомогательное средство (В) взаимодействуют с инфраструктурой связи (IN) через соответствующие интерфейсные модули (IU1; IU2).
6. Структура компьютерного кластера по п. 5, в которой интерфейсный модуль (IU1; IU2) содержит по меньшей мере один из группы компонентов, содержащей: виртуальный интерфейс, шлейф, гнездо, сетевой контроллер и сетевое устройство.
7. Структура компьютерного кластера по п. 6, в котором инфраструктура связи (IN) содержит по меньшей мере один из группы компонентов, содержащей: шину данных, линию связи, коммутатор, маршрутизатор и сеть с высокой скоростью передачи данных.
8. Структура компьютерного кластера по п. 7, в которой каждый вычислительный узел (CN) содержит по меньшей мере один из группы компонентов, содержащей: многоядерный процессор, кластер, компьютер, рабочую станцию и многоцелевой процессор.
9. Структура компьютерного кластера по п. 8, в которой по меньшей мере одно вспомогательное средство (В) содержит по меньшей мере один из группы компонентов, содержащей: многоядерный процессор, скалярный процессор, сопроцессор, графический процессор, кластер из многоядерных процессоров и однокристальный процессор.
10. Способ функционирования структуры компьютерного кластера для обработки вычислительной задачи, в частности компьютерного кластера по любому из пп. 1-9, содержащий этапы, на которых:
вычисляют (100) по меньшей мере первый фрагмент вычислительной задачи с помощью по меньшей мере двух из множества вычислительных узлов (CN), при этом каждый вычислительный узел (CN) взаимодействует с инфраструктурой связи (IN);
вычисляют (101) по меньшей мере второй фрагмент вычислительной задачи с помощью по меньшей мере одного вспомогательного средства (В), при этом каждое вспомогательное средство (В) взаимодействует с инфраструктурой связи (IN); и
назначают (102) с помощью средства управления ресурсами (RM) по меньшей мере одно вспомогательное средство (В) одному из множества вычислительных узлов (CN) для вычисления указанного второго фрагмента вычислительной задачи, при этом
этап назначения содержит подэтап, на котором назначают с помощью указанного средства управления ресурсами (RM) по меньшей мере одно вспомогательное средство (В) с использованием заданного метрического показателя назначения в начале обработки указанной вычислительной задачи, и дополнительно подэтапы, на которых (i) инициируют назначение, (ii) изменяют заданный метрический показатель назначения и (iii) осуществляют назначение с использованием измененного заданного метрического показателя назначения посредством указанного средства управления ресурсами (RM) в течение обработки вычислительной задачи.
вычисляют (100) по меньшей мере первый фрагмент вычислительной задачи с помощью по меньшей мере двух из множества вычислительных узлов (CN), при этом каждый вычислительный узел (CN) взаимодействует с инфраструктурой связи (IN);
вычисляют (101) по меньшей мере второй фрагмент вычислительной задачи с помощью по меньшей мере одного вспомогательного средства (В), при этом каждое вспомогательное средство (В) взаимодействует с инфраструктурой связи (IN); и
назначают (102) с помощью средства управления ресурсами (RM) по меньшей мере одно вспомогательное средство (В) одному из множества вычислительных узлов (CN) для вычисления указанного второго фрагмента вычислительной задачи, при этом
этап назначения содержит подэтап, на котором назначают с помощью указанного средства управления ресурсами (RM) по меньшей мере одно вспомогательное средство (В) с использованием заданного метрического показателя назначения в начале обработки указанной вычислительной задачи, и дополнительно подэтапы, на которых (i) инициируют назначение, (ii) изменяют заданный метрический показатель назначения и (iii) осуществляют назначение с использованием измененного заданного метрического показателя назначения посредством указанного средства управления ресурсами (RM) в течение обработки вычислительной задачи.
11. Компьютерный носитель записи, хранящий компьютерный программный продукт для реализации способа по п. 10.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10187436.0 | 2010-10-13 | ||
EP10187436A EP2442228A1 (en) | 2010-10-13 | 2010-10-13 | A computer cluster arrangement for processing a computaton task and method for operation thereof |
PCT/EP2011/067888 WO2012049247A1 (en) | 2010-10-13 | 2011-10-13 | A computer cluster arrangement for processing a computation task and method for operation thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2013121560A RU2013121560A (ru) | 2014-11-20 |
RU2597556C2 true RU2597556C2 (ru) | 2016-09-10 |
Family
ID=43831684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2013121560/12A RU2597556C2 (ru) | 2010-10-13 | 2011-10-13 | Структура компьютерного кластера для выполнения вычислительных задач и способ функционирования указанного кластера |
Country Status (18)
Country | Link |
---|---|
US (4) | US10142156B2 (ru) |
EP (3) | EP2442228A1 (ru) |
JP (3) | JP6494161B2 (ru) |
KR (3) | KR101823505B1 (ru) |
CN (2) | CN109491795A (ru) |
CA (3) | CA2814309C (ru) |
CY (1) | CY1122108T1 (ru) |
DK (1) | DK2628080T3 (ru) |
ES (1) | ES2743469T3 (ru) |
HR (1) | HRP20191640T1 (ru) |
HU (1) | HUE044788T2 (ru) |
LT (1) | LT2628080T (ru) |
PL (1) | PL2628080T3 (ru) |
PT (1) | PT2628080T (ru) |
RS (1) | RS59165B1 (ru) |
RU (1) | RU2597556C2 (ru) |
SI (1) | SI2628080T1 (ru) |
WO (1) | WO2012049247A1 (ru) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2733058C1 (ru) * | 2016-10-05 | 2020-09-29 | Партек Кластер Компитенс Сентер Гмбх | Высокопроизводительная компьютерная система и способ |
RU2787958C2 (ru) * | 2018-01-23 | 2023-01-13 | Партек Кластер Компитенс Сентер Гмбх | Динамическое выделение неоднородных вычислительных ресурсов, определяемое во время выполнения приложения |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2442228A1 (en) * | 2010-10-13 | 2012-04-18 | Thomas Lippert | A computer cluster arrangement for processing a computaton task and method for operation thereof |
JP2014078214A (ja) * | 2012-09-20 | 2014-05-01 | Nec Corp | スケジュールシステム、スケジュール方法、スケジュールプログラム、及び、オペレーティングシステム |
WO2014188643A1 (ja) * | 2013-05-24 | 2014-11-27 | 日本電気株式会社 | スケジュールシステム、スケジュール方法、及び、記録媒体 |
KR20140093595A (ko) * | 2013-01-18 | 2014-07-28 | 서울대학교산학협력단 | 클러스터 시스템의 계산 디바이스 가상화 방법 및 그 시스템 |
WO2014188642A1 (ja) * | 2013-05-22 | 2014-11-27 | 日本電気株式会社 | スケジュールシステム、スケジュール方法、及び、記録媒体 |
KR101594915B1 (ko) | 2014-01-23 | 2016-02-17 | 서울대학교산학협력단 | 매니코어 클러스터 시스템 상에서 병렬 프로그래밍을 수행하는 방법 및 매니코어 클러스터 시스템 |
US10325032B2 (en) * | 2014-02-19 | 2019-06-18 | Snowflake Inc. | Resource provisioning systems and methods |
US9501325B2 (en) | 2014-04-11 | 2016-11-22 | Maxeler Technologies Ltd. | System and method for shared utilization of virtualized computing resources |
US9584594B2 (en) | 2014-04-11 | 2017-02-28 | Maxeler Technologies Ltd. | Dynamic provisioning of processing resources in a virtualized computational architecture |
US10715587B2 (en) | 2014-04-11 | 2020-07-14 | Maxeler Technologies Ltd. | System and method for load balancing computer resources |
CN105681366A (zh) * | 2014-09-26 | 2016-06-15 | 广西盛源行电子信息有限公司 | 一种把上万台北斗终端接入同一台服务器的算法 |
CN111865657B (zh) * | 2015-09-28 | 2022-01-11 | 华为技术有限公司 | 一种加速管理节点、加速节点、客户端及方法 |
US10432450B2 (en) * | 2016-06-30 | 2019-10-01 | Microsoft Technology Licensing, Llc. | Data plane API in a distributed computing network |
US11049025B2 (en) * | 2017-03-15 | 2021-06-29 | Salesforce.Com, Inc. | Systems and methods for compute node management protocols |
KR101985899B1 (ko) * | 2017-09-29 | 2019-06-04 | 주식회사 트레드링스 | 작업 할당 시스템, 방법, 및 컴퓨터 프로그램 |
DE112017008102T5 (de) * | 2017-09-30 | 2020-07-09 | Intel Corporation | Technologien zum verwalten von beschleunigerressourcen durch einen cloud-ressourcenmanager |
EP3743812B1 (en) * | 2018-01-23 | 2023-08-02 | ParTec AG | Application runtime determined dynamical allocation of heterogeneous compute resources |
CN110390516B (zh) * | 2018-04-20 | 2023-06-06 | 伊姆西Ip控股有限责任公司 | 用于数据处理的方法、装置和计算机存储介质 |
CN112166414A (zh) | 2018-05-15 | 2021-01-01 | 派泰克集群能力中心有限公司 | 用于高效并行计算的装置和方法 |
JP2022531353A (ja) | 2019-04-30 | 2022-07-06 | フローヴィッター ベルンハルト | 並列計算をダイナミックに最適化するための装置および方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2188451C2 (ru) * | 2000-10-25 | 2002-08-27 | Курский государственный технический университет | Система взаимораспределения ресурсов |
US20040257370A1 (en) * | 2003-06-23 | 2004-12-23 | Lippincott Louis A. | Apparatus and method for selectable hardware accelerators in a data driven architecture |
US20090213127A1 (en) * | 2008-02-22 | 2009-08-27 | International Business Machines Corporation | Guided attachment of accelerators to computer systems |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0744504A (ja) * | 1993-07-27 | 1995-02-14 | Hitachi Ltd | Cpuと複数のpu,fpuから成る演算ユニット |
EP1037279B1 (en) | 1994-03-22 | 2003-03-05 | Hyperchip Inc. | Massively parallel data processing system with photovoltaic cells for absorbing ambiant light |
US7051188B1 (en) | 1999-09-28 | 2006-05-23 | International Business Machines Corporation | Dynamically redistributing shareable resources of a computing environment to manage the workload of that environment |
US7418470B2 (en) * | 2000-06-26 | 2008-08-26 | Massively Parallel Technologies, Inc. | Parallel processing systems and method |
JP2002084302A (ja) * | 2000-09-06 | 2002-03-22 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークによる通信方法及び装置 |
US7739398B1 (en) * | 2000-11-21 | 2010-06-15 | Avaya Inc. | Dynamic load balancer |
US6922832B2 (en) | 2000-12-12 | 2005-07-26 | Lockheed Martin Corporation | Execution of dynamic services in a flexible architecture for e-commerce |
US20030164842A1 (en) * | 2002-03-04 | 2003-09-04 | Oberoi Ranjit S. | Slice blend extension for accumulation buffering |
US8397269B2 (en) * | 2002-08-13 | 2013-03-12 | Microsoft Corporation | Fast digital channel changing |
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 |
US7137040B2 (en) | 2003-02-12 | 2006-11-14 | International Business Machines Corporation | Scalable method of continuous monitoring the remotely accessible resources against the node failures for very large clusters |
JP2006519441A (ja) * | 2003-02-24 | 2006-08-24 | ビーイーエイ システムズ, インコーポレイテッド | サーバロードバランシング及びサーバアフィニティのためのシステム及び方法 |
US7093147B2 (en) | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
US7996839B2 (en) | 2003-07-16 | 2011-08-09 | Hewlett-Packard Development Company, L.P. | Heterogeneous processor core systems for improved throughput |
US20050097300A1 (en) * | 2003-10-30 | 2005-05-05 | International Business Machines Corporation | Processing system and method including a dedicated collective offload engine providing collective processing in a distributed computing environment |
US9264384B1 (en) | 2004-07-22 | 2016-02-16 | Oracle International Corporation | Resource virtualization mechanism including virtual host bus adapters |
US7437581B2 (en) * | 2004-09-28 | 2008-10-14 | Intel Corporation | Method and apparatus for varying energy per instruction according to the amount of available parallelism |
JP2006277458A (ja) * | 2005-03-30 | 2006-10-12 | Hitachi Ltd | リソース割当管理装置およびリソース割当方法 |
WO2007038445A2 (en) * | 2005-09-26 | 2007-04-05 | Advanced Cluster Systems, Llc | Clustered computer system |
US7490223B2 (en) | 2005-10-31 | 2009-02-10 | Sun Microsystems, Inc. | Dynamic resource allocation among master processors that require service from a coprocessor |
US7441224B2 (en) * | 2006-03-09 | 2008-10-21 | Motorola, Inc. | Streaming kernel selection for reconfigurable processor |
US8713574B2 (en) * | 2006-06-05 | 2014-04-29 | International Business Machines Corporation | Soft co-processors to provide a software service function off-load architecture in a multi-core processing environment |
JP4936517B2 (ja) * | 2006-06-06 | 2012-05-23 | 学校法人早稲田大学 | ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ |
US8589935B2 (en) | 2007-05-08 | 2013-11-19 | L-3 Communications Corporation | Heterogeneous reconfigurable agent compute engine (HRACE) |
US8250578B2 (en) * | 2008-02-22 | 2012-08-21 | International Business Machines Corporation | Pipelining hardware accelerators to computer systems |
US8615647B2 (en) | 2008-02-29 | 2013-12-24 | Intel Corporation | Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state |
US8434087B2 (en) * | 2008-08-29 | 2013-04-30 | International Business Machines Corporation | Distributed acceleration devices management for streams processing |
US9104617B2 (en) * | 2008-11-13 | 2015-08-11 | International Business Machines Corporation | Using accelerators in a hybrid architecture for system checkpointing |
FR2938943B1 (fr) * | 2008-11-21 | 2010-11-12 | Thales Sa | Systeme multiprocesseur. |
CN101441564B (zh) * | 2008-12-04 | 2011-07-20 | 浙江大学 | 为程序定制的可重构加速器实现方法 |
US9588806B2 (en) * | 2008-12-12 | 2017-03-07 | Sap Se | Cluster-based business process management through eager displacement and on-demand recovery |
US8869160B2 (en) * | 2009-12-24 | 2014-10-21 | International Business Machines Corporation | Goal oriented performance management of workload utilizing accelerators |
CN101763288B (zh) * | 2010-01-19 | 2012-09-05 | 湖南大学 | 考虑硬件预配置因素的动态软硬件划分方法 |
US8875152B2 (en) * | 2010-04-22 | 2014-10-28 | Salesforce.Com, Inc. | System, method and computer program product for dynamically increasing resources utilized for processing tasks |
US8739171B2 (en) * | 2010-08-31 | 2014-05-27 | International Business Machines Corporation | High-throughput-computing in a hybrid computing environment |
EP2442228A1 (en) * | 2010-10-13 | 2012-04-18 | Thomas Lippert | A computer cluster arrangement for processing a computaton task and method for operation thereof |
-
2010
- 2010-10-13 EP EP10187436A patent/EP2442228A1/en active Pending
-
2011
- 2011-10-13 HU HUE11768015 patent/HUE044788T2/hu unknown
- 2011-10-13 CN CN201811402100.1A patent/CN109491795A/zh active Pending
- 2011-10-13 KR KR1020137011931A patent/KR101823505B1/ko active IP Right Grant
- 2011-10-13 PT PT11768015T patent/PT2628080T/pt unknown
- 2011-10-13 EP EP19179073.2A patent/EP3614263A3/en active Pending
- 2011-10-13 ES ES11768015T patent/ES2743469T3/es active Active
- 2011-10-13 PL PL11768015T patent/PL2628080T3/pl unknown
- 2011-10-13 SI SI201131773T patent/SI2628080T1/sl unknown
- 2011-10-13 JP JP2013533215A patent/JP6494161B2/ja active Active
- 2011-10-13 CN CN201180056850.8A patent/CN103229146B/zh active Active
- 2011-10-13 DK DK11768015.7T patent/DK2628080T3/da active
- 2011-10-13 RU RU2013121560/12A patent/RU2597556C2/ru active
- 2011-10-13 CA CA2814309A patent/CA2814309C/en active Active
- 2011-10-13 LT LTEP11768015.7T patent/LT2628080T/lt unknown
- 2011-10-13 CA CA3145494A patent/CA3145494A1/en active Pending
- 2011-10-13 CA CA3027973A patent/CA3027973C/en active Active
- 2011-10-13 KR KR1020187002295A patent/KR102103596B1/ko active IP Right Grant
- 2011-10-13 RS RSP20191093 patent/RS59165B1/sr unknown
- 2011-10-13 EP EP11768015.7A patent/EP2628080B1/en active Active
- 2011-10-13 WO PCT/EP2011/067888 patent/WO2012049247A1/en active Application Filing
- 2011-10-13 KR KR1020197005913A patent/KR102074468B1/ko active IP Right Grant
-
2013
- 2013-04-12 US US13/861,429 patent/US10142156B2/en active Active
-
2017
- 2017-08-04 JP JP2017152006A patent/JP6433554B2/ja active Active
-
2018
- 2018-11-06 JP JP2018208953A patent/JP6653366B2/ja active Active
- 2018-11-15 US US16/191,973 patent/US10951458B2/en active Active
-
2019
- 2019-09-11 CY CY20191100948T patent/CY1122108T1/el unknown
- 2019-09-12 HR HRP20191640 patent/HRP20191640T1/hr unknown
-
2021
- 2021-03-09 US US17/196,665 patent/US11934883B2/en active Active
-
2024
- 2024-01-31 US US18/429,370 patent/US20240168823A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2188451C2 (ru) * | 2000-10-25 | 2002-08-27 | Курский государственный технический университет | Система взаимораспределения ресурсов |
US20040257370A1 (en) * | 2003-06-23 | 2004-12-23 | Lippincott Louis A. | Apparatus and method for selectable hardware accelerators in a data driven architecture |
US20090213127A1 (en) * | 2008-02-22 | 2009-08-27 | International Business Machines Corporation | Guided attachment of accelerators to computer systems |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2733058C1 (ru) * | 2016-10-05 | 2020-09-29 | Партек Кластер Компитенс Сентер Гмбх | Высокопроизводительная компьютерная система и способ |
RU2787958C2 (ru) * | 2018-01-23 | 2023-01-13 | Партек Кластер Компитенс Сентер Гмбх | Динамическое выделение неоднородных вычислительных ресурсов, определяемое во время выполнения приложения |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2597556C2 (ru) | Структура компьютерного кластера для выполнения вычислительных задач и способ функционирования указанного кластера | |
US11789895B2 (en) | On-chip heterogeneous AI processor with distributed tasks queues allowing for parallel task execution | |
EP3283974B1 (en) | Systems and methods for executing software threads using soft processors | |
US7958184B2 (en) | Network virtualization in a multi-node system with multiple networks | |
US9052957B2 (en) | Method and system for conducting intensive multitask and multiflow calculation in real-time | |
WO2021155642A1 (zh) | 数据处理方法、装置、分布式数据流编程框架及相关组件 | |
KR20160087706A (ko) | 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법 | |
KR20130088512A (ko) | 클러스터 컴퓨팅 환경에서의 자원 관리 장치 및 방법 | |
CN104536937A (zh) | 基于cpu-gpu异构集群的大数据一体机实现方法 | |
Sun et al. | A ugni-based asynchronous message-driven runtime system for cray supercomputers with gemini interconnect | |
WO2023274278A1 (zh) | 一种资源调度的方法、装置及计算节点 | |
US20170371713A1 (en) | Intelligent resource management system | |
JP2023511467A (ja) | 機械学習ワークロードのためのタスクスケジューリング | |
CN111459871A (zh) | 一种基于fpga异构计算的区块链加速***及方法 | |
CN107660281B (zh) | 同步分布式计算运行时间的***和方法 | |
Pezzarossa et al. | Interfacing hardware accelerators to a time-division multiplexing network-on-chip | |
RU2790094C1 (ru) | СПОСОБ ПАРАЛЛЕЛЬНОЙ ОБРАБОТКИ ИНФОРМАЦИИ В ГЕТЕРОГЕННОЙ МНОГОПРОЦЕССОРНОЙ СИСТЕМЕ НА КРИСТАЛЛЕ (СнК) | |
Asghari et al. | A New Attitude based on Real Time Operating System for NoC in Hotspot Traffic Model | |
CN111630505A (zh) | 深度学习加速器***及其方法 | |
WO2015153699A1 (en) | Computing systems, elements and methods for processing unstructured data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20180216 |