Р. П. Романски
Технический Университет, София, Болгария
Введение
Дляразвития компьютерной техники и совершенствования архитектурной организациикомпьютерных систем (КС) необходимо непрерывное обучение исамосовершенствование компьютерных специалистов и студентов. При проведенииэтого обучения надо комбинировать формы традиционного обучения с возможностямисамостоятльной подготовки, дистанционного обучения, практической разработкипроектов и реализации экспериментов исследования [Butler, 2001; Ibbett, 2002;Lilja, 2001]. Существенная роль при обучении в области компьютерных науквыпольняет применение современных методов изучения архитектурной организации ианализа системной производительности КС [Lilja, 2001]. В этом смысле,применение методов моделирования в процессе изучения базовых структур различныхКС и организации компьютерных процессов позволяет разработать подходящеематематическое описание исследуемого объекта и создать программное обеспечениедля выполнения компьютерных экспериментов [Романски, 2001, Arons, 2000]. Анализэкспериментальных результатов моделирования [Брююль, 2002] позволяет оценитьосновные характеристики системы и производительность изучаемых КС.
Применениемоделирования в процессе изучения КС позволяет исследовать особенностиархитектуры и организацию вычисления и управления. Это можно осуществить наоснове модельного эксперимента, организация которого предполагаетпроектирование компьютерной модели как последовательности трех компонентов(концептуальная модель, математическая модель, програмная модель) и реализацииэтой модели в подходящей операционной среде. В настоящей работе рассматриваетсявожможность применения разных методов исследования КС в процессе их изучения ив частности применение принципов моделирования для исследования протекающихпроцессов, а также анализ системной производительности КС. Основная цельсостоит в определении обобщенной процедуры компьютерного моделирования какпоследовательность взаимосвязанных этапов и представлении основных стадийметодологии модельного исследования. Для этого в следующей части представленыобщая формализация компьютерной обработки информации и особенности компьютерныхвычислений в качестве объекта изучения. Применение принципов моделирования впроцессе изучения КС связано с методологической организацией обучения втрадиционном, дистанционном, либо распределенном смысле [Crosbie, 2000; Lilja,2001; Romansky, 2002; Ye, 2002].
Компьютерные системы как объект изучения и методыисследования
Однойиз основных задач специализированных курсов обучения в области компьютерныхсистем и исследования производительности является обучение будущих и настоящихкомпьютерных проектантов, разработчиков компьютерного оборудования ипотребителей КС в правильном использовании технологических возможностеймоделирования и измерения характеристик систем [Lilja, 2001]. Эти возможностиприменяют как в процессе оценивания еффективности новых компьютерных проектов,так и для проведения сравнительного анализа существующих систем. В процессеобучения ставится задача выяснения последовательности этапов исследования ивозможности обработки экспериментальных результатов для получения адекватныхоценок индексов производительности. Эту задачу можно уточнить в зависимости отконкретной области компьютерного обучения и особеностей принциповрассматриваемой компьютерной обработки информации.
/>
Рис.1. Информационное поддерживание компьютерной обработки.
Вобщем, компьютерная обработка связана с реализацией определенных функций дляпреобразования входных данных в виде окончательных решений. Это определяет два уровняфункционального преобразования информации (рис. 1):
математическоепреобразование информации — реальная обработка данных в виде математическихобъектов и представляется обобщенной функцией f:D®R, которая изображаетелементы множества данных D в елементах множества результатов R;
компьютернаяреализация обработки — представляет конкретную реализацию f*:X®Y математическойфункции f в зависимости от компьютерного и программного оборудования на базеподходящего физического представления реальных информационных объектов.
Врезультате можно записать обобщенную функциональную модель компьютернойобработки r = f(d)ºj2{f*[ 1(d)]}, где функции j1 и j2являются вспомогательными для кодирования и декодирования информации.
РассматриваяКС как объект изучения, надо иметь ввиду, что компьютерная обработка состоит изпроцессов, каждый из которых можно представить в виде структуры I = , где: t — начальный момент возникания процесса; A — дефинирующиеатрибуты; T — трасса процесса. Последний компонент формального описанияопределяет временную последовательность событий ej для обращенияданного процесса к елементам системного ресурса S={S1, S2,…, Sn}. Последовательность времевых этапов и нагрузка системногоресурса позволяют определить профиль процесса вычисления (рис. 2).
/>
Рис.2. Примерный профиль компьютерного процесса.
Поддерживаниеразных процессов при организации компьютерной обработки формирует системнуюнагрузку компьютерной среды. Для каждого момента ( t =1,2,...) ее можнопредставить вектором V(t)=Vt=,элементы которого выражают свободное (vj=0) или занятое (vj=1)устройство SjєS ( j=1,2,...,n).
Приизучении КС необходимо определить набор базовых системных параметров, которыеотражают сущность компьютерной обработки, а также разработать методикуисследования поведения системного ресурса и протекающих процессов. В качествеосновных системных параметров (индексы производительности) можно исследовать,например, рабочую нагрузку каждого элемента системного ресурса, общую системнуюнагрузку КС, время ответа при решении комплекса задач в мультипрограммномрежиме, степень устойчивости (стойкости) оборудования, стоимость компьютернойобработки, эффективность планирования параллельных или псевдопараллельныхпроцессов и т.д.
Типичныйкурс обучения в области анализа и исследования производительности КС долженобсуждать основные теоретические и практические проблемы в следующихнаправлениях:
возможностиисследования производительности компьютерного оборудование и эффективностикомпьютерных процессов;
применениеэффективных методов исследования (измерение, моделирование);
технологическиеособенности измерения параметров системы (benchmark, monitoring);
технологическиеособенности и организация моделирования (аналитическое, симуляционное и др.);
методыанализа экспериментальных результатов.
Всеэто связано с применением данного метода исследования и выбором подходящегоинструментария. В этом смысле на рис. 3 представлена примерная классификацияметодов исследования КС и процессов. Можно определить три основные группы:
Программныесмеси — представляют математические зависимости для оценки производительностипроцессора на базе коэффициентов применения отдельных операционных классов.Позволяют оценить нагрузку процессора статистическим анализом после выполнениятиповых программ.
Методыподсчета — позволяют получить достоверную информацию о протекании компьютерныхпроцессов на основе непосредственной регистрации определенных значенийдоступных параметров КС [Fabre, 2002; Pandey, 2003]. Для этого необходимоиспользовать или разработать подходящее средство подсчета (монитор) иорганизовать выполнение эксперимента по подсчету. Надо отметить, чтосовременные операционные системы имеют собственные системные мониторы, которыеможно использовать на программном или микропрограммном уровне.
Методымоделирования — применяются в том случае, когда отсуствует реальный объектэксперимента. Исследование структуры или протекающих процессов в КС осуществляетсяна базе компьютерной модели. Она отражает самые важные аспекты поведенияструктурных и системных параметров в зависимости от поставленной цели. Дляразработки модели надо выбрать самый подходящий метод моделирования,позволяющий получить максимальную адекватность и достоверность [Crosbie, 2000;Sargent, 2003; Ye, 2002].
/>
Рис.3. Классификация методов исследвания КС и процессов.
Традиционныйпроцесс обучения предполагает проведение основного курса лекций совместно снабором аудиторных упражнений и/или лабораторным практикумом. В областикомпьютерных наук при изучении организации КС и принципов управлениякомпьютерными процессами (на низком и на высоком уровне), а также при анализесистемной производительности, часто возникает необходимость в разработкекомпьютерных моделей во время выполнения лабораторных задач в классе или присамостоятельной реализации проектов. Для удачного выполнения этих практическихработ и для получения нужных практических умений необходимо определитьпоследовательность этапов и представить технологические особенности разработкимоделей. Это позволит обучаемым приобрести необходимые знания о разработкеадекватных и достоверных компьютерных моделей исследования, оценки исравнительного анализа системной производительности разных компьютерныхархитектур. В результате этого далее предложена обобщенная процедура проведениямоделирования, а также методологическая схема модельного исследования КС ипроцессов.
Процедура компьютерного моделирования при исследованииКС и процессов
Основнаязадача компьютерного моделирования при исследовании КС и процессов заключаетсяв получении информации об индексах производительности. Планирование модельногоэксперимента в процессе обучения осущевляется на основе следующих этапов:
сборэмпирических данных для конкретных значений базовых системных параметров;
структурированиеи обработка эмпирической информации и разработка функциональной схемы модели;
определениеаприорной информации и дефиниционные области рабочих параметров для разработкиподходящей математической модели объекта-оригинала;
реализациямодельных экспериментов, накапливание модельной информации и ее последующийанализ.
Обобщеннаяформализованная процедура модельного исследования для организации модельногоэксперимента показана на рис. 4.
/>
Рис.4. Процедура модельного исследования.
Первоначальнаяцель определяется необходимостью исследования реального объекта (система илипроцесс). Основные этапы процедуры следующие:
Определениебазовой концепции построения модели декомпозированием объекта на подсистемы ивведение допустимой степени идеализации для некоторых аспектов поведениясистемных процессов.
Математическаяформализация структуры и взаимосвязи в исследованном объекте на базе подходящейформальной системой.
Математическоеописание функционирования реальной системы и разработка подходящейфункциональной модели в зависимости от цели моделирования.
Реализацияматематической модели с использованием самого подходящего метода моделирования.
Описаниесозданной математической модели средствами подходящей программной среды(специлизированной или универсальной).
Выполнениеэкспериментов на базе созданной модели и последующая обработка и интерпретациямодельной информации для оценки параметров объекта исследования.
Основныеметоды компьютерного моделирования следующие:
Аналитическиеметоды — используют математические средства для описания компонентов реальнойсистемы и протекающих процессов. На базе выбранного математического подходаматематическая модель обычно строится как система уравнений, позволяющая легкопрограммировать, но для реализации необходимы высокая точность формулировок ипринятых рабочих гипотез, а также значительная верификация.
Симуляционные(имитационные) методы — поведение реального объекта подражается программномуимитатору, который при своей работе использует реальную рабочую нагрузку(эмуляция), либо программную модель рабочей нагрузки (симуляция). Такие моделипозволяют исследование сложных систем и получение достоверных результатов, новыполняются во времени и это определяет основной надостаток метода — значительное потребление машинного времени.
Эмпирическиеметоды — это количественные приемы для регистрации, накопления и анализаинформации функционирования реального объекта, на базе которых можно построитьстатистическую модель для его исследования. Обычно применаются линейные илинелинейные уравнения для представления взаимосвязи выбранных параметров(например, из множества первычных факторов) и для вычисления статистическиххрактеристик.
Основнойзадачей компьютерного моделирования является создание адекватной модели, припомощи которой достаточно точно можно представить структуру исследуемой системыи протекающих процессов [Sargent, 2003]. Разработка компьютерной моделивключает три последовательных уровня — концептуальная модель (идейная концепцияструктурирования модели), математическая модель (изображение концептуальноймодели средством математической формальной системы) и программная модель(программная реализация математической модели с подходящей языковой средой). Накаждом уровне компьютерного моделирования необходимо проверять адекватностьмодели, чтобы обеспечить достоверность конечной модели и точность результатовмодельных экспериментов. Специфика отдельных этапов процедуры моделированияопределяет применяемые подходы и средства оценки адекватности. Эти особенностинашли место в разработанной методологии компьютерного моделирования, котораяпредставлена ниже.
Методология модельного исследования
Впроцессе компьютерного моделирования, независимо от применяемого метода, можноопределить обобщенную матодологическую схему модельного исследования (рис. 5).Предложенная формализованная методологическая последовательностьпредусматривает несколько основных фаз, представленных ниже. В основном, онапредставляет итерационную процедуру для получения необходимой достоверностиразрабатываемой компьютерной модели на базе формулировки начальной модельнойгипотезы и ее последовательной модификации. Такой подход является удачным приисследовании сложных систем, а также и при отсуствии достаточной априорнойинформации для исследуемого обьекта.
Стадия«Формулирование»
Напервом этапе разработки модели необходимо точно и ясно определить объектмоделирования, условия и гипотезы исследования, а также критерии оценкимодельной эффективности. Это позволит разработать концептуальную модель идефинировать ее абстрактными терминами и понятиями. Обычно абстрактное описаниеопределяет начальные принципы модельного построения (основные апроксимации,дефиниционные области переменных, критерии эффективности и типы ожидаемыхрезультатов). На этой стадии можно определить следующие подэтапы:
Дефинированиеи анализ поставленной задачи. Включает ясно определенную сущность задачиисследования и планирование необходимых мероприятий. На базе анализа проблемыопределяется объем предпологаемых действий и необходимость декомпозиции задачи.
Уточнениетипа начальной информации. Эта информация позволяет получить корректныевыходные результаты моделирования и поэтому надо обеспечить необходимый уровеньдостоверности оценок.
Введениедопусщенйх и гипотез. Это необходимо при отсуствии достаточной информации для реализациимодели. Допусщения заменяют отсуствующие данные, либо отсуствие их полности.Гипотезы относятся к типу возможных результатов или к среде реализацииисследуемых процессов. В процессе моделирования эти гипотезы и допусщения могутбыть приняты, отброшены, либо модифицированы.
Определениеосновного содержания модели. На базе применяемого метода моделированияотчитывается особеность реального объекта, поставленая задача и средства еерешения. Результаты этого подэтапа включают формулировку базовой концепциимодели, формализованное описание реальных процессов и выбор подходящейапроксимацией.
Определениемодельных параметров и выбор критериев эффективности. На этом подэтапеопределяются первычные и вторычные факторы, входные воздействия и ожидаемые на выходереакции модели, что является особенно важным для достижения необходимойточности математического описания. Уточнение критериев эффективности связано сдефинированием функциональных зависимостей оценки реакции системы при изменениимодельных параметров.
Абстрактноеописание модели. Фаза общего формулирования концептуальной модели заканчиваетпостроение абстрактой модели в подходящей среде абстрактных терминов — например, в виде структурной схемы, как потоковой диаграмы (Data Flow Diagram),в виде графической схемы (State Transition Network) и т.д. Это абстрактноепредставление позволить легко построить математическую модель.
/>
Рис.5. Методологическая схема модельного исследования.
Стадия«Проектирование»
Проектированиекомпьютерной модели связано с разработкой математической модели и еепрограммным описанием.
Математическаямодель является представлением структуры исследуемого объекта и протекающихпроцессов в подходящем математическом виде Y=Ф(X, S, A, T), где: X — множествовнешних воздействий; S — множество системных параметров; A — отражаетфункциональное поведение (алгоритмы функционирования); T — время работы. Такимобразом поведение (реакция) объекта Y моделирует набор функциональныхвоздействий Ф, представляющих аналитические зависимости (детерминированные иливероятностные). В этом смысле, математическая модель является описаниемабстрактной модели средствами выбранной математической системы, оцениваяпринятые гипотезы и апроксимации, начальные условия и дефинированные параметрыисследования. При разработке математической модели возможно применить известныематематические формулы, зависимости или математические законы (например,вероятностные распределения), а также комбинировать и дополнить их. Самыераспространенные для цели моделирования теоретические математические системыпредоставляют возможность представить математическую модель и в графическомвиде — сети Петри [Music, 2003], цепи Маркова [Benveniste, 2003], системы массовогообслуживания [Pockec, 2001] и др. На базе определенных на предыдущей стадиикритериев, созданную математическую модель необходимо оценить с цельюдостижения необходимой степени достоверности и адекватности, и после этогоможно утвердить или отбросить ее.
Программнаямодель представляет собой реализацию математического описания программнымязыком — для этого выбираются подходящие технические и технологическиесредства. В процессе программной реализации на базе математической моделиразработывается логическая структурно-функциональная схема модели. Дляпостроения этой схемы можно использовать традиционные блок-схемы, либографические средства, которые представляются специализированной средоймоделирования — как например в GPSS (General Purpose Simulation System) [Stahl,2001]. Программная реализация модели является задачей разработки программногообеспечения и в этом смысле подчиняется принципам технологии программирования.
Стадия«Уточнение»
Действияэтой стадии предназначенны для полной валидизации проектированной модели иутверждения ее адекватности. Существенное значение для их эффективности имеетоценка текущей адекватности на предыдущих стадиях. В этом смысле процессуточнения модели надо рассмотривать как совокупность распределенных действий навсех предыдущих стадиях компьютерного моделирования. В общем плане, стадиюуточнения можно представить как итеративную процедуру (рис. 6), позволяющуюпоследовательную модификацию начальной версии разрабатываемой модели.
/>
Рис.6. Итеративная процедура для уточнения модели.
Основнойцелью проверки модельной достоверности является определение уровня точностисоответствия при представлении процессов реального объекта и механизмарегистрации модельных результатов. В общем плане, компьютерная модельпредставляет совокупность отдельных компонентов и в этом смысле особенно важноправильно планировать проверки адекватности.
Стадия«Выполнение»
Этоэтап реализации созданной модели (решение численным методом либо выполнение вовремени). Самая главная цель — получение максимальной информации дляминимальных затрать машинного времени. Предусмотрены два подэтапа:
Планированиемодельного эксперимента — определение значения управляемых факторов и правиларегистрации наблюдаемых факторов при выполнении модели. Выбор конкретного планаэксперимента зависит от поставленной цели исследования при оптимизации временивыполнения. Для получения эффективного плана обычно применяются статистическиеметоды (полный план, однофакторный план, рандомизированный план и т.д.),позволяющие удалить совместное влияние наблюдаемых факторов и оценитьдопустимую экспериментальную ошыбку.
Реализацияэксперимента — подготовка входных данных, компьютерная реализацияэкспериментального плана и сохранение экспериментальных результатов. Реализациюэксперимента можно выполнить следующим образом: контрольное моделирование (дляпроверки работоспособности и чувствительности модели и оценки модельноговремени); рабочее моделирование (действительная реализация разработанного планаэксперимента).
Стадия«Анализ и интерпретация модельных результатов»
Приреализации плана модельного эксперимента накапливается информация (результатымоделирования), которую необходимо анализировать для получения оценки и выводово поведении исследуемого объекта. Это определяет два аспекта — выбор методовдля анализа экспериментальной информации и применение подходящих способовинтерпретации полученных оценок. Последнее особенно важно для формированиякоректных выводов исследования. В смысле первого аспекта обычно применяютстатистические методы — дискриптивные анализы (подсчет граничных значенийпараметров, математического ожидания, дисперсии и средне-квадратической ошибки;определение расслоения для выбранного фактора; вычисление гистограммы и др.);корреляционный анализ (определение уровня факторной взаимосвязи); регрессионныйанализ (исследование причинной взаимосвязи в группе факторов); дисперсионныйанализ (для устанавливания относительного влияния определенных факторов на базеэкспериментальных результатов).
Результатыанализа модельных данных можно представить в числовом или табличном виде, припомощи графических зависимостей, диаграмм, гистограмм и пр. Чтобы выбратьподходящие графические средства существенное значение имеет использованныйметод анализа, а также субъективные умения экспериментатора для оформлениярезультатов эксперимента.
Заключение
Основнаяцель организации каждого модельного эксперимента — это реализация эффективногомоделирования. Она связывается с машинным временем — значительный объемобработки в моделе повышает стоимость моделирования и понижает эффективность.Для эффективности исследования существенное значение имеет быстрая валидизациямодели и достижение сходимости. Для каждой реальной системы часто приходитсясоздавать множество разных моделей, отличающихся способом декомпозиции иуровнем детайлизации, методом моделирования, средствами программной реализациии т.д. В процессе выбора оптимального варианта только оценка точности и адекватностиявляется недостаточной. Из множества сходимых моделей надо выбрать самыйэффективный вариант, который тратить минимальное время на реализацию.
Существенноезначение для достижения достаточной эффективности модели имеет и применяемыйязык программной реализации, а также полность формальной системы абстрактногопредставления концептуальной модели, простота терминов описания, разработываниеоптимального плана и др. Применение универсальных программных систем отличаетсяотсуствием специфических языковых операторов и поэтому они являются подходящимипрежде всего для аналитического моделирования. Для реализации симуляционныхмоделей удачно использовать специализированные языковые среды.
Список литературы
[Брююль2002] Брююль А. SPSS: искусство обработки информации. Анализ статистическихданных. Санкт Петербург: ДиаСофт, 2002, — 608 с.
[Романски,2001] Романски Р. Математическое моделирование и исследование стохастическихвременных характеристик процессов компютерной обработки данных //Информационные технологии. — Москва, Россия, 2001, No 2, — С. 51 — 55.
[Arons, 2000] Arons H., van Asperen E. Computer assistance for modeldefinition // Proceedings of the 32nd Winter Simulation Conference. — Florida,USA, December 2000. — P. 399-408.
[Benveniste, 2003] Benveniste A., Fabre E., Haar St. Markov nets:probabilistic models for distributed and concurrent systems // IEEETransactions on Automatic Control. November 2003, vol. 48, No 11. — P.1936-1950.
[Butler, 2001] Butler J.E., Brockman J. B. A Web-based learning toolthat simulates a simple computer architecture // ACM SIGCSE Bulletin. June2001, vol. 33, No. 2. — P. 47-50.
[Crosbie, 2000] Crosbie R. E. A model curriculum in modeling andsimulation: Do we need it? Can we do it? // Proceedings of the 32nd WinterSimulation Conference. December 2000. -P. 1666-1668.
[Fabre, 2002] Fabre E., Pigourier V. Monitoring distributed systemswith distributed algorithms // Proceedings of the 41st IEEE Conference onDecision and Control. — vol. 1. 10-13 December 2002 — P. 411-416.
[Ibbett, 2002] Ibbett R.N. WWW Visualisation of ComputerArchitecture Simulations // Procedings of the 7th Annual Conf. on Innovationand Technology in Computer Science Education. June 2002. — P. 247.
[Lilja ,2001] Lilja D.J. Comparing Instructional Delivery Methodsfor Teaching Computer Systems Performance Analysis // IEEE Trans. on Education.February 2001, vol. 44, No 1, — P. 35-40.
[Music, 2003] Music G., Zupancic B., Matko D. Petri net basedmodeling and supervisory control design in Matlab // Proceedings of the IEEEConference EUROCON 2003 «Computers as a Tool». — vol. 1. 22-24 Sept.2003. — Slovenia. — P. 362-366.
[Pandey, 2003] Pandey S., Ramamritham K., Chakrabarti S. Monitoringthe dynamic Web to respond to continuous queries // Proceedings of the 12thInternational Conference on World Wide Web. — Hungary, May 2003, — P. 659-668.
[Pockec, 2001] Pockec P., Mardini W. Modeling with queues: anempirical study // Proceedings of the Canadian Conference on Electrical andComputer Engineering. — vol. 1. 13-16 May 2001. — P. 685-689.
[Romansky, 2002] Romansky R. et all. An Organization ofInformational Network InfoNet for Distributed e-Learning // Proceedings of the3rd International Conference оn Computer Systems andTechnologies (e-Learning). 20-21 June 2002. Sofia, Bulgaria. — P. IV.4-1 — IV.4-6.
[Sargent, 2003] Sargent R.G. Verification and validation ofsimulation models // Proceedings of the 2003 Winter Simulation Conference. — vol. 1. 7-10 December 2003. — P. 27-48.
[Stahl, 2001] Stahl, I. GPSS: 40 years of development // Proceedingsof the 33rd Winter Simulation Conference. December 2001. — P. 577-585.
[Ye, 2002] Ye D, Xiaofer Xu, Yuliu Chen. Integrated modelingmethodology for virtual enterprises // Proceedings of the 10th Conference onComputers, Communications, Control and Power Engineering. — vol. 3. October2002. — P. 1603-1606.