Компьютер, устройство управления и способ обработки данных

Иллюстрации

Показать все

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

Реферат

[0001] Настоящая заявка испрашивает приоритет заявки патент Китая № 201410182148.1, поданной в Патентное ведомство Китая 30 апреля 2014 и озаглавленной ʺCOMPUTER, CONTROL DEVICE, AND DATA PROCESSING METHODʺ, и заявки на патент Китая № 201410682375.0, поданной в Патентное ведомство Китая 24 ноября 2014 и озаглавленной ʺCOMPUTER, CONTROL DEVICE, AND DATA PROCESSING METHODʺ, которые включены в настоящий документ во всей их полноте посредством ссылки.

ОБЛАСТЬ ТЕХНИКИ

[0002] Настоящее изобретение относится к компьютерной области и, в частности, к компьютеру, устройству управления и способу обработки данных.

УРОВЕНЬ ТЕХНИКИ

[0003] Чтобы улучшить эффективность работы компьютера или сервера, множество прикладных программ могут реализовать совместное использование ресурсов внутри компьютера. Например, к некоторому ресурсу памяти могут одновременно обращаться множество прикладных программ, и тем самым улучшается использование ресурсов памяти. Однако множество прикладных программ конфликтуют друг с другом, когда совместно используют ресурс, и поэтому некоторые важные прикладные программы не могут обрабатываться в приоритетном режиме, что оказывает негативное воздействие на качество обслуживания.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[0004] Варианты осуществления настоящего изобретения обеспечивают компьютер, устройство управления и способ обработки данных, которые используются для улучшения качества обслуживания прикладной программы.

[0005] Первый аспект вариантов осуществления настоящего изобретения обеспечивает компьютер, причем компьютер включает в себя блок обработки и устройство управления, при этом:

блок обработки сконфигурирован, чтобы присоединять тег к запросу приложения и посылать к устройству управления присоединенный запрос приложения; и

устройство управления сконфигурировано, чтобы принимать присоединенный запрос приложения и определять, в соответствии с тегом и предварительно сохраненной политикой распределения ресурсов, количество ресурсов, распределенных для запроса приложения, причем политика распределения ресурсов включает в себя соответствие между тегом и количеством ресурсов, распределенных для запроса приложения; и дополнительно сконфигурировано, чтобы инструктировать компонент компьютера обрабатывать запрос приложения в соответствии с количеством ресурсов, распределенных для запроса приложения.

[0006] Со ссылкой на первый аспект, в первом возможном варианте реализации, устройство управления дополнительно включает в себя буфер, буфер включает в себя по меньшей мере две очереди, каждая очередь соответствует диапазону количеств ресурсов, и приоритет каждой очереди является различным;

устройство управления, в частности, сконфигурировано, чтобы выбирать, из по меньшей мере двух очередей в соответствии с количеством ресурсов, распределенных для запроса приложения, очередь, соответствующую запросу приложения, и сохранять запрос приложения в очереди, соответствующей запросу приложения; и

компонент компьютера сконфигурирован, чтобы получать запрос приложения из очереди, соответствующей запросу приложения, и исполнять запрос приложения.

[0007] Со ссылкой на первый аспект, во втором возможном варианте реализации, устройство управления дополнительно включает в себя процессор и кэш, причем кэш хранит политику распределения ресурсов; и

процессор дополнительно сконфигурирован, чтобы получать политику распределения ресурсов из кэша.

[0008] Со ссылкой на второй возможный вариант реализации первого аспекта, в третьем возможном варианте реализации, политика распределения ресурсов включает в себя таблицу управления, таблица управления включает в себя множество элементов (записи), и один элемент из множества элементов включает в себя соответствие между тегом и количеством ресурсов, распределенных для запроса приложения;

процессор, в частности, сконфигурирован, чтобы посылать инструкцию запроса в кэш, причем инструкция запроса включает в себя тег; и

кэш сконфигурирован, чтобы получать, в соответствии с инструкцией запроса, элемент, соответствующий тегу, и посылать элемент, соответствующий тегу, в процессор устройства управления.

[0009] Со ссылкой на первый аспект или с первого по третий возможные варианты реализации первого аспекта, в четвертом возможном варианте реализации настоящего изобретения, устройство управления дополнительно включает в себя интерфейс программирования, и интерфейс программирования сконфигурирован, чтобы изменять политику распределения ресурсов.

[0010] Со ссылкой на первый аспект или с первого по четвертый возможные варианты реализации первого аспекта, в пятом возможном варианте реализации, компьютер дополнительно включает в себя память, причем память хранит программное обеспечение администрирования узлов;

блок обработки дополнительно сконфигурирован, чтобы определять политику распределения ресурсов с использованием программного обеспечения администрирования узлов; и

устройство управления дополнительно сконфигурировано, чтобы получать политику распределения ресурсов из программного обеспечения администрирования узлов и записывать политику распределения ресурсов в кэш.

[0011] Со ссылкой на пятый возможный вариант реализации первого аспекта, в шестом возможном способе реализации, блок обработки дополнительно включает в себя регистр тега;

блок обработки дополнительно сконфигурирован, чтобы определять тег с использованием программного обеспечения администрирования узлов и записывать тег в регистр тега с использованием программного обеспечения администрирования узлов; и

блок обработки дополнительно сконфигурирован, чтобы считывать тег из регистра тега.

[0012] Второй аспект вариантов осуществления настоящего изобретения обеспечивает устройство управления, причем устройство управления расположено на компоненте компьютера, и устройство управления включает в себя процессор, при этом

процессор сконфигурирован, чтобы принимать запрос приложения, к которому присоединен тег, и определять, в соответствии с тегом и предварительно сохраненной политикой распределения ресурсов, количество ресурсов, распределенных для запроса приложения, причем политика распределения ресурсов включает в себя соответствие между тегом и количеством ресурсов, распределенных для запроса приложения; и дополнительно сконфигурирован, чтобы инструктировать компонент компьютера обрабатывать запрос приложения в соответствии с количеством ресурсов, распределенных для запроса приложения.

[0013] Со ссылкой на второй аспект, в первом возможном варианте реализации, устройство управления дополнительно включает в себя буфер, буфер включает в себя по меньшей мере две очереди, каждая очередь соответствует диапазону количеств ресурсов, и приоритет каждой очереди является различным;

процессор, в частности, сконфигурирован, чтобы выбирать, из по меньшей мере двух очередей в соответствии с количеством ресурсов, распределенных для запроса приложения, очередь, соответствующую запросу приложения, и сохранять запрос приложения в очереди, соответствующей запросу приложения; и

компонент компьютера сконфигурирован, чтобы получать запрос приложения из очереди, соответствующей запросу приложения, и исполнять запрос приложения.

[0014] Со ссылкой на второй аспект, во втором возможном варианте реализации, устройство управления дополнительно включает в себя кэш, причем кэш хранит политику распределения ресурсов; и

процессор дополнительно сконфигурирован, чтобы получать политику распределения ресурсов из кэша.

[0015] Со ссылкой на второй возможный вариант реализации второго аспекта, в третьем возможном варианте реализации, политика распределения ресурсов включает в себя таблицу управления, таблица управления включает в себя множество элементов, и один элемент из множества элементов включает в себя соответствие между тегом и количеством ресурсов, распределенных для запроса приложения;

процессор, в частности, сконфигурирован, чтобы посылать инструкцию запроса в кэш, причем инструкция запроса включает в себя тег; и

кэш сконфигурирован, чтобы получать, в соответствии с инструкцией запроса, элемент, соответствующий тегу, и посылать элемент, соответствующий тегу, в процессор.

[0016] Со ссылкой на второй аспект или с первого по третий возможные варианты реализации второго аспекта, в четвертом возможном варианте реализации, устройство управления дополнительно включает в себя интерфейс программирования, и интерфейс программирования сконфигурирован, чтобы изменять политику распределения ресурсов.

[0017] Со ссылкой на второй аспект или с первого по четвертый возможные варианты реализации второго аспекта, в пятом возможном варианте реализации, политика распределения ресурсов определяется компьютером с использованием программного обеспечения администрирования узлов и посылается в устройство управления, причем программное обеспечения администрирования узлов сохранено в памяти компьютера.

[0018] Третий аспект вариантов осуществления настоящего изобретения обеспечивает способ обработки данных, причем способ применяется в устройстве управления, устройство управления находится на компоненте компьютера, и способ включает в себя:

прием, устройством управления, запроса приложения, содержащего тег;

определение, устройством управления в соответствии с тегом и предварительно сохраненной политикой распределения ресурсов, количества ресурсов, распределенных для запроса приложения, причем политика распределения ресурсов включает в себя соответствие между тегом и количеством ресурсов, распределенных для запроса приложения; и

инструктирование, устройством управления, компонента компьютера обрабатывать запрос приложения в соответствии с количеством ресурсов, распределенных для запроса приложения.

[0019] Со ссылкой на третий аспект, в первом возможном варианте реализации, устройство управления дополнительно включает в себя буфер, буфер включает в себя по меньшей мере две очереди, каждая очередь соответствует диапазону количеств ресурсов, и приоритет каждой очереди является различным; и

инструктирование, устройством управления, компонента компьютера обрабатывать запрос приложения в соответствии с количеством ресурсов, распределенных для запроса приложения, включает в себя:

выбор, устройством управления из по меньшей мере двух очередей в соответствии с количеством ресурсов, распределенных для запроса приложения, очереди, соответствующей запросу приложения, и сохранение запроса приложения в очереди, соответствующей запросу приложения, так что компонент компьютера получает запрос приложения из очереди, соответствующей запросу приложения, и исполняет запрос приложения.

[0020] Со ссылкой на третий аспект, во втором возможном варианте реализации, устройство управления дополнительно включает в себя процессор и кэш, причем кэш хранит политику распределения ресурсов; и

способ дополнительно включает в себя: получение, процессором устройства управления, политики распределения ресурсов из кэша.

[0021] Со ссылкой на второй возможный вариант реализации третьего аспекта, в третьем возможном варианте реализации, политика распределения ресурсов включает в себя таблицу управления, таблица управления включает в себя множество элементов, и один элемент из множества элементов включает в себя соответствие между тегом и количеством ресурсов, распределенных для запроса приложения;

получение, процессором устройства управления, политики распределения ресурсов из кэша включает в себя: посылку, процессором устройства управления, инструкции запроса в кэш, причем инструкция запроса включает в себя тег; и

получение, кэшем в соответствии с инструкцией запроса, элемента, соответствующего тегу, и посылку элемента, соответствующего тегу, в процессор устройства управления.

[0022] Варианты осуществления настоящего изобретения обеспечивают компьютер, причем компьютер включает в себя блок обработки и устройство управления. Блок обработки присоединяет тег к запросу приложения и посылает, на устройство управления, присоединенный запрос приложения; устройство управления определяет, в соответствии с тегом и предварительно сохраненной политикой распределения ресурсов, количество ресурсов, распределенных для запроса приложения, и инструктирует компонент компьютера обрабатывать запрос приложения в соответствии с количеством ресурсов, распределенных для запроса приложения. Таким способом, при обработке запроса приложения, компонент компьютера может выполнять обработку в соответствии с количеством ресурсов, распределенных для запроса приложения, что, в некоторой степени, препятствует взаимному перехвату некоторого количества ресурсов множеством запросов приложений, и тем самым улучшает качество обслуживания.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0023] Чтобы описать технические решения в вариантах осуществления настоящего изобретения или согласно предшествующему уровню техники более четко, ниже кратко описаны приложенные чертежи. Очевидно, что приложенные чертежи в последующем описании показывают только некоторые варианты осуществления настоящего изобретения, и специалист в данной области техники может получить другие чертежи на основе этих приложенных чертежей, без каких-либо творческих усилий.

[0024] Фиг. 1 - блок-схема системной архитектуры компьютера в соответствии с вариантом осуществления настоящего изобретения;

[0025] Фиг. 2a - блок-схема системной архитектуры другого компьютера в соответствии с вариантом осуществления настоящего изобретения;

[0026] Фиг. 2b - блок-схема устройства управления в соответствии с вариантом осуществления настоящего изобретения;

[0027] Фиг. 3 - блок-схема другого устройства управления в соответствии с вариантом осуществления настоящего изобретения;

[0028] Фиг. 4 - блок-схема еще одного устройства управления в соответствии с вариантом осуществления настоящего изобретения;

[0029] Фиг. 5 - блок-схема еще одного устройства управления в соответствии с вариантом осуществления настоящего изобретения;

[0030] Фиг. 6 - схематичное представление сетевой архитектуры плоскости управления в соответствии с вариантом осуществления настоящего изобретения;

[0031] Фиг. 7 - блок-схема программного обеспечения администрирования узлов в соответствии с вариантом осуществления настоящего изобретения;

[0032] Фиг. 8 - блок-схема последовательности операций способа обработки данных в соответствии с вариантом осуществления настоящего изобретения;

[0033] Фиг. 9 - блок-схема последовательности операций другого способа обработки данных в соответствии с вариантом осуществления настоящего изобретения; и

[0034] Фиг. 10 - блок-схема последовательности операций еще одного способа обработки данных в соответствии с вариантом осуществления настоящего изобретения.

ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

[0035] Ниже ясно и полно описаны технические решения в вариантах осуществления настоящего изобретения со ссылками на приложенные чертежи в вариантах осуществления настоящего изобретения. Очевидно, что описанные варианты осуществления являются некоторыми, но не всеми вариантами осуществления настоящего изобретения. Все другие варианты осуществления, полученные специалистом в данной области техники на основе данных вариантов осуществления настоящего изобретения без творческих усилий, должны подпадать под объем защиты настоящего изобретения.

[0036] Варианты осуществления настоящего изобретения обеспечивают компьютер, устройство управления и способ обработки данных, которые используются, чтобы улучшить качество обслуживания прикладной программы.

[0037] Фиг. 1 является блок-схемой системной архитектуры компьютера 10 в соответствии с вариантом осуществления настоящего изобретения. Как показано на фиг. 1, компьютер 10 включает в себя множество блоков 11 обработки, множество устройств 66 управления и множество компонентов 33 (которые упоминаются как части для краткости на фиг. 1) компьютера. Компонент компьютера в этом варианте осуществления настоящего изобретения относится к компоненту компьютера, ресурс которого может быть занят множеством прикладных программ.

[0038] Блок 11 обработки относится к одному из процессорных ядер, которые находятся на центральном блоке обработки (Central Processing Unit, CPU) и которые имеют ту же самую функцию, и сконфигурирован для исполнения различных операционных команд, таких как считывание и запись.

[0039] Компонент 33 компьютера включает в себя высокоскоростную сеть межсоединений на кристалле и компонент, который является компонентом компьютера и непосредственно соединен с высокоскоростной сетью межсоединений на кристалле, например, кэш (также упоминаемый как кэш), память, блок обработки графики (Graphic Processing Unit, GPU) и видео RAM, и может дополнительно включать в себя I/O-сеть межсоединений и I/O-устройство, соединенное с I/O-сетью межсоединений, например, магнитный диск (также упоминаемый как жесткий диск), сетевой адаптер и дисплей.

[0040] Высокоскоростная сеть межсоединений на кристалле является соединителем для соединения множества блоков 11 обработки; высокоскоростная сеть межсоединений на кристалле также соединена с кэшем, памятью, блоком обработки графики, видео RAM и т.п.

[0041] В случае кэша, ресурс, распределенный кэшем прикладной программе, может быть пространством кэша; в случае памяти, ресурс, распределенный памятью прикладной программе, может быть пространством памяти; в случае блока обработки графики, ресурс, распределенный блоком обработки прикладной программе, может быть ресурсом аппаратного ускорения; в случае видео RAM, ресурс, распределенный посредством видео RAM прикладной программе, может быть пространством видео RAM.

[0042] Кроме того, высокоскоростная сеть межсоединений на кристалле может также соединяться с I/O-сетью межсоединений (также называемой ʺюжный мостʺ).

[0043] I/O-сеть межсоединений является устройством для управления I/O-устройством.

[0044] Компонент 33 компьютера дополнительно включает в себя I/O-устройство, непосредственно соединенное с I/O-сетью межсоединений, например, магнитный диск (также упоминаемый как жесткий диск), сетевой адаптер и дисплей.

[0045] Например, на интервале времени, компьютер 10 может обрабатывать множество прикладных программ, и все эти прикладные программы должны занимать ресурс компонента (например, памяти) компьютера. Однако поскольку ресурсы в памяти ограничены, некоторые важные прикладные программы не могут обрабатываться своевременно, что влияет на качество обслуживания.

[0046] Поэтому, в данном варианте осуществления настоящего изобретения, устройства 66 управления располагаются на компонентах компьютера, причем ресурсы компонентов могут быть применены для или заняты множеством прикладных программ. Устройства 66 управления сконфигурированы, чтобы распределять различные количества ресурсов прикладным программам в соответствии с различными типами прикладных программ, чтобы обрабатывать прикладные программы. Здесь, компоненты, ресурсы которых могут быть применены для или заняты множеством прикладных программ компьютера, включают в себя, без ограничения указанным: высокоскоростную сеть межсоединений на кристалле, кэш, память, блок обработки графики, видео RAM и I/O-сеть межсоединений.

[0047] Следует отметить, что в этом варианте осуществления настоящего изобретения, устройство 66 управления может располагаться только на одном компоненте компьютера среди множества компонентов компьютера; или устройства 66 управления могут располагаться на множестве компонентов компьютера; или даже устройства 66 управления могут располагаться на всех из вышеупомянутых компонентов компьютера.

[0048] Чтобы позволить устройству 66 управления идентифицировать прикладные программы различных типов, типы запросов приложений должны быть идентифицированы и маркированы тегом (тегированы) на стороне источника, на которой генерируются запросы приложений (запросы, соответствующие прикладным программам). Поэтому, когда запросы приложений посылаются позже к устройству 66 управления на компоненте компьютера, устройство 66 управления может выполнять различную обработку на прикладных программах различных типов в соответствии с тегами. Следует отметить, что в этом варианте осуществления настоящего изобретения, прикладные программы и запросы приложений представляют то же самое значение. Кроме того, запросы приложений в этом варианте осуществления настоящего изобретения включают в себя различные инструкции, генерируемые внутри компьютера и различные инструкции, принимаемые с внешней стороны компьютера, например, запрос доступа к файлу, запрос воспроизведения видео, запрос доступа к памяти, I/O-запрос и запрос межсоединения (Interconnect).

[0049] Здесь, сторона источника, на которой генерируются запросы приложений, может быть блоком 11 обработки или I/O-устройством (например, сетевым адаптером). Когда запросы приложений являются локальными от компьютера 10, сторона источника, на которой генерируются запросы приложений, может быть блоком 11 обработки; когда запросы приложений поступают извне компьютера 10, например, когда принимаются запросы приложений, посланные с использованием Интернета, сторона источника, на которой генерируются запросы приложений, может быть сетевым адаптером или другим устройством ввода-вывода.

[0050] Когда запрос приложения является внутренним из компьютера 10, способ маркировки (тегирования) может быть следующим:

[0051] Регистр 77 тега (как показано на фиг. 2a) располагается в блоке 11 обработки, и регистр 77 тега хранит значение регистра. Когда блок 11 обработки генерирует запрос приложения, блок 11 обработки присоединяет тег к запросу приложения путем считывания значения регистра, где тег является значением регистра.

[0052] Более конкретно, тег определяется программным обеспечением администрирования узлов (которое описано далее более подробно) для запроса приложения. Программное обеспечение администрирования узлов может быть модулем в операционной системе или модулем на среднем уровне программного обеспечения (гипервизором) между операционной системой и аппаратными средствами компьютера и исполняется на блоке 11 обработки. После того как программное обеспечение администрирования узлов определяет тег для запроса приложения, операционная система может записать тег в контекст процесса, соответствующего запросу приложения, и затем записать контекст процесса, соответствующего запросу приложения, в регистр.

[0053] Опциональный способ реализации является следующим:

[0054] Поскольку блок 11 обработки сам может включать в себя множество регистров, один регистр из множества регистров может быть установлен как регистр 77 тега, где регистр 77 тега сконфигурирован для хранения тега прикладной программы. При генерации запроса приложения, блок 11 обработки считывает значение регистра в регистре 77 тега, использует значение регистра как тег и записывает значение регистра в запрос приложения. Понятно, что тег может быть представлен идентификатором (ID) прикладной программы, буквой, числом и т.п., что здесь не ограничивается.

[0055] Другой опциональный способ реализации является следующим:

[0056] Новый регистр присоединен к блоку 11 обработки, и новый регистр определен как регистр 77 тега, где регистр 77 тега сконфигурирован для хранения тега прикладной программы. Способ последующей обработки является тем же, что и в предшествующем способе реализации, и вновь здесь не описывается.

[0057] Когда сетевой адаптер служит в качестве стороны источника запроса приложения, в одном способе реализации, сетевой адаптер сам не исполняет действия тегирования запроса приложения. Например, если сетевой адаптер принимает запрос приложения, запрос приложения является запросом приложения, содержащим тег. То есть, передающая сторона запроса приложения может тегировать запрос приложения перед передачей запроса приложения. Понятно, что в распределенной системе, серверы (или компьютеры) могут определять тег запроса приложения посредством соглашения; или сервер тегов может быть предусмотрен, чтобы определять и посылать тег запроса приложения на каждый сервер. Все способы реализации и т.п. должны входить в объем защиты данного варианта осуществления настоящего изобретения. Другой способ реализации является следующим: когда сетевой адаптер принимает пакет сообщения, запрос приложения получают путем синтаксического анализа пакета сообщения, и затем запрос приложения тегируется. В этом случае способ тегирования запроса приложения сетевым адаптером подобен способу, который описан выше, тегирования блоком 11 обработки и здесь повторно не описывается.

[0058] Следует отметить, что другой компонент, например, I/O-сеть межсоединений, внутри компьютера 10 может также присоединять тег к запросу приложения, способ реализации этого подобен таковому для блока 11 обработки или сетевого адаптера, и данный вариант осуществления настоящего изобретения не устанавливает никакого ограничения на компонент для тегирования.

[0059] Далее описывается последующая процедура обработки с использованием примера, в котором блок 11 обработки присоединяет тег к запросу приложения.

[0060] После того как тег присоединен к запросу приложения, и когда блок 11 обработки посылает запрос приложения на устройство управления 66, тег запроса приложения переносится.

[0061] Более конкретно, устройство управления 66 сконфигурировано для приема присоединенного запроса приложения и определения, в соответствии с тегом и предварительно сохраненной политикой распределения ресурсов, количества ресурсов, распределенных для запроса приложения, где политика распределения ресурсов включает в себя соответствие между тегом и количеством ресурсов, распределенных для запроса приложения; и дополнительно сконфигурировано, чтобы инструктировать компонент компьютера обрабатывать запрос приложения в соответствии с количеством ресурсов, распределенных для запроса приложения.

[0062] Данный вариант осуществления настоящего изобретения обеспечивает компьютер, причем компьютер включает в себя блок обработки и устройство управления. Блок обработки присоединяет тег к запросу приложения, и посылает на устройство управления присоединенный запрос приложения; устройство управления определяет, в соответствии с тегом и предварительно сохраненной политикой распределения ресурсов, количество ресурсов, распределенных для запроса приложения, и инструктирует компонент компьютера обрабатывать запрос приложения в соответствии с количеством ресурсов, распределенных для запроса приложения. Таким путем, при обработке запроса приложения, компонент компьютера может выполнять обработку в соответствии с количеством ресурсов, распределенных для запроса приложения, что, в некоторой степени, препятствует взаимному перехвату некоторого количества ресурсов множеством запросов приложений и, тем самым, улучшает качество обслуживания.

[0063] Далее главным образом описывается структура и функции устройства 66 управления.

[0064] Устройство 66 управления относится к устройству, внутри компьютера 10, на любом компоненте из компонентов компьютера. Если некоторые компоненты компьютера включают в себя контроллер (например, память включает в себя контроллер памяти или сетевой адаптер включает в себя контроллер сетевого адаптера), устройство 66 управления может быть устройством управления, встроенным в контроллер, или заново присоединенным устройством управления, соединенным с исходным контроллером; если некоторые компоненты компьютера не включают в себя контроллер, устройство 66 управления может быть заново присоединенным контроллером или устройством управления, соединенным с компонентами компьютера.

[0065] Как показано на фиг. 2b, устройство 66 управления включает в себя процессор 600a.

[0066] Устройство 66 управления сконфигурировано, чтобы принимать запрос приложения, к которому присоединен тег, и определять, в соответствии с тегом и предварительно сохраненной политикой распределения ресурсов, количество ресурсов, распределенных для запроса приложения, причем политика распределения ресурсов включает в себя соответствие между тегом и количеством ресурсов, распределенных для запроса приложения; и дополнительно сконфигурировано, чтобы инструктировать компонент компьютера обрабатывать запрос приложения в соответствии с количеством ресурсов, распределенных для запроса приложения.

[0067] Кроме того, устройство 66 управления может дополнительно включать в себя буфер (также упоминаемый как буфер) 600b.

[0068] Например, процессор 600a сконфигурирован, чтобы хранить, в буфере 600b, присоединенный запрос приложения; считывать тег из буфера 600b, и определять, в соответствии с тегом и предварительно сохраненной политикой распределения ресурсов, количество ресурсов, распределенных для запроса приложения, причем политика распределения ресурсов включает в себя соответствие между тегом и количеством ресурсов, распределенных для запроса приложения; и инструктировать компонент компьютера обрабатывать запрос приложения в соответствии с количеством ресурсов, распределенных для запроса приложения.

[0069] Следует отметить, что буфер 600b также может быть регистром в процессоре 600a. В этом случае, способ обработки может быть следующим: процессор 600a сконфигурирован, чтобы хранить, в регистре процессора 600a, присоединенный запрос приложения; считывать тег из регистра и определять, в соответствии с тегом и предварительно сохраненной политикой распределения ресурсов, количество ресурсов, распределенных для запроса приложения, причем политика распределения ресурсов включает в себя соответствие между тегом и количеством ресурсов, распределенных для запроса приложения; и инструктировать компонент компьютера обрабатывать запрос приложения в соответствии с количеством ресурсов, распределенных для запроса приложения.

[0070] Например, как показано на фиг. 3, опциональный способ реализации является следующим: устройство управления 66 может включать в себя процессор 600i, буфер (также упоминаемый как буфер) 600b и очередь 600c.

[0071] Процессор 600i может быть программируемой вентильной матрицей (Field-Programmable Gate Array, FPGA) или другим программируемым устройством 600i, where политика распределения ресурсов может быть таблицей управления (как показано в Таблице 1), и таблица управления является редактируемой.

Таблица 1

Тег Атрибут 1 Атрибут i Состояние 1 Состояние i
Тег 1 Диапазон значений Диапазон значений Значение Значение
Тег k Диапазон значений Диапазон значений Значение Значение

[0072] Более конкретно, каждый элемент в Таблице 1 соответствует одному тегу. Кроме того, каждый элемент таблицы управления включает в себя множество ʺатрибутовʺ, где ʺатрибутʺ представляет количество ресурсов, распределенных для запроса приложения, соответствующего тегу. Может иметься множество типов количеств ресурсов, например, могут включаться качество целевой услуги, IPC (инструкция на цикл), время отклика, максимальный допуск и т.п. Диапазон значений ʺатрибутаʺ может быть установлен пользователем. Например, диапазон значений может быть определен как диапазон не меньше, чем 30%, или не больше, чем 80%. Кроме того, каждый элемент также включает в себя множество ʺсостоянийʺ, где ʺсостояниеʺ представляет количество ресурсов, в текущий момент потребляемых запросом приложения, соответствующим тегу, и значение ʺсостоянияʺ может контролироваться в реальном времени и обновляться.

[0073] Кроме того, политика распределения ресурсов может также быть кодом встроенного программного обеспечения и встроена в FPGA. Этот вариант осуществления настоящего изобретения не устанавливает никакого ограничения на способ хранения политики распределения ресурсов.

[0074] Буфер 600b является временным буфером. Когда устройство 66 управления принимает запрос приложения, содержащий тег, запрос приложения сначала помещается в буфер 600b для временного хранения.

[0075] Очередь 600c также является временным буфером, который может быть расположен в том же самом временном буфере, что и буфер 600b, или может быть отдельным от буфера 600b, чтобы независимо служить в качестве временного буфера. Очередь 600c сконфигурирована, чтобы хранить запрос приложения, обработанный процессором 600i. Очередь 600c может включать в себя множество очередей, и различные очереди соответствуют различным сегментам адресов в буфере 600b. Различные очереди имеют разные приоритеты, и приоритеты представляются в различных последовательностях для исполнения, компонентом компьютера, запросов приложений в очередях, что означает, что различные количества ресурсов распределены для различных очередей.

[0076] Кроме того, устройство 66 управления может дополнительно включать в себя интерфейс 600d программирования.

[0077] Интерфейс 600d программирования сконфигурирован, чтобы реализовывать механизм отображения адресного пространства, и может отображать таблицу управления, встроенную в процессор 600i, на физическое адресное пространство компьютера 10. Программное обеспечение администрирования узлов может получать доступ к физическому адресному пространству компьютера 10, чтобы редактировать таблицу управления. Например, интерфейс 600d программирования может обеспечивать различные функции, которые используются, чтобы добавлять, изменять или удалять элемент, сохраненный в таблице управления. Кроме того, процессор 600i может дополнительно предоставлять значения всех ʺсостоянийʺ в каждом элементе таблицы управления процессора 600i в программное обеспечение администрирования узлов, так что программное обеспечение администрирования узлов дополнительно настраивает политику распределения ресурсов после сбора статистики о значениях ʺсостоянийʺ всех запросов приложений.

[0078] Например, процессор 600i может получать, из буфера 600b, запрос приложения, содержащий тег, и запрашивать соответствующий элемент в Таблице 1 в соответствии с тегом, чтобы получить ʺатрибутʺ запроса приложения. Поскольку ʺатрибутʺ запроса приложения указывает количество ресурсов, распределенных для запроса приложения, процессор 600i может выбрать, из по меньшей мере двух очередей в соответствии с количеством ресурсов, распределенных для запроса приложения, очередь, соответствующую запросу приложения, и поместить запрос приложения в соответствующую очередь.

[0079] После помещения запроса приложения в соответствующую очередь, процессор 600i может инструктировать соответствующий компонент компьютера выполнять обработку по запросу приложения. Здесь ʺсоответствующий компонент компьютераʺ относится к компоненту, к которому принадлежит устройство управления, компьютера. Например, если устройство управления относится к устройству управления на кэше, ʺсоответствующий компонент компьютераʺ относится здесь к кэшу.

[0080] Здесь, ʺинструктирование соответствующего компонента компьютера выполнять обработку по запросу приложенияʺ может состоять в том, что процессор 600i удаляет запрос приложения из соответствующий очереди и посылает запрос приложения на соответствующий компонент компьютера, или может состоять в том, что соответствующий компонент компьютера получает запрос приложения из соответствующий очереди.

[0081] Кроме того, устройство 66 управления может дополнительно включать в себя модуль пересылки 600j данных. После помещения различных запросов приложений в различные очереди 600c, процессор 600i может послать запрос приложения на модуль пересылки 600j данных после удаления запроса приложения из очередей; и модуль пересылки 600j данных сконфигурирован, чтобы пересылать запрос приложения на соответствующий компонент