Математическое моделирование процессов управления потреблением памяти в многопользовательских средах и системах виртуализации тема диссертации и автореферата по ВАК РФ 05.13.18, кандидат физико-математических наук Емельянов, Павел Владимирович

  • Емельянов, Павел Владимирович
  • кандидат физико-математических науккандидат физико-математических наук
  • 2008, Москва
  • Специальность ВАК РФ05.13.18
  • Количество страниц 101
Емельянов, Павел Владимирович. Математическое моделирование процессов управления потреблением памяти в многопользовательских средах и системах виртуализации: дис. кандидат физико-математических наук: 05.13.18 - Математическое моделирование, численные методы и комплексы программ. Москва. 2008. 101 с.

Оглавление диссертации кандидат физико-математических наук Емельянов, Павел Владимирович

Введение

1 Обзор существующих моделей управления памятью

1.1 Терминология

1.1.1 Термины теории операционных систем.

1.1.2 Термины теории управления памятью.

1.1.3 Термины теории многопроцессорных систем.

1.2 Эволюция моделей управления памятью.

1.2.1 Системы без поддержки многозадачности.

1.2.2 Однопользовательские системы с поддержкой многозадачности

1.2.3 Многопользовательские операционные системы.

1.2.4 Системы виртуализации

1.3 Менеджер памяти в современной операционной системе.

1.4 Портрет идеального менеджера.

1.4.1 Первое требование: Ограничение в использовании

1.4.2 Второе требование: Гарантии выделения.

1.4.3 Третье требование: Разделение между группами.

1.4.4 Четвертое требование: Многократное использование

1.5 Существующие менеджеры.

1.5.1 Стандартный менеджер памяти в Linux.

1.5.2 Менеджер памяти в VMware.

1.5.3 Управление памятью в Хеп.

1.5.4 Управление памятью в Solaris Zones и FreeBSD Jails

1.5.5 Проект контроля за ресурсами CKRM.

1.5.6 Проект «счетоводы» по контролю памяти.

1.6 Виртуальная выгрузка страниц на диск

Рекомендованный список диссертаций по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК

Введение диссертации (часть автореферата) на тему «Математическое моделирование процессов управления потреблением памяти в многопользовательских средах и системах виртуализации»

3.2 Определение гарантии и способы ее обеспечения.61

3.3 Математическая модель.64

3.4 Анализ результата.66

3.4.1 Корректность полученных гарантий .66

3.4.2 Вычисление гарантий из выставленных ограничений . 68

3.4.3 Случай нарушения пределов.68

3.5 Учет присутствия ядра ОС.69

3.5.1 Память ядра.70

3.6 Применимость модели к ресурсам другого типа.72

3.7 Заключение.73

4 Модель «группового» вытеснения страниц на внешний носитель 75

4.1 Введение .75

4.2 Существующая модель «сканера».75

4.3 Расширенная модель «сканера».76

4.4 Кэширование выгружаемых страниц.79

4.5 Результаты экспериментов.80

4.6 Поведение при нехватке памяти.83

4.7 Заключение.83

Заключение 85

Списки 86

Примечания 90

Введение

Ядро любой операционной системы предоставляет пользователям компьютера различные ресурсы [1, 2]. При этом наряду с задачей выделения ресурсов часто возникает задача их распределения — различные пользователи должны быть ограничены в потреблении того или иного ресурса. Делается это для различных целей, например для защиты системы от умышленного (или случайного) потребления всех свободных ресурсов одним пользователем, для приорити-зации пользователей системы в зависимости от их «важности», для создания у отдельных пользователей иллюзии работы на отдельной машине и для многих других вещей.

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

Рост процессорных мощностей и объемов памяти за последнее десятилетие существенно опередил рост потребностей программного обеспечения - программы уже далеко не всегда использует эти мощности на 100% [4, 5]. Такая ситуация привела к появлению и развитию различных технологий «виртуализации» вычислительных систем. Виртуализация позволяет запускать на одном физическом сервере несколько виртуальных машин (ВМ) или виртуальных серверов (ВС)1, и, таким образом, позволяет, например, программное обеспечение с нескольких машин выполнять на одном физическом компьютере более экономно используя имеющиеся мощности. [6, 7, 8] англоязычных источниках прижилось понятие «контейнера» для описания виртуального сервера.

По отчетам аналитических агентств рынок систем виртуализации только за 2007г. вырос почти в 1.5 раза [10], а к 2009 году прогнозируют более 100% [9] рост. Технология виртуализации также признана одной из самой многообещающих технологий 2005 года [11].

Уже больше года компания Intel поставляет все свои настольные процессоры со встроенной технологией для аппаратной поддержки виртуализации под названием VT™, которая существенно повысила производительность существующих программных реализаций этой технологии. [12, 13] В то же самое время уже создан огромное количество различных программных комплексов, работающих с поддержкой этой технологии, например, VMWaire [14], Parallels [15], KVM [16] и т. д. [17, 18]. Если раньше основными пользователями этой технологии были компании с большим парком техники, то сейчас она доступна на каждом персональном компьютере. Уже сейчас современные свободные дистрибутивы Linux такие как Fedora, Ubuntu и др. оснащаются, например, системой виртуализации Хеп [35] или KVM. [19, 20, 21, 22, 23]

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

Также следует заметить, что вопрос разделения и гарантированного выделения ресурсов возникает не только в системах виртуализации, но и в самих многопользовательских операционных системах (ОС). Например ни в Windows, ни в Linux, которые позволяют огромному количеству пользователей одновременно работать и выполнять свои приложения, до сих пор нет удовлетворительных средств для управления ресурсами: памятью, процессором, диском и др. Для отдельных ресурсов существуют средства контроля за отдельными процессами или нитями, для некоторых - на уровне отдельных пользователей, но в общем случае нет никаких средств контролировать произвольную группу процессов, которой, в конечном счете, является виртуальная машина. Тонкие различия между различными ресурсами операционной системы и их использованием не позволяет эффективно решить эти задачи с помощью единого подхода, хотя попытки и предпренимались [25, 26].

Память - один из основных ресурсов операционной системы. Неумелое управление ей может привести к неработоспособности не только отдельных приложений. Работа всей системы в целом может быть нарушена или остановлена, что уже является вопросом безобасности вычислительной системы, которые являются одними из центральных в последнее время. Отметим также, что сказанное относится не только к системам виртуализации, но и к упомянутым выше многопользовательским системам.

На сегодняшний день накоплено огромное количество работ и данных в этой области, но до сих пор отсутствует единая теоретическая модель, способная связать все необходимые модели и учесть их особенности совместной работы в единой системе. Математическое моделирование в этой ситуации видится мощным инструментом для развития такой единой теоретической модели. Математическому моделированию процессов работы с памятью посвящено большое количество работ за рубежом [27, 28, 29, 30, 31]. В последнее время тема активно развивается и в нашей стране [33, 32, 34].

Цель работы

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

• обеспечивать изоляцию виртуальных сред друг от друга;

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

• обеспечивать требуемый уровень сервиса для виртуальных машин.

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

Научная новизна

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

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

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

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

Научная и практическая ценность работы

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

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

Часть реализованного программного комплекса была внедрена автором совместно со специалистами из компаний IBM и Google в основное ядро Unix-подобной операционной системы Linux2, которая является одной из наиболее популярных операционных систем и установлена как на домашних компьютерах, так и на крупных серверах по всему миру.

Кроме того, реализация всех описанных моделей была внедрена в продукты компании Parallels Virtuozzo Containers3 и OpenVZ4, представляющие собой виртуализационные решения на базе ядра Linux. Их использование показало, что модели представляют не только теоретический интерес, но и успешно решают поставленные перед ними практические задачи, а именно - позволяют контролировать потребление физической памяти виртуальной машиной или «контейнером».

Методы исследования

Для построения моделей в работе были использованы теория алгоритмов, методы системного программирования и теории операционных систем, методы линейной алгебры и теории вероятности.

Для проведения численных исследований предложенные модели реализованы как составная часть ядра операционной системы Linux, и проведены эксперименты с использованием модельных и реальных приложений.

Содержание и структура диссертации.

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

Похожие диссертационные работы по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК

Заключение диссертации по теме «Математическое моделирование, численные методы и комплексы программ», Емельянов, Павел Владимирович

Заключение

Итак, в работе построены математические модели, описывающие процессы потребления физической памяти в многопользовательских средах и системах виртуализации. С использованием построенных моделей разработаны новые алгоритмы, которые реализованы в виде комплекса программ - расширений к подсистеме управления памятью в операционной системе Linux. Построенная подсистема обладает следующими свойствами:

• обеспечивает изоляцию виртуальных сред друг от друга;

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

• обеспечивает требуемый уровень сервиса для виртуальных машин.

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

Можно выделить следующие основные результаты проделанной работы и вытекающие из них выводы:

1. Разработана математическая модель предоставления гарантий выделения группам процессов физической памяти. Показана применимость модели к другим типам ресурсов на примере задачи распределения процессорного времени.

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

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

Список литературы диссертационного исследования кандидат физико-математических наук Емельянов, Павел Владимирович, 2008 год

1. Э. Таненбаум, А. Вудхалл Операционные системы. Разработка и реализация. // изд. Питер — СПб.: 2006 - 1.BN 5-469-00148-2

2. Stanley A. Kurzban, Thomas S. Heines, Anthony P. Sayers Operating systems principles (2nd ed.) // Van Nostrand Reinhold Data Processing Series — New York: 1984 — ISBN 0-442-25734-1

3. Arthur E. Oldehoeft, Mamoru Maekawa, Rodney R. Oldehoeft Operating Systems: Advanced Concepts // The Benjamin-Cummings Publishing Company, INC — 1987 ISBN 0-8053-7121-4

4. Luis Silva, Javier Alonso, Paulo Silva, Jordi Torres, Artur Andrzejak Using Virtualization to Improve Software Rejuvenation // IEEE-NCA — Cambridge, MA, USA 2007

5. Andrzejak A., Martin A., Jerry R. Bounding the Resource Savings of Utility Computing Models: Technical Report HPL-2002-339: HP Labs, 2002.

6. Александр Самойленко Виртуализация: новый подход к построению IT-инфраструктуры Электронный ресурс] / журнал iXBT, [2007]. — Режим доступа: http://www.ixbt.com/cm/virtualization.shtml, свободный. — За-гл. с экрана. — Яз. русск.

7. Price D., Tucker A. Solaris zones: Operating system support for consolidating commercial workloads // Proceedings of the USENIX 18th Large Installation System Administration Conference (LISA'04). — 2004.

8. Tucker A., Cornay D. Solaris zones: Operating system support for server consolidation // Proceedings of the USENIX Third Virtual Machine Research & Technology Symposium (VM'04). — 2004.

9. IDC: Virtualization market booming Электронный ресурс] / журнал Network World, [2006]. — Режим доступа: http: / / www.networkworld.com/news/2006/102506-idc-virtualization.html, свободный. — Загл. с экрана. — Яз. англ.

10. Intel. vanderpool technology. — Режим доступа: http://www.intel.com/technology/computing/vptech/, свободный. — Загл. с экрана. — Яз. англ.

11. Александр Самойленко Технологии аппаратной виртуализации Электронный ресурс] / журнал iXBT, [2007]. — Режим доступа: http://www.ixbt.com/cm/virtualization-h.shtml, свободный. — Загл. с экрана. — Яз. русск.

12. VMware virtualization software Электронный ресурс] / EMC Company, [2008]. — Режим доступа: http://vmware.com, платный. — Загл. с экрана.1. Яз. англ.

13. Parallels, optimized computing Электронный ресурс] / Parallels, Virtualization and Automatization Software, [2008]. — Режим доступа: http://parallels.com, свободный. — Загл. с экрана. — Яз. англ.

14. Kernel Based Virtual Machine Электронный ресурс] / OpenSource project, [2008]. — Режим доступа: http://kvm.qumranet.com/kvmwiki, свободный.

15. Загл. с экрана. — Яз. англ.

16. Bochs IA-32 Emulator Project Электронный ресурс] / OpenSource project, [2008]. — Режим доступа: http://bochs.sourceforge.net, свободный. — Загл. с экрана. — Яз. англ.

17. QEMU open source processor emulator Электронный ресурс] / OpenSource project, [2008]. — Режим доступа: http://bellard.org/qemu/, свободный. — Загл. с экрана. — Яз. англ.

18. Д. Н. Колисниченко Fedora 8. Руководство пользователя // Диалектика М.: 2008. - ISBN 978-5-8459-1360-9

19. Денис Колисниченко Ubuntu Linux. Краткое руководство пользователя // БХВ-Петербург СПб.: 2007 - ISBN 978-5-9775-0104-0

20. Fedora Core Project Электронный ресурс] / RedHat company, [2008].— Режим доступа: http://www.redhat.com/fedora/, свободный. — Загл. с экрана. — Яз. англ.

21. Ubuntu Электронный ресурс] / Canonical LTD, [2008]. Режим доступа: http://www.ubuntu.com, свободный. — Загл. с экрана. — Яз. англ.

22. SUSE Linux Электронный ресурс] / Novell company, [2008]. — Режим доступа: http://www.novell.com/linux/, свободный. — Загл. с экрана. — Яз. англ.

23. CKRM linux open source project, class based kernel resource management Электронный ресурс] / IBM, [2006].— Режим доступа: http://ckrm.sourceforge.net/, свободный. — Загл. с экрана. — Яз. англ.

24. Banga G., Druschel P., Mogul J. Resource containers: A new facility for resource management in server systems // Proceedings of the USENIX

25. Symposium on Operating System Design and Implementation (OSDI). — 1999. — Pp. 45-48.

26. Timothee Bossart, Alix Munier Kordon, Francis Sourd Memory management optimization problems for integrated circuit simulators // Elsevier Science Publishers В. V. — Amsterdam, 2007.

27. Patrick R. Amestoy Memory Management Issues in Sparse Multifrontal Methods On Multiprocessors // International Journal of High Performance Computing Applications, 1993 — Vol. 7, Ж 1, Pp. 64-82.

28. S. Rixner, W. J. Dally, U. J. Kapasi, P. R. Mattson, and J. D. Owens Memory access scheduling // ISCA, 2000, pp. 128-138.

29. Gokul B. Kandiraju Towards self-optimizing memory management //A Thesis in Computer Science and Engineering — The Pennsylvania State University, 2004.

30. Carlos Macian, Sarang Dharmapurikar, John Lockwood Beyond Performance: Secure and Fair Memory Management for Multiple Systems on a Chip // Proceedings of IEEE International Conference on Field-Programmable Technology (FPT), 2003.

31. Соколов А. В. Анализ эффективности алгоритмов динамического распределения нестраничной памяти // Труды II Международной конференции «Развитие и применение открытых систем». — Петрозаводск 1995. — Сс. 76-77.

32. Белоусов С. М. Об одном подходе к эффективному распределению ресурсов вычислительной системы. // Процессы и методы обработки информации. Сборник научных трудов. — М.:МФТИ, 2005 — Сс. 58-67.

33. Луковников И., Коротаев К., Кобец А. Проблемы управления распределяемыми ресурсами ОС // Информационные технологии. — М. 2006. — №10 Сс. 71-78.

34. The Xen virtual machine monitor Электронный ресурс] / Open Source project, [2007]. — Режим доступа:http://www.cl.cam.ac.uk/research/srg/netos/xen/, свободный. — За-гл. с экрана. — Яз. англ.

35. В. Dragovic, К. Fraser, S. Hand et al. Xen and the art of virtualization // Proceedings of the ACM Symposium on Operating Systems Principles. — 2003. Pp. 164-177.

36. Роберт Лав Разработка ядра Linux = Linux Kernel Development. — 2-е изд. // «Вильяме» — M.: 2006. — ISBN 0-672-32720-1

37. Daniel P. Bovet, Marco Cesati Understanding the Linux Kernel // O'Reilly, 2002. ISBN: 0-596-00213-0

38. Андрей Робачевский, Сергей Немнюгин, Ольга Стесик Операционная система UNIX // БХВ-Петербург СПб.: 2007. — ISBN 5-94157-538-6

39. Вахалия Ю. UNIX изнутри // Питер СПб.: 2003. — ISBN 5-94723-013-5

40. Inside Macintosh: Memory // Apple Computers, Inc. — 3 JUL 1996.

41. Inside MAC OS X. System Overview // Apple Computer, Inc., 2001. — Chapter 2: System Technologies.

42. DJ Delorie Handling CPU Exceptions Электронный ресурс] / 1999 — Режим доступа: http://www.delorie.eom/djgpp/doc/dpmi/ch4.5.html, свободный — Загл. с экрана. — Яз. англ.

43. Maurice Herlihy, Nir Shavit The Art of Multiprocessor Programming // Morgan Kaufmann Publishers — Burlington: 2008. — ISBN: 978-0-12-3705914

44. René Moreau The Computer Comes of Age: The People, the Hardware, and the Software 11 MIT Press, 1984. — ISBN 0-262-13194-3

45. Herman Lukoff From Dits to Bits. : A Personal History of the Electronic Computer // Robotics Press, 1979. — ISBN 89661-002-0

46. Simon Lavington Early British Computers // Digital Press (US) and Manchester University Press (UK), 1980 — ISBN 0-932376-08-8 Ch 15. Programming an early computer — Pp. 87-98

47. Michael Singer PDP-11. Assembler Language Programming and Machine Organization 1980 - John Wiley & Sons, NY

48. B.H.Пильщиков ЯЗЫК МАКРОАССЕМБЛЕРА IBM PC (Справочное пособие) — 1992 МГУ, ВМК — Разд. 1.4 - Сегментирование

49. Евгений Панкратов Операционная система MS-DOS 6.22. Справочное пособие — Познавательная книга Плюс — М.: 2002. — ISBN 5-8321-01323

50. Rodnay, Zaks, Rodnay The CP/M Handbook With MP/M. — SYBEX Inc.: 1980.

51. В. H. Пильщиков Assembler. Программирование на языке ассемблера IBM PC Диалог-МИФИ - M.: 2005. - ISBN 5-86404051-7

52. Юрий Магда Ассемблер для процессоров Intel Pentium — Питер — СПб.: 2006. ISBN 5-469-00662-Х

53. Multics (Multiplexed Information and Computing Service) Электронный ресурс] / OpenSource project, 2007 — Режим доступа: http://www.multicians.org/, свободный — Загл. с экрана. — Яз. англ.

54. CDC KRONOS Электронный ресурс] — Режим доступа: http://en.wikipedia.org/wiki/CDCKRONOS, свободный — Загл. с экрана. — Яз. англ.

55. Алексей Федорчук Доступный UNIX. Linux, FreeBSD, DragonFlyBSD, NetBSD, OpenBSD БХВ-Петербург - СПб.: 2006. - ISBN 5-94157-876-8

56. Gordon E. Moore Cramming more components onto integrated circuits — Electronics Magazine, 1965 — №8, Vol. 38.5

57. Linux Vserver Электронный ресурс] / Open Source project, [2007].— Режим доступа: http://linux-vserver.org, свободный. — Загл. с экрана. — Яз. англ.

58. Richard McDougall, Jim Mauro Solaris Internals: Solaris 10 and OpenSolaris Kernel Architecture (2nd Edition) — Sun Microsystems, 2000. — Chapter 6.

59. FreeBSD Handbook Электронный ресурс] / The FreeBSD Documentation Project, [2008]. — Режим доступа: http://www.freebsd.org/doc/enUS.IS08859-1/books/handbook/index.html, свободный. — Загл. с экрана. — Яз. англ. — Chapter 15: Jails.

60. HP-UX Hi virtual partitions Электронный ресурс] / Hewlett Packard, [2006].— Режим доступа: http://h20338.www2.hp.com/hpuxlli/cache/323722-0-0-0-121.html, свободный. — Загл. с экрана. — Яз. англ.

61. Microsoft Virtual PC virtualization Электронный ресурс] / Microsoft corporation, [2006].— Режим доступа: http://www.microsoft.com/windows/virtualpc, платный. — Загл. с экрана. — Яз. англ.

62. IA-32 Intel Architecture. Software Developer's Manual // Intel, 2002. — Vol. 1, Chapter 2: Introduction to the IA-32 Intel Architecture.

63. Intel Itanium Architecture. Software Developer's Manual // Intel, 2002. — Vol. 1, Chapter 3: Execution Environment.

64. Brett Olsson, Anthony Marsala A developer's guide to the POWER architecture // IBM, 2004. — Book III. Operating environment architecture.

65. UltraSPARC Architecture 2005 // Sun Microsystems, 2008. — Chapter 3.3.1: Memory Access.

66. Andrew Sloss, Dominic Symes, Chris Wright ARM System Developer's Guide: Designing and Optimizing System Software // Morgan Kaufmann, 2004. — Chapter 14: Memory Management Units.

67. Mel Gorman Understanding the Linux Virtual Memory Manager // Prentice Hall, 2004.

68. Setrlimit set resource limits and usage Электронный ресурс] / Unix manual pages. — Режим доступа: http://linux.about.com/library/cmd/blcmdl2setrlimit.htm, свободный — Загл. с экрана. — Яз. англ.

69. Carl A. Waldspurger Memory Resource Management in VMware ESX Server // Proceedings of the Fifth Symposium on Operating Systems Design and Implementation (OSDI£02) — Boston, USA, 2002.

70. Xen Memory Management Электронный ресурс] / Open Source project, [2006]. — Режим доступа: http://wiki.xensource.com/xenwiki/XenMemoryManagement, свободный — Загл. с экрана. — Яз. англ.

71. Andrey V. Savochkin User Beancounter Patch Электронный ресурс] / [2000] — Режим доступа: http://www.asplinux.ru/en/install/ubpatch.shtml, свободный — Загл. с экрана. — Яз. русск.

72. Jonathan Corbet Resource beancounters Электронный ресурс] / Linux Weekly News, [2006]. — Режим доступа: http://lwn.net/Articles/197433/, свободный. — Загл. с экрана. — Яз. англ.

73. Jonathan Corbet Notes from a container Электронный ресурс] / Linux Weekly News, [2007]. — Режим доступа: http://lwn.net/Articles/256389/, свободный. — Загл. с экрана. — Яз. англ.

74. User Beancounters — a set of limits and guarantees controlled per container Электронный ресурс] / OpenVZ documentation, [2008]. — Режим доступа: http://wiki.openvz.org/Userbeancounters, свободный. — Загл. с экрана. — Яз. англ.

75. Емельянов П. В., Коротаев К. С. Математическая модель обеспечения гарантий выделения ресурсов операционной системы // Информационные технологии. — М. 2008 — № 3 — С. 83-85.

76. Емельянов П. В. Оптимизация модели контроля потребления памяти группой процессов // Вестник Новосибирского Государственного Университета. Серия: Информационные Технологии — 2008 — Т. 6, вып. 1 -С. 37-46.

77. Pavel Emelianov, Denis Lunev, Kirill Korotaev Resource Management: Beancounters // Proceedings of the Linux Symposium — Ottawa: 2005. — Pp. 285-292.

78. Pavel Emelianov, Denis Lunev, Kirill Korotaev Resource Management: Beancounters // Proceedings of the LinuxConf Europe — Cambridge: 2007. -7 Pp.

79. Kevin R. Wadleigh, Isom L. Crawford Software Optimization for High Performance Compiting: Creating Faster Applications. — Prentice Hall PTR, 2000. — Chapter 7.4: Subroutine of Function Call Overhead.

80. Christos H. Papadimitrion, Kenneth Steiglitz Combinatorial Optimization, Algorithms & Complexity // Dover Publishers, Inc. — Dover, 1998. — ISBN 0-486-40258-4

81. Squillante M. S., Lazowska E. D. Using Processor-Cache Affinity Information in Shared-Memory Multiprocessor Scheduling // IEEE Transactions on Parallel and Distributed Systems. — Feb 1993.— Vol. 4, no. 2.— Pp. 131144.

82. Peter J. Denning The working set model for program behavior // Communications of the ACM, 1968. — №5/1968, Volume 11, pp. 323-333.

83. Denning, P. J. Working Sets Past and Present // IEEE Transactions on Software Engineering, 1980. — №1/1980, Volume SE-6, pp. 64-84.

84. File locking Электронный ресурс] // Wikipedia the Free Encyclopedia, [2008]. — Режим доступа: http://en.wikipedia.org/wiki/Filelocking, свободный — Загл. с экрана. — Яз. англ.

85. UnixBench Электронный ресурс] / Suite for POSIX system benchmarking, [2007]. — Режим доступа: http://sourceforge.net/projects/unixbench/, свободный. — Загл. с экрана. — Яз. англ.

86. Dan Westom The Complete Book of Macintosh Assembly Language Programming // Scott, Foresman and Company — London, 1986 — ISBN: 0-673-18379-3

87. L. Abeni, T. Cucinotta, G. Lipari at al. Adaptive reservations in a linux environment // Proceedings of the 10th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'04). — 2004. — P. 238.

88. A NUMA API for Linux // Novell, 2005. — Technical Linux Whitepaper.

89. В.П. Гергель, P.P. Стропгип Основы параллельных вычислений для многопроцессорных вычислительных систем. Учебное пособие // Издательство Нижегородского госуниверситета — НН.: 2003. — Сс. 30-31.

90. Marshall Brain Win32 System Services. The Heart of Windows 95 and Windows NT. Second edition // Prentice Hall PTR. — New Jersey, 1996.

91. Емельянов П., Савочкин А. Расширение функциональности существующей модели контроля памяти в ядре Linux // Процессы и методы обработки информации: Сб.ст. — М.: Моск. физ.-техн. ин-т, 2005. — С. 77-80.

92. Дональд Э. Кнут Искусство программирования. Том 1. Фундаментальные алгоритмы // Вильяме. — М.: 2005. — Сс. 435-455.

93. Christoph Lameter SLUB: The unqueued slab allocator V6 Электронный ресурс] / Linux Weekly News, [2007]. — Режим доступа: http://lwn.net/Articles/229096/ — Загл. с экрана. — Яз. англ.

94. Емельянов П., Коротаев К., Луковников И. Основные проблемы реализации алгоритмов пропорционального планирования // Процессы и методы обработки информации: Сб.ст. — М.: Моск. физ.-техн. ин-т, 2006. С. 86-91.

95. Коротаев К., Емельянов П. Многоуровневый планировщик процессорного времени для групп процессов, обеспечивающий гарантии в обслуживании // Информационные технологии. — М. 2006. — № 6. — С. 58-63.

96. Линус Торвальдс, Дэвид Даймонд Just for Fun. Рассказ нечаянного революционера // Эксмо-Пресс — М.: 2002.

97. Maurice J. Bach The Design of the UNIX Operating System // Prentice-Hall, 1986 — Chapter 3: Operating memory buffer (cache).

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.