RU2597556C2 - Структура компьютерного кластера для выполнения вычислительных задач и способ функционирования указанного кластера - Google Patents

Структура компьютерного кластера для выполнения вычислительных задач и способ функционирования указанного кластера Download PDF

Info

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
Application number
RU2013121560/12A
Other languages
English (en)
Other versions
RU2013121560A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=43831684&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=RU2597556(C2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Партек Кластер Компитенс Сентер Гмбх, Томас ЛИППЕРТ filed Critical Партек Кластер Компитенс Сентер Гмбх
Publication of RU2013121560A publication Critical patent/RU2013121560A/ru
Application granted granted Critical
Publication of RU2597556C2 publication Critical patent/RU2597556C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

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) осуществления назначения с использованием измененного заданного метрического показателя назначения в течение обработки вычислительной задачи.
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) в течение обработки вычислительной задачи.
11. Компьютерный носитель записи, хранящий компьютерный программный продукт для реализации способа по п. 10.
RU2013121560/12A 2010-10-13 2011-10-13 Структура компьютерного кластера для выполнения вычислительных задач и способ функционирования указанного кластера RU2597556C2 (ru)

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)

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

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

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

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

Patent Citations (3)

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

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

Publication number Publication date
DK2628080T3 (da) 2019-09-02
ES2743469T3 (es) 2020-02-19
CA3145494A1 (en) 2012-04-19
PL2628080T3 (pl) 2019-11-29
JP2013539881A (ja) 2013-10-28
KR20190025746A (ko) 2019-03-11
US10142156B2 (en) 2018-11-27
US11934883B2 (en) 2024-03-19
JP6433554B2 (ja) 2018-12-05
LT2628080T (lt) 2019-10-10
RU2013121560A (ru) 2014-11-20
CA3027973A1 (en) 2012-04-19
CN103229146B (zh) 2018-12-11
JP2017216000A (ja) 2017-12-07
CA2814309A1 (en) 2012-04-19
US10951458B2 (en) 2021-03-16
CA2814309C (en) 2019-03-12
CA3027973C (en) 2022-03-22
SI2628080T1 (sl) 2019-10-30
EP3614263A3 (en) 2021-10-06
KR102103596B1 (ko) 2020-04-23
US20190089574A1 (en) 2019-03-21
EP3614263A2 (en) 2020-02-26
HUE044788T2 (hu) 2019-11-28
JP6494161B2 (ja) 2019-04-03
KR20140018187A (ko) 2014-02-12
EP2442228A1 (en) 2012-04-18
JP6653366B2 (ja) 2020-02-26
EP2628080A1 (en) 2013-08-21
US20210194748A1 (en) 2021-06-24
WO2012049247A1 (en) 2012-04-19
CY1122108T1 (el) 2020-11-25
US20240168823A1 (en) 2024-05-23
CN109491795A (zh) 2019-03-19
PT2628080T (pt) 2019-09-13
KR20180014185A (ko) 2018-02-07
US20130282787A1 (en) 2013-10-24
KR102074468B1 (ko) 2020-02-06
KR101823505B1 (ko) 2018-02-01
RS59165B1 (sr) 2019-10-31
JP2019057303A (ja) 2019-04-11
EP2628080B1 (en) 2019-06-12
CN103229146A (zh) 2013-07-31
HRP20191640T1 (hr) 2019-12-13

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