RU2481618C2 - Иерархическая инфраструктура планирования резервирования ресурсов - Google Patents

Иерархическая инфраструктура планирования резервирования ресурсов Download PDF

Info

Publication number
RU2481618C2
RU2481618C2 RU2010114243/08A RU2010114243A RU2481618C2 RU 2481618 C2 RU2481618 C2 RU 2481618C2 RU 2010114243/08 A RU2010114243/08 A RU 2010114243/08A RU 2010114243 A RU2010114243 A RU 2010114243A RU 2481618 C2 RU2481618 C2 RU 2481618C2
Authority
RU
Russia
Prior art keywords
workload
policy
system resources
resources
workloads
Prior art date
Application number
RU2010114243/08A
Other languages
English (en)
Other versions
RU2010114243A (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 RU2010114243A publication Critical patent/RU2010114243A/ru
Application granted granted Critical
Publication of RU2481618C2 publication Critical patent/RU2481618C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5014Reservation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Изобретение относится к области планирования и резервирования системных ресурсов. Техническим результатом является повышение эффективности планирования системных ресурсов. Выполняется обращение к политике планирования системных ресурсов для операций планирования в рабочей нагрузке. Политика задается на основе рабочей нагрузки таким образом, чтобы политика зависела от рабочей нагрузки. Системные ресурсы резервируются для рабочей нагрузки согласно политике. Резервирования могут иметь иерархическую природу, причем рабочие нагрузки также иерархически упорядочены. Кроме того, механизмы диспетчеризации для диспетчеризации рабочих нагрузок на системные ресурсы можно реализовать независимо от политик. Обратную связь в отношении использования системных ресурсов можно использовать для определения выбора политики для управления механизмами диспетчеризации. 3 н. и 16 з.п. ф-лы, 8 ил.

Description

Предшествующий уровень техники
Компьютеры и вычислительные системы влияют на практически каждый аспект современной жизни. Компьютеры широко применяются на рабочих местах, в местах отдыха, учреждениях здравоохранения, на транспорте, в развлекательных целях, для ведения домашнего хозяйства и т.д. Многие компьютеры, в том числе компьютеры общего назначения, например домашние компьютеры, рабочие станции на предприятиях и другие системы осуществляют самые разнообразные операции. Операции можно группировать в рабочие нагрузки, где рабочая нагрузка задает набор операций для решения конкретной задачи или достижения конкретной цели. Например, одна рабочая нагрузка может иметь своей целью реализацию приложения медиаплеера. Другая рабочая нагрузка может иметь своей целью реализацию приложения текстового редактора. Прочие рабочие нагрузки могут иметь своей целью реализацию службы календаря, электронной почты или других приложений управления. Как указано выше, несколько разных рабочих нагрузок могут совместно действовать в системе.
Чтобы рабочие нагрузки могли совместно действовать в системе, системные ресурсы нужно правильно планировать и выделять разным рабочим нагрузкам. Например, один системный ресурс включает в себя процессор. Процессор может иметь способность осуществлять декодирование цифровых мультимедийных данных для приложения медиаплеера, хинтовку шрифтов и другие функции отображения для приложения текстового редактора, и алгоритмические вычисления для приложений управления персоналом. Однако один процессор обычно может единовременно выполнять одно или ограниченное количество заданий в любой момент времени. Таким образом, алгоритм планирования может планировать потребление системных ресурсов, например процессора, чтобы системные ресурсы могли распределяться между различными рабочими нагрузками.
Обычно планирование системных ресурсов осуществляется с использованием алгоритма общего назначения для всех рабочих нагрузок независимо от природы разных рабочих нагрузок. Другими словами, для заданной системы планирование системных ресурсов осуществляется с использованием общесистемных политик, независимых от рабочей нагрузки.
Заявленное изобретение не ограничивается вариантами осуществления, которые позволяют преодолеть те или иные недостатки уровня техники или реализуются только в вышеописанных окружениях. Напротив, это описание предшествующего уровня техники призвано лишь иллюстрировать одну из областей технологии, где можно практически использовать некоторые описанные здесь варианты осуществления.
Сущность изобретения
Один описанный здесь вариант осуществления включает в себя способ планирования системных ресурсов. Способ включает в себя этап, на котором назначают политику планирования системных ресурсов для рабочей нагрузки. Политика предназначена для планирования операций рабочей нагрузки в рабочей нагрузке. Политика задается на основе рабочей нагрузки таким образом, чтобы политика зависела от рабочей нагрузки. Системные ресурсы резервируются для рабочей нагрузки согласно политике.
Другой вариант осуществления включает в себя способ выполнения рабочих нагрузок с использованием системных ресурсов. Системные ресурсы резервируются в резервированиях для рабочих нагрузок согласно политикам, зависящим от системы, причем резервирования используются рабочими нагрузками для применения политик, зависящих от рабочей нагрузки. Способ включает в себя этап, на котором выбирают политику. Политика предназначена для планирования операций рабочей нагрузки в рабочей нагрузке. Политика используется для диспетчеризации рабочей нагрузки по отношению к системному ресурсу. Принимается обратная связь, включающая в себя информацию об использованиях системы при выполнении рабочей нагрузки. Решения по политикам принимаются на основании этой обратной связи для дополнительной диспетчеризации рабочих нагрузок по отношению к системному ресурсу.
В еще одном варианте осуществления реализован способ выполнения рабочих нагрузок на системном ресурсе. Способ включает в себя этап, на котором обращаются к одной или нескольким политикам планирования системного ресурса для одной или нескольких рабочих нагрузок. Политики предназначены для планирования операций рабочей нагрузки в рабочей нагрузке и задаются на основе рабочей нагрузки таким образом, чтобы заданная политика зависела от заданной рабочей нагрузки. Составляется план выполнения, который указывает резервирования системного ресурса согласно политикам. Рабочие нагрузки диспечеризуются по отношению к системному ресурсу на основании плана выполнения.
Это краткое изложение сущности изобретения призвано обозначить в упрощенном виде основные концепции, которые дополнительно описаны ниже в подробном описании. Это краткое изложение сущности изобретения не призвано выявлять ключевые признаки или существенные признаки заявленного изобретения и никоим образом не определяет объем заявленного изобретения.
Дополнительные признаки и преимущества изложены в нижеследующем описании и частично могут быть поняты из описания или могут быть изучены путем практического применения идей изобретения. Признаки и преимущества изобретения можно реализовать и получить посредством инструментов и комбинаций, конкретно указанных в формуле изобретения. Признаки настоящего изобретения можно лучше понять из нижеследующего описания и формулы изобретения или можно изучить путем практического применения изобретения согласно изложенному ниже.
Краткое описание чертежей
Для описания того, каким образом можно получить вышеописанные и другие преимущества и признаки изобретения, более конкретное описание изобретения, кратко изложенного выше, будет представлено со ссылкой на конкретные варианты его осуществления, которые проиллюстрированы в прилагаемых чертежах. С учетом того, что эти чертежи изображают лишь типичные варианты осуществления изобретения и, таким образом, не призваны ограничивать его объем, изобретение будет описано и объяснено с дополнительной степенью конкретизации и детализации с использованием прилагаемых чертежей, в которых:
фиг.1 - иерархическая структура рабочих нагрузок и политик;
фиг.2 - план выполнения, демонстрирующий резервирования системных ресурсов;
фиг.3 - схема, демонстрирующая систему управления ресурсами и системные ресурсы;
фиг.4 - иллюстративная схема управления процессором;
фиг.5 - схема менеджера ресурсов устройств;
фиг.6 - блок-схема способа резервирования системных ресурсов;
фиг.7 - блок-схема способа управления системными ресурсами согласно резервированиям; и
фиг.8 - иллюстративное окружение, где можно реализовать некоторые варианты осуществления.
Подробное описание
Некоторые описанные здесь варианты осуществления могут содержать компьютер специального назначения или общего назначения, включающий в себя различное компьютерное оборудование, более подробно рассмотренное ниже. Некоторые варианты осуществления также могут включать в себя различные этапы способа.
Можно реализовать варианты осуществления, где политики резервирования системных ресурсов для операций рабочей нагрузки применяются согласно политике, зависящей от рабочей нагрузки. Другими словами, резервирование ресурсов осуществляется согласно не общим, многоцелевым политикам, применимым, в целом, ко всем рабочим нагрузкам, запланированным с системными ресурсами, но системные ресурсы планируются на основании политики, заданной специально для заданной рабочей нагрузки. Кроме того, можно реализовать варианты осуществления, где резервирования для рабочих нагрузок могут осуществляться согласно иерархически применяемым политикам. На фиг.1 показаны некоторые принципы, демонстрирующие один вариант осуществления, реализующий различные признаки и аспекты, которые можно применять к некоторым вариантам осуществления.
На фиг.1 показаны системные ресурсы 100. Системные ресурсы могут включать в себя, например, аппаратные ресурсы, например ресурсы обработки, ресурсы сетевого адаптера, ресурсы памяти, дисковые ресурсы и т.д. Системные ресурсы могут выполнять рабочие нагрузки. Рабочие нагрузки включают в себя служебные запросы, генерируемые программами, к системным ресурсам. Например, рабочие нагрузки, пригодные для процессоров, включают в себя, например, запросы на осуществление процессорных вычислений. Рабочие нагрузки, пригодные для ресурсов сетевого адаптера, включают в себя, например, сетевые операции передачи и приема, использование полосы пропускания сети и т.д. Рабочие нагрузки, пригодные для ресурсов памяти, включают в себя, например, операции чтения из памяти и записи в память. Рабочие нагрузки, пригодные для дисковых ресурсов, включают в себя, например, операции чтения с диска и записи на диск.
В зависимости от контекста, рабочая нагрузка может относиться к шаблонам запроса, генерируемым программами в результате действий пользователя или другой программы, и может представлять разные уровни детализации запроса. Например, рабочая нагрузка электронной торговли может распространяться на множественные серверы и предусматривает определенный шаблон запроса ресурса, генерируемый конечными пользователями или другими бизнес-функциями.
Рабочие нагрузки можно задавать в единицах объектов выполнения. Объект выполнения является экземпляром абстракции рабочей нагрузки, которая потребляет ресурсы. Например, объектом выполнения может быть поток выполнения, который потребляет ресурсы процессора и памяти, сокет, который потребляет полосу NIC, дескриптор файла, который потребляет емкость диска, и т.д.
Системные ресурсы могут резервироваться для рабочих нагрузок. Две рабочие нагрузки, показанные на фиг.1, включают в себя рабочую нагрузку 102 медиаплеера и рабочую нагрузку 104 текстового редактора. Каждая из этих рабочих нагрузок задает операции, используемые в реализации приложений медиаплеера и текстового редактора соответственно. На фиг.1 дополнительно показано, что с этими двумя рабочими нагрузками связаны разные политики 106 и 108 соответственно. Эти политики указывают, как следует резервировать системные ресурсы 100 для планирования для выполнения рабочих нагрузок 102 и 104.
Можно реализовать различные политики. Например, одна политика является основывающейся на скорости политикой резервирования. Резервирования на основе скорости включают в себя повторяющиеся резервирования в виде процента емкости системного ресурса с заранее определенными интервалами. Например, политика резервирования на основе скорости может указывать, что следует резервировать квант циклов процессора. Например, политика резервирования на основе скорости может указывать, что 2000 из каждого 1000000 циклов процессора нужно выделять рабочей нагрузке, к которой применяется эта политика. Этот тип резервирования обычно пригоден для интерактивных рабочих нагрузок. Пример этой политики проиллюстрирован для рабочей нагрузки 102 медиаплеера, где политика 106 указывает, что 1 мс из каждых 10 мс следует резервировать для рабочей нагрузки 102 медиаплеера.
Другая политика относится к резервированиям на основе мощности. Резервирования на основе мощности указывают процент мощности устройства без ограничений на временные рамки, в течение которых мощность должна быть доступной. Эти типы политик можно планировать более гибко в качестве гарантии того, что резервирование не имеет временных рамок. Пример этого проиллюстрирован для рабочей нагрузки 104 текстового редактора, где политика 108 указывает, что 10% системных ресурсов 100 следует резервировать для рабочей нагрузки 104 текстового редактора.
Примечательно, что политики 106 и 108 зависят от их соответствующих приложений, в том смысле, что политики задаются для конкретного приложения. Связь с конкретным приложением может осуществляться путем специального связывания каждого приложения с политикой. В других вариантах осуществления типы приложений могут быть связаны с политикой. В объеме раскрытых здесь вариантов осуществления также можно реализовать другие группировки.
Согласно фиг.1 каждое резервирование может дополнительно делиться на субрезервирования. Используя резервирование и субрезервирования, можно создать древовидную иерархию резервирований и используемых по умолчанию политик. Концевые узлы иерархии включают в себя политики резервирования. Например, на фиг.1 показано, что рабочая нагрузка 110 кодека и рабочая нагрузка 112 дисплея иерархически ниже рабочей нагрузки 102 медиаплеера. С этими рабочими нагрузками связаны политики 114 и 116 соответственно. Эти политики 114 и 116 иерархически ниже политики 106 для рабочей нагрузки 102 медиаплеера. На фиг.1 дополнительно показаны другие иерархически упорядоченные рабочие нагрузки и политики. Например, рабочие нагрузки 118, 120 и 122 кодека иерархически ниже рабочей нагрузки 110 кодека. Аналогично, политики 124, 126 и 128 иерархически ниже политики 114. На фиг.1 также показано, что рабочие нагрузки 130 и 132 иерархически ниже рабочей нагрузки 104 и что политики 134 и 136 иерархически ниже политики 108.
На фиг.1 показано, что политики, в этом примере, могут указывать резервирования в отношении резервирования на основе мощности, указывающего процент ресурсов, например показано, что рабочая нагрузка 104 текстового редактора составляет 10% суммарных системных ресурсов 100. Показано, что это резервирование 10% суммарных системных ресурсов можно распределить между иерархически более низким рабочими нагрузками, например, показанными на фиг.1, где политика 134 указывает, что 6% суммарных системных ресурсов следует резервировать для рабочей нагрузки 134 UI, и политика 136 указывает, что 2% суммарных системных ресурсов следует резервировать для рабочей нагрузки 132 хинтовки шрифтов. На фиг.1 дополнительно показано, что политика 106 указывает политику на основе скорости, где политика 106 указывает, что 1 мс из каждых 10 мс следует резервировать для рабочей нагрузки 102 медиаплеера.
Резервирования можно осуществлять в некоторых вариантах осуществления с двумя пороговыми параметрами мощности, а именно мягким и жестким. Мягкий параметр указывает более высокие или равные требования к системному ресурсу по отношению к жесткой мощности. Мягкое значение - это запрашиваемая мощность для достижения оптимальных рабочих характеристик. Жесткое значение - это минимальное значение резервирования, необходимое для выполнения рабочей нагрузки. В некоторых вариантах осуществления система управления резервированием пытается удовлетворять мягкому требованию к мощности, но если мягкое требование к мощности невозможно удовлетворить, система управления резервированием попытается использовать вместо него жесткое значение. Система управления резервированием может сокращать резервирование, например сокращая объем ресурсов, резервируемых для операций. В отсутствие мощности в устройстве для жесткого значения мощности, в некоторых вариантах осуществления система управления резервированием не будет запускать приложение.
Помимо порогов, резервирования могут быть связаны со срочностью резервирования. Срочность резервирования - это метрика, которая определяет надлежащий приоритет для резервирований. Срочность резервирования применима, когда система перегружена, и система управления резервированием может выделять ресурсы только части ожидающих резервирований. При попытке выполнения резервирования более высокой срочности, система управления резервированием извещает приложение с резервированием более низкой срочности, чем оно должно освободить свое резервирование. Извещение доходит до завершения приложения, если резервирование не освобождается. Заметим, что срочность резервирования не обязательно подразумевает механизм планирования с вытеснением, но может предусматривать приоритет выделения, который применяется при запросе нового резервирования и отсутствии доступных ресурсов.
Любой объект выполнения, не имеющий требований к резервированию для политики, зависящих от объекта, можно планировать с использованием политики по умолчанию. На фиг.1 показан ряд политик по умолчанию, включая политики 138, 140 и 142. Система управления резервированием назначает все временные слоты, не зарезервированные с помощью резервирований на основе скорости, либо резервированию на основе мощности, либо политике по умолчанию. Политики по умолчанию для всех устройств могут быть одинаковыми в пределах системы. Это делается для упрощения операций выравнивания нагрузки. Заметим, что политики по умолчанию могут включать в себя более чем просто любую оставшуюся мощность. Например, в то время как политика 108 указывает резервирование 10% и политика 106 указывает резервирование 10% на основании номинальной мощности, используется по умолчанию политика планирования 138, в отсутствие каких-либо других резервирований, будет иметь, по меньшей мере, 80% системных ресурсов, которые можно планировать. Доступные ресурсы для политики 138 по умолчанию могут превышать 80%, если можно определить, что одна или обе из рабочей нагрузки 102 медиаплеера и рабочей нагрузки 104 текстового редактора не требуют своего полного резервирования, и, таким образом, участки резервирований системного ресурса возвращаются для использования политикой планирования 138 по умолчанию.
Используемое по умолчанию резервирование может быть связано с политикой в плане манипулирования остатком выделения ресурсов. По аналогии с корневым узлом, каждое субрезервирование может включать в себя используемую по умолчанию политику размещения для объектов выполнения, которые будут работать в ее контексте и не будут иметь дополнительных требований к резервированию. Например, политики 140 и 142 по умолчанию используются для планирования субрезервирований по умолчанию.
План выполнения представляет собой абстракцию, используемую компонентами системы управления ресурсами для получения информации, касающейся резервирований и мощности устройства. В частности, план выполнения представляет собой низкоуровневый план, который представляет ресурс резервирования, который будет задействован диспетчером. Иллюстративный план выполнения представлен на фиг.2. План выполнения 200 демонстрирует планирование системных ресурсов согласно резервированиям. Показанный план выполнения 200 представляет собой план выполнения на основе времени для системных ресурсов, например процессоров. Хотя в этом примере показан план выполнения на основе времени, очевидно, что для других устройств можно реализовать другие планы выполнения. Например, план выполнения для сетевых устройств можно представить в виде последовательности пакетов, которые будут передаваться по тракту связи. Другие примеры включают в себя фрагменты кучи для памяти, блоки для дисков и т.д. Возвращаясь к примеру на основе времени, план выполнения является последовательностью фрагментов времени, управляемых согласно отдельной политике, отвечающей за расходование фрагмента времени. Политика, обладающая фрагментом времени резервирования, может использовать кванты для дополнительной фрагментации резервирования по времени на более короткие интервалы для мультиплексирования между объектами выполнения, которыми она управляет. Размер фрагмента зависит от контекста устройства, например процессор может зависеть от разрешения таймера, NIC - от размера пакета, память - от размера кучи, диски - от блоков и т.д.
План выполнения 200 демонстрирует первое резервирование 202 для рабочей нагрузки 102 медиаплеера и второе резервирование 204 для рабочей нагрузки 104 текстового редактора. План выполнения 200, в показанном примере, демонстрирует временные периоды ресурсов, которые зарезервированы для конкретной рабочей нагрузки. Хотя в этом примере показано, что резервирования 202 и 204 повторно возникают на периодической основе, также можно реализовать другие выделения в зависимости от политики, используемой для планирования резервирования. Например, резервирование 202 должно быть более периодическим по своей природе, ввиду требования, чтобы 1 мс из каждых 10 мс резервировалась для рабочей нагрузки 102 медиаплеера. Однако резервирование 204 может обладать большей гибкостью, поскольку политика для планирования рабочей нагрузки просто указывает 10% системных ресурсов.
План выполнения можно использовать для нескольких функций. В одном примере план выполнения можно использовать для оценивания того, достаточна ли имеющаяся мощность устройства для нового резервирования. Например, план выполнения 200 включает в себя указание 206 имеющихся системных ресурсов на основе времени. При приеме запроса резервирования, можно сверяться с этим указанием 206 для определения того, можно ли обслужить этот запрос резервирования.
План выполнения также можно использовать для оценивания того, имеется ли интервал для удовлетворения требования к резервированию на основе скорости. Устройство должно иметь достаточную мощность, чтобы удовлетворять требованию к резервированию, но может не оказаться соответствующего слота, отвечающего частоте и длительности резервирования, при наличии состязания с существующим резервированием на основе скорости.
План выполнения также можно использовать для создания последовательности операций, которую менеджер (средство управления) резервирования может эффективно проходить для выбора контекста новой политики. Это более подробно рассмотрено ниже в связи с описанием фиг.3.
Вычисление плана выполнения зачастую является дорогостоящей операцией, которая имеет место при назначении устройству нового резервирования или смене конфигурации резервирования. В одном варианте осуществления план вычисляется менеджером ресурсов устройств.
Резервирования используют метрику мощности, которая зависит от типа устройства. Эта метрика должна быть не зависимой от ресурсов и конфигурации операционной системы. Однако операционная система может предоставлять информацию о мощности устройства.
Резервирования на основе мощности можно планировать либо статически как часть плана выполнения, либо динамически в порядке выделения фрагментов времени менеджером резервирования. Статические резервирования могут включать в себя, например, назначение предварительно назначаемых подразделений ресурсов, в отличие от динамического оценивания и назначения ресурсов. Статическое выделение имеет преимущество в снижении служебной нагрузки менеджера ресурсов. Динамическое выделение обеспечивает более высокую гибкость при манипулировании нагрузками, действующими в используемой по умолчанию политике на одном и том же уровне иерархии планирования.
На фиг.3 показана система архитектуры управления резервированием 300. Вышеописанная иерархия планирования может представлять собой общую парадигму планирования, справедливую для всех устройств. Однако глубина и ширина иерархии и сложность политики будет отличаться от устройства к устройству.
Компоненты системы 300 архитектуры управлением резервированием делятся на две категории: хранилища и процедуры. Компоненты связаны с политикой, типом устройства или являются глобальными. Согласно фиг.3 компоненты политики группируются друг с другом. Все остальные процедуры зависят от типа устройства. Хранилища, за исключением хранилища состояний политики 302, являются общими для всех устройств системы. Следующая последовательность операций выполняется в типичном сеансе планирования, начиная с введения нового объекта выполнения в систему 300 управления резервированием.
Как показано в позиции 1, новый объект выполнения вводится в систему 300 управления резервированием согласно политике 304-1. Алгоритм 306 размещения перемещает объект выполнения в одну из очередей, хранящихся в хранилище 302 состояний политики. В хранилище 302 состояний политики хранится внутреннее состояние политики, включая очереди, которые могут представлять приоритеты или состояния выполнения.
Как показано в позиции 2, алгоритм 306 размещения вызывает алгоритм 308 диспетчеризации политики, который берет следующий объект выполнения для выполнения.
В позиции 3, вызывается диспетчер 310 устройств для переключения контекста на объект выполнения, выбранный для выполнения. Диспетчер 310 реализован отдельно и независимо от политики 304-1 или любой из политик 304-1 - 304-N. В частности, диспетчер 310 можно использовать независимо от применяемой политики.
В позиции 4, диспетчер 310 системы 300 управления резервированием предписывает системным ресурсам 312 выполнять объект выполнения. Заметим, что системные ресурсы 312 могут быть отдельными от системы 300 управления резервированием. В зависимости от контекста устройства, выполнение объекта выполнения будет приостанавливаться или завершаться. Например, в иллюстративном процессоре выделенный фрагмент времени для процессора истекает, объект выполнения переходит в состояние ожидания и блокируется, или объект выполнения самопроизвольно заканчивается.
Как показано в позиции 5, вызывается процедура 314 перехода между состояниями политики, и состояние объекта выполнения обновляется в хранилище 316 объектов выполнения и хранилище 302 состояний политики.
Как показано в позиции 6, процедура 318 учета времени обновляет статистику использования объекта выполнения с использованием хранилища 320 контейнеров ресурсов. Контейнер ресурсов представляет собой абстракцию, которая логически содержит системные ресурсы, используемые рабочей нагрузкой для выполнения задания. Например, контейнер ресурсов можно задать для всех компонентов вмещаемого приложения. В контейнере ресурсов хранится учетная информация, касающаяся использования ресурсов приложением.
В позиции 7, менеджер 322 резервирования будет определять, чем является следующее резервирование, и вызывает надлежащий компонент планирования для выполнения следующей политики. Это достигается в одном варианте осуществления проходом по плану выполнения, например плану выполнения, показанному на фиг.2. В примере, показанном на фиг.3, существует два потенциальных исхода этой операции. Первый состоит в том, что фрагмент, например один из фрагментов времени, показанный на фиг.2, или другой фрагмент, например фрагмент пакета, фрагмент кучи, фрагмент блока и т.д., в зависимости от потребности, назначается в текущей политике текущего уровня иерархии планирования. Алгоритм 308 диспетчеризации текущей политики будет вызываться, как показано в позиции 8B на фиг.3. Второй исход включает в себя переход к другому резервированию с использованием другой политики, например политики 304-2 или любой другой политики до 304-N, где N - количество представленных политик. Менеджер 322 резервирования переключается на план выполнения нового резервирования (что показано в позиции 8A на схеме) и осуществляет ту же операцию с новым планом.
Общее хранилище 316 объектов выполнения может не быть доступно из политики планирования (например, 304-1), но вид объектов выполнения, которые в данный момент управляются политикой, является видимым. Помимо потенциальных выигрышей в рабочих характеристиках, это гарантирует, что политики не будут пытаться изменить состояние объектов выполнения, которые не запланированы в их контексте. Операции выравнивания нагрузки между устройствами могут осуществляться путем перемещения объектов выполнения между резервированиями, действующими на разных устройствах. Процедура 314 перехода между состояниями и процедура 310 диспетчера могут регистрировать несоответствия между хранилищем 302 состояний политики и хранилищем 316 объектов выполнения и предпринимать корректирующее действие, которое в большинстве случаев предусматривает выполнение дополнительной операции планирования.
На фиг.4 показана возможная реализация планировщика процессора. Заметим, что можно реализовать другие реализации, а также другие реализации для разных системных ресурсов, например сетевых ресурсов, ресурсов памяти, дисковых ресурсов и т.д. В схеме планирования, представленной на фиг.4, процессор подвергается планированию множественными политиками планирования, скоординированными общей инфраструктурой. На фиг.4 показаны компоненты планирования процессора, которые обеспечены инфраструктурой и обеспечены политикой. В контексте процессора реализуются следующие функции: поддержка таймера, переключение контекста и извещение о блокировке.
Компоненты планирования процессора должны иметь возможность задавать произвольную длительность прерывания таймера (в отличие от фиксированного кванта). Контекст прерывания таймера может представлять собой либо резервирование, либо дополнительное подразделение резервирования из политики, которая обслуживает резервирование. Например, политика на основе приоритета может задавать фиксированные кванты в контексте текущего резервирования. В конкретный момент существуют множественные предельные сроки таймера и компонент планирования процессора должен иметь возможность управлять различными прерываниями таймера, указывая следующий предельный срок, задавая контекст и вызывая соответствующий компонент планирования для обслуживания прерывания. Менеджер 404 временных интервалов поддерживает стек контекстов времени планировщика и планирует прерывание таймера с использованием ближайшего следующего фрагмента времени в стеке. Контекст таймера включает в себя несколько фрагментов информации. Например, контекст таймера включает в себя информацию, касающуюся типа контекста. Это, в частности, относится к фрагменту времени резервирования или объекта выполнения, заданному политикой планирования. Контекст таймера включает в себя информацию, относящуюся к временному интервалу, который будет отсчитываться прерыванием таймера. Контекст таймера включает в себя указатель либо на текущий менеджер 400 резервирования для резервирований, либо на менеджер 412 переходов между состояниями для политики планирования. Контекст таймера включает в себя указатель на текущий план выполнения для резервирований.
Диспетчер 408 прерываний таймера инициируется прерыванием таймера и, в зависимости от типа приоритета и контекста таймера, вызывает точку входа планирования для функции планирования. Если фрагмент времени для объекта выполнения истек или объект выполнения заблокирован, вызывается текущий менеджер переходов между состояниями, в результате чего в контексте резервирования планируется следующий объект выполнения. Если истекает фрагмент времени для резервирования, менеджер резервирования вызывается с контекстом текущего плана выполнения для выбора следующего резервирования и политики.
На фиг.4 показана типичная схема операций компонентов планирования процессора. Как показано в случае нового резервирования в позиции 1A, менеджер 400 резервирования создает новый объект контекста таймера, который включает в себя временной интервал резервирования, указатель на его собственную точку входа обратного вызова и ссылку на текущий план выполнения. В случае планирования объектов выполнения в позиции 1B, диспетчер 402 создает контекст с временным интервалом объекта выполнения и указателем на функцию обратного вызова менеджера переходов между состояниями. Как показано в позиции 2, менеджер 404 временных интервалов вводит контекст, представляющий интерес, в стек 406 контекста таймера. В позиции 3, менеджер 404 временных интервалов находит ближайший фрагмент времени, задает контекст для диспетчера 408 прерываний таймера и программирует таймер 410. В позиции 4, прерывание таймера из таймера 410 запускает и вызывает диспетчер 408 прерываний таймера. В позиции 5, диспетчер 408 прерываний таймера проверяет свой контекст и вызывает функцию обратного вызова менеджера 400 резервирования, по истечении резервирования или менеджер 412 переходов между состояниями по истечении фрагмента времени объекта выполнения. В позиции 6, после вызова менеджера 412 переходов между состояниями, выполняется последовательно поток операций планирования объектов выполнения и диспетчер 402 вызывается для другой итерации в процессе.
Ранее описание было сосредоточено на конструкции инфраструктуры планирования единичного устройства. Однако варианты осуществления могут включать в себя функции, позволяющие менеджеру ресурсов устройств управлять множественными устройствами. Это может быть особенно полезно с учетом недавнего преобладания многоядерных устройств, использующих множественные совместно используемые процессоры и гипервизорные технологии для множественных операционных систем.
В одном варианте осуществления менеджер ресурсов устройств отвечает за выполнение заданий с использованием однотипных устройств. Операции, например, назначение резервирований устройствам, выравнивание нагрузки и миграция нагрузки, являются типичными операциями, осуществляемыми менеджером ресурсов устройств. В некоторых вариантах осуществления это можно осуществлять, изменяя планы выполнения для разных устройств, в том числе перемещая резервирования из одного плана выполнения в другой. Менеджер ресурсов устройств представляет собой компонент, вызываемый с относительно низкой частотой по сравнению с компонентами планировщика устройств. Поэтому он может осуществлять относительно дорогостоящие операции.
Операции, осуществляемые менеджером ресурсов устройств, могут в некоторых вариантах осуществления делиться на четыре категории, которые мы рассмотрим. Первая - это назначение резервирований устройствам и создание планов выполнения для планировщиков устройств. Назначение резервирований имеет место при запросе нового резервирования приложением, или имеет место конфигурация резервирования. Менеджер ресурсов устройств первоначально проверяет доступную мощность устройств и выделяет резервирование устройству. Помимо мощности, существуют другие возможные факторы, которые нужно учитывать, например состояние энергопотребления устройства, которые могут препятствовать выполнению определенных рабочих нагрузок, и рабочие характеристики. Менеджер ресурсов устройств отвечает за применение политики срочности резервирования. Это применимо в случае отсутствия ресурсов для резервирования. Срочность резервирования для нового резервирования сравнивается с существующим(и) резервированием(ями), и менеджер ресурсов устройств сообщает приложению(ям) резервирования более низкой срочности для отбора их резервирований или прекращает их, если они не согласуются в определенных временных рамках. Квоты - это политики особого рода. Квоты представляют собой статические политики, проводимые системой, целью которых является ограничение использования ресурсов для рабочей нагрузки. Два конкретных типа квот включают в себя ограничения и накопления. Ограничения действуют как пороги, которые ограничивают использование ресурса определенным пределом. Например, приложение может иметь 10%-ное ограничение на использование мощности процессора. Накопления - это пределы совокупного использования ресурса в течение более длительных периодов времени. Например, одно накопление может указывать, что вмещаемый web-сайт не должен использовать более 5 ГБ полосы пропускания сети в течение периода тарификации. То же извещение, которое используется в накопительных квотах, можно применять в случае приоритетного резервирования. Запросы резервирования, которые не выполняются вследствие недостатка ресурсов и низкой релевантной срочности, можно ставить в очередь и выполнять по мере освобождения ресурсов.
После определения выделения резервирования, менеджеру ресурсов устройств придется повторно вычислить план выполнения для устройства. В некоторых вариантах осуществления требуется только повторное вычисление корневого плана выполнения в иерархии планирования устройств. Менеджер ресурсов устройств также предоставляет услуги вычисления плана выполнения планировщикам, которые нуждаются в дополнительном разделении резервирований первого порядка на уровнях, отличных от корневого, в иерархии планирования устройств.
Менеджер ресурсов устройств должен иметь возможность поддерживать групповое планирование, где одно и то же резервирование должно иметь место во множественных устройствах с одинаковым начальным временем. Этот признак особенно полезен для сред выполнения с параллелизмом, которые могут требовать одновременного выполнения потоков, которые могут требовать синхронизации. Благодаря одновременному выполнению всех потоков на разных устройствах стоимость координации минимизируется, поскольку все они выполняются при наличии синхронизации.
Менеджер ресурсов устройств также отвечает за выравнивание нагрузки объектов выполнения, которые выполняются в используемой по умолчанию политике планирования для корневого узла иерархии планирования устройств. Операция предусматривает перемещение объектов выполнения между планами выполнения путем перемещения объектов выполнения между хранилищами состояний политики разных устройств. Это достигается путем изменения вида объекта выполнения устройств, участвующих в операции. Принятие решения относительно выравнивания нагрузки может осуществляться на эвристической основе в операционной системах, например, из соображений латентности.
Менеджер ресурсов устройств отслеживает системные ресурсы и применяет пороги ограничительной квоты. Это операция, которая требует взаимодействия менеджера ресурсов устройств с диспетчером политик. Менеджер ресурсов устройств приостанавливает объекты выполнения на заранее определенные периоды, удаляя объекты выполнения из вида объекта выполнения, представляемого политике.
В данном примере менеджер ресурсов устройств использует службу операционной системы для перечисления устройств, проверки конфигураций устройств, определения мощности и наличия. Службы, используемые операционной системой для работы менеджера ресурсов устройств, организованы в компонент, именуемый здесь менеджером системных ресурсов. Менеджер ресурсов устройств подписывается на систему оповещения о событиях менеджера системных ресурсов в отношении отказа оборудования, «горячей» замены и т.д., которые требуют специальных операций, касающихся инициирования и прекращения работы планировщиков устройств, и операций выравнивания нагрузки.
На фиг.5 показаны компоненты системы управления 500. Менеджер 510 ресурсов устройств в этом примере, осуществляет четыре примечательные операции. Первая включает в себя вычисление плана выполнения. Для нового резервирования, как показано в позиции 1, калькулятор сродства 502 выбирает надлежащее устройство, на котором будет выполняться резервирование. Калькулятор сродства 502 резервирований вызывает калькулятор 504 плана выполнения для вывода нового плана выполнения для устройства, который затем поступает на менеджер резервирования 506 выбранного устройства. В случае изменения конфигурации резервирования или дополнительного деления существующего резервирования вычисление сродства пропускается.
Вторая операция относится к изменениям оборудования. Как показано в позиции 2, менеджер 508 программных ресурсов извещает менеджер 510 ресурсов устройств, посредством процедуры 512 миграции резервирования и объекта выполнения, о произошедшем изменении. Затем менеджер 510 ресурсов устройств перемещает резервирования и объекты выполнения, назначенные в данный момент устройству, в зависимости от изменения оборудования. Например, если устройство готово перейти в режим пониженного энергопотребления, объекты выполнения и резервирования можно повторно выделить другим устройствам. Калькулятор 504 плана выполнения вызывается для повторного вычисления планов выполнения затронутых устройств.
Третья операция относится к выравниванию нагрузки. Как показано в позиции 3, выравниватель 514 нагрузки объектов выполнения повторно выделяет объекты выполнения, выполняющиеся со стандартной политикой в корне иерархии планирования устройств путем изменения видов объекта выполнения задействованных устройств.
Четвертая операция относится к применению ограничительной квоты. Как показано в позиции 4, подсистема 516 ограничительных квот определяет, превысил ли объект выполнения свой порог. При обнаружении нарушения, состояние объекта выполнения изменяется в хранилище 518 объектов выполнения. Объект выполнения приостанавливается на заранее определенный промежуток времени путем удаления объекта выполнения из вида объекта выполнения политики. Подсистема 516 ограничительных квот переустанавливает объект выполнения в виде политики. Если объект выполнения в данный момент выполняется, подсистема 516 ограничительных квот помечает объект выполнения, и изменение вида осуществляется компонентом учета времени политики.
На фиг.6 представлен способ 600. Способ 600 может включать в себя этапы планирования системных ресурсов. Способ включает в себя этап, на котором обращаются к политике планирования системных ресурсов на предмет рабочей нагрузки (этап 602). Политика предназначена для операций планирования рабочей нагрузки и задается на основе рабочей нагрузки таким образом, чтобы политика зависела от рабочей нагрузки. Например, согласно примерам, приведенным на фиг.1, политика 106 зависит от рабочей нагрузки 102. В одном варианте осуществления рабочая нагрузка может использовать системные политики для планирования резервирований для рабочей нагрузки на основании политик, зависящих от рабочей нагрузки, используемых для выполнения рабочей нагрузки.
Способ 600 дополнительно включает в себя этап резервирования системных ресурсов для рабочей нагрузки согласно политике (этап 604). Пример этого проиллюстрирован в плане выполнения 200, где резервирования 202 и 204 реализуются для политик, зависящих от рабочей нагрузки.
Способ 600 может дополнительно включать в себя этап, на котором резервируют, по меньшей мере, часть оставшихся незапланированных системных ресурсов для других рабочих нагрузок с использованием политики планирования системы по умолчанию. На фиг.2 показано резервирование с использованием политики планирования системы по умолчанию в позиции 206.
В некоторых вариантах осуществления способа 600 рабочая нагрузка иерархически ниже другой рабочей нагрузки. Например, на фиг.1 показано, помимо других примеров, что рабочие нагрузки 110 и 112 иерархически ниже рабочей нагрузки 102. В одном варианте осуществления резервирование системных ресурсов для рабочей нагрузки (этап 604) осуществляется согласно политике для рабочей нагрузки и политике для другой рабочей нагрузки, иерархически более высокой, чем рабочая нагрузка. В порядке иллюстрации, резервирования для рабочей нагрузки 110 можно планировать на основании политики 114 и политики 106.
Политики можно задавать посредством нескольких различных параметров. Например, политика может указывать резервирование ресурсов по скорости, резервирование ресурсов по мощности или указывать резервирование ресурсов по предельному сроку.
В одном варианте осуществления резервирование системных ресурсов для рабочей нагрузки согласно политике (этап 604) включает в себя этап, на котором сверяются с планами выполнения для совокупности системных ресурсов, причем каждый системный ресурс из совокупности системных ресурсов содержит устройство одного и того же типа. Например, система может включать в себя несколько разных процессоров. На основании планов выполнения, резервирование системных ресурсов осуществляется с ориентацией на выравнивание нагрузки рабочих нагрузок в совокупности системных ресурсов. В альтернативных вариантах осуществления резервирование системных ресурсов осуществляется с ориентацией на перемещение рабочих нагрузок от одного устройства к другому устройству. Например, если устройство подлежит удалению из системы, или устройство переходит в состояние пониженного энергопотребления с меньшей мощностью, или по другим причинам, может быть желательно перемещать рабочие нагрузки от такого устройства на другое устройство с имеющейся мощностью. В еще одном альтернативном варианте осуществления резервирование системных ресурсов осуществляется с ориентацией на применение ограничительных квот.
На фиг.7 показан вариант осуществления другого способа 700. Способ 700 можно практически осуществлять, например, в вычислительном окружении. Способ включает в себя этапы выполнения рабочих нагрузок с использованием системных ресурсов. Системные ресурсы резервируются для рабочих нагрузок согласно политикам, зависящим от системы. Политики предназначены для операций планирования рабочих нагрузок. Способ включает в себя этапы, на которых выбирают политику, причем политика зависит от рабочей нагрузки (этап 702), используют политику для диспетчеризации рабочей нагрузки на системный ресурс для выполнения рабочей нагрузки согласно политике (этап 704), принимают обратную связь, включающую в себя информацию об использованиях системы при выполнении рабочей нагрузки (этап 706), и принимают решения по политикам на основании обратной связи для дополнительной диспетчеризации рабочих нагрузок на системный ресурс (этап 708). Пример этого проиллюстрирован на фиг.3, где показано, как политики 304-1 - 304-N используются совместно с диспетчерами 310, чтобы рабочие нагрузки выполнялись системными ресурсами 312.
Согласно способу 700 принятие решений по политикам (этап 708) может осуществляться на основании плана выполнения. План выполнения задает резервирования системных ресурсов для рабочих нагрузок. Например, после выполнения рабочей нагрузки на системных ресурсах 312, можно сверяться с планами выполнения, например планом выполнения 200 для определения того, нужно ли производить изменения политики, на основании продолжительности времени, когда рабочая нагрузка выполнялась на системных ресурсах 312, по сравнению с резервированием, например одним из резервирований 202 и 204.
Некоторые из описанных здесь вариантов осуществления могут обеспечивать одно или несколько преимуществ над ранее реализованным планированием системы. Например, некоторые варианты осуществления допускают специализацию. В частности, планирование системных ресурсов должно быть настраиваемым, чтобы удовлетворять требованиям к рабочей нагрузке. Единая политика планирования может не удовлетворять всем требованиям к рабочей нагрузке. В некоторых изложенных здесь вариантах осуществления рабочая нагрузка имеет возможность использовать стандартные политики или задавать новые политики планирования, специально разработанные для приложения.
Некоторые варианты осуществления допускают расширение. С использованием описанных здесь вариантов осуществления политику планирования можно расширять для получения требований к рабочей нагрузке. Этот атрибут позволяет желаемым образом реализовать специализацию. Помимо стандартных политик, поставляемых системой, инфраструктура управления ресурсами может обеспечивать архитектуру подключаемых политик, чтобы рабочие нагрузки могли задавать свои политики, а не просто выбирать из уже существующих политик.
Некоторые варианты осуществления допускают согласованность. Одну и ту же инфраструктуру управления ресурсами можно использовать для разных ресурсов. Алгоритмы планирования обычно являются специализированными, удовлетворяя требованиям устройств того или иного типа. Процессорные, сетевые и дисковые планировщики могут использовать разные алгоритмы и могут быть реализованы в разных частях операционной системы. Однако в некоторых вариантах осуществления все планировщики могут использовать одну и ту же модель для описания компонентов и одну и ту же инфраструктуру учета и квотирования.
Некоторые варианты осуществления допускают прогнозируемость. Чувствительность подмножества рабочих нагрузок может не зависеть от нагрузки системы и политик планирования. Операционная система должна иметь возможность гарантировать заранее определенную часть системных ресурсов приложениям, чувствительным к латентностям.
Некоторые варианты осуществления допускают адаптивность. Политики планирования можно изменять для получения динамического поведения системы. Подключаемая модель для политик планирования позволяет высокоуровневым системным компонентам и приложениям регулировать политики для настройки рабочих характеристик своей системы.
Варианты осуществления также могут включать в себя компьютерно-считываемые носители для переноса или хранения компьютерно-выполняемых инструкций или структур данных, сохраненных на них. Такие компьютерно-считываемые носители могут представлять собой любые доступные носители, к которым может обращаться компьютер общего назначения или специального назначения. В порядке примера, но не ограничения, такие компьютерно-считываемые носители могут содержать ОЗУ, ПЗУ, ЭСППЗУ, CD-ROM или другое оптическое дисковое запоминающее устройство, магнитное дисковое запоминающее устройство или другие магнитные запоминающие устройства, или любой другой носитель, который можно использовать для переноса или хранения желаемого средства программного кода в виде компьютерно-выполняемых инструкций или структур данных, и к которому может обращаться компьютер общего назначения или специального назначения. При переносе или обеспечении информации посредством сетевого или другого коммуникационного соединения (проводного, беспроводного или комбинированного) на компьютер, компьютер рассматривает соединение как компьютерно-считываемый носитель. Таким образом, любое такое соединение справедливо именовать компьютерно-считываемым носителем. Комбинации вышеприведенных примеров также подлежат включению в понятие компьютерно-считываемых носителей.
Компьютерно-выполняемые инструкции содержат, например, инструкции и данные, которые предписывают компьютеру общего назначения, компьютеру специального назначения или устройству обработки специального назначения осуществлять определенную функцию или группу функций. Хотя изобретение было описано в отношении структурных признаков и/или этапов способа, следует понимать, что изобретение, заданное в формуле изобретения, не ограничивается конкретными признаками или этапами, описанными выше. Напротив, конкретные признаки или этапы, описанные выше, раскрыты в качестве примеров реализации формулы изобретения.
Фиг.8 и нижеследующее рассмотрение призваны обеспечивать краткое, общее описание подходящего вычислительного окружения, в котором можно реализовать изобретение. Хотя это и не требуется, изобретение будет описано в общем контексте компьютерно-выполняемых инструкций, например программных модулей, выполняемых компьютерами в сетевых окружениях. В общем случае программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задания или реализуют те или иные абстрактные типы данных. Компьютерно-выполняемые инструкции, соответствующие структуры данных и программные модули представляют примеры средств программного кода для выполнения раскрытых здесь этапов способов. Конкретная последовательность таких выполняемых инструкций или соответствующих структур данных представляет примеры соответствующих этапов для реализации функций, описанных на этих этапах.
Специалистам в данной области техники очевидно, что изобретение можно осуществлять на практике в сетевых вычислительных окружениях, содержащих конфигурации компьютерной системы различных типов, включая персональные компьютеры, карманные устройства, многопроцессорные системы, бытовые электронные приборы на основе микропроцессора или с возможностью программирования, сетевые ПК, миникомпьютеры, универсальные компьютеры и пр. Изобретение также можно осуществлять на практике в распределенных вычислительных окружениях, где задания выполняются локальными и удаленными устройствами обработки, которые связаны друг с другом (проводными, беспроводными или комбинированными линиями связи) через сеть связи. В распределенном вычислительном окружении программные модули могут размещаться на локальных и удаленных запоминающих устройствах.
Согласно фиг.8 иллюстративная система для реализации изобретения включает в себя вычислительное устройство общего назначения в форме компьютера 820, включающего в себя процессор 821, который может включать в себя несколько процессоров, как показано, системную память 822 и системную шину 823, которая подключает различные компоненты системы, в том числе системную память 822, к процессору 821. Системная шина 823 может относиться к любому из нескольких типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из различных шинных архитектур. Системная память включает в себя постоянную память (ПЗУ) 824 и оперативную память (ОЗУ) 825. Базовая система ввода-вывода (BIOS) 826, содержащая основные процедуры, которые помогают переносить информацию между элементами в компьютере 820, например, при запуске, может храниться в ПЗУ 824.
Компьютер 820 также может включать в себя накопитель 827 на магнитных жестких дисках для осуществления чтения и записи в отношении магнитного жесткого диска 839, магнитный дисковод 828 для осуществления чтения и записи в отношении сменного магнитного диска 829 и оптический дисковод 830 для осуществления чтения и записи в отношении сменного оптического диска 831, например CD-ROM или другого оптического носителя. Накопитель 827 на магнитных жестких дисках, магнитный дисковод 828 и оптический дисковод 830 подключены к системной шине 823 через интерфейс 832 накопителя на жестких дисках, интерфейс 833 магнитного дисковода и интерфейс 834 оптического дисковода соответственно. Накопители и дисководы и связанные с ними компьютерно-считываемые носители обеспечивают энергонезависимое хранилище компьютерно-выполняемых инструкций, структур данных, программных модулей и других данных для компьютера 820. Хотя в описанной здесь иллюстративной среде применяются магнитный жесткий диск 839, сменный магнитный диск 829 и сменный оптический диск 831, можно использовать другие типы компьютерно-считываемых носителей для хранения данных, включая магнитные кассеты, карты флэш-памяти, цифровые универсальные диски, картриджи Бернулли, ОЗУ, ПЗУ и пр.
Средства программного кода, содержащие один или несколько программных модулей, могут храниться на магнитном жестком диске 839, сменном магнитном диске 829, сменном оптическом диске 831, ПЗУ 824 или ОЗУ 825 и включать в себя операционную систему 835, одну или несколько прикладных программ 836, другие программные модули 837 и программные данные 838. Пользователь может вводить команды и информацию в компьютер 820 через клавиатуру 840, указательное устройство 842 или другие устройства ввода (не показаны), например микрофон, джойстик, игровую панель, спутниковую антенну, сканер и пр. Эти и другие устройства ввода часто подключаются к процессору 821 через интерфейс 846 последовательного порта, подключенный к системной шине 823. Альтернативно, устройства ввода могут подключаться посредством других интерфейсов, например параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 847 или другое устройство отображения также подключен(о) к системной шине 823 через интерфейс, например видеоадаптер 848. Помимо монитора, персональные компьютеры обычно включают в себя другие периферийные устройства вывода (не показаны), например громкоговорители и принтеры.
Компьютер 820 может работать в сетевом окружении с использованием логических соединений к одному или нескольким удаленным компьютерам, например удаленным компьютерам 849a и 849b. Каждый из удаленных компьютеров 849a и 849b может быть другим персональным компьютером, сервером, маршрутизатором, сетевым ПК, одноранговым устройством или другим общим сетевым узлом и обычно включает в себя многие или все из элементов, описанных выше в отношении компьютера 820, хотя на фиг.8 показаны только запоминающие устройства 850a и 850b и связанные с ними прикладные программы 36a и 36b. Логические соединения, изображенные на фиг.8, включают в себя локальную сеть (LAN) 851 и глобальную сеть (WAN) 852, которые представлены здесь в порядке примера, но не ограничения. Такие сетевые окружения широко распространены в компьютерных сетях учреждений и предприятий, интрасетях и в интернете.
При использовании в сетевом окружении LAN, компьютер 820 подключается к локальной сети 851 через сетевой интерфейс или адаптер 853. При использовании в сетевой среде WAN, компьютер 820 может включать в себя модем 854, беспроводную линию связи или другое средство для установления связи по глобальной сети 852, например интернету. Модем 854, который может быть внутренним или внешним, подключен к системной шине 823 через интерфейс 846 последовательного порта. В сетевом окружении, программные модули, указанные в отношении компьютера 820, или их части могут храниться в удаленном запоминающем устройстве. Очевидно, что показанные сетевые соединения являются иллюстративными и что можно использовать другое средство для установления связи по глобальной сети 852.
Варианты осуществления могут включать в себя функции обработки рабочих нагрузок для рассмотренных выше ресурсов. Обработка может осуществляться с использованием вышеописанной политики, зависящей от рабочей нагрузки.
Настоящее изобретение можно реализовать в других конкретных формах, не отходя от его сущности или основных характеристик. Описанные варианты осуществления также рассматриваются во всех отношениях лишь как иллюстративные, но не ограничительные. Таким образом, объем изобретения определяется нижеследующей формулой изобретения, а не вышеприведенным описанием. Все изменения, согласующиеся с формулой изобретения и ее эквивалентами, подлежат включению в ее объем.

Claims (19)

1. Реализуемый в вычислительном окружении способ планирования системных ресурсов, содержащий этапы, на которых
назначают политику планирования системных ресурсов для операций планирования в рабочей нагрузке, причем эта политика задается на основе рабочей нагрузки таким образом, чтобы данная политика зависела от этой рабочей нагрузки, при этом политика содержит основывающуюся на скорости политику, определяющую процентную долю системных ресурсов, которая должна быть выделена для выполнения операций, связанных с основывающейся на скорости политикой; и
реализуют резервирование рабочей нагрузки посредством резервирования системных ресурсов для рабочей нагрузки согласно основывающейся на скорости политике, при этом при реализации резервирования рабочей нагрузки назначают два пороговых параметра мощности для резервирования рабочей нагрузки, включая мягкое требование по мощности и жесткое требование по мощности, причем мягкое требование по мощности определяет мощность системных ресурсов, требующуюся для достижения конкретного уровня рабочих характеристик во время выполнения рабочей нагрузки, а жесткое требование по мощности определяет минимальную мощность системных ресурсов, необходимую для выполнения рабочей нагрузки.
2. Способ по п.1, дополнительно содержащий этап, на котором резервируют, по меньшей мере, часть оставшихся незапланированных системных ресурсов для других рабочих нагрузок с использованием политики планирования системы по умолчанию.
3. Способ по п.1, в котором упомянутая рабочая нагрузка иерархически ниже другой рабочей нагрузки, при этом резервирование системных ресурсов для упомянутой рабочей нагрузки осуществляется согласно как упомянутой политике для рабочей нагрузки, так и политике для упомянутой другой рабочей нагрузки, иерархически более высокой, чем упомянутая рабочая нагрузка.
4. Способ по п.1, дополнительно содержащий этап, на котором выполняют планирование в отношении, по меньшей мере, другой политики, определяющей резервирование ресурсов по мощности или определяющей резервирование ресурсов по предельному сроку.
5. Способ по п.1, в котором системные ресурсы представляют собой по меньшей мере одно из ресурсов процессора, сетевых ресурсов, ресурсов памяти и дисковых ресурсов.
6. Способ по п.1, в котором при резервировании системных ресурсов для рабочей нагрузки согласно политике:
сверяются с планами выполнения для совокупности системных ресурсов, причем каждый системный ресурс из этой совокупности системных ресурсов содержит устройство одного и того же типа; и
на основе этих планов выполнения резервируют системные ресурсы с ориентацией на выравнивание нагрузки рабочих нагрузок в упомянутой совокупности системных ресурсов.
7. Способ по п.1, в котором при резервировании системных ресурсов для рабочей нагрузки согласно политике:
сверяются с планами выполнения для совокупности системных ресурсов, причем каждый системный ресурс из этой совокупности системных ресурсов содержит устройство одного и того же типа; и
на основе этих планов выполнения резервируют системные ресурсы с ориентацией на перемещение рабочих нагрузок от одного устройства к другому устройству.
8. Способ по п.1, в котором при резервировании системных ресурсов для рабочей нагрузки согласно политике:
сверяются с планами выполнения для совокупности системных ресурсов, причем каждый системный ресурс из этой совокупности системных ресурсов содержит устройство одного и того же типа; и
на основе этих планов выполнения резервируют системные ресурсы с ориентацией на применение ограничительных квот.
9. Способ по п.1, дополнительно содержащий этапы, на которых
система управления резервированием пытается удовлетворить мягкому требованию по мощности для резервирования рабочей нагрузки;
системе управления резервированием не удается удовлетворить мягкому требованию по мощности; и
система управления резервированием пытается удовлетворить жесткому требованию по мощности вместо мягкого требования по мощности.
10. Способ по п.9, дополнительно содержащий этапы, на которых
системе управления резервированием не удается удовлетворить жесткому требованию по мощности; и
система управления резервированием воздерживается от исполнения приложения, ассоциированного с рабочей нагрузкой, в качестве реакции на то, что не удалось удовлетворить жесткому требованию по мощности.
11. Реализуемый в вычислительном окружении способ выполнения рабочих нагрузок с использованием системных ресурсов, причем системные ресурсы резервируются для рабочих нагрузок согласно политикам, зависящим от системы, и при этом резервирование используется рабочими нагрузками для применения политик, зависящих от рабочей нагрузки, причем способ содержит этапы, на которых
(a) выбирают основывающуюся на скорости политику для операций планирования в рабочей нагрузке, при этом основывающаяся на скорости политика определяет процентную долю системных ресурсов, которая должна быть выделена для выполнения основывающейся на скорости политики;
(b) используют основывающуюся на скорости политику для назначения резервирования рабочей нагрузки для системных ресурсов и для диспетчеризации рабочей нагрузки в отношении системных ресурсов на основе резервирования рабочей нагрузки, при этом резервирование рабочей нагрузки включает в себя два пороговых параметра мощности, включая мягкое требование по мощности и жесткое требование по мощности, причем мягкое требование по мощности определяет мощность системных ресурсов, требующуюся для достижения конкретного уровня рабочих характеристик во время выполнения рабочей нагрузки, а жесткое требование по мощности определяет минимальную мощность системных ресурсов, необходимую для выполнения рабочей нагрузки;
(c) принимают обратную связь, включающую в себя информацию об использованиях системы при выполнении рабочей нагрузки; и
(d) принимают решения по политикам на основе этой обратной связи для дополнительной диспетчеризации рабочих нагрузок в отношении системных ресурсов.
12. Способ по п.11, дополнительно содержащий этап, на котором повторяют этапы (b)-(d) для выполнения совокупности рабочих нагрузок согласно разным политикам, заданным для рабочих нагрузок.
13. Способ по п.11, в котором системные ресурсы представляют собой по меньшей мере одно из ресурсов процессора, сетевых ресурсов, ресурсов памяти и дисковых ресурсов.
14. Способ по п.11, в котором при использовании политики для диспетчеризации рабочей нагрузки в отношении системного ресурса
принимают на диспетчере, реализованном отдельно от политики, благодаря чему диспетчер действует независимо от любой конкретной политики, информацию из политики, указывающую рабочую нагрузку, подлежащую выполнению системными ресурсами, и
на диспетчере выбирают рабочую нагрузку и предписывают системным ресурсам выполнять рабочую нагрузку.
15. Способ по п.11, в котором при принятии решений по политикам на основе обратной связи для дополнительной диспетчеризации рабочих нагрузок в отношении системного ресурса выбирают новую политику или ту же самую политику на основе упомянутой обратной связи.
16. Реализуемый в вычислительном окружении способ выполнения рабочих нагрузок на системном ресурсе, содержащий этапы, на которых
обращаются к одной или нескольким политикам планирования системного ресурса, причем эти политики предназначены для операций планирования в одной или нескольких рабочих нагрузках, причем упомянутые политики задаются на основе рабочей нагрузки таким образом, чтобы заданная политика зависела от заданной рабочей нагрузки, при этом по меньшей мере одна из этих политик содержит основывающуюся на скорости политику, определяющую процентную долю системных ресурсов, которая должна быть выделена для выполнения этой основывающейся на скорости политики;
составляют план выполнения, который указывает резервирования системного ресурса согласно упомянутым политикам, при этом при составлении плана выполнения добавляют упомянутую основывающуюся на скорости политику в план выполнения, когда определено, что в пределах плана выполнения существует интервал, имеющий достаточную длительность и частоту для удовлетворения требования касающегося заранее заданного интервала упомянутой, основывающейся на скорости политики, при этом каждое из резервирований включает в себя
мягкое требование по мощности, определяющее мощность системных ресурсов, требующуюся для достижения конкретного уровня рабочих характеристик во время выполнения рабочей нагрузки, и
жесткое требование по мощности, определяющее минимальную мощность системных ресурсов, необходимую для выполнения рабочей нагрузки; и
диспетчеризуют рабочие нагрузки на системный ресурс на основе плана выполнения.
17. Способ по п.16, в котором при составлении плана выполнения включают требование, касающееся заранее заданного интервала для выполнения основывающейся на скорости политики и основывающееся на мощности резервирование, которое отличается от основывающегося на скорости резервирования, в один и тот же план выполнения.
18. Способ по п.16, в котором при составлении плана выполнения включают резервирования на основе политик, которые иерархически связаны между собой.
19. Способ по п.16, в котором при диспетчеризации рабочих нагрузок в отношении системного ресурса на основе плана выполнения на диспетчере, реализованном отдельно от политики, благодаря чему диспетчер действует независимо от любой конкретной политики, принимают указание рабочей нагрузки, подлежащей выполнению системными ресурсами, и на диспетчере выбирают рабочую нагрузку и предписывают системным ресурсам выполнять рабочую нагрузку.
RU2010114243/08A 2007-10-11 2008-10-07 Иерархическая инфраструктура планирования резервирования ресурсов RU2481618C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/870,981 2007-10-11
US11/870,981 US20090100435A1 (en) 2007-10-11 2007-10-11 Hierarchical reservation resource scheduling infrastructure
PCT/US2008/079117 WO2009048892A2 (en) 2007-10-11 2008-10-07 Hierarchical reservation resource scheduling infrastructure

Publications (2)

Publication Number Publication Date
RU2010114243A RU2010114243A (ru) 2011-10-20
RU2481618C2 true RU2481618C2 (ru) 2013-05-10

Family

ID=40535458

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2010114243/08A RU2481618C2 (ru) 2007-10-11 2008-10-07 Иерархическая инфраструктура планирования резервирования ресурсов

Country Status (7)

Country Link
US (1) US20090100435A1 (ru)
EP (1) EP2201726A4 (ru)
JP (1) JP5452496B2 (ru)
CN (1) CN101821997B (ru)
BR (1) BRPI0816754A2 (ru)
RU (1) RU2481618C2 (ru)
WO (1) WO2009048892A2 (ru)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2666475C1 (ru) * 2014-11-11 2018-09-07 Амазон Текнолоджис, Инк. Система управления и диспетчеризации контейнеров
US10135837B2 (en) 2016-05-17 2018-11-20 Amazon Technologies, Inc. Versatile autoscaling for containers
RU2678652C1 (ru) * 2015-04-10 2019-01-30 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство отправки данных
RU2681409C1 (ru) * 2015-02-04 2019-03-06 Хуавей Текнолоджиз Ко., Лтд. Система и способ синхронизации памяти в многоядерной системе
US10412022B1 (en) 2016-10-19 2019-09-10 Amazon Technologies, Inc. On-premises scaling using a versatile scaling service and an application programming interface management service
US10409642B1 (en) 2016-11-22 2019-09-10 Amazon Technologies, Inc. Customer resource monitoring for versatile scaling service scaling policy recommendations
US10725775B2 (en) 2015-12-18 2020-07-28 Amazon Technologies, Inc. Software container registry service
US11669365B1 (en) 2019-08-26 2023-06-06 Amazon Technologies, Inc. Task pool for managed compute instances

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8255917B2 (en) * 2008-04-21 2012-08-28 Hewlett-Packard Development Company, L.P. Auto-configuring workload management system
US8249904B1 (en) * 2008-12-12 2012-08-21 Amazon Technologies, Inc. Managing use of program execution capacity
US8271818B2 (en) * 2009-04-30 2012-09-18 Hewlett-Packard Development Company, L.P. Managing under-utilized resources in a computer
US8578026B2 (en) * 2009-06-22 2013-11-05 Citrix Systems, Inc. Systems and methods for handling limit parameters for a multi-core system
US8799037B2 (en) 2010-10-14 2014-08-05 Palto Alto Research Center Incorporated Computer-implemented system and method for managing motor vehicle parking reservations
US8635624B2 (en) * 2010-10-21 2014-01-21 HCL America, Inc. Resource management using environments
US8984519B2 (en) * 2010-11-17 2015-03-17 Nec Laboratories America, Inc. Scheduler and resource manager for coprocessor-based heterogeneous clusters
US8977677B2 (en) 2010-12-01 2015-03-10 Microsoft Technology Licensing, Llc Throttling usage of resources
WO2012093498A1 (en) * 2011-01-07 2012-07-12 Nec Corporation Energy-efficient resource management system and method for heterogeneous multicore processors
CN103559080B (zh) * 2011-02-14 2017-04-12 微软技术许可有限责任公司 移动设备上的后台应用代码的受约束执行
US20120260259A1 (en) * 2011-04-06 2012-10-11 Microsoft Corporation Resource consumption with enhanced requirement-capability definitions
US9329901B2 (en) 2011-12-09 2016-05-03 Microsoft Technology Licensing, Llc Resource health based scheduling of workload tasks
US9305274B2 (en) 2012-01-16 2016-04-05 Microsoft Technology Licensing, Llc Traffic shaping based on request resource usage
GB2499237A (en) * 2012-02-10 2013-08-14 Ibm Managing a network connection for use by a plurality of application program processes
EP2875440A4 (en) 2012-07-20 2016-05-25 Hewlett Packard Development Co POLICY-BASED SCALING OF NETWORK RESOURCES
US9043788B2 (en) * 2012-08-10 2015-05-26 Concurix Corporation Experiment manager for manycore systems
US8966462B2 (en) 2012-08-10 2015-02-24 Concurix Corporation Memory management parameters derived from system modeling
US9122524B2 (en) 2013-01-08 2015-09-01 Microsoft Technology Licensing, Llc Identifying and throttling tasks based on task interactivity
US9087453B2 (en) * 2013-03-01 2015-07-21 Palo Alto Research Center Incorporated Computer-implemented system and method for spontaneously identifying and directing users to available parking spaces
US20130219372A1 (en) 2013-03-15 2013-08-22 Concurix Corporation Runtime Settings Derived from Relationships Identified in Tracer Data
US9262220B2 (en) 2013-11-15 2016-02-16 International Business Machines Corporation Scheduling workloads and making provision decisions of computer resources in a computing environment
US9569271B2 (en) * 2015-02-03 2017-02-14 Dell Products L.P. Optimization of proprietary workloads
US9678798B2 (en) * 2015-02-03 2017-06-13 Dell Products L.P. Dynamically controlled workload execution
US9684540B2 (en) * 2015-02-03 2017-06-20 Dell Products L.P. Dynamically controlled workload execution by an application
US9575811B2 (en) 2015-02-03 2017-02-21 Dell Products L.P. Dynamically controlled distributed workload execution
US9747121B2 (en) 2015-04-14 2017-08-29 Dell Products L.P. Performance optimization of workloads in virtualized information handling systems
KR101789288B1 (ko) * 2015-12-24 2017-10-24 고려대학교 산학협력단 계층적 실시간 스케줄링 시스템의 정형 검증 장치 및 방법
US11503136B2 (en) * 2016-11-30 2022-11-15 Microsoft Technology Licensing, Llc Data migration reservation system and method
US10496331B2 (en) 2017-12-04 2019-12-03 Vmware, Inc. Hierarchical resource tree memory operations
CN110601999B (zh) * 2018-06-12 2022-03-04 华为技术有限公司 资源预留的方法与装置
US10855532B2 (en) 2018-10-08 2020-12-01 Dell Products L.P. System and method to perform solution aware server compliance and configuration
JP7359177B2 (ja) * 2021-03-05 2023-10-11 株式会社リコー リソース管理装置、リソース管理システム、プログラムおよびリソース管理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414845A (en) * 1992-06-26 1995-05-09 International Business Machines Corporation Network-based computer system with improved network scheduling system
US6341303B1 (en) * 1998-08-28 2002-01-22 Oracle Corporation System and method for scheduling a resource according to a preconfigured plan
US6857020B1 (en) * 2000-11-20 2005-02-15 International Business Machines Corporation Apparatus, system, and method for managing quality-of-service-assured e-business service systems
US7058947B1 (en) * 2000-05-02 2006-06-06 Microsoft Corporation Resource manager architecture utilizing a policy manager
RU2286595C2 (ru) * 2000-11-24 2006-10-27 Катарон Продакшнз, Инк. Реализация компьютерной многозадачности через виртуальную организацию поточной обработки

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05173989A (ja) * 1991-12-24 1993-07-13 Kawasaki Steel Corp 計算機及びマルチプロセッサ計算装置
US6003061A (en) * 1995-12-07 1999-12-14 Microsoft Corporation Method and system for scheduling the use of a computer system resource using a resource planner and a resource provider
US6385638B1 (en) * 1997-09-04 2002-05-07 Equator Technologies, Inc. Processor resource distributor and method
EP1037147A1 (en) * 1999-03-15 2000-09-20 BRITISH TELECOMMUNICATIONS public limited company Resource scheduling
GB2354350B (en) * 1999-09-17 2004-03-24 Mitel Corp Policy representations and mechanisms for the control of software
US7137119B1 (en) * 2000-05-02 2006-11-14 Microsoft Corporation Resource manager architecture with resource allocation utilizing priority-based preemption
US7111297B1 (en) * 2000-05-02 2006-09-19 Microsoft Corporation Methods and architectures for resource management
US7249179B1 (en) * 2000-11-09 2007-07-24 Hewlett-Packard Development Company, L.P. System for automatically activating reserve hardware component based on hierarchical resource deployment scheme or rate of resource consumption
US6895585B2 (en) * 2001-03-30 2005-05-17 Hewlett-Packard Development Company, L.P. Method of mixed workload high performance scheduling
US6785756B2 (en) * 2001-05-10 2004-08-31 Oracle International Corporation Methods and systems for multi-policy resource scheduling
US7072958B2 (en) * 2001-07-30 2006-07-04 Intel Corporation Identifying network management policies
US20030061260A1 (en) * 2001-09-25 2003-03-27 Timesys Corporation Resource reservation and priority management
US7266823B2 (en) * 2002-02-21 2007-09-04 International Business Machines Corporation Apparatus and method of dynamically repartitioning a computer system in response to partition workloads
US7254813B2 (en) * 2002-03-21 2007-08-07 Network Appliance, Inc. Method and apparatus for resource allocation in a raid system
JP3951949B2 (ja) * 2003-03-31 2007-08-01 日本電気株式会社 分散型資源管理システムおよび分散型資源管理方法並びにプログラム
DE10333539A1 (de) * 2003-07-23 2005-02-24 Zimmer Ag Verfahren zur Reinigung von Caprolactam aus Polyamidhaltigen Abfällen mittels UV-Bestrahlung
US20050028160A1 (en) * 2003-08-01 2005-02-03 Honeywell International Inc. Adaptive scheduler for anytime tasks
US7984108B2 (en) * 2003-10-08 2011-07-19 Unisys Corporation Computer system para-virtualization using a hypervisor that is implemented in a partition of the host system
US20050149940A1 (en) * 2003-12-31 2005-07-07 Sychron Inc. System Providing Methodology for Policy-Based Resource Allocation
US7430741B2 (en) * 2004-01-20 2008-09-30 International Business Machines Corporation Application-aware system that dynamically partitions and allocates resources on demand
US7810098B2 (en) * 2004-03-31 2010-10-05 International Business Machines Corporation Allocating resources across multiple nodes in a hierarchical data processing system according to a decentralized policy
US7861246B2 (en) * 2004-06-17 2010-12-28 Platform Computing Corporation Job-centric scheduling in a grid environment
US7681242B2 (en) * 2004-08-26 2010-03-16 Novell, Inc. Allocation of network resources

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414845A (en) * 1992-06-26 1995-05-09 International Business Machines Corporation Network-based computer system with improved network scheduling system
US6341303B1 (en) * 1998-08-28 2002-01-22 Oracle Corporation System and method for scheduling a resource according to a preconfigured plan
US7058947B1 (en) * 2000-05-02 2006-06-06 Microsoft Corporation Resource manager architecture utilizing a policy manager
US6857020B1 (en) * 2000-11-20 2005-02-15 International Business Machines Corporation Apparatus, system, and method for managing quality-of-service-assured e-business service systems
RU2286595C2 (ru) * 2000-11-24 2006-10-27 Катарон Продакшнз, Инк. Реализация компьютерной многозадачности через виртуальную организацию поточной обработки

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2666475C1 (ru) * 2014-11-11 2018-09-07 Амазон Текнолоджис, Инк. Система управления и диспетчеризации контейнеров
US11669362B2 (en) 2014-11-11 2023-06-06 Amazon Technologies, Inc. System for managing and scheduling containers
US11314541B2 (en) 2014-11-11 2022-04-26 Amazon Technologies, Inc. System for managing and scheduling containers
US10838756B2 (en) 2014-11-11 2020-11-17 Amazon Technologies, Inc. System for managing and scheduling containers
RU2681409C1 (ru) * 2015-02-04 2019-03-06 Хуавей Текнолоджиз Ко., Лтд. Система и способ синхронизации памяти в многоядерной системе
US10452686B2 (en) 2015-02-04 2019-10-22 Huawei Technologies Co., Ltd. System and method for memory synchronization of a multi-core system
RU2678652C1 (ru) * 2015-04-10 2019-01-30 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство отправки данных
US11134525B2 (en) 2015-04-10 2021-09-28 Huawei Technologies Co., Ltd. Data sending method and device
US10725775B2 (en) 2015-12-18 2020-07-28 Amazon Technologies, Inc. Software container registry service
US11487530B2 (en) 2015-12-18 2022-11-01 Amazon Technologies, Inc. Software container registry service
US11789723B2 (en) 2015-12-18 2023-10-17 Amazon Technologies, Inc. Software container registry service
US10979436B2 (en) 2016-05-17 2021-04-13 Amazon Technologies, Inc. Versatile autoscaling for containers
US10397240B2 (en) 2016-05-17 2019-08-27 Amazon Technologies, Inc. Versatile autoscaling for containers
US10135837B2 (en) 2016-05-17 2018-11-20 Amazon Technologies, Inc. Versatile autoscaling for containers
US10412022B1 (en) 2016-10-19 2019-09-10 Amazon Technologies, Inc. On-premises scaling using a versatile scaling service and an application programming interface management service
US10409642B1 (en) 2016-11-22 2019-09-10 Amazon Technologies, Inc. Customer resource monitoring for versatile scaling service scaling policy recommendations
US11347549B2 (en) 2016-11-22 2022-05-31 Amazon Technologies, Inc. Customer resource monitoring for versatile scaling service scaling policy recommendations
US11669365B1 (en) 2019-08-26 2023-06-06 Amazon Technologies, Inc. Task pool for managed compute instances

Also Published As

Publication number Publication date
JP2011501268A (ja) 2011-01-06
WO2009048892A3 (en) 2009-06-11
RU2010114243A (ru) 2011-10-20
CN101821997B (zh) 2013-08-28
EP2201726A2 (en) 2010-06-30
JP5452496B2 (ja) 2014-03-26
US20090100435A1 (en) 2009-04-16
CN101821997A (zh) 2010-09-01
EP2201726A4 (en) 2011-11-23
BRPI0816754A2 (pt) 2015-03-17
WO2009048892A2 (en) 2009-04-16

Similar Documents

Publication Publication Date Title
RU2481618C2 (ru) Иерархическая инфраструктура планирования резервирования ресурсов
US20220222119A1 (en) System and Method for a Self-Optimizing Reservation in Time of Compute Resources
US9886322B2 (en) System and method for providing advanced reservations in a compute environment
Tumanov et al. TetriSched: global rescheduling with adaptive plan-ahead in dynamic heterogeneous clusters
US9298514B2 (en) System and method for enforcing future policies in a compute environment
US9021490B2 (en) Optimizing allocation of computer resources by tracking job status and resource availability profiles
Hashem et al. MapReduce scheduling algorithms: a review
JP2005534116A (ja) 複数の消費者をもつコンピュータシステムで資源を動的に割当てて管理する方法
Karanasos et al. Advancements in YARN Resource Manager.
Bittencourt et al. Resource management and scheduling
Walters et al. Enabling interactive jobs in virtualized data centers
HoseinyFarahabady et al. Enhancing disk input output performance in consolidated virtualized cloud platforms using a randomized approximation scheme
Postoaca et al. h-Fair: asymptotic scheduling of heavy workloads in heterogeneous data centers
Spišaková et al. Using Kubernetes in Academic Environment: Problems and Approaches
Yang et al. New YARN Non-Exclusive Resource Management Scheme through Opportunistic Idle Resource Assignment
Ramesh et al. Heuristic and fair-queuing based VM load balancing strategy for cloud data centers: A hybrid approach
Zhou Real-Time SOA Using Flexible Advance Reservation
Zhou et al. A flexible service reservation scheme for real-time soa
Gayathri et al. An Efficient Performance and Monetary Cost Optimization on Resource Allocation in Cloud
Singh et al. Efficient Topology based Load balancing for Cloud Infrastructures
Reddy et al. Optimizing Grid Scheduling Based on Local Cluster Scheduling Policies and Resource Availability.

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150526

MM4A The patent is invalid due to non-payment of fees

Effective date: 20171008