Назад в библиотеку

Исследование кольцевого теста на 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 с.