Модели, методы и алгоритмы распределения ресурсов виртуализованных вычислительных кластеров
Диссертация
Приводятся результаты решения трех различных задач планирования ресурсов виртуализованного кластера, развертываемого в ходе миграции, полученные с помощью программы ШЭ-са1си1а1-ог. Показано, что колличество используемых серверов в зависимости от задачи может быть снижено после перехода на технологию виртуализации в среднем на 40%. Разработаны математические модели и алгоритмы распределения… Читать ещё >
Содержание
- Глава 1. Обзор методов оптимизации и формулировка задачи исследований
- 1. 1. Обзор существующих технологий виртуализации серверной и коммуникационной инфраструктуры
- 1. 2. Обзор моделей распределения ресурсов для решения задач планирования
- Выводы по 1 главе
- Глава 2. Математические модели оптимизации загрузки серверов
- 2. 1. Модели статического распределения серверов
- 2. 2. Взаимосвязь загрузки серверов с их надежностными показателями'
- 2. 3. Зависимость работы электронных средств от температуры
- 2. 4. Математические модели тепловых процессов электро-радиоизделий
- 2. 5. Оценка вычислительной сложности задачи распределения серверов
- 2. 6. Оценка значения глобального экстремума оптимизируемой функции загрузки серверов
- Выводы по 2 главе
- Глава 3. Реализация метода оптимизации загрузки серверов
- 3. 1. Алгоритмы распределения ресурсов
- 3. 2. Алгоритм распределения ресурсов виртуализованного кластера
- 3. 3. Оценка производительности аппаратной и программной частей системы
- Выводы по 3 главе
- Глава 4. Экспериментальные исследования и внедрение разработанных методов оптимизации загрузки серверов
- 4. 1. Тестовая задача № 1
- 4. 2. Тестовая задача №
- 4. 3. Задача №
- Выводы по 4 главе
Список литературы
- Борисов В. Ф., Лавренов О. П., Конструирование радиоэлектронных средств. М.: Издательство МАИ, 1996
- Варфоломеев В. А., Лецкий Э. К., Архитектура и технологии IBM eServer zSeries. М.: Интернет-университет информационных технологий, 2005
- Васин Н. Н., Основы сетевых технологий на базе коммутаторов и маршрутизаторов. М.: Бином, 2011
- Гольдин В. В., Журавский В. Г., Исследование тепловых характеристик РЭС средствами математического моделирования. М.: «Радио и связь», 2003
- Гольдин В. В., Козловский А. Л., Алгоритм решения задачи загрузки виртуализованного кластера. // Оборонная техника. Выпуск 6, 7. М., 2011
- Гольдин В. В., Козловский А. Л., Математические модели планирования ресурсов вычислительных кластеров. // Материалы научно-практической конференции «Инфо-2010″. М., 2010
- Гольдин В. В., Козловский А. Л., Оптимизация распределения ресурсов кластеризованной вычислительной автоматизированной системы управления с учетом надежности ее функционирования. // Оборонная техника. Выпуск 6, 7. М., 2011
- Грин Д., Математические методы анализа алгоритмов. М.: Мир, 1987
- Гультяев А. К., Виртуальные машины. Несколько компьютеров в одном. -СПб.: Питер, 2006
- Гэри М., Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982
- Жаднов В. В., Сарафанов А. В. Управление качеством при проектировании теплонагруженных радиоэлектронных средств. М.: „Солон-Пресс“, 2004
- Заводны Д., Шварц Б., MySQL. Оптимизация производительности. М.: Символ-Плюс, 2010
- Залещанский Б. Д., Чернихов Д. Я. Кластерная технология и живучесть глобальных автоматизированных систем. М.: Финансы и статистика, 2005
- Зорич В. А., Математический анализ. М.: Наука, 1981
- Кириенко Д. П., Динамическое программирование. Московские учебно-тренировочные сборы по информатике. М.: МЦНМО, 2007
- Козловский A. JL, Методы распределения вычислительных ресурсов виртуализованного кластера. // Труды 19-ой Международной научно-технической конференции „Современное телевидение и радиоэлектроника“. М., 2011
- Козловский А. Л., Программа распределения ресурсов виртуализованного кластера. Свидетельство об официальной регистрации программы для ЭВМ № 2 011 617 318 от 20 сентября 2011 г.
- Козловский А. Л., Эффективный алгоритм решения модифицированной задачи о рюкзаке. // Материалы научно-практической конференции „Инфо-2011″. М., 2011
- Кормен Т., Лейзерсон Ч., Алгоритмы: построение и анализ. М.: Вильяме, 2005
- Кофанов Ю. Н., Увайсов С. У., Моделирование тепловых процессов при проектировании, испытаниях и контроле качества радиоэлектронных средств. М.: МИЭМ, 1998
- Кудинов А. Н., Сорокин М. К., CRM. Российская практика эффективного бизнеса. -М.: 1С-Паблишинг, 2009
- Кушнир А. Н., Сборка сервера. Руководство администратора. М.: Эксмо, 2007
- Ларсон Р., Карбон Ж., Платформа виртуализации Hyper-V. Ресурсы Windows Server 2008. М.: Русская Редакция, 2010
- Левин М. III., Сафонов А. В., Эвристический алгоритм для многокритериальной блочной задачи о рюкзаке. / Искусственный интеллект и принятие решений. М.: 2009 — № 4
- Лежнев А. В., Динамическое программирование в экономических задачах. -М: Бином, 2010
- Лоу С., VMware vSphere 4. Полное руководство. М.: Диалектика, 2010
- Менаске Д., Алмейда В., Производительность Web-служб. Анализ, оценка и планирование. М.: ДиаСофтЮП, 2003
- Мюллер С., Соупер М., Модернизация и ремонт серверов. М.: Вильяме, 2009
- Осипов Д. Н., Delphi. Профессиональное программирование. СПб, Символ-Плюс, 2006
- Пападимитриу X., Комбинаторная оптимизация. Алгоритмы и сложность. -М.: Мир, 1985
- Питеркин С. В., Оладов Н. А., Точно вовремя для России. Практика применения ERP-систем. М.: Альпина Паблишер, 2010
- Польман Н., Кразерс Т., Архитектура брандмауэров для сетей предприятия. М.: Вильяме, 2003
- Рахман П. А., Концептуальный подход к повышению эффективности использования вычислительных ресурсов корпоративных сетей при применении технологии виртуальных машин / Объединенный научный журнал. М.: Тезарус, 2005. — № 2.
- Рачинский Е. С., Анализ производительности распределенных информационных систем. СПб.: 2010
- Резников Г. В., Расчет и конструирование систем охлаждения ЭВМ. М.: Радио и связь, 1988
- Речистов Г. С., Моделирование и оптимизация алгоритмов работы кэшей. М.: Lambert Academic Publishing, 2009
- Риз Д., Облачные вычисления. СПб.: БХВ-Петербург, 2011
- Росляков А. В., Виртуальные частные сети. Основы построения и применения. М.: Эко-Трендз, 2006
- Сафонов В. О., Основы современных операционных систем. М.: Бином, 2011
- Стахнов А. А., Linux. СПб.: БХВ-Петербург, 2011
- Стоян Ю. Г., Математические модели и оптимизационные методы геометрического проектирования. Киев: Наукова думка, 1986
- Топорков В. В., Модели распределенных вычислений. М.: Физматлит, 2004
- Федухин А. В., Ускоренная оценка надежности типовых функциональных блоков средств вычислительной техники. / Математические машины и системы. -М.: 1998 № 1.
- Фингар П., Dot. Cloud: облачные вычисления бизнес-платформа XXI века. — М.: Аквамариновая Книга, 2011
- Фихтенгольц Г. М., Основы математического анализа, т.2. М.: Наука, 1968
- Хедли Дж., Нелинейное и динамическое программирование. М.: Мир, 1967
- Хританков А. С., Оценка производительности распределенных вычислительных комплексов на основе модели эталонных систем. М.: 2010
- Чекмарев А. Н., Windows Server 2008. Настольная книга администратора. -СПб.: БХВ-Петербург, 2009
- Шень А., Программирование: теоремы и задачи. М.: МЦНМО, 2004.
- Шуремов Е. Л., Чистов Д. В., Информационные системы управления предприятиями. М.: Бухгалтерский учет, 2006
- Юдин Д. Б., Задачи и методы стохастического программирования. М.: Сов. Радио, 1979
- Amdahl G. M., Validity of the single processor approach to achieving large scale computing capabilities /Proc. AFIPS Conference. vol. 30, April 1967.
- American Society of Heating, Refrigerating and Air-Conditioning Engineers, Материалы официального Интернет сайта http://www.ashrae.org/
- Barrett D., Kipper G., Virtualization and Forensics: A Digital Forensic Investigator’s Guide to Virtual Environments. Burlington: Syngress, 2010
- Buttazzo G. C., Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. New York: Springer, 2005
- Frahim J., Santos O., Cisco ASA: All-in-One Firewall, IPS, Anti-X, and VPN Adaptive Security Appliance. Indiana: Cisco Press, 2010
- Golze A., Sarbiewski M., Optimize Quality for Business Outcomes: A Practical Approach to Software Testing. Indiana: Wiley, 2008
- Goralski W. J., Juniper and Cisco Routing: Policy and Protocols for Multivendor Networks. Indiana: Wiley, 2002
- Haletky E., VMware ESX and ESXi in the Enterprise: Planning Deployment of Virtualization Servers. Boston: Prentice Hall, 2011
- Hess K., Newman A., Practical Virtualization Solutions. Boston: Prentice Hall, 2010
- Hewlett-Packard Corporation, Материалы официального Интернет сайта http://www.hp.com
- Kelbley J., Sterling M., Windows Server 2008 Hyper-V: Insiders Guide to Microsoft’s Hypervisor. Indiana: Wiley, 2011
- Kim J. H., Green IT: Technologies and Applications. Berlin: Springer, 2011
- Liu A. X., Firewall Design and Analysis. Singapore: World Scientific Publishing Company, 2010
- Microsoft Corporation, Материалы официального Интернет сайта http://www.microsoft.com
- Morro С. G., Performance factors of RAID systems. Munchen: Lambert Academic Publishing, 2010
- Pinheiro E., Failure Trends in a Large Disk Drive Population. / 5th USENIX Conference on File and Storage Technologies, 2007
- Poniatowski M., Foundation of Green IT. Boston: Prentice Hall, 2009
- Roebuck K., Virtualization technology. New York: Emereo Pty Ltd, 2011
- Sathaye A., Ramani S., Availability Models in Practice. 2006
- Standard Performance Evaluation Corporation, Материалы официального Интернет сайта http://www.spec.org
- Symantec Corporation, Опрос по виртуализации и эволюции в сторону облаков. 2011
- Tadros L., Trefethen S., TestComplete Made Easy. California: Falafel Software Inc, 2011
- VMware, Inc, Материалы официального Интернет сайта http://www.wmware.com
- Wolf С., Halter Е. М., Virtualization: From Desktop to the Enterprise. New York: A-Press, 2005
- Yan Y., Zhang X., An Effective Performance Prediction Model for Parallel Computing on Non-dedicated Heterogeneous Networks of Workstations / Parallel and Distributed Computing. 1996. — vol. 38
- Текст исходного кода программы RD-calculator1. Unit Matrixbyte-interfacetype
- MatrixPtr = AMatrixRec- MatrixRec = record MatrixRow: integer- MatrixCol: integer- MatrixArray: pointer- end-
- MatrixElement = longint- PMatrixElement = AMatrixElement- (* DDV Функция сохраняет матрицу в текстовый файл *) function SaveMatrix (MPtr: MatrixPtr- namefile: string): string-
- DDV Функция загружает матрицу из текстового файла *) function LoadMatrix (Var MPtr: MatrixPtr- namefile: string): boolean-
- Функция возвращает целочисленную степень *) function IntPower (X, n: integer): integer-
- Функция создает квадратную матрицу *) function CreateSquareMatrix (Size: integer): MatrixPtr-
- Функция создает прямоугольную матрицу *) function CreateMatrix (Row, Col: integer): MatrixPtr-
- Функция дублирует матрицу *)function CloneMatrix (MPtr: MatrixPtr): MatrixPtr-
- Функция удаляет матрицу и возвращает TRUE в случае удачи *) function DeleteMatrix (var MPtr: MatrixPtr): boolean-
- Функция заполняет матрицу указанным числом *)function FillMatrix (MPtr: MatrixPtr-Value: MatrixElement): boolean-
- Функция удаляет матрицу MPtrl и присваивает ей значение MPtr2 *) function AssignMatrix (var MPtrl: MatrixPtr-MPtr2: MatrixPtr): MatrixPtr-
- Функция отображает матрицу на консоль *)function DisplayMatrix (MPtr: MatrixPtr-Int, Frac: integer): boolean-
- Функция возвращает TRUE, если матрица lxl *) function IsSingleMatrix (MPtr: MatrixPtr): boolean-
- Функция возвращает TRUE, если матрица квадратная *) function IsSquareMatrix (MPtr: MatrixPtr): boolean-
- Функция возвращает количество строк матрицы *) function GetMatrixRow (MPtr: MatrixPtr): integer-
- Функция возвращает количество столбцов матрицы *) function GetMatrixCol (MPtr: MatrixPtr): integer-
- Процедура устанавливает элемент матрицы *)procedure SetMatrixElement (MPtr: MatrixPtr-Row, Col: integer-Value: MatrixElement) —
- Функция возвращает элемент матрицы *)function GetMatrixElement (MPtr: MatrixPtr-Row, Col: integer): MatrixElement-
- Процедура устанавливает элемент матрицы. Нумерация строк и столбцов с нуля *)procedure SetMatrixElementO (MPtr: MatrixPtr-Row, Col: integer-Value: MatrixElement) —
- Функция заменяет строку (столбец) матрицы вектором *)function SetVectorIntoMatrix (MPtr, VPtr: MatrixPtr-Pos: integer): MatrixPtr-
- Функция транспонирует матрицу *)function TransponeMatrix (MPtr: MatrixPtr): MatrixPtr-
- Функция умножает матрицу на число *)function MultipleMatrixOnNumber (MPtr: MatrixPtr-Number: MatrixElement): MatrixPtr-
- Функция умножает матрицу на матрицу *)function MultipleMatrixOnMatrix (MPtr 1, MPtr2: MatrixPtr): MatrixPtr- (* Функция суммирует две матрицы *)function AddMatrixOnMatrix (MPtrl, MPtr2: MatrixPtr): MatrixPtr-
- Функция вычитает из первой матрицы вторую *)function SubMatrixOnMatrix (MPtr 1, MPtr2: MatrixPtr): MatrixPtr-
- Функция выделяет из матрицы подматрицу: начСтрока, начСтлб, числоСтрок, числоСтлб *)function GetSubMatrix (MPtrl: MatrixPtr- RowStart, ColStart, RowCount, ColCount: integer): MatrixPtr-
- Функция выделяет из матрицы подматрицу: начСтрока, начСтлб, последняяСтрока, последнийСтлб *)function GetSubMatrixRange (MPtrl: MatrixPtr-RowStart, ColStart, RowEnd, ColEnd integer): MatrixPtr-
- Функция вставляет в матрицу подматрицу, замещая элементы матрицы MPtrlэлементами матрицы MPtr2: начСтрока, начСтлб *) function InsertSubMatrix (MPtrl, SubMPtr2: MatrixPtr-RowStart, ColStart: integer): Boolean-
- AssignFile (F, namefile) — Rewrite (F) — except
- Showmessage (^aM '+namefile+' не создан') — SaveMatrix:=" — exit- end- trywriteln (F, MatrixRo w) — writeln (F, MatrixCol) — for i:= 1 to MatrixRow do for j:= 1 to MatrixCol do writeln (F, GetMatrixElement (MPtr, i, j)) — finally CloseFile (F) — end- end-
- SaveMatrix := namefile- end- end-
- DDV Функция загружает матрицу из текстового файла *) function LoadMatrix (var MPtr: MatrixPtr- namefile: string): boolean- var
- TempPtr: MatrixPtr- i j: integer- F: TextFile-
- NewRow, NewCol: integer- TempElement: MatrixElement-begin try
- AssignFile (F, namefile) — Reset (F) — except
- Showmessage (, фaйл '+namefile+' не считан!') — LoadMatrix:= False-exit- end- try
- Readln (F, Ne wRo w) — Readln (F, NewCol) —
- Функция возвращает целочисленную степень *)function IntPower (X, n: integer): integer-var1. Res, i: integer-beginif n < 1 then IntPower:= 0 else begin Res:= X-for i:=l to n-1 do Res:= Res*X- IntPower:= Res- end- end-
- Функция создает квадратную матрицу *) function CreateSquareMatrix (Size: integer): MatrixPtr- var
- TempPtr: MatrixPtr- begin TempPtr:= nil-
- GetMem (TempPtr, SizeOf (MatrixRec)) — if TempPtr = nil then begin CreateSquareMatrix:= nil- Exit- end-with TempPtrA do begin MatrixRow:= Size- MatrixCol:= Size- MatrixArray:= nil-
- GetMem (Matrix Array, S ize * S ize * S izeOf (MatrixElement)) — if MatrixArray = nil then begin FreeMem (TempPtr, S izeOf (MatrixRec)) —
- CreateSquareMatrix:= nil- Exit- end- end-
- Fi HMatrix (TempPtr, 0) — CreateSquareMatrix:= TempPtr- end-
- Функция создает прямоугольную матрицу *) function CreateMatrix (Row, Col: integer): MatrixPtr- var
- TempPtr: MatrixPtr- begin TempPtr:= nil-
- GetMem (TempPtr, SizeOf (MatrixRec)) — if TempPtr = nil then begin CreateMatrix:= nil- Exit- end-with TempPtrA do begin MatrixRow:= Row- MatrixCol:= Col- MatrixArray:= nil-
- GetMem (MatrixArray, Ro w* Col * S izeOf (MatrixElement)) — if MatrixArray = nil then begin FreeMem (TempPtr, S izeOf (MatrixRec)) — CreateMatrix:= nil- Exit-end- end-
- FillMatrix (TempPtr, 0) — CreateMatrix:^ TempPtr- end-
- Функция удаляет матрицу и возвращает TRUE в случае удачи *)function DeleteMatrix (var MPtr: MatrixPtr): boolean-beginif MPtr = nil then DeleteMatrix:= FALSE else with MPtrA do begin if MatrixArray <> nil then
- FreeMem (MatrixArray, MatrixRow*MatrixCol*SizeOf (MatrixElement)) — FreeMem (MPtr, S izeOf (MatrixRec)) — MPtr:= nil-
- DeleteMatrix:= TRUE- end- end-
- Функция дублирует матрицу *)function CloneMatrix (MPtr: MatrixPtr): MatrixPtr-var
- TempPtr: MatrixPtr- i, j: integer- beginif MPtr = nil then CloneMatrix:= nil else with MPtrA do begin
- Функция удаляет матрицу MPtrl и присваивает ей значение MPtr2 *) function AssignMatrix (var MPtrl: MatrixPtr-MPtr2: MatrixPtr): MatrixPtr-begin
- DeleteMatrix (MPtr 1) — MPtrl := MPtr2- AssignMatrix:= MPtrl- end-
- DisplayMatrix:= TRUE- end- end-
- Функция возвращает TRUE, если матрица lxl *) function IsSingleMatrix (MPtr: MatrixPtr): boolean- beginif MPtr о nil then with MPtrA do begin if (MatrixRow = 1) and (MatrixCol = 1) then
- SingleMatrix:= TRUE else IsSingleMatrix:= FALSE- end else IsSingleMatrix:= FALSE- end-
- Функция возвращает количество строк матрицы *) function GetMatrixRow (MPtr: MatrixPtr): integer- beginif MPtr <> nil then GetMatrixRow:= MPtrA. MatrixRow else GetMatrixRow:= 0- end-
- Функция возвращает количество столбцов матрицы * function GetMatrixCol (MPtr: MatrixPtr): integer- beginif MPtr о nil then GetMatrixCol:= MPtrA. MatrixCol else GetMatrixCol:= 0- end-
- Процедура устанавливает элемент матрицы *)procedure SetMatrixElement (MPtr: MatrixPtr-Row, Col: integer-Value :1. MatrixElement)-var
- TempPtr: AMatrixElement- begin if MPtr <> nil then if (Row <> 0) or (Col <> 0) then with MPtrA do begin pointer (TempPtr) := pointer (Matrix Array) — Inc (TempPtr, MatrixRow* (Col-1)+Row-1) — TempPtrA:= Value- end- end-
- Функция возвращает элемент матрицы *)function GetMatrixElement (MPtr: MatrixPtr-Row, Col: integer): MatrixElement- var
- Процедура устанавливает элемент матрицы. Нумерация строк и столбцов с нуля *)procedure SetMatrixElementO (MPtr: MatrixPtr-Row, Col: integer-Value :1. MatrixElement)-begin
- SetMatrixElement (MPtr, Row+1, Col+1,Value) — end-
- DDV Функция возвращает элемент матрицы. Нумерация строк и столбцов с нуля*)function GetMatrixElementO (MPtr: MatrixPtr-Row, Col: integer): MatrixElement- begin
- GetMatrixElementO := GetMatrixElement (MPtr, Row+l, CoH-l) — end-
- Функция исключает векторы из матрицы *)function ExcludeVectorFromMatrix (MPtr: MatrixPtr-Row, Col: integer): MatrixPtr- var
- NewPtr: MatrixPtr- NewRow, NewCol: integer- i, j: integer-
- DiffRow, DiffCol: integer- beginif MPtr <> nil then with MPtrA do beginif Row = 0 then NewRow:= MatrixRow else NewRow: — MatrixRow-1- if Col = 0 then NewCol:= MatrixCol else NewCol:= MatrixCol-1-
- ExcludeVectorFromMatrix:= NewPtr- end else ExcludeVectorFromMatrix:= nil- end-
- Функция заменяет строку (столбец) матрицы вектором *)function SetVectorIntoMatrix (MPtr, VPtr: MatrixPtr-Pos: integer): MatrixPtr-var
- SetVectorIntoMatrix:= TempPtr- end else SetVectorIntoMatrix:= nil- end-
- DeleteMatrix (TempPtr) — DetMatrix:= Sum- end else DetMatrix:= GetMatrixElement (MPtr, 1,1) — end else DetMatrix:= 0- end-
- DetTriangularMatrix:= Sum- end else DetTriangularMatrix:= 0- end-
- Функция возвращает алгебраическое дополнение элемента матрицы *) function AppendixElement (MPtr: MatrixPtr-Row, Col: integer): MatrixElement- var
- TempPtr: MatrixPtr- beginif IsSquareMatrix (MPtr) then begin TempPtr: = Exclude VectorFromMatrix (MPtr, Row, Col) — if TempPtr = nil then begin AppendixElement:= 0- Exit- end-
- AppendixElement:= IntPower (-1, Row+Col)*DetMatrix (TempPtr) — DeleteMatrix (TempPtr) — end else AppendixElement:= 0- end-
- Функция создает матрицу алгебраических дополнений элементов матрицы *)function CreateAppendixMatrix (MPtr: MatrixPtr): MatrixPtr-var
- Функция транспонирует матрицу *)function TransponeMatrix (MPtr: MatrixPtr): MatrixPtr-var
- Функция умножает матрицу на число *)function MultipleMatrixOnNumber (MPtr: MatrixPtr-Number: MatrixElement) :1. MatrixPtr-var
- Функция умножает матрицу на матрицу *)function MultipleMatrixOnMatrix (MPtrl, MPtr2: MatrixPtr): MatrixPtr- var
- Функция суммирует две матрицы *)function AddMatrixOnMatrix (MPtrl, MPtr2: MatrixPtr): MatrixPtr- var
- Функция вычитает из первой матрицы вторую *)function SubMatrixOnMatrix (MPtrl, MPtr2: MatrixPtr): MatrixPtr-var
- Функция выделяет из матрицы подматрицу: начСтрока, начСтлб, числоСтрок, числоСтлб *)function GetSubMatrix (MPtrl: MatrixPtr-RowStart, ColStart, RowCount, ColCount: integer): MatrixPtr-var
- Функция выделяет из матрицы подматрицу: начСтрока, начСтлб, последняяСтрока, последнийСтлб *)function GetSubMatrixRange (MPtr 1: MatrixPtr-RowStart, ColStart, RowEnd, ColEndinteger): MatrixPtr-var
- Функция вставляет в матрицу подматрицу, замещая элементы матрицы MPtrlэлементами матрицы MPtr2: начСтрока, начСтлб *) function InsertSubMatrix (MPtr 1, SubMPtr2: MatrixPtr-RowStart, ColStart: integer): Boolean- var
- SetMatrixElement (Mptr 1, i 1, j 1, GetMatrixElement (SubMPtr2,i, j)) — end-1.sertSubMatrix := true-end-else begin InsertSubMatrix := False- Exit- end-end else InsertSubMatrix := False- end-
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, matrixbyteDDV, Buttons, Grids-type
- Private declarations } public
- Public declarations } end-var
- ЬаЬе12.Сарйоп:-Введите объем ресурсов для '+IntToSTR (ii)+'-ro приложения' else begin1. bel2.Caption:-Введите количество серверов'- end-
- Проректор по учебной работе Московского государственного текстильного университетавнедрения результатов научных исследований в учебный процесс
- Заведующий кафедрой АСОИУ, профессор У/Ш^ В.И.Монахов1. Утверждаю
- Генеральный директор,яЕешщльный конструктор Электрон“, 1. АКТвнедрения результатов диссертационной работы Козловского А.Л.
- Модели, методы и алгоритмы распределения ресурсов виртуализованных вычислительных кластеров» предъявленной на соискание ученой степени кандидата технических наук
- Настоящим актом подтверждается, что результаты диссертационной работы Козловского А. Л. использованы в ФГУП «МКБ Электрон» в процессе разработки и внедрения автоматизированных систем управления предприятием.
- Настоящий акт удостоверяет, что ООО «НПЦ «Квадра» при выполнении работ по проектированию информационных и управляющих систем использует алгоритмы и программы оптимизации загрузки серверного оборудования.