Реферат по теме выпускной работы
Содержание
- Введение
- 1. Актуальность темы
- 2. Цель и задачи исследования, планируемые результаты
- 3. Обзор исследований и разработок по теме
- 3.1 Обзор международных источников
- 3.2 Обзор локальных источников
- 4. Анализ областей использования сетевых процессоров
- 5. Экспериментальные исследования на модели сети массового обслуживания
- Выводы
- Список источников
Введение
Сетевые процессоры (СП) предназначены для обеспечения производительности и гибкости за счет параллельной и программируемой архитектуры, которая дает им преимущество перед процессорами общего назначения в производительности и аппаратными решениями в гибкости. Но использование СП также продуцирует новые трудности. Важно изучить ограничения архитектуры СП, чтобы можно было в полной мере использовать преимущества блоков СП для достижения требуемой производительности для определенного приложения [1].
Производительность (продуктивность) – объем информации, обрабатываемой системой в единицу времени. Производительность программного обеспечения существенно зависит от количества ресурсов, потребляемых программой в процессе выполнения.
Анализ производительности программного обеспечения характеризуется сложностью определения и задания параметров потребления ресурсов, характеризующих нагрузку компонентов модели программы для расчета по ним характеристик производительности.
При модификации программного обеспечения происходят значительные изменения параметров производительности, что желательно моделировать и прогнозировать заранее. Это обуславливает необходимость анализа ПО на стадии проектирования, а отсутствие достаточно простых и широко применимых моделей и методов анализа аналитического или имитационного характера делает задачу создания моделей и методов анализа производительности программ весьма актуальной.
1. Актуальность темы
Постоянный рост трафика в компьютерных сетях делает актуальной проблему создания высокопроизводительных специализированных сетевых процессоров и их программного обеспечения (ПО) для обработки потоков данных на разных уровнях стека протоколов. Поэтому большое значение имеет создание приложений, которые будут обеспечивать максимальную производительность сетевых процессоров.
Большинство существующих моделей позволяют оценить производительность ПО только после получения готового продукта. В современной ситуации задача реализации нескольких проектов с последующим их сравнением является весьма трудоемкой, поэтому остро стоит вопрос о создании методов и подходов анализа производительности ПО на стадии проектирования, без необходимости реализации проекта.
2. Цель и задачи исследования, планируемые результаты
Целью данного исследования является анализ аналитических моделей и методов оценки производительности программного обеспечения сетевых процессоров, разработка программного обеспечения, реализующего математические модели сетевых процессоров.
Основные задачи исследования:
- Анализ областей использования сетевых процессоров.
- Анализ архитектуры и программного обеспечения сетевых процессоров.
- Разработка математических моделей для исследования производительности системного и прикладного программного обеспечения сетевых процессоров.
- Разработка программного обеспечения для реализации математических моделей.
- Проведение экспериментов на моделях.
Планируемые научные и практические результаты:
- математические модели для исследования производительности системного и программного обеспечения сетевых процессоров;
- программное обеспечение для моделирования сетевых процессоров;
- рекомендации по поводу выбора эффективных параметров системного и прикладного программного обеспечения сетевых процессоров.
3. Обзор исследований и разработок по теме
Анализ эффективности структур сетевых процессоров является важной научной задачей, которая рассматривается несколькими исследовательскими группами во всем мире [3].
3.1 Обзор международных источников
Детально состояние проблемы моделирования и анализ методик моделирования сетевых процессоров рассмотрены в статьях [3 - 6].
Существует три основных подхода к исследованию архитектуры сетевых процессоров: имитационные модели [10], аналитические модели, основанные на кривых прибытия и обслуживания [11] и комплексная методика моделирования сетевых процессоров (КМСП) [12].
Методика анализа эффективности выполнения сетевых приложений на многоядерных структурах была рассмотрена в работах [7, 8]. Предложенная методика состоит из двух основных этапов: имитационное моделирование работы приложения на эталонном вычислительном ядре и расчет характеристик работы этого приложения на многоядерном сетевом процессоре. Недостатком используемой аналитической модели является невозможность исследования конвейерных структур и возможностей выполнения нескольких приложений на различных вычислительных ядрах.
В работе [9] предложена модель структуры СП, основанная на теории массового обслуживания. Модель позволяет исследовать работу многоядерного сетевого процессора, в котором все ядра работают параллельно. Процессор имеет одно главное вычислительное ядро, обрабатывающее поток пакетов и, по мере изменения нагрузки, подключающее или отключающее дополнительные вычислительные ядра. Однако, предложенная модель не позволяет исследовать конвейерные структуры СП, которые являются мощным инструментом повышения производительности сетевого процессора.
3.2 Обзор локальных источников
Национальные и локальные исследования проблем моделирования и анализа характеристик сетевых процессоров представлены работами доцента кафедры прикладной математики и информатики Донецкого национального технического университета Ю.В. Ладыженского и его аспирантов В.И. Грищенко и М. Юниса [3 - 6, 13 - 20].
В работах [13 - 14] описаны особенности и функции сетевых процессоров, анализ современных СП, их технических характеристик и функциональных возможностей, а также перспективы развития современных сетевых процессоров. В статье [15] предложена обобщенная структура СП, отражающая перспективные тенденции в разработке сетевых процессоров.
Работы [3, 6] посвящены моделированию сетевых процессоров и маршрутизаторов на многоядерных сетевых процессорах. В [16, 17] описывается комплексная методика моделирования сетевых процессоров, а также вопросы программирования пакетных сетевых процессоров.
В [5] представлена модель СП с раздельной памятью для кода и данных и произведено сравнение эффективности сетевых процессоров с общей и раздельной памятью.
Работы [4, 18 - 20] посвящены описанию аналитической модели сетевых процессоров пакетной обработки данных, предложена методика исследования влияния архитектуры кэша на производительность СП.
4. Анализ областей использования сетевых процессоров
Сетевые процессоры используются в производстве различных типов сетевого оборудования:
- маршрутизаторов и коммутаторов;
- сетевых экранов;
- пограничных контроллеров сессий;
- устройств обнаружения вторжений;
- устройств предотвращения вторжений;
- систем мониторинга сети.
В [2] рассмотрено развитие сетевых процессоров во времени.
По мере роста областей применения сетевых процессоров, рынок начал сегментироваться на три основные области сетевого оборудования: основные устройства, пограничные и устройства доступа. Каждое из этих направлений имеет различные области применения целевых и рабочих характеристик. Основные устройства находятся в середине сети. В результате они являются наиболее зависимыми от производительности и наименее чувствительными к гибкости. Примерами таких устройств являются гигабитные и терабитные маршрутизаторы.
Пограничные устройства находятся между ядром сети (основными устройствами) и устройствами доступа. Примерами пограничных устройств являются URL-балансировщики нагрузки и брандмауэры. Они ориентированы на средние и высокие скорости передачи данных и обработку более высокого уровня, поэтому необходим определенный запас гибкости.
Оборудование доступа представлено различными устройствами доступа к сети. Большинство из них занимается агрегированием и передачей по сети огромного количества потоков трафика. Примерами таких устройств являются кабельный модем и точка беспроводного доступа.
Каждому уровню сети требуются различные сочетания производительности обработки, функциональности и стоимости. Для эффективного удовлетворения этих потребностей сетевые процессоры должны быть оптимизированы не только под конкретные требования, предъявляемые оборудованием, но и для услуг, предоставляемых в каждом сегменте инфраструктуры сети.
Сетевые процессоры применяются для задач представленных ниже.
- Задачи уровня управления:
- контроль и управление работой устройства;
- задачи менее критичные по времени.
- Задачи уровня данных:
- операции происходящие в реальном времени «на пути пакета»;
- основные операции устройства (получение, обработка и передача пакетов).
В данной работе внимание уделяется коммутаторам четвертого и седьмого уровня, а также комбинированным коммутаторам (работающим на обоих уровнях) на основе многоядерных сетевых процессоров, которые описаны в [21].
Коммутаторы четвертого уровня выполняют маршрутизацию, независимую от контента, на уровне TCP. Он определяет целевой сервер, когда клиент запрашивает TCP соединение с помощью пакета TCP SYN. Затем он ассоциирует пакеты принадлежащие этому соединению с тем же сервером. Этот механизм является эффективным для пакетов, которые не проходят через уровень приложений.
Коммутатор седьмого уровня (контентозавимый) работает на уровне приложений. Он обеспечивает управление трафиком приложений с помощью глубокого анализа пакетов. Коммутатор седьмого уровня выполняют стандартную процедуру «рукопожатия» с клиентами на их стороне, без какого-либо участия сервера. Со стороны сервера, коммутатор поддерживает постоянное соединение с каждым отдельным сервером, что позволяет снизить накладные расходы на установление соединения.
На рисунке 1 представлены операции на контентозависимом коммутаторе.
Для коммутаторов седьмого и четвертого уровня разработано множество алгоритмов. Они делятся на статические, зависящие от состояния сервера, зависящие от состояния клиента, зависящие от состояний клиента и сервера. Описания этих алгоритмов можно найти в обзорной статье [22].
4. Экспериментальные исследования на модели сети массового обслуживания
Для модели, представленной на рисунке 2, рассмотренной более детально в [1], был разработан программный продукт на языке С# с использованием среды разработки MS Visual Studio 2012.
На данной модели были проведены экспериментальные исследования. С помощью анализа псевдокода можно получить приблизительные затраты на обслуживание для модулей. С помощью программы были получены затраты на обслуживание для всех ресурсов, максимальные затраты на обслуживание, которые определяют максимальную производительность, а также максимальная производительность для данных условий, которая достигается при количестве пакетов J и среднее время отклика.
По этим результатам расчетов на рисунке 3 показана зависимость производительности от количества запросов. Как видно из графика, при количестве в 5 запросов достигается предел производительности.
Было замечено, что добавление дополнительных пакетных процессоров не приводит к существенному улучшению производительности, потому что узким местом приложения является доступ к статической памяти.
Выводы
Исследование производительности приложений для сетевых процессоров на стадии проектирования является важной задачей для снижения трудоемкости сравнения проектов по параметру выполнения требований к производительности.
Магистерская работа посвящена исследованию методов и построению моделей для оценки производительности ПО для СП, а также разработке приложения для проведения экспериментов на данных моделях. В рамках проведенных исследований выполнено:
- Анализ областей использования сетевых процессоров.
- Анализ архитектуры и программного обеспечения сетевых процессоров.
- Разбор математических моделей для исследования производительности программного обеспечения сетевых процессоров.
- Реализовано большая часть программы для анализа характеристик программного обеспечения.
- Проведены некоторые эксперименты на модели.
В дальнейшем планируется:
- Доработка приложения для работы с различными моделями.
- Разработка параллельной версии вычислительных модулей.
- Проведение экспериментов на моделях для последующего получения рекомендаций по поводу выбора эффективных параметров системного и прикладного программного обеспечения сетевых процессоров.
Список источников
- Jie Lu, Jie Wang, "Analytical Performance Analysis of Network-Processor-Based Application Designs", Computer Communications and Networks, 2006. ICCCN 2006. Proceedings.15th International Conference on, October 2006
- Network processors of the past, present and future. White Paper. GlobalLogic. 2010.
- Ладыженський Ю.В. Моделирование сетевых процессоров пакетной обработки данных / Ю.В. Ладыженский, В.И. Грищенко // Матеріали міжнародної науково-практичної конференції «Інтернет – Освіта – Наука – 2006», м. Вінниця, 10 – 14 жовтня р. – 2006. – Т. 2. С. 417-422.
- В.И. Грищенко, Ю.В. Ладыженский, Моатаз Юнис. Влияние выделенного кэша команд на производительность сетевого процессора.// Наукові праці Донецького національного технічного університету, серія «Інформатика, кібернетика та обчислювальна техніка»,вып. 13 (185), Донецк, ДонНТУ, 2011. – С. 85-91.
- В.И. Грищенко, Ю.В. Ладыженский. Исследование влияния раздельной памяти на производительность многоядерного сетевого процессора. // Наукові праці Донецького національного технічного університету. Серiя «Проблеми моделювання та автоматизації проектування» (МАП-2011). Випуск: 9 (179) - Донецьк: ДонНТУ. - 2011. – 356 с.
- Моделирование маршрутизаторов на многоядерных сетевых процесорах / Грищенко В.И., Ладыженский Ю.В.//Научные труды ДонНТУ. Серия «Информатика, кибернетика и вычислительная техника».– 2010.– Вып. 12(165).– С.169-176
- Ning Weng and Tilman Wolf, “Pipelining vs. multiprocessors – choosing the right network processor system topology,” in Proc. of Advanced Networking and Communications Hardware Workshop (ANCHOR 2004) in conjunction with The 31st Annual International Symposium on Computer Architecture (ISCA 2004), Munich, Germany, June 2004.
- Tilman Wolf, Mark A. Franklin, "Performance Models for Network Processor Design," IEEE Transactions on Parallel and Distributed Systems, vol. 17, no. 6, pp. 548-561, Jun., 2006.
- Ahmadi M., Wong S. A Performance Model for Network Processor Architectures in Packet Processing Systems, Proceedings of the 19th International Conference on Parallel and Distributed Computing and Systems (PDCS 2007), pp. 176-181, Cambridge, Massachusetts, USA, November 2007.
- G. Memik and W. H. Mangione-Smith. NEPAL: A framework for efficiently structuring applications for network processors. InProc. Of Network Processor Workshop in conjunction with Ninth International Symposium on High Performance Computer Architecture (HPCA-9), Feb. 2003.
- Lothar Thiele, Samarjit Chakraborty, Matthias Gries, and Simon Kunzli, “Design space exploration of network processor architectures,” in Proc. of First Network Processor Workshop (NP-1) in conjunction with Eighth International Symposium on High Performance Computer Architecture (HPCA-8), Cambridge, MA, Feb. 2002, pp. 30–41.
- Tilman Wolf, Mark A. Franklin, "Performance Models for Network Processor Design," IEEE Transactions on Parallel and Distributed Systems, vol. 17, no. 6, pp. 548-561, Jun., 2006.
- Грищенко В.И., Ладыженский Ю.В., Юнис М. Перспективные архитектуры и тенденции развития современных сетевых процессоров / В.И. Грищенко, Ю.В. Ладыженский, М. Юнис // Материалы IV международной научно-технической конференции «Моделирование и компьютерная графика – 2011». – Донецк, 2011. – С. 93-97.
- Грищенко В.И., Ладыженский Ю.В., Юнис М. Основные направления развития современных сетевых процессоров / В.И. Грищенко, Ю.В. Ладыженский, М. Юнис // Наукові праці ДонНТУ. – Донецк, 2011. – (Серия «Інформатика, кібернетика та обчислювальна техніка»). – № 14 (188). – С. 123-127.
- Юнис М., Грищенко В.И., Ладыженский Ю.В. Обобщенная структура сетевых процессоров / М. Юнис, В.И. Грищенко, Ю.В. Ладыженский // Материалы VII международной научно-технической конференции студентов, аспирантов и молодых ученых «Информатика и компьютерные технологии – 2011». – Донецк, 2011. – С. 386-391.
- Ладыженский Ю.В., Грищенко В.И. Программирование процессоров обработки пакетов в компьютерных сетях / Ю.В. Ладыженский, В.И. Грищенко // Матеріали міжнародної науково-практичної конференції «Сучасні проблеми і досягнення в галузі радіотехніки, телекомунікацій та інформаційних технологій». – Запорожье, 2006. – C. 159-161.
- Грищенко В.И., Ладыженский Ю.В. Моделирование работы приложений на сетевых процессорах / В.И. Грищенко, Ю.В. Ладыженский // Материалы международной научно-практической конференции «Моделирование и компьютерная графика – 2007». – Донецк, 2007. – С. 167-173.
- Грищенко В.И., Ладыженский Ю.В. Исследование архитектуры кэша сетевых процессоров / В.И. Грищенко, Ю.В. Ладыженский // Науково-технічний журнал «Радіоелектронні і комп’ютерні системи». – № 6 (25). – С. 186-192.
- Ладиженский Ю.В., Грищенко В.И. Влияние политики замещения записей в кэше на производительность сетевого процессора / Ю.В. Ладыженский, В.И. Грищенко // Наукові праці ДонНТУ. – Донецк, 2007. – (Серия «Обчислювальна техніка та автоматизація»). – № 12 (118). – С. 114-119.
- Грищенко В.И., Ладыженский Ю.В. Оптимизация методики моделирования кэша сетевых процессоров / В.И. Грищенко, Ю.В. Ладыженский // Материалы III международной научно-технической конференции «Моделирование и компьютерная графика – 2009». – Донецк, 2009. – C. 249-254.
- J. Lu and J. Wang, "Performance Modeling and Analysis of Web Switch". in Proc. Int. CMG Conference, 2005, pp.665-672.
- V. Cardellini, E. Casalicchio, M. Colajanni, and P. S. Yu. The state of the art in locally distributed web-server systems. ACM Computing Surveys, 34(2):263-311, 2002.