RU2577476C2 - Способ, устройство и система для диспетчеризации ядра процессора в системе ядра мультипроцессора - Google Patents

Способ, устройство и система для диспетчеризации ядра процессора в системе ядра мультипроцессора Download PDF

Info

Publication number
RU2577476C2
RU2577476C2 RU2014118463/08A RU2014118463A RU2577476C2 RU 2577476 C2 RU2577476 C2 RU 2577476C2 RU 2014118463/08 A RU2014118463/08 A RU 2014118463/08A RU 2014118463 A RU2014118463 A RU 2014118463A RU 2577476 C2 RU2577476 C2 RU 2577476C2
Authority
RU
Russia
Prior art keywords
data stream
packet
processor core
control parameter
core
Prior art date
Application number
RU2014118463/08A
Other languages
English (en)
Other versions
RU2014118463A (ru
Inventor
Цзяцян ЮЙ
Вэй ЧЖЭН
Original Assignee
Хуавэй Текнолоджиз Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Хуавэй Текнолоджиз Ко., Лтд. filed Critical Хуавэй Текнолоджиз Ко., Лтд.
Publication of RU2014118463A publication Critical patent/RU2014118463A/ru
Application granted granted Critical
Publication of RU2577476C2 publication Critical patent/RU2577476C2/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Изобретение относится к области системы ядра мультипроцессора. Техническим результатом является эффективная диспетчеризация ядра процессора в системе ядра мультипроцессора. Раскрыты способ, устройство и система для диспетчеризации ядра процессора в системе ядра мультипроцессора, которые относятся к области систем ядра мультипроцессора и могут удовлетворять потребность в обработке сетевого ввода/вывода в реальном времени, таким образом, повышая эффективность системы ядра мультипроцессора. Способ диспетчеризации ядра процессора в системе ядра мультипроцессора включает в себя этапы, на которых: получают, в выполняющемся процессе системы ядра мультипроцессора, первый параметр управления, второй параметр управления, третий параметр управления и четвертый параметр управления; переносят пакет потока данных, который поступает в систему ядра мультипроцессора, на бездействующее ядро процессора для обработки на основании первого параметра управления, второго параметра управления и третьего параметра управления; и переключают ядро процессора в системе ядра мультипроцессора между режимом прерывания и режимом опроса на основании четвертого параметра управления. 3 н. и 14 з.п. ф-лы, 15 ил.

Description

Перекрестная ссылка на родственные заявки
[0001] Данная заявка является продолжением международной заявки № PCT/CN2013/071272, поданной 01 февраля 2013 г., которая испрашивает приоритет китайской патентной заявки № 201210217579.8, поданной 28 июня 2012 г., которые обе, таким образом, включены посредством ссылки в полном объеме.
Область техники
[0002] Настоящее изобретение относится к области системы ядра мультипроцессора и, в частности, к способу, устройству и системе для диспетчеризации ядра процессора в системе ядра мультипроцессора.
Уровень техники
[0003] В настоящее время, службы, встроенные в систему ядра мультипроцессора постепенно увеличиваются, и запросы сетевого ввода/вывода (ввода/вывода) также увеличиваются. Возможности обработки данных системы ядра мультипроцессора по запросам сетевого ввода/вывода играет ключевую роль в обеспечении работы системы на полную мощность. В уровне техники один способ обработки запросов сетевого ввода/вывода включает в себя: на основании режима обработки статической конфигурации, связывание задачи с назначенным ядром процессора, где задача осуществляется на назначенном ядре процессора, или назначение задач на бездействующих ядрах процессора сбалансированным образом, где задачи осуществляются на бездействующих ядрах процессора; другой способ обработки запросов сетевого ввода/вывода включает в себя: на основании правила переключения статической конфигурации, переключение ядра процессора между режимом прерывания и режимом опроса для повышения эффективности обработки системы по запросам сетевого ввода/вывода.
[0004] В ходе реализации вышеупомянутого технического решения, автор изобретения обнаружил, что уровень техники сталкивается, по меньшей мере, со следующими проблемами: статическая конфигурация относится к ручной конфигурации для выполнения процесса системы, и в ходе фактического выполнения процесса системы, поскольку ядро процессора диспетчеризуется на основании решения статической конфигурации, невозможно удовлетворить потребность в обработке сетевого ввода/вывода в реальном времени, и невозможно обеспечить приемлемое решение диспетчеризации ядра процессора, что препятствует повышению эффективности всей системы ядра мультипроцессора.
Сущность изобретения
[0005] Варианты осуществления настоящего изобретения предусматривают способ, устройство и систему для диспетчеризации ядра процессора в системе ядра мультипроцессора, которые могут удовлетворять потребность в обработке сетевого ввода/вывода в реальном времени, таким образом, повышая эффективность всей системы ядра мультипроцессора.
[0006] Варианты осуществления настоящего изобретения опираются на следующие технические решения.
[0007] Способ диспетчеризации ядра процессора в системе ядра мультипроцессора включает в себя:
получение, в выполняющемся процессе системы ядра мультипроцессора, первого параметра управления, второго параметра управления, третьего параметра управления и четвертого параметра управления, где первый параметр управления относится к информации указания N потоков данных, и N потоков данных относятся к первым N потокам данных, полученным в первом цикле выборки путем сортировки потоков данных, которые содержат пакеты, обработанные системой ядра мультипроцессора, в порядке убывания, согласно количеству обработанных пакетов, содержащихся в каждом потоке данных, где N - положительное целое число; второй параметр управления относится к длительности внутренней передачи каждого потока данных в системе ядра мультипроцессора и длительности для обработки каждого потока данных ядром процессора в системе ядра мультипроцессора; третий параметр управления относится к информации ядра процессора для ядра процессора с самым низким использованием; и четвертый параметр управления относится к информации описания критического пути приложения (APP) каждого потока данных;
обнаружение, является ли поток данных, которому принадлежит текущий пакет, одним из N потоков данных на основании первого параметра управления;
когда поток данных, которому принадлежит текущий пакет, не является одним из N потоков данных, перенос, на основании второго параметра управления и третьего параметра управления и согласно политике переключения между ядрами, пакета потока данных, который поступает в систему ядра мультипроцессора, на бездействующее ядро процессора для обработки, где политика переключения между ядрами состоит в следующем: если длительность внутренней передачи превышает длительность для обработки пакета ядром процессора, пакет обрабатывается ядром процессора с самым низким использованием, и если длительность для обработки пакета ядром процессора превышает длительность внутренней передачи, пакет привязывается к назначенному ядру процессора для обработки; и
переключение ядра процессора, которое обрабатывает пакет в системе ядра мультипроцессора, между режимом прерывания и режимом опроса на основании четвертого параметра управления, и согласно политике переключения внутри ядра, где политика переключения внутри ядра состоит в следующем: если общая служебная нагрузка опроса больше общей служебной нагрузки прерывания, ядро процессора входит в режим прерывания для обработки пакета, и если общая служебная нагрузка опроса меньше общей служебной нагрузки прерывания, ядро процессора входит в режим опроса для обработки пакета.
[0008] Компьютерная система включает в себя:
шину;
ядро мультипроцессора, соединенное с шиной; и
память, соединенную с шиной, где
посредством вызова инструкции исполнения в памяти через шину, ядро мультипроцессора выполнено с возможностью: получения первого параметра управления, второго параметра управления, третьего параметра управления и четвертого параметра управления на основании данных, вызванных из памяти, где первый параметр управления относится к информации указания N потоков данных, и N потоков данных относятся к первым N потокам данных, полученным в первом цикле выборки путем сортировки потоков данных, которые содержат пакеты, обработанные системой ядра мультипроцессора, в порядке убывания, согласно количеству обработанных пакетов, содержащихся в каждом потоке данных, где N - положительное целое число; второй параметр управления относится к длительности внутренней передачи каждого потока данных в системе ядра мультипроцессора и длительности для обработки каждого потока данных ядром процессора в системе ядра мультипроцессора; третий параметр управления относится к информации ядра процессора для ядра процессора с самым низким использованием; и четвертый параметр управления относится к информации описания критического пути приложения (APP) каждого потока данных;
ядро мультипроцессора дополнительно выполнено с возможностью обнаружения, является ли поток данных, которому принадлежит текущий пакет, одним из N потоков данных на основании первого параметра управления;
ядро мультипроцессора дополнительно выполнено с возможностью: когда поток данных, которому принадлежит текущий пакет, не является одним из N потоков данных, переноса, на основании второго параметра управления и третьего параметра управления и согласно политике переключения между ядрами, пакета потока данных, который поступает в систему ядра мультипроцессора, на бездействующее ядро процессора для обработки, где политика переключения между ядрами состоит в следующем: если длительность внутренней передачи превышает длительность для обработки пакета ядром процессора, пакет обрабатывается ядром процессора с самым низким использованием, и если длительность для обработки пакета ядром процессора превышает длительность внутренней передачи, пакет привязывается к назначенному ядру процессора для обработки; и
ядро мультипроцессора дополнительно выполнено с возможностью переключения ядра процессора, которое обрабатывает пакет в системе ядра мультипроцессора, между режимом прерывания и режимом опроса на основании четвертого параметра управления, и согласно политике переключения внутри ядра, где политика переключения внутри ядра состоит в следующем: если общая служебная нагрузка опроса больше общей служебной нагрузки прерывания, ядро процессора входит в режим прерывания для обработки пакета, и если общая служебная нагрузка опроса меньше общей служебной нагрузки прерывания, ядро процессора входит в режим опроса для обработки пакета.
[0009] В способе, устройстве и системе для диспетчеризации ядра процессора в системе ядра мультипроцессора, которые предусмотрены вариантами осуществления настоящего изобретения, путем получения первого параметра управления, второго параметра управления, третьего параметра управления и четвертого параметра управления в выполняющемся процессе системы ядра мультипроцессора и путем диспетчеризации ядра процессора на основании параметров управления, можно удовлетворить потребность в обработке сетевого ввода/вывода в реальном времени в системе ядра мультипроцессора, что позволяет повысить эффективность всей системы ядра мультипроцессора.
Краткое описание чертежей
[0010] Для более наглядной иллюстрации технических решений в вариантах осуществления настоящего изобретения или в уровне техники, ниже приведен краткий перечень прилагаемых чертежей, необходимых для описания вариантов осуществления или уровня техники. Очевидно, прилагаемые чертежи в нижеследующем описании демонстрируют лишь некоторые варианты осуществления настоящего изобретения, и специалист в данной области техники может получить другие чертежи из этих прилагаемых чертежей без применения творческих способностей.
[0011] Фиг. 1 - блок-схема операций способа диспетчеризации ядра процессора в системе ядра мультипроцессора согласно варианту осуществления 1 настоящего изобретения;
[0012] фиг. 2 - блок-схема операций способа диспетчеризации ядра процессора в системе ядра мультипроцессора согласно варианту осуществления 2 настоящего изобретения;
[0013] фиг. 3a - блок-схема операций другого способа диспетчеризации ядра процессора в системе ядра мультипроцессора согласно варианту осуществления 2 настоящего изобретения;
[0014] фиг. 3b - блок-схема операций другого способа диспетчеризации ядра процессора в системе ядра мультипроцессора согласно варианту осуществления 2 настоящего изобретения;
[0015] фиг. 4 - блок-схема операций получения информации описания критического пути APP согласно варианту осуществления 2 настоящего изобретения;
[0016] фиг. 5 - блок-схема устройства для диспетчеризации ядра процессора в системе ядра мультипроцессора согласно варианту осуществления 3 настоящего изобретения;
[0017] фиг. 6 - блок-схема блока диспетчеризации переключения между ядрами согласно варианту осуществления 3 настоящего изобретения;
[0018] фиг. 7 - блок-схема другого блока диспетчеризации переключения между ядрами согласно варианту осуществления 3 настоящего изобретения;
[0019] фиг. 8 - блок-схема блока диспетчеризации переключения внутри ядра согласно варианту осуществления 3 настоящего изобретения;
[0020] фиг. 9 - блок-схема другого блока диспетчеризации переключения внутри ядра согласно варианту осуществления 3 настоящего изобретения;
[0021] фиг. 10 - блок-схема блока получения параметра управления согласно варианту осуществления 3 настоящего изобретения;
[0022] фиг. 11a - блок-схема блока получения первого параметра управления согласно варианту осуществления 3 настоящего изобретения;
[0023] фиг. 11b - блок-схема блока получения четвертого параметра управления согласно варианту осуществления 3 настоящего изобретения;
[0024] фиг. 12 - схема компьютерной системы согласно варианту осуществления 4 настоящего изобретения; и
[0025] фиг. 13 - схема компьютерной системы согласно варианту осуществления 5 настоящего изобретения.
Описание вариантов осуществления
[0026] Ниже приведено наглядное описание технических решений в вариантах осуществления настоящего изобретения со ссылкой на прилагаемые чертежи в вариантах осуществления настоящего изобретения. Очевидно, описанные варианты осуществления составляют лишь часть всех вариантов осуществления настоящего изобретения. Все остальные варианты осуществления, полученные специалистом в данной области техники на основании вариантов осуществления настоящего изобретения без применения творческих способностей, вписываются в объем защиты настоящего изобретения.
Вариант осуществления 1
[0027] Вариант осуществления настоящего изобретения предусматривает способ диспетчеризации ядра процессора в системе ядра мультипроцессора, показанный на фиг. 1, который включает в себя следующие этапы.
[0028] 101. Получение, в выполняющемся процессе системы ядра мультипроцессора, первого параметра управления, второго параметра управления, третьего параметра управления и четвертого параметра управления.
[0029] Первый параметр управления относится к информации указания N потоков данных, и N потоков данных относятся к первым N потокам данных, полученным в первом цикле выборки путем сортировки потоков данных, которые содержат пакеты, обработанные системой ядра мультипроцессора, в порядке убывания, согласно количеству обработанных пакетов, содержащихся в каждом потоке данных, где N - положительное целое число. Информация указания N потоков данных может указывать, какие из N потоков данных указаны информацией указания.
[0030] Второй параметр управления относится к длительности внутренней передачи каждого потока данных в системе ядра мультипроцессора и длительности для обработки каждого потока данных ядром процессора в системе ядра мультипроцессора. Третий параметр управления относится к информации ядра процессора для ядра процессора с самым низким использованием. Четвертый параметр управления относится к информации описания критического пути APP (приложения) каждого потока данных.
[0031] Первый цикл выборки может быть заранее установленным циклом выборки или динамически получаемым циклом выборки. Например, это может быть цикл выборки, динамически конфигурируемый абонентом, который получается через интерфейс человеко-машинного взаимодействия, или может быть соответствующий цикл выборки, хранящийся в базе данных, доступ к которой осуществляется через интерфейс связи.
[0032] 102. Обнаружение, является ли поток данных, которому принадлежит текущий пакет, одним из N потоков данных на основании первого параметра управления.
[0033] 103. Когда поток данных, которому принадлежит текущий пакет, не является одним из N потоков данных, перенос, на основании второго параметра управления и третьего параметра управления и согласно политике переключения между ядрами, пакета потока данных, который поступает в систему ядра мультипроцессора, на бездействующее ядро процессора для обработки.
[0034] Бездействующее ядро процессора включает в себя ядро процессора с самым низким использованием и ядро процессора, использование ресурсов которого ниже определенного порога, где определенный порог может быть порогом, заранее установленным в системе, или динамически конфигурируемым порогом, по мере необходимости вводимым абонентом через интерфейс человеко-машинного взаимодействия.
[0035] В частности, прежде всего, является ли поток данных, которому принадлежит текущий пакет, одним из N потоков данных обнаруживается на основании первого параметра управления; когда поток данных, которому принадлежит текущий пакет, не является одним из N потоков данных, на основании второго параметра управления и третьего параметра управления и согласно политике переключения между ядрами, пакет потока данных, который поступает в систему ядра мультипроцессора переносится на бездействующее ядро процессора для обработки.
[0036] 104. Переключение ядра процессора в системе ядра мультипроцессора между режимом прерывания и режимом опроса на основании четвертого параметра управления, и согласно политике переключения внутри ядра.
[0037] Для пакета каждого потока данных, который поступает в систему ядра мультипроцессора, этапы 102 и 103 осуществляются для назначения ядра процессора каждому пакету; на этапе 104 осуществляется переключение внутриядерного режима обработки для единичного ядра процессора. В фактическом приложении, вышеупомянутые этапы 102 и 103 являются независимыми действиями этапа 104, которые могут осуществляться одновременно или по отдельности.
[0038] Согласно варианту осуществления настоящего изобретения, перенос, на основании второго параметра управления и третьего параметра управления, пакета потока данных, который поступает в систему ядра мультипроцессора, на бездействующее ядро процессора для обработки, в частности, является переносом, согласно политике переключения между ядрами, пакета потока данных, который поступает в систему ядра мультипроцессора, на бездействующее ядро процессора для обработки. Политика переключения между ядрами состоит в следующем: если длительность внутренней передачи пакета превышает длительность для обработки пакета ядром процессора, пакет обрабатывается ядром процессора с самым низким использованием, и если длительность для обработки пакета ядром процессора превышает длительность внутренней передачи пакета, пакет привязывается к назначенному ядру процессора для обработки;
[0039] Кроме того, переключение между режимом прерывания и режимом опроса ядра процессора в системе ядра мультипроцессора на основании четвертого параметра управления согласно варианту осуществления настоящего изобретения, в частности, относится к переключению между режимом прерывания и режимом опроса ядра процессора в системе ядра мультипроцессора согласно политике переключения внутри ядра. Политика переключения внутри ядра состоит в следующем: если общая служебная нагрузка опроса больше общей служебной нагрузки прерывания, ядро процессора входит в режим прерывания для обработки пакета, и если общая служебная нагрузка опроса меньше общей служебной нагрузки прерывания, ядро процессора входит в режим опроса для обработки пакета.
[0040] Согласно варианту осуществления настоящего изобретения, разные потоки данных сетевого ввода/вывода отличаются пятеркой (исходного адреса, целевого адреса, исходного порта, целевого порта и протокола передачи потока данных).
[0041] Вариант осуществления настоящего изобретения предусматривает способ диспетчеризации ядра процессора в системе ядра мультипроцессора, где, путем получения первого параметра управления, второго параметра управления, третьего параметра управления и четвертого параметра управления в выполняющемся процессе системы ядра мультипроцессора и путем диспетчеризации ядра процессора на основании параметров управления, можно удовлетворить потребность в обработке сетевого ввода/вывода в реальном времени в системе ядра мультипроцессора, что позволяет повысить эффективность всей системы ядра мультипроцессора.
Вариант осуществления 2
[0042] Вариант осуществления настоящего изобретения предусматривает способ диспетчеризации ядра процессора в системе ядра мультипроцессора, показанный на фиг. 2, способ включает в себя.
[0043] 201. Получение, в выполняющемся процессе системы ядра мультипроцессора, первого параметра управления, второго параметра управления, третьего параметра управления и четвертого параметра управления.
[0044] Первый параметр управления относится к информации указания N потоков данных, и N потоков данных относятся к первым N потокам данных, полученным в первом цикле выборки путем сортировки потоков данных, которые содержат пакеты, обработанные системой ядра мультипроцессора, в порядке убывания, согласно количеству обработанных пакетов, содержащихся в каждом потоке данных, где N - положительное целое число. Информация указания N потоков данных может указывать, какие из N потоков данных указаны информацией указания. Например, когда значение N равно 3, информация указания N потоков данных представляет собой: (flow1, flow5, flow6), откуда следует, что информация указания указывает три потока данных, и этими тремя потоками данных являются flow1, flow5 и flow6.
[0045] Второй параметр управления относится к длительности внутренней передачи каждого потока данных в системе ядра мультипроцессора и длительности для обработки каждого потока данных ядром процессора в системе ядра мультипроцессора. Третий параметр управления относится к информации ядра процессора для ядра процессора с самым низким использованием. Четвертый параметр управления относится к информации описания критического пути APP каждого потока данных.
[0046] 202. После того как текущий пакет потока данных поступает в систему ядра мультипроцессора, обнаружение, является ли поток данных, которому принадлежит текущий пакет, одним из N потоков данных на основании первого параметра управления.
[0047] После того как текущий пакет потока данных поступает в систему ядра мультипроцессора, является ли поток данных, которому принадлежит текущий пакет, одним из N потоков данных, указанных информацией указания N потоков данных, обнаруживается на основании первого параметра управления. Если поток данных, которому принадлежит текущий пакет, является одним из N потоков данных, осуществляется этап 205. В противном случае, осуществляется этап 203.
[0048] Первый цикл выборки может быть заранее установленным циклом выборки или динамически получаемым циклом выборки. Например, это может быть цикл выборки, динамически конфигурируемый абонентом, который получается через интерфейс человеко-машинного взаимодействия, или может быть соответствующий цикл выборки, хранящийся в базе данных, доступ к которой осуществляется через интерфейс связи.
[0049] Действия для получения первого параметра управления могут включать в себя: во-первых, получение пакета, обработанного системой ядра мультипроцессора в первом цикле выборки; затем, определение соотношения между пакетом, обработанным системой ядра мультипроцессора, и потоком данных, которому принадлежит пакет; сортировку количества пакетов, обработанных системой ядра мультипроцессора, в порядке убывания, и определение потоков данных, содержащих первые N пакетов, согласно вышеупомянутой последовательности, на основании соотношения между пакетом, обработанным системой ядра мультипроцессора, и потоком данных, которому принадлежит пакет.
[0050] Нижеследующий пример описывает, как получать первый параметр управления. Предполагается, что существуют потоки данных, включающие в себя flow1, flow2, flow3, flow4 и flow5. N=3. Когда пакет каждого потока данных поступает в систему ядра мультипроцессора, обработанный пакет записывается в первом цикле выборки. Затем определяется соотношение между пакетом, обработанным системой ядра мультипроцессора, и потоком данных, которому принадлежит пакет, и количество пакетов, обработанных системой ядра мультипроцессора, сортируется в порядке убывания. Если записанный результат сортировки таков: пакет flow1, который поступает в систему, обрабатывается в течение наибольшей части времени, пакет flow2 обрабатывается в течение второго после наибольшего времени, и пакет flow3 обрабатывается в течение наименьшей части времени. Соответственно, записи первого параметра управления flow1, flow2 и flow3.
[0051] 203. Определение, на основании второго параметра управления, превышает ли длительность внутренней передачи потока данных, которому принадлежит текущий пакет в системе ядра мультипроцессора, длительность для обработки потока данных, которому принадлежит текущий пакет, ядром процессора в системе ядра мультипроцессора.
[0052] Если длительность внутренней передачи потока данных, которому принадлежит текущий пакет в системе ядра мультипроцессора, превышает длительность для обработки потока данных, которому принадлежит текущий пакет, ядром процессора в системе ядра мультипроцессора, осуществляется этап 204. В противном случае, осуществляется этап 205.
[0053] 204. Распределение, на основании третьего параметра управления, текущего пакета на ядро процессора с самым низким использованием.
[0054] 205. Передачу текущего пакета на ядро процессора, использование ресурсов которого ниже первого порога, и связывания потока данных, которому принадлежит текущий пакет, с ядром процессора, использование ресурсов которого ниже первого порога.
[0055] Поток данных, которому принадлежит текущий пакет, привязывается к ядру процессора, использование ресурсов которого ниже первого порога, так что, когда пакет потока данных, которому принадлежит текущий пакет, поступает в систему ядра мультипроцессора, он обрабатывается ядром процессора, использование ресурсов которого ниже первого порога.
[0056] Первый порог, согласно варианту осуществления настоящего изобретения, можно устанавливать на основании сценария фактического приложения.
[0057] Вышеупомянутые этапы 201-205 являются вариантом осуществления политики переключения между ядрами, который реализует диспетчеризацию нагрузки среди множества ядер процессора, таким образом, снижая расходование ресурсов ядер процессора и повышая эффективность и возможности ядра мультипроцессора.
[0058] Получение второго параметра управления может включать в себя следующие этапы: для пакетов разных потоков данных, установку временных меток, когда пакет поступает в систему ядра мультипроцессора и когда он покидает систему ядра мультипроцессора, для получения длительности внутренней передачи пакета в системе ядра мультипроцессора; с другой стороны, запись времени, когда ядро процессора начинает обработку и заканчивает обработку пакета, для получения длительности обработки пакета ядром процессора. В фактическом приложении, соответственно, получаются длительности внутренней передачи множества пакетов потока данных и длительности соответствующей обработки множества пакетов ядром процессора. Средние арифметические длительностей внутренней передачи и длительностей обработки множества пакетов ядром процессора вычисляются, соответственно, как длительность внутренней передачи каждого потока данных в системе ядра мультипроцессора и длительность для обработки каждого потока данных ядром процессора. Потоки данных, требующие больше времени на обработку ядром процессора, привязываются к ядру процессора. Это позволяет избегать чрезмерных переключений между ядрами и позволяет полностью использовать вычислительные возможности ядра процессора для повышения эффективности обработки. Потоки данных с увеличенными длительностями внутренней передачи распределяются на ядро процессора с низким использованием для ослабления давления сетевой обработки.
[0059] Получение третьего параметра управления может включать в себя следующие этапы: постановку только такой задачи, уровень приоритета которой выше, чем уровень приоритета состояния бездействия в системе ядра мультипроцессора, и регулярную проверку, в каком ядре процессора находится эта задача, и это ядро процессора рассматривается как ядро процессора с самым низким использованием.
[0060] Следует отметить, что, помимо вышеупомянутого подхода согласно варианту осуществления настоящего изобретения, другие подходы, известные в технике, также можно использовать для получения длительности внутренней передачи каждого потока данных в системе ядра мультипроцессора и длительности для обработки каждого потока данных ядром процессора, и для получения информации ядра процессора для ядра процессора с самым низким использованием, которые не описаны здесь повторно.
[0061] С другой стороны, на основании полученного четвертого параметра управления, вариант осуществления настоящего изобретения дополнительно предусматривает способ диспетчеризации ядра процессора в системе ядра мультипроцессора, показанный на фиг. 3a, включающий в себя.
[0062] 301. Обнаружение служебной нагрузки единичного прерывания для обработки каждого потока данных в режиме прерывания и обнаружение служебной нагрузки единичного опроса для обработки каждого потока данных в режиме опроса.
[0063] В ходе инициализации системы ядра мультипроцессора, соответственно, обнаруживаются единичная служебная нагрузка прерывания для обработки каждого потока данных в режиме прерывания и единичная служебная нагрузка опроса для обработки каждого потока данных в режиме опроса. В частности, для служебной нагрузки прерывания, счетчик выполнен с возможностью обнаружения длительности прерывания всякий раз, когда действие прерывания происходит на ядре процессора; для служебной нагрузки опроса, счетчик выполнен с возможностью обнаружения длительности непригодного действия опроса. Затем, на основании обнаруженных времен прерывания в секунду и непригодных времен опроса в секунду, можно соответственно вычислять длительности служебной нагрузки прерывания и служебной нагрузки опроса за одну секунду.
[0064] 302. Обнаружение, на основании информации описания критического пути APP каждого потока данных, имеет ли поток данных, которому принадлежит текущий пакет, соответствующий критический путь APP.
[0065] Четвертым параметром управления является информация описания критического пути APP каждого потока данных. Каждая информация описания критического пути APP указывает, что ее соответствующий поток данных имеет критический путь APP. Например, информация описания критического пути APP может быть представлена переменной APP_flag. Если соответствующее значение APP_flag потока данных flow1 не равно нулю, это указывает, что поток данных flow1 имеет критический путь APP.
[0066] Если поток данных, которому принадлежит текущий пакет, не имеет критического пути APP, статус обработки ядра процессора, которое обрабатывает текущий пакет, поддерживается.
[0067] Если поток данных текущего пакета имеет соответствующий критический путь APP, вариант осуществления настоящего изобретения имеет разные процедуры реализации в зависимости от того, находится ли ядро процессора, которое обрабатывает текущий пакет, в режиме опроса или в режиме прерывания. Следующие этапы 303-308 используют, в порядке примера, ядро процессора в режиме опроса.
[0068] 303. Обнаружение времен опроса в первом цикле измерения.
[0069] Первый цикл измерений заранее устанавливается по мере необходимости. Следует убедиться в том, что в первом цикле измерения частота обработки пакетов ядром процессора находится в сравнительно стабильном состоянии.
[0070] 304. Получение общей служебной нагрузки опроса на основании времен опроса и служебной нагрузки единичного опроса.
[0071] Времена опроса и единичная служебная нагрузка опроса умножаются для получения общей служебной нагрузки опроса.
[0072] 305. Получение общей служебной нагрузки прерывания на основании прогнозируемого порога времен прерывания и служебной нагрузки единичного прерывания.
[0073] Прогнозируемый порог времен прерывания является заранее установленным значением, и прогнозируемый порог времен прерывания прогнозирует времена прерывания в первом цикле измерения и умножается на служебную нагрузку единичного прерывания для получения общей служебной нагрузки прерывания.
[0074] Следует отметить, что этап 304 и этап 305 можно выполнять в обратном порядке.
[0075] 306. Определение, превышает ли общая служебная нагрузка опроса общую служебную нагрузку прерывания.
[0076] Если общая служебная нагрузка опроса больше общей служебной нагрузки прерывания, осуществляется этап 307. В противном случае, осуществляется этап 308.
[0077] 307. Переключение ядра процессора, которое обрабатывает текущий пакет, из режима опроса в режим прерывания.
[0078] 308. Поддержание режима опроса ядра процессора, которое обрабатывает текущий пакет.
[0079] Вышеупомянутые этапы 303-308 используют, в порядке примера, ядро процессора в режиме опроса. Для ядра процессора в режиме прерывания, операции аналогичны этапам 303-308. В частности, если ядро процессора, которое обрабатывает текущий пакет, находится в режиме прерывания, как показано на фиг. 3b, процесс осуществляется следующим образом.
[0080] 303b. Обнаружение времен прерывания во втором цикле измерения.
[0081] Второй цикл измерений заранее устанавливается по мере необходимости. Следует убедиться в том, что во втором цикле измерения частота обработки пакетов ядром процессора находится в сравнительно стабильном состоянии. Длительность второго цикла измерений может быть такой же, как у первого цикла измерений.
[0082] 304b. Получение общей служебной нагрузки прерывания на основании времен прерывания и служебной нагрузки единичного прерывания.
[0083] 305b. Получение общей служебной нагрузки опроса на основании прогнозируемого порога времен опроса и служебной нагрузки единичного опроса.
[0084] Прогнозируемый порог времен опроса является заранее установленным значением, и прогнозируемый порог времен опроса прогнозирует времена опроса во втором цикле измерения и умножается на служебную нагрузку единичного опроса для получения общей служебной нагрузки опроса.
[0085] Следует отметить, что этап 304b и этап 305b можно выполнять в обратном порядке.
[0086] 306b. Определение, превышает ли общая служебная нагрузка прерывания общую служебную нагрузку опроса.
[0087] Если общая служебная нагрузка прерывания больше общей служебной нагрузки опроса, осуществляется этап 307b. В противном случае, осуществляется этап 308b.
[0088] 307b. Переключение ядра процессора, которое обрабатывает текущий пакет, в режим опроса.
[0089] 308b. Поддержание режима прерывания ядра процессора, которое обрабатывает текущий пакет.
[0090] Вышеупомянутые этапы 301-308 и этапы 303b-308b являются конкретной реализацией политики переключения внутри ядра, и переключение ядра процессора между режимом прерывания и режимом опроса снижает расходование ресурсов ядер процессора и повышает эффективность и возможности ядра мультипроцессора.
[0091] Фиг. 4 иллюстрирует определение, имеет ли поток данных критический путь APP, и получение информации описания критического пути APP, а именно.
[0092] 401. Активацию счетчика обработки функции и счетчика частоты.
[0093] До активации системы ядра мультипроцессора, для счетчика обработки функции и счетчика частоты вручную устанавливаются пороги: порог длительности обработки и порог частоты обработки. Порог длительности обработки и порог частоты обработки устанавливают правило для задания критического пути APP.
[0094] 402. Прибавление единицы к значению счетчика обработки функции всякий раз, когда пакет потока данных, который должен быть обнаружен, обрабатывается текущим функциональным модулем.
[0095] 403. Обнаружение, превышает ли значение счетчика обработки функции порог длительности обработки.
[0096] Когда значение счетчика обработки функции больше порога длительности обработки, осуществляется этап 404. Когда значение счетчика обработки функции не превышает порог длительности обработки, обнаружение продолжается, если обработка потока данных, который должен быть обнаружен, не закончена, и значения счетчика обработки функции накапливаются.
[0097] 404. Прибавление единицы к значению счетчика частоты; сброс счетчика обработки функции.
[0098] 405. Обнаружение, превышает ли значение счетчика частоты порог частоты обработки.
[0100] Когда значение счетчика частоты больше порога частоты обработки, осуществляется этап 406. Когда значение счетчика частоты не превышает порог частоты обработки, обнаружение продолжается, если обработка потока данных, который должен быть обнаружен, не закончена.
[0101] 406. Получение информации описания критического пути APP для потока данных, которому принадлежит пакет, который соответствует значению счетчика частоты, где значение счетчика частоты больше порога частоты обработки.
[0102] Если значение счетчика обработки функции не превышает порог длительности обработки, или значение счетчика частоты не превышает порог частоты обработки, когда обработка потока данных, который должен быть обнаружен заканчивается, или если значение счетчика обработки функции не превышает порог длительности обработки, или значение счетчика частоты не превышает порог частоты обработки, когда заканчивается первый цикл обнаружения, можно считать, что критического пути APP не существует, и действие для получения информации описания критического пути APP пропускается.
[0103] Нижеследующий пример используется для описания вышеупомянутых этапов 401-406. После того как пакет поступает в систему ядра мультипроцессора, он может обрабатываться множеством функциональных модулей в ядре процессора. Например, после того, как пакет потока данных flow1 поступает в систему ядра мультипроцессора, он по очереди обрабатывается функциональными модулями, function1, function2 и function3. Соответственно, соответствующий путь обработки flow1 представляет собой: function1 - function2 - function3. В то же время, предполагается, что: соответствующий путь обработки flow2 представляет собой: function1 - function3; и соответствующий путь обработки flow3 представляет собой function1 - function2 - function3 - function4. Если заранее установленный порог длительности обработки равен 3, и заранее установленный порог частоты обработки равен 1, можно определить, что значение соответствующего счетчика обработки функции равно 3, когда функциональный модуль заканчивает обработку flow1. Это значение не превышает порог длительности обработки. Поэтому критического пути APP не существует; аналогично, flow2 также не имеет критического пути APP. После обработки Flow3 функциональными модулями его соответствующего пути обработки, значение соответствующего счетчика обработки функции равно 4. При этом счетчик частоты осуществляет операцию прибавления единицы, и значение равно 1, и счетчик обработки функции со значением 4 сбрасывается. Затем, если пакет flow3 повторно поступает в систему и, после его обработки функциональными модулями, значение счетчика частоты становится равным 2. При этом для flow3, значение счетчика частоты (значение равно 2) больше порога частоты обработки. Критический путь APP существует для flow3. Соответственно, соответствующая информация критического пути APP получается для flow3 в системе ядра мультипроцессора. Если пакет flow3 повторно не поступает в систему, и не обрабатывается функциональными модулями, и значение его счетчика частоты не превышает порог частоты обработки, критического пути APP не существует для flow3, и действие для получения соответствующей информации описания критического пути APP для flow3 пропускается.
[0104] Согласно варианту осуществления настоящего изобретения, потоки данных отличаются пятеркой (исходного адреса, целевого адреса, исходного порта, целевого порта и протокола передачи потока данных).
[0105] Ядром процессора в системе ядра мультипроцессора согласно варианту осуществления настоящего изобретения может быть CPU, MCU или DSP, и т.д. В системе ядра мультипроцессора, многочисленные ядра процессора одновременно переключают и диспетчеризуют свои собственные межъядерные и внутриядерные задачи.
[0106] Вариант осуществления настоящего изобретения предусматривает способ диспетчеризации ядра процессора в системе ядра мультипроцессора, где, путем получения первого параметра управления, второго параметра управления, третьего параметра управления и четвертого параметра управления в выполняющемся процессе системы ядра мультипроцессора, за счет реализации диспетчеризации нагрузки среди множества ядер процессора на основании первого параметра управления, второго параметра управления и третьего параметра управления, и за счет реализации переключения между режимом прерывания и режимом опроса единичного ядра процессора на основании четвертого параметра управления, можно удовлетворить потребность в обработке сетевого ввода/вывода в реальном времени в системе ядра мультипроцессора, что позволяет повысить эффективность всей системы ядра мультипроцессора. Диспетчеризация нагрузки, специально разработанная для среды ядра мультипроцессора, позволяет избежать проблемы, присущей традиционному режиму диспетчеризации конфигурации, приемлемый выбор диспетчеризации затруднен, что не позволяет полностью использовать эффективность и возможности ядра мультипроцессора. Кроме того, этот способ упрощает ручную конфигурацию сетевого ввода/вывода ядра мультипроцессора со стороны инженера или абонента, что повышает эффективность установки программного обеспечения на многоядерной платформе.
Вариант осуществления 3
[0107] Вариант осуществления настоящего изобретения предусматривает устройство для диспетчеризации ядра процессора в системе ядра мультипроцессора, как показано на фиг. 5, включающий в себя: блок 51 получения параметра управления, первый блок 52 обнаружения, блок 53 диспетчеризации переключения между ядрами и блок 54 диспетчеризации переключения внутри ядра.
[0108] Блок 51 получения параметра управления выполнен с возможностью получения, в выполняющемся процессе системы ядра мультипроцессора, первого параметра управления, второго параметра управления, третьего параметра управления и четвертого параметра управления.
[0109] Первый параметр управления относится к информации указания N потоков данных, и N потоков данных относятся к первым N потокам данных, полученным в первом цикле выборки путем сортировки потоков данных, которые содержат пакеты, обработанные системой ядра мультипроцессора, в порядке убывания, согласно количеству обработанных пакетов, содержащихся в каждом потоке данных, где N - положительное целое число. Информация указания N потоков данных может указывать, какие из N потоков данных указаны информацией указания.
[0110] Второй параметр управления относится к длительности внутренней передачи каждого потока данных в системе ядра мультипроцессора и длительности для обработки каждого потока данных ядром процессора в системе ядра мультипроцессора. Третий параметр управления относится к информации ядра процессора для ядра процессора с самым низким использованием. Четвертый параметр управления относится к информации описания критического пути APP каждого потока данных.
[0111] Первый блок 52 обнаружения выполнен с возможностью обнаружения, является ли поток данных, которому принадлежит текущий пакет, одним из N потоков данных на основании первого параметра управления.
[0112] Блок 53 диспетчеризации переключения между ядрами выполнен с возможностью: когда поток данных, которому принадлежит текущий пакет, не является одним из N потоков данных, перенос, на основании второго параметра управления и третьего параметра управления и согласно политике переключения между ядрами, пакета потока данных, который поступает в систему ядра мультипроцессора, на бездействующее ядро процессора для обработки.
[0113] Политика переключения между ядрами состоит в следующем: если длительность внутренней передачи пакета превышает длительность для обработки пакета ядром процессора, пакет обрабатывается ядром процессора с самым низким использованием, и если длительность для обработки пакета ядром процессора превышает длительность внутренней передачи пакета, пакет привязывается к назначенному ядру процессора для обработки.
[0114] Блок 54 диспетчеризации переключения внутри ядра выполнен с возможностью переключения ядра процессора, которое обрабатывает пакет в системе ядра мультипроцессора, между режимом прерывания и режимом опроса на основании четвертого параметра управления, и согласно политике переключения внутри ядра.
[0115] Политика переключения внутри ядра состоит в следующем: если общая служебная нагрузка опроса больше общей служебной нагрузки прерывания, ядро процессора входит в режим прерывания для обработки пакета, и если общая служебная нагрузка опроса меньше общей служебной нагрузки прерывания, ядро процессора входит в режим опроса для обработки пакета.
[0116] Бездействующее ядро процессора включает в себя ядро процессора с самым низким использованием и ядро процессора, использование ресурсов которого ниже определенного порога, где определенный порог может быть порогом, заранее установленным в системе, или динамически конфигурируемым порогом, по мере необходимости вводимым абонентом через интерфейс человеко-машинного взаимодействия.
[0117] Дополнительно, как показано на фиг. 6, блок 53 диспетчеризации переключения между ядрами, в частности, дополнительно включает в себя первый подблок 531 определения и первый подблок 532 диспетчеризации.
[0118] Первый подблок 531 определения выполнен с возможностью определения, на основании второго параметра управления, превышает ли длительность внутренней передачи потока данных, которому принадлежит текущий пакет в системе ядра мультипроцессора, длительность для обработки потока данных, которому принадлежит текущий пакет, ядром процессора в системе ядра мультипроцессора.
[0119] Первый подблок 532 диспетчеризации выполнен с возможностью распределения, на основании третьего параметра управления, текущего пакета на ядро процессора с самым низким использованием в системе ядра мультипроцессора, когда первый блок 52 обнаружения обнаруживает, что поток данных, которому принадлежит текущий пакет, не является одним из N потоков данных, и длительность внутренней передачи потока данных, которому принадлежит текущий пакет в системе ядра мультипроцессора, превышает длительность для обработки потока данных, которому принадлежит текущий пакет, ядром процессора в системе ядра мультипроцессора.
[0120] Дополнительно, как показано на фиг. 7, блок 53 диспетчеризации переключения между ядрами дополнительно включает в себя второй подблок 533 диспетчеризации, выполненный с возможностью передачи текущего пакета на ядро процессора, использование ресурсов которого ниже первого порога, и связывания потока данных, которому принадлежит текущий пакет, с ядром процессора, использование ресурсов которого ниже первого порога, когда первый блок 52 обнаружения обнаруживает, что поток данных, которому принадлежит текущий пакет, является одним из N потоков данных, или первый подблок 531 определения определяет, что длительность внутренней передачи потока данных, которому принадлежит текущий пакет в системе ядра мультипроцессора, не превышает длительность для обработки потока данных, которому принадлежит текущий пакет, ядром процессора в системе ядра мультипроцессора, так что, когда пакет потока данных, которому принадлежит текущий пакет, поступает в систему ядра мультипроцессора, он обрабатывается ядром процессора, использование ресурсов которого ниже первого порога.
[0121] Первый порог, согласно варианту осуществления настоящего изобретения, можно устанавливать на основании сценария фактического приложения.
[0122] Кроме того, как показано на фиг. 8, блок 54 диспетчеризации переключения внутри ядра дополнительно включает в себя: второй подблок 545 обнаружения, третий подблок 546 обнаружения, подблок 547 обнаружения опроса, подблок 548 получения служебной нагрузки опроса, подблок 549 получения служебной нагрузки прерывания, третий подблок 5410 диспетчеризации и четвертый подблок 5411 диспетчеризации.
[0123] Второй подблок 545 обнаружения выполнен с возможностью обнаружения, в ходе инициализации системы ядра мультипроцессора, служебной нагрузки единичного прерывания для обработки каждого потока данных в режиме прерывания и обнаружения служебной нагрузки единичного опроса для обработки каждого потока данных в режиме опроса.
[0124] Третий подблок 546 обнаружения выполнен с возможностью обнаружения, на основании информации описания критического пути APP каждого потока данных, имеет ли поток данных, которому принадлежит текущий пакет, соответствующий критический путь APP.
[0125] Подблок 547 обнаружения опроса выполнен с возможностью обнаружения времен опроса в первом цикле измерения, когда поток данных, которому принадлежит текущий пакет, имеет соответствующий критический путь APP, и ядро процессора, которое обрабатывает текущий пакет, находится в режиме опроса;
[0126] Первый цикл измерений заранее устанавливается по мере необходимости. Следует убедиться в том, что в первом цикле измерения частота обработки пакетов ядром процессора находится в сравнительно стабильном состоянии.
[0127] Подблок 548 получения служебной нагрузки опроса выполнен с возможностью получения общей служебной нагрузки опроса на основании времен опроса и служебной нагрузки единичного опроса.
[0128] Подблок 549 получения служебной нагрузки прерывания выполнен с возможностью получения общей служебной нагрузки прерывания на основании прогнозируемого порога времен прерывания и служебной нагрузки единичного прерывания.
[0129] Третий подблок 5410 диспетчеризации выполнен с возможностью переключения ядра процессора, которое обрабатывает текущий пакет, из режима опроса в режим прерывания, когда общая служебная нагрузка опроса больше общей служебной нагрузки прерывания.
[0130] Четвертый подблок 5411 диспетчеризации выполнен с возможностью поддержания режима опроса ядра процессора, которое обрабатывает текущий пакет, когда общая служебная нагрузка опроса не превышает общей служебной нагрузки прерывания.
[0131] Дополнительно, как показано на фиг. 9, блок 54 диспетчеризации переключения внутри ядра дополнительно включает в себя: подблок 5412 обнаружения прерывания, выполненный с возможностью обнаружения времен прерывания во втором цикле измерения, когда поток данных, которому принадлежит текущий пакет, имеет соответствующий критический путь APP, и ядро процессора, которое обрабатывает текущий пакет, находится в режиме прерывания.
[0132] Второй цикл измерений заранее устанавливается по мере необходимости. Следует убедиться в том, что во втором цикле измерения частота обработки пакетов ядром процессора находится в сравнительно стабильном состоянии. Длительность второго цикла измерений может быть такой же, как у первого цикла измерений.
[0133] Подблок 549 получения служебной нагрузки прерывания дополнительно выполнен с возможностью получения общей служебной нагрузки прерывания на основании времен прерывания и служебной нагрузки единичного прерывания.
[0134] Подблок 548 получения служебной нагрузки опроса дополнительно выполнен с возможностью получения общей служебной нагрузки опроса на основании прогнозируемого порога времен опроса и служебной нагрузки единичного опроса.
[0135] Четвертый подблок 5411 диспетчеризации дополнительно выполнен с возможностью переключения ядра процессора, которое обрабатывает текущий пакет, из режима прерывания в режим опроса, когда общая служебная нагрузка прерывания больше общей служебной нагрузки опроса.
[0136] Третий подблок 5410 диспетчеризации дополнительно выполнен с возможностью поддержания режима прерывания ядра процессора, которое обрабатывает текущий пакет, когда общая служебная нагрузка прерывания не превышает общей служебной нагрузки опроса.
[0137] Вариант осуществления 2 настоящего изобретения демонстрирует, как устанавливать критический путь APP, который не описан здесь повторно.
[0138] Кроме того, как показано на фиг. 10, блок 51 получения параметра управления включает в себя: блок 55 получения первого параметра управления, блок 56 получения второго параметра управления, блок 57 получения третьего параметра управления и блок 58 получения четвертого параметра управления.
[0139] Блок 55 получения первого параметра управления выполнен с возможностью получения пакета, обработанного системой ядра мультипроцессора в первом цикле выборки; сортировки количества пакетов, обработанных системой ядра мультипроцессора, в порядке убывания и определения, на основании соотношения между пакетом, обработанным системой ядра мультипроцессора, и потоком данных, которому принадлежит пакет, потоков данных, содержащих первые N пакетов, согласно вышеупомянутой последовательности.
[0140] Блок 56 получения второго параметра управления выполнен с возможностью получения, в выполняющемся процессе системы ядра мультипроцессора, второго параметра управления, где второй параметр управления относится к длительности внутренней передачи каждого потока данных в системе ядра мультипроцессора и длительности для обработки каждого потока данных ядром процессора в системе ядра мультипроцессора.
[0141] Получение второго параметра управления может включать в себя следующие этапы: для пакетов разных потоков данных, установку временных меток, когда пакет поступает в систему ядра мультипроцессора и когда он покидает систему ядра мультипроцессора, для получения длительности внутренней передачи пакета в системе ядра мультипроцессора; с другой стороны, запись времени, когда ядро процессора начинает обработку и заканчивает обработку пакета, для получения длительности обработки пакета ядром процессора. В фактическом приложении, соответственно, получаются длительности внутренней передачи множества пакетов потока данных и длительности соответствующей обработки множества пакетов ядром процессора. Средние арифметические длительностей внутренней передачи и длительностей обработки множества пакетов ядром процессора вычисляются, соответственно, как длительность внутренней передачи каждого потока данных в системе ядра мультипроцессора и длительность для обработки каждого потока данных ядром процессора. Потоки данных, требующие больше времени на обработку ядром процессора, привязываются к ядру процессора. Это позволяет избегать чрезмерных переключений между ядрами и позволяет полностью использовать вычислительные возможности ядра процессора для повышения эффективности обработки. Потоки данных с увеличенными длительностями внутренней передачи распределяются на ядро процессора с низким использованием для ослабления давления сетевой обработки.
[0142] Блок 57 получения третьего параметра управления выполнен с возможностью получения, в выполняющемся процессе системы ядра мультипроцессора, третьего параметра управления, где третий параметр управления относится к информации ядра процессора для ядра процессора с самым низким использованием.
[0143] Получение третьего параметра управления может включать в себя следующие этапы: постановку только такой задачи, уровень приоритета которой выше, чем уровень приоритета состояния бездействия в системе ядра мультипроцессора, и регулярную проверку, в каком ядре процессора находится эта задача, и это ядро процессора рассматривается как ядро процессора с самым низким использованием.
[0144] Блок 58 получения четвертого параметра управления выполнен с возможностью получения информации описания критического пути APP потока данных, который должен быть обнаружен, когда длительность обработки и частота обработки пакета потока данных, который должен быть обнаружен в системе ядра мультипроцессора превышают порог длительности обработки и порог частоты обработки.
[0145] Дополнительно, как показано на фиг. 11a, блок 55 получения первого параметра управления включает в себя: подблок 551 получения информации пакета, подблок 552 определения потока данных и подблок 553 получения первого параметра управления.
[0146] Подблок 551 получения информации пакета выполнен с возможностью получения информации на пакете, обработанном в системе ядра мультипроцессора в первом цикле выборки.
[0147] Подблок 552 определения потока данных выполнен с возможностью определения соотношения между пакетом, обработанным системой ядра мультипроцессора, и потоком данных, которому принадлежит пакет.
[0148] Подблок 553 получения первого параметра управления выполнен с возможностью сортировки количества пакетов, обработанных системой ядра мультипроцессора, в порядке убывания и определения, на основании соотношения между пакетом, обработанным системой ядра мультипроцессора, и потоком данных, которому принадлежит пакет, потоков данных, содержащих первые N пакетов, согласно вышеупомянутой последовательности.
[0149] Кроме того, как показано на фиг. 11b, блок 58 получения четвертого параметра управления включает в себя: подблок 584 обнаружения порога и подблок 585 получения четвертого параметра управления.
[0150] Подблок 584 обнаружения порога выполнен с возможностью обнаружения, в первом цикле обнаружения, превышают ли длительность обработки и частота обработки пакета потока данных, который должен быть обнаружен, порог длительности обработки и порог частоты обработки.
[0151] Подблок 585 получения четвертого параметра управления выполнен с возможностью получения информации описания критического пути APP потока данных, который должен быть обнаружен, когда длительность обработки и частота обработки пакета потока данных, который должен быть обнаружен в системе ядра мультипроцессора, превышают порог длительности обработки и порог частоты обработки, где информация описания критического пути APP указывает, что поток данных, который должен быть обнаружен, имеет критический путь APP.
[0152] Согласно варианту осуществления настоящего изобретения, потоки данных отличаются пятеркой (исходного адреса, целевого адреса, исходного порта, целевого порта и протокола передачи потока данных).
[0153] Ядром процессора в системе ядра мультипроцессора согласно варианту осуществления настоящего изобретения может быть CPU, MCU или DSP, и т.д. В системе ядра мультипроцессора, многочисленные ядра процессора одновременно переключают и диспетчеризуют свои собственные межъядерные и внутриядерные задачи.
[0154] Следует отметить, что детали реализации устройства для диспетчеризации ядра процессора в системе ядра мультипроцессора согласно варианту осуществления настоящего изобретения можно найти в описании вышеупомянутых вариантов осуществления, которые не описаны здесь повторно.
[0155] Вариант осуществления настоящего изобретения предусматривает устройство для диспетчеризации ядра процессора в системе ядра мультипроцессора, где, путем получения первого параметра управления, второго параметра управления, третьего параметра управления и четвертого параметра управления в выполняющемся процессе системы ядра мультипроцессора, за счет реализации диспетчеризации нагрузки среди множества ядер процессора на основании первого параметра управления, второго параметра управления и третьего параметра управления, и за счет реализации переключения между режимом прерывания и режимом опроса единичного ядра процессора на основании четвертого параметра управления, можно удовлетворить потребность в обработке сетевого ввода/вывода в реальном времени в системе ядра мультипроцессора, что позволяет повысить эффективность всей системы ядра мультипроцессора. Диспетчеризация нагрузки, специально разработанная для среды ядра мультипроцессора, позволяет избежать проблемы, присущей традиционному режиму диспетчеризации конфигурации, приемлемый выбор диспетчеризации затруднен, что не позволяет полностью использовать эффективность и возможности ядра мультипроцессора. Кроме того, этот способ упрощает ручную конфигурацию сетевого ввода/вывода ядра мультипроцессора со стороны инженера или абонента, что повышает эффективность установки программного обеспечения на многоядерной платформе.
Вариант осуществления 4
[0156] Вариант осуществления настоящего изобретения также предусматривает компьютерную систему, показанную на фиг. 12, включающую в себя:
шину 1201;
ядро мультипроцессора, соединенное с шиной 1202; и
память, соединенную с шиной 1203, где
ядро 1202 мультипроцессора включает в себя любое из устройств согласно варианту осуществления 3.
[0157] Согласно фиг. 12, ядро 1202 мультипроцессора включает в себя блок 1204 получения параметра управления, первый блок 1205 обнаружения, блок 1206 диспетчеризации переключения между ядрами и блок 1207 диспетчеризации переключения внутри ядра.
[0158] Вариант осуществления настоящего изобретения предусматривает компьютерную систему, где, путем получения первого параметра управления, второго параметра управления, третьего параметра управления и четвертого параметра управления в выполняющемся процессе компьютерной системы, сформированной ядром мультипроцессора, за счет реализации диспетчеризации нагрузки среди множества ядер процессора на основании первого параметра управления, второго параметра управления и третьего параметра управления, и за счет реализации переключения между режимом прерывания и режимом опроса единичного ядра процессора на основании четвертого параметра управления, можно удовлетворить потребность в обработке сетевого ввода/вывода в реальном времени в системе ядра мультипроцессора, таким образом, можно повысить эффективность всей компьютерной системы. Диспетчеризация нагрузки, специально разработанная для среды ядра мультипроцессора, позволяет избежать проблемы, присущей традиционному режиму диспетчеризации конфигурации, приемлемый выбор диспетчеризации затруднен, что не позволяет полностью использовать эффективность и возможности ядра мультипроцессора. Кроме того, этот способ упрощает ручную конфигурацию сетевого ввода/вывода ядра мультипроцессора со стороны инженера или абонента, что повышает эффективность установки программного обеспечения на многоядерной платформе.
Вариант осуществления 5
[0159] Вариант осуществления настоящего изобретения предусматривает компьютерную систему, показанную на фиг. 13, включающую в себя:
шину;
ядро мультипроцессора, соединенное с шиной; и
память, соединенную с шиной, где
вызывая выполнение инструкции в памяти 1303 через шину 1301, ядро 1302 мультипроцессора выполнено с возможностью: получения первого параметра управления, второго параметра управления, третьего параметра управления и четвертого параметра управления на основании данных, вызванных из памяти 1303, и память 1303 может представлять собой память, устройство жесткого диска или флэш-память (флэш-память), где первый параметр управления относится к информации указания N потоков данных, и N потоков данных относятся к первым N потокам данных, полученным в первом цикле выборки путем сортировки потоков данных, которые содержат пакеты, обработанные системой ядра мультипроцессора, в порядке убывания, согласно количеству обработанных пакетов, содержащихся в каждом потоке данных, где N - положительное целое число; второй параметр управления относится к длительности внутренней передачи каждого потока данных в системе ядра мультипроцессора и длительности для обработки каждого потока данных ядром процессора в системе ядра мультипроцессора; третий параметр управления относится к информации ядра процессора для ядра процессора с самым низким использованием; и четвертый параметр управления относится к информации описания критического пути APP каждого потока данных.
[0160] Ядро 1302 мультипроцессора дополнительно выполнено с возможностью обнаружения, является ли поток данных, которому принадлежит текущий пакет, одним из N потоков данных на основании первого параметра управления.
[0161] Ядро 1302 мультипроцессора дополнительно выполнено с возможностью: когда поток данных, которому принадлежит текущий пакет, не является одним из N потоков данных, переноса, на основании второго параметра управления и третьего параметра управления и согласно политике переключения между ядрами, пакета потока данных, который поступает в систему ядра мультипроцессора, на бездействующее ядро процессора для обработки, где политика переключения между ядрами состоит в следующем: если длительность внутренней передачи пакета превышает длительность для обработки пакета ядром процессора, пакет обрабатывается ядром процессора с самым низким использованием, и если длительность для обработки пакета ядром процессора превышает длительность внутренней передачи пакета, пакет привязывается к назначенному ядру процессора для обработки.
[0162] Ядро 1302 мультипроцессора дополнительно выполнено с возможностью переключения ядра процессора, которое обрабатывает пакет в компьютерной системе, сформированной ядром 1302 мультипроцессора, между режимом прерывания и режимом опроса на основании четвертого параметра управления и согласно политике переключения внутри ядра, где политика переключения внутри ядра состоит в следующем: если общая служебная нагрузка опроса больше общей служебной нагрузки прерывания, ядро процессора входит в режим прерывания для обработки пакета, и если общая служебная нагрузка опроса меньше общей служебной нагрузки прерывания, ядро процессора входит в режим опроса для обработки пакета.
[0163] Ядро мультипроцессора согласно варианту осуществления настоящего изобретения может представлять собой ядро процессора в одноядерном процессоре или ядро процессора в многоядерном процессоре. Например, ядра множества процессоров могут быть инкапсулированы в структуру инкапсуляции, как показано на фиг. 13. В вышеупомянутой компьютерной системе, может быть множество структур инкапсуляции, и каждая структура инкапсуляция инкапсулирована множеством ядер процессора.
[0164] Вариант осуществления настоящего изобретения предусматривает компьютерную систему, где, путем получения первого параметра управления, второго параметра управления, третьего параметра управления и четвертого параметра управления в выполняющемся процессе компьютерной системы, сформированной ядром мультипроцессора, за счет реализации диспетчеризации нагрузки среди множества ядер процессора на основании первого параметра управления, второго параметра управления и третьего параметра управления, и за счет реализации переключения между режимом прерывания и режимом опроса единичного ядра процессора на основании четвертого параметра управления, можно удовлетворить потребность в обработке сетевого ввода/вывода в реальном времени в компьютерной системе, сформированной ядром мультипроцессора, таким образом, можно повысить эффективность всей компьютерной системы. Диспетчеризация нагрузки, специально разработанная для среды ядра мультипроцессора, позволяет избежать проблемы, присущей традиционному режиму диспетчеризации конфигурации, приемлемый выбор диспетчеризации затруднен, что не позволяет полностью использовать эффективность и возможности ядра мультипроцессора. Кроме того, этот способ упрощает ручную конфигурацию сетевого ввода/вывода ядра мультипроцессора со стороны инженера или абонента, что повышает эффективность установки программного обеспечения на многоядерной платформе.
[0165] Специалисты в данной области техники должны понять, что все или часть этапов способа согласно вариантам осуществления настоящего изобретения можно реализовать посредством программы, управляющей соответствующим оборудованием. Вышеупомянутая программа может храниться на считываемом компьютером носителе данных. При выполнении программы осуществляются предыдущие этапы, включенные в варианты осуществления способа; и вышеупомянутый носитель данных может быть любым носителем, где можно хранить программные коды, например, ПЗУ, ОЗУ, магнитный диск или оптический диск.
[0166] Следует отметить, что выражения "первый", "второй", "третий" и "четвертый", используемые в описании вариантов осуществления не призваны ограничивать последовательность. Напротив, они используются только для различения.
[0167] Вышеупомянутые описания являются лишь конкретными вариантами осуществления настоящего изобретения, но не призваны ограничивать объем защиты настоящего изобретения. Специалист в данной области техники без труда сможет внести любые изменения и замены в технический объем, раскрытый в настоящем изобретении, в пределах объема защиты настоящего изобретения. Поэтому объем защиты настоящего изобретения определяется объемом защиты формулы изобретения.

Claims (17)

1. Способ диспетчеризации ядра процессора в системе ядра мультипроцессора, содержащий этапы, на которых:
получают, в выполняющемся процессе системы ядра мультипроцессора, первый параметр управления, второй параметр управления, третий параметр управления и четвертый параметр управления, при этом первый параметр управления относится к информации указания N потоков данных, и N потоков данных относятся к первым N потокам данных, полученным в первом цикле выборки путем сортировки потоков данных, которые содержат пакеты, обрабатываемые системой ядра мультипроцессора, в порядке убывания, согласно количеству обрабатываемых пакетов, содержащихся в каждом потоке данных, где N - положительное целое число; второй параметр управления относится к длительности внутренней передачи каждого потока данных в системе ядра мультипроцессора и длительности для обработки каждого потока данных ядром процессора в системе ядра мультипроцессора; третий параметр управления относится к информации ядра процессора для ядра процессора с самым низким использованием; и четвертый параметр управления относится к информации описания критического пути приложения (АРР) каждого потока данных;
обнаруживают, является ли поток данных, которому принадлежит текущий пакет, одним из N потоков данных на основании первого параметра управления;
когда поток данных, которому принадлежит текущий пакет, не является одним из N потоков данных, переносят, на основании второго параметра управления и третьего параметра управления и согласно политике переключения между ядрами, пакет потока данных, который поступает в систему ядра мультипроцессора, на незанятое ядро процессора для обработки, при этом незанятое ядро процессора представляет собой ядро процессора с самым низким использованием или ядро процессора, использование ресурсов которого ниже некоторого порога, политика переключения между ядрами состоит в следующем: если длительность внутренней передачи пакета превышает длительность для обработки пакета ядром процессора, пакет обрабатывается ядром процессора с самым низким использованием, и если длительность для обработки пакета ядром процессора превышает длительность внутренней передачи пакета, пакет привязывается к назначенному ядру процессора для обработки, при этом назначенное ядро процессора представляет собой ядро процессора, использование ресурсов которого ниже некоторого порога; и
переключают ядро процессора, которое обрабатывает пакет в системе ядра мультипроцессора, между режимом прерывания и режимом опроса на основании четвертого параметра управления, и согласно политике переключения внутри ядра, при этом политика переключения внутри ядра состоит в следующем: если общая служебная нагрузка опроса больше общей служебной нагрузки прерывания, ядро процессора входит в режим прерывания для обработки пакета, и если общая служебная нагрузка опроса меньше общей служебной нагрузки прерывания, ядро процессора входит в режим опроса для обработки пакета, при этом четвертый параметр управления указывает, имеет ли поток данных, которому принадлежит текущий пакет, соответствующий критический путь АРР, и когда он имеет, осуществляется выполнение переключения внутри ядра.
2. Способ по п. 1, в котором перенос, на основании второго параметра управления и третьего параметра управления и согласно политике переключения между ядрами, пакета потока данных, который поступает в систему ядра мультипроцессора, на незанятое ядро процессора для обработки содержит этапы, на которых:
определяют, на основании второго параметра управления, превышает ли длительность внутренней передачи потока данных, которому принадлежит текущий пакет, в системе ядра мультипроцессора, длительность для обработки потока данных, которому принадлежит текущий пакет, ядром процессора в системе ядра мультипроцессора; и
распределяют, на основании третьего параметра управления, текущий пакет на ядро процессора с самым низким использованием в системе ядра мультипроцессора, если длительность внутренней передачи потока данных, которому принадлежит текущий пакет, в системе ядра мультипроцессора, превышает длительность для обработки потока данных, которому принадлежит текущий пакет, ядром процессора в системе ядра мультипроцессора.
3. Способ по п. 2, дополнительно содержащий этапы, на которых:
когда поток данных, которому принадлежит текущий пакет, является одним из N потоков данных, или длительность внутренней передачи потока данных, которому принадлежит текущий пакет, в системе ядра мультипроцессора, не превышает длительность для обработки потока данных, которому принадлежит текущий пакет, ядром процессора в системе ядра мультипроцессора, передают текущий пакет на ядро процессора, использование ресурсов которого ниже первого порога, и связывают поток данных, которому принадлежит текущий пакет, с ядром процессора, использование ресурсов которого ниже первого порога, так что, когда пакет потока данных, которому принадлежит текущий пакет, поступает в систему ядра мультипроцессора, он обрабатывается ядром процессора, использование ресурсов которого ниже первого порога.
4. Способ по п. 1, в котором переключение ядра процессора, которое обрабатывает пакет в системе ядра мультипроцессора, между режимом прерывания и режимом опроса на основании четвертого параметра управления, и согласно политике переключения внутри ядра, содержит этапы, на которых:
обнаруживают, в ходе инициализации системы ядра мультипроцессора, служебную нагрузку единичного прерывания для обработки каждого потока данных в режиме прерывания и обнаруживают служебную нагрузку единичного опроса для обработки каждого потока данных в режиме опроса;
обнаруживают, на основании информации описания критического пути АРР каждого потока данных, имеет ли поток данных, которому принадлежит текущий пакет, соответствующий критический путь АРР;
обнаруживают времена опроса в первом цикле измерения, если поток данных, которому принадлежит текущий пакет, имеет соответствующий критический путь АРР, и ядро процессора, которое обрабатывает текущий пакет, находится в режиме опроса;
получают общую служебную нагрузку опроса на основании времен опроса и служебной нагрузки единичного опроса;
получают общую служебную нагрузку прерывания на основании прогнозируемого порога времен прерывания и служебной нагрузки единичного прерывания;
переключают ядро процессора, которое обрабатывает текущий пакет, из режима опроса в режим прерывания, когда общая служебная нагрузка опроса больше общей служебной нагрузки прерывания; и
поддерживают режим опроса ядра процессора, которое обрабатывает текущий пакет, когда общая служебная нагрузка опроса не превышает общей служебной нагрузки прерывания.
5. Способ по п. 4, дополнительно содержащий этапы, на которых:
обнаруживают времена прерывания во втором цикле измерения, если поток данных, которому принадлежит текущий пакет, имеет соответствующий критический путь АРР, и ядро процессора, которое обрабатывает текущий пакет, находится в режиме прерывания;
получают общую служебную нагрузку прерывания на основании времен прерывания и служебной нагрузки единичного прерывания;
получают общую служебную нагрузку опроса на основании прогнозируемого порога времен опроса и служебной нагрузки единичного опроса;
переключают ядро процессора, которое обрабатывает текущий пакет, из режима прерывания в режим опроса, когда общая служебная нагрузка прерывания больше общей служебной нагрузки опроса; и
поддерживают режим прерывания ядра процессора, которое обрабатывает текущий пакет, когда общая служебная нагрузка прерывания не превышает общей служебной нагрузки опроса.
6. Способ по п. 1, в котором получение первого параметра управления содержит этапы, на которых:
получают пакет, обрабатываемый системой ядра мультипроцессора в первом цикле выборки;
определяют соотношение между пакетом, обрабатываемым системой ядра мультипроцессора, и потоком данных, которому принадлежит пакет; и
сортируют количество пакетов, обрабатываемых системой ядра мультипроцессора, в порядке убывания и определяют, на основании соотношения между пакетом, обрабатываемым системой ядра мультипроцессора, и потоком данных, которому принадлежит пакет, потоки данных, содержащие первые N пакетов, согласно вышеупомянутой последовательности.
7. Способ по п. 1, в котором получение четвертого параметра управления содержит этапы, на которых:
обнаруживают, в первом цикле обнаружения, превышают ли длительность обработки и частота обработки пакета потока данных, который должен быть обнаружен, порог длительности обработки и порог частоты обработки; и
получают информацию описания критического пути АРР потока данных, который должен быть обнаружен, когда длительность обработки и частота обработки пакета потока данных, который должен быть обнаружен в системе ядра мультипроцессора, превышают порог длительности обработки и порог частоты обработки, причем информация описания критического пути АРР указывает, что поток данных, который должен быть обнаружен, имеет критический путь АРР.
8. Способ по п. 7, в котором обнаружение, превышают ли длительность обработки и частота обработки пакета потока данных, который должен быть обнаружен, порог длительности обработки и порог частоты обработки, содержит этапы, на которых:
активируют счетчик обработки функции и счетчик частоты;
прибавляют единицу к значению счетчика обработки функции всякий раз, когда пакет потока данных, который должен быть обнаружен, обрабатывается текущим функциональным модулем;
обнаруживают, превышает ли значение счетчика обработки функции порог длительности обработки;
прибавляют единицу к значению счетчика частоты, когда значение счетчика обработки функции больше порога длительности обработки; сбрасывают счетчик обработки функции; и
обнаруживают, превышает ли значение счетчика частоты порог частоты обработки;
и получение информации описания критического пути АРР потока данных, который должен быть обнаружен, в частности, содержит:
получение информации описания критического пути АРР для потока данных, содержащего соответствующий пакет, значение счетчика частоты которого больше порога частоты обработки, когда значение счетчика частоты больше порога частоты обработки.
9. Компьютерная система для диспетчеризации ядра процессора в системе ядра мультипроцессора, содержащая:
шину;
ядро мультипроцессора, соединенное с шиной; и
память, соединенную с шиной, причем посредством вызова инструкции исполнения в памяти через шину, ядро мультипроцессора выполнено с возможностью: получения первого параметра управления, второго параметра управления, третьего параметра управления и четвертого параметра управления на основании данных, вызванных из памяти, при этом первый параметр управления относится к информации указания N потоков данных, и N потоков данных относятся к первым N потокам данных, полученным в первом цикле выборки путем сортировки потоков данных, которые содержат пакеты, обрабатываемые системой ядра мультипроцессора, в порядке убывания, согласно количеству обрабатываемых пакетов, содержащихся в каждом потоке данных, где N - положительное целое число; второй параметр управления относится к длительности внутренней передачи каждого потока данных в системе ядра мультипроцессора и длительности для обработки каждого потока данных ядром процессора в системе ядра мультипроцессора; третий параметр управления относится к информации ядра процессора для ядра процессора с самым низким использованием; и четвертый параметр управления относится к информации описания критического пути приложения (АРР) каждого потока данных;
ядро мультипроцессора дополнительно выполнено с возможностью обнаружения, является ли поток данных, которому принадлежит текущий пакет, одним из N потоков данных на основании первого параметра управления;
ядро мультипроцессора дополнительно выполнено с возможностью: когда поток данных, которому принадлежит текущий пакет, не является одним из N потоков данных, переноса, на основании второго параметра управления и третьего параметра управления и согласно политике переключения между ядрами, пакета потока данных, который поступает в систему ядра мультипроцессора, на незанятое ядро процессора для обработки, при этом незанятое ядро процессора представляет собой ядро процессора с самым низким использованием или ядро процессора, использование ресурсов которого ниже некоторого порога, политика переключения между ядрами состоит в следующем: если длительность внутренней передачи пакета превышает длительность для обработки пакета ядром процессора, пакет обрабатывается ядром процессора с самым низким использованием, и если длительность для обработки пакета ядром процессора превышает длительность внутренней передачи пакета, пакет привязывается к назначенному ядру процессора для обработки, при этом назначенное ядро процессора представляет собой ядро процессора, использование ресурсов которого ниже некоторого порога; и
ядро мультипроцессора дополнительно выполнено с возможностью переключения ядра процессора, которое обрабатывает пакет в системе ядра мультипроцессора, между режимом прерывания и режимом опроса на основании четвертого параметра управления, и согласно политике переключения внутри ядра, причем политика переключения внутри ядра состоит в следующем: если общая служебная нагрузка опроса больше общей служебной нагрузки прерывания, ядро процессора входит в режим прерывания для обработки пакета, и если общая служебная нагрузка опроса меньше общей служебной нагрузки прерывания, ядро процессора входит в режим опроса для обработки пакета, при этом четвертый параметр управления указывает, имеет ли поток данных, которому принадлежит текущий пакет, соответствующий критический путь АРР, и когда он имеет, осуществляется выполнение переключения внутри ядра.
10. Компьютерная система по п. 9, в которой в процессе, когда первый блок обнаружения обнаруживает, что поток данных, которому принадлежит текущий пакет, не является одним из N потоков данных, переноса, на основании второго параметра управления и третьего параметра управления и согласно политике переключения между ядрами, пакета потока данных, который поступает в систему ядра мультипроцессора, на незанятое ядро процессора для обработки, причем политика переключения между ядрами состоит в следующем: если длительность внутренней передачи пакета превышает длительность для обработки пакета ядром процессора, пакет обрабатывается ядром процессора с самым низким использованием, и если длительность для обработки пакета ядром процессора превышает длительность внутренней передачи пакета, пакет привязывается к назначенному ядру процессора для обработки, ядро мультипроцессора дополнительно выполнено с возможностью:
определения, на основании второго параметра управления, превышает ли длительность внутренней передачи потока данных, которому принадлежит текущий пакет, в системе ядра мультипроцессора, длительность для обработки потока данных, которому принадлежит текущий пакет, ядром процессора в системе ядра мультипроцессора; и
распределения, на основании третьего параметра управления, текущего пакета на ядро процессора с самым низким использованием в системе ядра мультипроцессора, когда первый блок обнаружения обнаруживает, что поток данных, которому принадлежит текущий пакет, не является одним из N потоков данных, и длительность внутренней передачи потока данных, которому принадлежит текущий пакет, в системе ядра мультипроцессора, превышает длительность для обработки потока данных, которому принадлежит текущий пакет, ядром процессора в системе ядра мультипроцессора.
11. Компьютерная система по п. 10, в которой ядро мультипроцессора дополнительно выполнено с возможностью:
передачи текущего пакета на ядро процессора, использование ресурсов которого ниже первого порога, и связывания потока данных, которому принадлежит текущий пакет, с ядром процессора, использование ресурсов которого ниже первого порога, когда первый блок обнаружения обнаруживает, что поток данных, которому принадлежит текущий пакет, является одним из N потоков данных, или первый подблок определения определяет, что длительность внутренней передачи потока данных, которому принадлежит текущий пакет, в системе ядра мультипроцессора, не превышает длительность для обработки потока данных, которому принадлежит текущий пакет, ядром процессора в системе ядра мультипроцессора, так что, когда пакет потока данных, которому принадлежит текущий пакет, поступает в систему ядра мультипроцессора, он обрабатывается ядром процессора, использование ресурсов которого ниже первого порога.
12. Компьютерная система по п. 9, в которой в процессе переключения ядра процессора, которое обрабатывает пакет в системе ядра мультипроцессора, между режимом прерывания и режимом опроса на основании четвертого параметра управления, и согласно политике переключения внутри ядра, причем политика переключения внутри ядра состоит в следующем: если общая служебная нагрузка опроса больше общей служебной нагрузки прерывания, ядро процессора входит в режим прерывания для обработки пакета, и если общая служебная нагрузка опроса меньше общей служебной нагрузки прерывания, ядро процессора входит в режим опроса для обработки пакета, ядро мультипроцессора дополнительно выполнено с возможностью:
обнаружения, в ходе инициализации системы ядра мультипроцессора, служебной нагрузки единичного прерывания для обработки каждого потока данных в режиме прерывания и обнаружения служебной нагрузки единичного опроса для обработки каждого потока данных в режиме опроса;
обнаружения, на основании информации описания критического пути АРР каждого потока данных, имеет ли поток данных, которому принадлежит текущий пакет, соответствующий критический путь АРР;
обнаружения времен опроса в первом цикле измерения, когда поток данных, которому принадлежит текущий пакет, имеет соответствующий критический путь АРР, и ядро процессора, которое обрабатывает текущий пакет, находится в режиме опроса;
получения общей служебной нагрузки опроса на основании времен опроса и служебной нагрузки единичного опроса;
получения общей служебной нагрузки прерывания на основании прогнозируемого порога времен прерывания и служебной нагрузки единичного прерывания;
переключения ядра процессора, которое обрабатывает текущий пакет, из режима опроса в режим прерывания, когда общая служебная нагрузка опроса больше общей служебной нагрузки прерывания; и
поддержания режима опроса ядра процессора, которое обрабатывает текущий пакет, когда общая служебная нагрузка опроса не превышает общей служебной нагрузки прерывания.
13. Компьютерная система по п. 12, в которой ядро мультипроцессора дополнительно выполнено с возможностью:
обнаружения времен прерывания во втором цикле измерения, когда поток данных, которому принадлежит текущий пакет, имеет соответствующий критический путь АРР, и ядро процессора, которое обрабатывает текущий пакет, находится в режиме прерывания;
получения общей служебной нагрузки прерывания на основании времен прерывания и служебной нагрузки единичного прерывания;
получения общей служебной нагрузки опроса на основании прогнозируемого порога времен опроса и служебной нагрузки единичного опроса;
переключения ядра процессора, которое обрабатывает текущий пакет, из режима прерывания в режим опроса, когда общая служебная нагрузка прерывания больше общей служебной нагрузки опроса; и
поддержания режима прерывания ядра процессора, которое обрабатывает текущий пакет, когда общая служебная нагрузка прерывания не превышает общей служебной нагрузки опроса.
14. Компьютерная система по п. 9, в которой в процессе получения, в выполняющемся процессе системы ядра мультипроцессора, первого параметра управления, второго параметра управления, третьего параметра управления и четвертого параметра управления, при этом первый параметр управления относится к информации указания N потоков данных, и N потоков данных относятся к первым N потокам данных, полученным в первом цикле выборки путем сортировки потоков данных, которые содержат пакеты, обрабатываемые системой ядра мультипроцессора, в порядке убывания, согласно количеству обрабатываемых пакетов, содержащихся в каждом потоке данных, где N - положительное целое число; второй параметр управления относится к длительности внутренней передачи каждого потока данных в системе ядра мультипроцессора и длительности для обработки каждого потока данных ядром процессора в системе ядра мультипроцессора; третий параметр управления относится к информации ядра процессора для ядра процессора с самым низким использованием; и четвертый параметр управления относится к информации описания критического пути приложения (АРР) каждого потока данных, ядро мультипроцессора дополнительно выполнено с возможностью:
получения пакета, обрабатываемого системой ядра мультипроцессора в первом цикле выборки; сортировки количества пакетов, обрабатываемых системой ядра мультипроцессора, в порядке убывания и определения, на основании соотношения между пакетом, обрабатываемым системой ядра мультипроцессора, и потоком данных, которому принадлежит пакет, потоков данных, содержащих первые N пакетов, согласно вышеупомянутой последовательности;
получения, в выполняющемся процессе системы ядра мультипроцессора, второго параметра управления, при этом второй параметр управления относится к длительности внутренней передачи каждого потока данных в системе ядра мультипроцессора и длительности для обработки каждого потока данных ядром процессора в системе ядра мультипроцессора;
получения, в выполняющемся процессе системы ядра мультипроцессора, третьего параметра управления, при этом третий параметр управления относится к информации ядра процессора для ядра процессора с самым низким использованием; и
получения информации описания критического пути АРР потока данных, который должен быть обнаружен, когда длительность обработки и частота обработки пакета потока данных, который должен быть обнаружен в системе ядра мультипроцессора, превышают порог длительности обработки и порог частоты обработки.
15. Компьютерная система по п. 14, в которой в процессе получения пакета, обрабатываемого системой ядра мультипроцессора в первом цикле выборки; сортировки количества пакетов, обрабатываемых системой ядра мультипроцессора, в порядке убывания и определения, на основании соотношения между пакетом, обрабатываемым системой ядра мультипроцессора, и потоком данных, которому принадлежит пакет, потоков данных, содержащих первые N пакетов, согласно вышеупомянутой последовательности, ядро мультипроцессора дополнительно выполнено с возможностью:
получения пакета, обрабатываемого системой ядра мультипроцессора в первом цикле выборки;
определения соотношения между пакетом, обрабатываемым системой ядра мультипроцессора, и потоком данных, которому принадлежит пакет; и
сортировки количества пакетов, обрабатываемых системой ядра мультипроцессора, в порядке убывания и определения, на основании соотношения между пакетом, обрабатываемым системой ядра мультипроцессора, и потоком данных, которому принадлежит пакет, потоков данных, содержащих первые N пакетов, согласно вышеупомянутой последовательности.
16. Компьютерная система по п. 14, в которой в процессе получения информации описания критического пути АРР потока данных, который должен быть обнаружен, когда длительность обработки и частота обработки пакета потока данных, который должен быть обнаружен в системе ядра мультипроцессора, превышают порог длительности обработки и порог частоты обработки, ядро мультипроцессора дополнительно выполнено с возможностью:
обнаружения, в первом цикле обнаружения, превышают ли длительность обработки и частота обработки пакета потока данных, который должен быть обнаружен, порог длительности обработки и порог частоты обработки; и
получения информации описания критического пути АРР потока данных, который должен быть обнаружен, когда подблок обнаружения порога обнаруживает, что длительность обработки и частота обработки пакета потока данных, который должен быть обнаружен в системе ядра мультипроцессора, превышают порог длительности обработки и порог частоты обработки, причем информация описания критического пути АРР указывает, что поток данных, который должен быть обнаружен, имеет критический путь АРР.
17. Долговременный считываемый компьютером носитель, имеющий исполняемые компьютером инструкции для осуществления способа диспетчеризации ядра процессора в системе ядра мультипроцессора, содержащего этапы, на которых:
получают, в выполняющемся процессе системы ядра мультипроцессора, первый параметр управления, второй параметр управления, третий параметр управления и четвертый параметр управления, при этом первый параметр управления относится к информации указания N потоков данных, и N потоков данных относятся к первым N потокам данных, полученным в первом цикле выборки путем сортировки потоков данных, которые содержат пакеты, обрабатываемые системой ядра мультипроцессора, в порядке убывания, согласно количеству обрабатываемых пакетов, содержащихся в каждом потоке данных, где N - положительное целое число; второй параметр управления относится к длительности внутренней передачи каждого потока данных в системе ядра мультипроцессора и длительности для обработки каждого потока данных ядром процессора в системе ядра мультипроцессора; третий параметр управления относится к информации ядра процессора для ядра процессора с самым низким использованием; и четвертый параметр управления относится к информации описания критического пути приложения (АРР) каждого потока данных;
обнаруживают, является ли поток данных, которому принадлежит текущий пакет, одним из N потоков данных на основании первого параметра управления;
когда поток данных, которому принадлежит текущий пакет, не является одним из N потоков данных, переносят, на основании второго параметра управления и третьего параметра управления и согласно политике переключения между ядрами, пакет потока данных, который поступает в систему ядра мультипроцессора, на незанятое ядро процессора для обработки, при этом незанятое ядро процессора представляет собой ядро процессора с самым низким использованием или ядро процессора, использование ресурсов которого ниже некоторого порога, политика переключения между ядрами состоит в следующем: если длительность внутренней передачи пакета превышает длительность для обработки пакета ядром процессора, пакет обрабатывается ядром процессора с самым низким использованием, и если длительность для обработки пакета ядром процессора превышает длительность внутренней передачи пакета, пакет привязывается к назначенному ядру процессора для обработки, при этом назначенное ядро процессора представляет собой ядро процессора, использование ресурсов которого ниже некоторого порога; и
переключают ядро процессора, которое обрабатывает пакет в системе ядра мультипроцессора, между режимом прерывания и режимом опроса на основании четвертого параметра управления, и согласно политике переключения внутри ядра, причем политика переключения внутри ядра состоит в следующем: если общая служебная нагрузка опроса больше общей служебной нагрузки прерывания, ядро процессора входит в режим прерывания для обработки пакета, и если общая служебная нагрузка опроса меньше общей служебной нагрузки прерывания, ядро процессора входит в режим опроса для обработки пакета, при этом четвертый параметр управления указывает, имеет ли поток данных, которому принадлежит текущий пакет, соответствующий критический путь АРР, и когда он имеет, осуществляется выполнение переключения внутри ядра.
RU2014118463/08A 2012-06-28 2013-02-01 Способ, устройство и система для диспетчеризации ядра процессора в системе ядра мультипроцессора RU2577476C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210217579.8A CN102779075B (zh) 2012-06-28 2012-06-28 一种在多处理器核系统中进行调度的方法、装置及系统
CN201210217579.8 2012-06-28
PCT/CN2013/071272 WO2014000450A1 (zh) 2012-06-28 2013-02-01 一种在多处理器核系统中进行调度的方法、装置及系统

Publications (2)

Publication Number Publication Date
RU2014118463A RU2014118463A (ru) 2015-11-20
RU2577476C2 true RU2577476C2 (ru) 2016-03-20

Family

ID=47123994

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014118463/08A RU2577476C2 (ru) 2012-06-28 2013-02-01 Способ, устройство и система для диспетчеризации ядра процессора в системе ядра мультипроцессора

Country Status (8)

Country Link
US (1) US9218203B2 (ru)
EP (1) EP2701074B1 (ru)
JP (1) JP5888629B2 (ru)
KR (1) KR101565865B1 (ru)
CN (1) CN102779075B (ru)
CA (1) CA2849565C (ru)
RU (1) RU2577476C2 (ru)
WO (1) WO2014000450A1 (ru)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8681794B2 (en) * 2011-11-30 2014-03-25 Broadcom Corporation System and method for efficient matching of regular expression patterns across multiple packets
CN102779075B (zh) * 2012-06-28 2014-12-24 华为技术有限公司 一种在多处理器核系统中进行调度的方法、装置及系统
CN103034614B (zh) * 2012-12-19 2016-12-28 哈尔滨理工大学 基于关键路径和任务复制的单任务多核调度方法
CN103246562B (zh) * 2013-04-23 2016-12-28 上海交通大学 一种基于众核阵列架构的故障主动预防策略及装置
WO2015081490A1 (zh) * 2013-12-03 2015-06-11 华为技术有限公司 一种核间进程通信的方法、装置及系统
CN105027081B (zh) * 2013-12-20 2018-09-07 华为技术有限公司 一种轮询和中断的切换方法及装置
EP3076619A1 (en) * 2015-04-02 2016-10-05 Alcatel Lucent Method, system and computer-readable medium to schedule the processing of a plurality of data packets
JP6468066B2 (ja) 2015-05-13 2019-02-13 富士通株式会社 並列演算装置、並列演算システム、集合通信方法及び集合通信プログラム
CN106610915B (zh) * 2015-10-22 2020-05-01 深圳市博巨兴微电子科技有限公司 一种多处理器系统的ip核优化方法及装置
CN105677551B (zh) * 2015-12-31 2019-05-31 联想(北京)有限公司 一种确定负载信息的方法及电子设备
CN107315700B (zh) * 2016-04-27 2020-12-08 华为技术有限公司 一种中断处理方法以及相关装置
CN106527653A (zh) * 2016-10-12 2017-03-22 东软集团股份有限公司 调整cpu频率的方法及装置
CN106791152B (zh) * 2016-12-30 2019-08-27 Oppo广东移动通信有限公司 一种通信方法及移动终端
CN107861897A (zh) * 2017-11-06 2018-03-30 郑州云海信息技术有限公司 一种中断和轮询触发方法、系统、设备及计算机存储介质
JP6955163B2 (ja) 2017-12-26 2021-10-27 富士通株式会社 情報処理装置、情報処理方法及びプログラム
CN108415044B (zh) * 2018-02-09 2020-09-15 广州吉欧电子科技有限公司 一种处理系统、处理方法和gnss接收设备
CN108874548B (zh) * 2018-07-11 2021-04-02 深圳市东微智能科技股份有限公司 数据处理调度方法、装置、计算机设备和数据处理系统
CN109144691B (zh) * 2018-07-13 2021-08-20 哈尔滨工程大学 一种面向多核处理器的任务调度分配方法
CN110941205A (zh) * 2018-09-21 2020-03-31 欧姆龙(上海)有限公司 采样控制装置、采样控制方法和电子设备
CN109714269B (zh) * 2018-12-19 2022-05-17 迈普通信技术股份有限公司 一种数据处理方法及网络设备
CN112114940B (zh) * 2019-06-19 2022-09-06 中建材信息技术股份有限公司 Docker环境下多容器多任务处理器调度方法
CN112783626B (zh) * 2021-01-21 2023-12-01 珠海亿智电子科技有限公司 中断处理方法、装置、电子设备及存储介质
CN113055292B (zh) * 2021-03-11 2022-11-04 青岛矽昌通信技术有限公司 一种提升多核路由器转发性能的方法及一种多核路由器
CN114006873B (zh) * 2021-10-29 2023-12-15 深圳市风云实业有限公司 一种基于多核处理器的流量调度方法
CN114257549B (zh) * 2021-12-21 2023-01-10 北京锐安科技有限公司 一种流量的转发方法、装置、设备及存储介质
CN115185176B (zh) * 2022-09-08 2022-12-02 深圳市恒运昌真空技术有限公司 一种双处理模块设备及其控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098105A (en) * 1997-04-08 2000-08-01 International Business Machines Corporation Source and destination initiated interrupt method for message arrival notification
CN101394362A (zh) * 2008-11-12 2009-03-25 清华大学 基于流分片的对多核网络处理器进行负载均衡的方法
CN101706743A (zh) * 2009-12-07 2010-05-12 北京航空航天大学 一种多核环境下的虚拟机调度方法
RU2010139638A (ru) * 2008-03-28 2012-04-10 Майкрософт Корпорейшн (Us) Энергосберегающее планирование потоков и динамическое использование процессоров

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414858A (en) * 1992-12-11 1995-05-09 International Business Machines Corporation System and method for dynamically varying between interrupt and polling to service requests of computer peripherals
JPH08110804A (ja) * 1994-10-11 1996-04-30 Omron Corp データ処理装置
NL1015579C1 (nl) * 2000-06-30 2002-01-02 Thales Nederland Bv Werkwijze voor het automatisch verdelen van programmataken over een verzameling processors.
US8032658B2 (en) * 2004-07-06 2011-10-04 Oracle America, Inc. Computer architecture and process for implementing a virtual vertical perimeter framework for an overloaded CPU having multiple network interfaces
US7564847B2 (en) * 2004-12-13 2009-07-21 Intel Corporation Flow assignment
US7761619B2 (en) * 2005-05-13 2010-07-20 Microsoft Corporation Method and system for parallelizing completion event processing
US20070153796A1 (en) * 2005-12-30 2007-07-05 Intel Corporation Packet processing utilizing cached metadata to support forwarding and non-forwarding operations on parallel paths
KR101286700B1 (ko) * 2006-11-06 2013-07-16 삼성전자주식회사 멀티 코어 프로세서 시스템에서 로드 밸런싱을 위한 장치및 방법
CN100489830C (zh) * 2007-03-19 2009-05-20 中国人民解放军国防科学技术大学 面向科学计算的64位流处理器芯片
CN100481060C (zh) * 2007-03-29 2009-04-22 中国人民解放军国防科学技术大学 一种流处理器中多核扩展的方法
KR100958303B1 (ko) 2007-12-12 2010-05-19 한국전자통신연구원 멀티코어 시스템 환경에서 내부 코어 간 통신채널을 이용한 모듈 디바이스의 동적 적재 및 실행을 통한 부하 균등화 시스템 및 방법
CN101546276B (zh) * 2008-03-26 2012-12-19 国际商业机器公司 多核环境下实现中断调度的方法及多核处理器
JP5245722B2 (ja) * 2008-10-29 2013-07-24 富士通株式会社 スケジューラ、プロセッサシステム、プログラム生成装置およびプログラム生成用プログラム
CN101770401B (zh) * 2008-12-30 2013-09-18 北京天融信网络安全技术有限公司 一种建立多核运行环境的方法
US8635387B2 (en) 2009-10-09 2014-01-21 Emulex Design & Manufacturing Corporation Enhanced I/O performance in a multi-processor system via interrupt affinity schemes
US8307198B2 (en) * 2009-11-24 2012-11-06 Advanced Micro Devices, Inc. Distributed multi-core memory initialization
CN101968748B (zh) * 2010-09-17 2014-04-02 北京星网锐捷网络技术有限公司 多线程数据调度方法、装置及网络设备
CN102411510A (zh) * 2011-09-16 2012-04-11 华为技术有限公司 在多核处理器的虚拟机上映射业务数据流的方法和装置
CN102779075B (zh) * 2012-06-28 2014-12-24 华为技术有限公司 一种在多处理器核系统中进行调度的方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098105A (en) * 1997-04-08 2000-08-01 International Business Machines Corporation Source and destination initiated interrupt method for message arrival notification
RU2010139638A (ru) * 2008-03-28 2012-04-10 Майкрософт Корпорейшн (Us) Энергосберегающее планирование потоков и динамическое использование процессоров
CN101394362A (zh) * 2008-11-12 2009-03-25 清华大学 基于流分片的对多核网络处理器进行负载均衡的方法
CN101706743A (zh) * 2009-12-07 2010-05-12 北京航空航天大学 一种多核环境下的虚拟机调度方法

Also Published As

Publication number Publication date
JP2014531081A (ja) 2014-11-20
CA2849565A1 (en) 2014-01-03
US9218203B2 (en) 2015-12-22
CN102779075A (zh) 2012-11-14
KR101565865B1 (ko) 2015-11-04
EP2701074B1 (en) 2016-10-26
WO2014000450A1 (zh) 2014-01-03
KR20140057371A (ko) 2014-05-12
EP2701074A4 (en) 2014-07-02
CN102779075B (zh) 2014-12-24
RU2014118463A (ru) 2015-11-20
US20140115603A1 (en) 2014-04-24
CA2849565C (en) 2016-11-08
EP2701074A1 (en) 2014-02-26
JP5888629B2 (ja) 2016-03-22

Similar Documents

Publication Publication Date Title
RU2577476C2 (ru) Способ, устройство и система для диспетчеризации ядра процессора в системе ядра мультипроцессора
CN107924341B (zh) 基于平台遥测数据的实时的本地和全局数据中心网络优化
EP3073373B1 (en) Method for interruption affinity binding of virtual network interface card, and computer device
Khalid et al. Iron: Isolating network-based {CPU} in container environments
US9772879B2 (en) System and method for isolating I/O execution via compiler and OS support
KR101834195B1 (ko) 다중코어 시스템 및 로드 밸런싱 방법
US9021138B2 (en) Performance of multi-processor computer systems
WO2015074393A1 (zh) 一种基于异构多核体系的cpu调度方法、装置和系统
US20130167152A1 (en) Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method
CN103902364B (zh) 一种物理资源管理方法、装置及智能终端设备
KR101690652B1 (ko) 멀티코어 시스템의 스케쥴링 장치 및 방법
CN111209112A (zh) 一种异常处理方法及装置
JP2010280356A (ja) 車載システム、負荷分散方法
Ekane et al. FlexVF: Adaptive network device services in a virtualized environment
KR20150089665A (ko) 워크플로우 작업 스케줄링 장치
CN111427673A (zh) 一种负载均衡方法、装置及设备
CN110888741A (zh) 应用容器的资源调度方法、装置、服务器及存储介质
Ruaro et al. Runtime qos support for mpsoc: A processor centric approach
KR20140121705A (ko) 타스크를 운용하는 전자 장치 방법 및 그 전자 장치
WO2024109624A1 (zh) 一种数据处理的方法以及计算机设备
CN111324432B (zh) 处理器调度方法、装置、服务器及存储介质
WO2024120118A1 (zh) 中断请求处理方法、系统、设备及计算机可读存储介质
Lee et al. Fine-Grained I/O Traffic Control Middleware for I/O Fairness in Virtualized System
Li Real-Time Communication in Cloud Environments
CN117806768A (zh) 一种资源管理方法及装置