Назад в библиотеку
Исследование кольцевого теста на SMP системе
Авторы: Первусяк А. И., Иванов Ю. А.
Источник: «Информатика і комп’ютерні технології» Збірка праць VIII міжнародної науково-технічної конференції студентів, аспірантів та молодих учених. 18-19 вересня 2012 р. стор. 99-100.
Аннотация
Первусяк А. И., Иванов Ю. А. Исследование кольцевого теста на SMP системе Анализ применимости проектных технических решений заключается в проведении моделирования на разработанной системе и оценке либо сравнении результатов с другими моделями и реальными показателями работы. Однако, учитывая разнообразие проектов, разрабатываемых для них моделей и областей применения, очень сложно оценить работоспособность модели с помощью универсального теста. Возмущения в системах полунатурного моделирования принято реализовывать генератором синусоидальных сигналов с помощью модели гармонического осциллятора.
Одновременно с этим временное профилирование полунатурных моделей, а также определение предельных характеристик самих архитектурных решений вычислительных систем эффективно выполнить с помощью кольцевого теста [1].
Введение
Гармонический осциллятор это система, которая при смещении из положения равновесия испытывает действие возвращающей силы, пропорциональной смещению, согласно закону Гука [2]: F = -kx (1), где k коэффициент жесткости пружины.
Тогда уравнение движение груза с координатой, согласно второму закону Ньютона может быть записано следующим образом: x'' + w0*w0 *x = 0 (2), где w0*w0 = k/m собственная частота колебаний.
Для создания программной модели ГО выполняется численное интегрирование системы дифференциальных уравнений, полученных понижением порядка уравнения осциллятора (2): x1' = x2; x2' = -w*w*x1; (3)
Многопоточная реализация модели гармонического осциллятора
Для исследования кольцевого теста в одной модели были использованы два гармонических осциллятора с отличающимися собственными частотами. Была разработана модель, в которую вошли две системы уравнений (3), для решения которых был использован метод Эйлера. Программная реализация модели выполнена средствами MSVS C++. При этом использованы механизмы работы с потоками WinAPI. Каждый из осцилляторов реализован как отдельный поток, запуск которых выполняется в бесконечном цикле реального времени.
Экспериментальным путем получено максимальное значение времени соответствующее задержке переключения контекста потока и равное используемому шагу численного метода, при котором результаты моделирования просчитываются верно. Определяется логарифмически декремент затухания. Для подтверждения правильности работы системы выполнялось сравнение результатов моделирования разработанной программы с аналогичной моделью построенной средствами MATLAB.
SMP реализация модели гармонического осциллятора
При исследовании SMP-систем[3], в качестве инструмента использовалась система с четырехядерным процессором Intel. Для реализации многоядерной модели использовалась функция WinAPI SetThreadAffinityMask(). Дополнительные вычислительные ресурсы при этом не приводят к линейному увеличению быстродействия для конкретной задачи.
Временные задержки определяется способом доступа к виртуальной памяти через кэши L1 и L2 процессора. Причем способ реализации кэша накладывает ограничения на структуры данных обмениваемых (запись, чтение) между ядрами.
Выводы
Проведенные исследования показали работоспособность программных многопоточных моделей гармонического осциллятора и могут быть использованы для временного профилирования пользовательских приложений и получений сравнительных характеристик вычислительных систем.
Список использованной литературы
1. Беки Дж.А. Теория и применения гибридных вычислительных систем / Беки Дж.А., Карплюс У.Дж // Перевод с англ. под ред. д.т.н., проф. Б.Я. Когана – М.: Мир, – 1970. – 483 с.
2. Гармонический осциллятор [Электронный ресурс]. – Рeжим дoступa к ресурсу: http://ru.wikipedia.org/wiki/Гармонический_осциллятор.
3. Эхтер Ш. Многоядерное программирование / Ш. Эхтер, Дж. Робертс – СПб.: Питер, 2010. – 316 с.