ИССЛЕДОВАНИЕ ХАРАКТЕРИСТИК КОНВЕЙЕРНОЙ ОБРАБОТКИ ДАННЫХ
|
ВВЕДЕНИЕ 3
1 Конвейерная обработка заявок 6
1.1 Принципы организации конвейера 6
1.2 Классификация конвейеров 10
1.3 Конфликты, приводящие к перезагрузкам 13
2 Исследование оптимизации конвейера 20
2.1 Оптимизация однородного детерминированного конвейера с однородным потоком
заявок 20
2.2 Оптимизация однородного детерминированного конвейера с неоднородным потоком заявок 28
2.3 Оптимизация однородного недетерминированного конвейера с однородным потоком заявок 30
2.4 Оптимизация однородного недетерминированного конвейера с неоднородным
потоком заявок 37
2.5 Оптимизация неоднородного детерминированного конвейера с однородным потоком заявок 39
2.6 Время обработки неоднородного потока заявок на неоднородном детерминированном конвейере 41
3 Программная реализация расчета времени обработки неоднородного потока заявок на неоднородном детерминированном конвейере 66
ЗАКЛЮЧЕНИЕ 74
ЛИТЕРАТУРА 76
ПРИЛОЖЕНИЕ А Листинг программы алгоритма прямого перебора 79
ПРИЛОЖЕНИЕ Б Листинг программы алгоритма с учетом оптимизации 80
1 Конвейерная обработка заявок 6
1.1 Принципы организации конвейера 6
1.2 Классификация конвейеров 10
1.3 Конфликты, приводящие к перезагрузкам 13
2 Исследование оптимизации конвейера 20
2.1 Оптимизация однородного детерминированного конвейера с однородным потоком
заявок 20
2.2 Оптимизация однородного детерминированного конвейера с неоднородным потоком заявок 28
2.3 Оптимизация однородного недетерминированного конвейера с однородным потоком заявок 30
2.4 Оптимизация однородного недетерминированного конвейера с неоднородным
потоком заявок 37
2.5 Оптимизация неоднородного детерминированного конвейера с однородным потоком заявок 39
2.6 Время обработки неоднородного потока заявок на неоднородном детерминированном конвейере 41
3 Программная реализация расчета времени обработки неоднородного потока заявок на неоднородном детерминированном конвейере 66
ЗАКЛЮЧЕНИЕ 74
ЛИТЕРАТУРА 76
ПРИЛОЖЕНИЕ А Листинг программы алгоритма прямого перебора 79
ПРИЛОЖЕНИЕ Б Листинг программы алгоритма с учетом оптимизации 80
Конвейер - это метод организации вычислений, применяемый в современных процессорах и контроллерах с целью улучшения их производительности (увеличения количества функций, выполняемых в единицу времени).
Идея заключается в разбиении обработки компьютерного алгоритма на очередность независимых стадий с сохранением итогов в конце каждой стадии. Это разрешает управляющим цепям процессора получать команды со скоростью самой медленной стадии обработки, но при этом намного быстрее, чем при выполнении одной полной обработки каждого алгоритма от начала до конца.
Сам термин «конвейер» впервые был применен на производстве, где использовался аналогичный принцип работы - продукт автоматически подтягивался по непрерывно движущейся ленте к рабочему, который выполнял над ним ряд необходимых действий, далее другой рабочий совершал другие действия; так продолжалось до тех пор, пока продукт не пройдет все стадии и не будет готов.
По итогу каждый рабочий выполнял свою «команду» за определённое время, сохраняя при этом высокий темп производства. В процессорах роль рабочих исполняют функциональные модули, входящие в состав процессора.
Простейшая конфигурация совмещения выполнения функций во времени была впервые представлена в машине «Z3» Конрада Цузе в 1941 году.
Ламповая малая ЭЦВМ «Урал» (1957 год, СССР) имела двухступенчатый конвейер операций.
Многостадийные конвейеры в современном представлении были реализованы в машине Анатолия Ивановича Китова «М-100» (1959 год, СССР), UNIVAC LARC (1960 год, США), IBD Stretch (1961 год, США), Atlas (1962 год, Великобритания) и БЭСМ-6 (1967 год, СССР).
Требования к современным технологиям растут и ожесточаются с каждым днем, поэтому подавляющее большинство пользователей современных компьютеров создает огромный спрос на процессоры с большой производительностью. Как ее добиться? Немаловажной составляющей является время, за которое процессор обрабатывает данные.
Однако конвейеры бывают не только процессорными, они широко используются в различных областях, таких как производство, логистика, обработка данных и так далее.
Виды конвейеров:
1. Производственные конвейеры используются для перемещения материалов или деталей от одного рабочего места к другому в процессе производства. Они могут быть механическими, автоматическими или полуавтоматическими.
2. Логистические конвейеры применяются для транспортировки товаров от производителя к потребителю. Они включают в себя различные виды транспорта, такие как автомобильный, железнодорожный, морской и воздушный.
3. Информационные конвейеры передают данные между различными компонентами системы. Они используются в обработке данных, телекоммуникациях и других областях.
Типы информационных конвейеров:
1. Процессорные конвейеры передают команды от центрального процессора (CPU) к другим компонентам компьютера, таким как оперативная память (RAM), жёсткий диск (HDD) и видеокарта (GPU). Процессорные конвейеры используются для ускорения выполнения команд и повышения производительности компьютера.
2. Сетевые конвейеры передают пакеты данных по сети. Они используются для обеспечения связи между компьютерами и другими устройствами. Сетевые конвейеры включают в себя такие протоколы, как TCP/IP, UDP и другие.
3. Конвейеры обработки данных они обрабатывают данные, полученные из различных источников, и преобразуют их в нужную форму. Конвейеры обработки данных используются в таких областях, как машинное обучение, анализ данных и искусственный интеллект.
4. Другие типы конвейеров, которые используются в конкретных областях. Например, в системах управления проектами используются конвейеры для отслеживания задач и ресурсов. В системах управления базами данных используются конвейеры для выполнения запросов к базе данных.
Конвейерная обработка данных позволяет ускорить выполнение задач за счёт параллельного выполнения операций. Она широко используется в современных компьютерах и серверах.
В целом, конвейеры являются важным инструментом для повышения эффективности и производительности различных процессов.
Таким образом, целью данной работы становится оптимизация длины неоднородного конвейера по критерию минимума времени выполнения заявок.
Для достижения поставленной цели необходимо решить ряд задач:
1. Провести сравнительный анализ и изучить связь между конвейерами разной структуры (однородный/неоднородный) и временем выполнения каждого (однородного/неоднородного) набора заявок;
2. Рассмотреть процесс обработки неоднородным конвейером различных типов потоков заявок (однородный и неоднородный) и найти время обработки каждого набора заявок;
3. Написать программу на любом из языков программирования, которая наглядно покажет, какое из соотношений времен выполнения заявок даст минимальное время обработки конвейера.
Идея заключается в разбиении обработки компьютерного алгоритма на очередность независимых стадий с сохранением итогов в конце каждой стадии. Это разрешает управляющим цепям процессора получать команды со скоростью самой медленной стадии обработки, но при этом намного быстрее, чем при выполнении одной полной обработки каждого алгоритма от начала до конца.
Сам термин «конвейер» впервые был применен на производстве, где использовался аналогичный принцип работы - продукт автоматически подтягивался по непрерывно движущейся ленте к рабочему, который выполнял над ним ряд необходимых действий, далее другой рабочий совершал другие действия; так продолжалось до тех пор, пока продукт не пройдет все стадии и не будет готов.
По итогу каждый рабочий выполнял свою «команду» за определённое время, сохраняя при этом высокий темп производства. В процессорах роль рабочих исполняют функциональные модули, входящие в состав процессора.
Простейшая конфигурация совмещения выполнения функций во времени была впервые представлена в машине «Z3» Конрада Цузе в 1941 году.
Ламповая малая ЭЦВМ «Урал» (1957 год, СССР) имела двухступенчатый конвейер операций.
Многостадийные конвейеры в современном представлении были реализованы в машине Анатолия Ивановича Китова «М-100» (1959 год, СССР), UNIVAC LARC (1960 год, США), IBD Stretch (1961 год, США), Atlas (1962 год, Великобритания) и БЭСМ-6 (1967 год, СССР).
Требования к современным технологиям растут и ожесточаются с каждым днем, поэтому подавляющее большинство пользователей современных компьютеров создает огромный спрос на процессоры с большой производительностью. Как ее добиться? Немаловажной составляющей является время, за которое процессор обрабатывает данные.
Однако конвейеры бывают не только процессорными, они широко используются в различных областях, таких как производство, логистика, обработка данных и так далее.
Виды конвейеров:
1. Производственные конвейеры используются для перемещения материалов или деталей от одного рабочего места к другому в процессе производства. Они могут быть механическими, автоматическими или полуавтоматическими.
2. Логистические конвейеры применяются для транспортировки товаров от производителя к потребителю. Они включают в себя различные виды транспорта, такие как автомобильный, железнодорожный, морской и воздушный.
3. Информационные конвейеры передают данные между различными компонентами системы. Они используются в обработке данных, телекоммуникациях и других областях.
Типы информационных конвейеров:
1. Процессорные конвейеры передают команды от центрального процессора (CPU) к другим компонентам компьютера, таким как оперативная память (RAM), жёсткий диск (HDD) и видеокарта (GPU). Процессорные конвейеры используются для ускорения выполнения команд и повышения производительности компьютера.
2. Сетевые конвейеры передают пакеты данных по сети. Они используются для обеспечения связи между компьютерами и другими устройствами. Сетевые конвейеры включают в себя такие протоколы, как TCP/IP, UDP и другие.
3. Конвейеры обработки данных они обрабатывают данные, полученные из различных источников, и преобразуют их в нужную форму. Конвейеры обработки данных используются в таких областях, как машинное обучение, анализ данных и искусственный интеллект.
4. Другие типы конвейеров, которые используются в конкретных областях. Например, в системах управления проектами используются конвейеры для отслеживания задач и ресурсов. В системах управления базами данных используются конвейеры для выполнения запросов к базе данных.
Конвейерная обработка данных позволяет ускорить выполнение задач за счёт параллельного выполнения операций. Она широко используется в современных компьютерах и серверах.
В целом, конвейеры являются важным инструментом для повышения эффективности и производительности различных процессов.
Таким образом, целью данной работы становится оптимизация длины неоднородного конвейера по критерию минимума времени выполнения заявок.
Для достижения поставленной цели необходимо решить ряд задач:
1. Провести сравнительный анализ и изучить связь между конвейерами разной структуры (однородный/неоднородный) и временем выполнения каждого (однородного/неоднородного) набора заявок;
2. Рассмотреть процесс обработки неоднородным конвейером различных типов потоков заявок (однородный и неоднородный) и найти время обработки каждого набора заявок;
3. Написать программу на любом из языков программирования, которая наглядно покажет, какое из соотношений времен выполнения заявок даст минимальное время обработки конвейера.
В работе проанализированы виды конвейеров и особенности их работы.
С учетом особенностей работы конвейеров с разными потоками заявок решена задача вывода целевой функции, отражающей зависимость производительности конвейера от его параметров, а также решена задача оптимизации данной функции относительно длины конвейера и количества заявок, поступающих в обработку (для разных конвейеров и потоков заявок).
В работе найдена зависимость оптимальной длины однородного конвейера для детерминированного и недетерминированного случая с однородным и неоднородным потоком заявок от отношения времени выполнения заявок к накладным расходам, размера приложения и вероятности перезагрузки.
В случае однородного конвейера с однородным и неоднородным потоком заявок без перезагрузки выигрыш от конвейеризации равен удвоенной разности произведению среднего арифметического и среднего геометрического двух величин (см. формулы (1), (2)). В случае однородного конвейера при однородном потоке заявок с перезагрузкой - та же ситуация (см. формулу (3)). А при прочих равных условиях для неоднородного потока заявок с перезагрузкой выигрыш от конвейеризации выведен в формуле (4).
Также в работе определена зависимость оптимального количества пакетов неоднородного детерминированного конвейера с однородным потоком заявок от тех же величин, что перечислены выше. В таком случае выигрыш от конвейеризации равен удвоенной разности произведению среднего арифметического и среднего геометрического двух величин, деленной на скорость обработки (см. формулу (5)).
Что касается неоднородного детерминированного конвейера с неоднородным потоком заявок, то оптимизация невозможна, но можно оптимизировать накладные расходы посредством кэширования, либо увеличением быстродействия элементов и иерархической памяти, ускорить работу оперативной памяти, а также ускорить работу такого конвейера, разбив самое трудоемкое звено или самую большую заявку на оптимальное количество и отследить зависимость времени работы конвейера от способа разбиения, учитывая регулярные последовательности заявок и этапов.
Случаи неоднородного недетерминированного конвейера с однородным и неоднородным потоком заявок в данной работе рассмотрены не были, так как это задачи на порядок более сложного уровня.
Дальнейшим направлением исследования является комбинация возрастания и убывания скорости и трудоемкости этапов и заявок, то есть нерегулярные последовательности этапов и заявок.
С учетом особенностей работы конвейеров с разными потоками заявок решена задача вывода целевой функции, отражающей зависимость производительности конвейера от его параметров, а также решена задача оптимизации данной функции относительно длины конвейера и количества заявок, поступающих в обработку (для разных конвейеров и потоков заявок).
В работе найдена зависимость оптимальной длины однородного конвейера для детерминированного и недетерминированного случая с однородным и неоднородным потоком заявок от отношения времени выполнения заявок к накладным расходам, размера приложения и вероятности перезагрузки.
В случае однородного конвейера с однородным и неоднородным потоком заявок без перезагрузки выигрыш от конвейеризации равен удвоенной разности произведению среднего арифметического и среднего геометрического двух величин (см. формулы (1), (2)). В случае однородного конвейера при однородном потоке заявок с перезагрузкой - та же ситуация (см. формулу (3)). А при прочих равных условиях для неоднородного потока заявок с перезагрузкой выигрыш от конвейеризации выведен в формуле (4).
Также в работе определена зависимость оптимального количества пакетов неоднородного детерминированного конвейера с однородным потоком заявок от тех же величин, что перечислены выше. В таком случае выигрыш от конвейеризации равен удвоенной разности произведению среднего арифметического и среднего геометрического двух величин, деленной на скорость обработки (см. формулу (5)).
Что касается неоднородного детерминированного конвейера с неоднородным потоком заявок, то оптимизация невозможна, но можно оптимизировать накладные расходы посредством кэширования, либо увеличением быстродействия элементов и иерархической памяти, ускорить работу оперативной памяти, а также ускорить работу такого конвейера, разбив самое трудоемкое звено или самую большую заявку на оптимальное количество и отследить зависимость времени работы конвейера от способа разбиения, учитывая регулярные последовательности заявок и этапов.
Случаи неоднородного недетерминированного конвейера с однородным и неоднородным потоком заявок в данной работе рассмотрены не были, так как это задачи на порядок более сложного уровня.
Дальнейшим направлением исследования является комбинация возрастания и убывания скорости и трудоемкости этапов и заявок, то есть нерегулярные последовательности этапов и заявок.
Подобные работы
- СОЗДАНИЕ ПРОГРАММНОГО КОМПЛЕКСА ДЛЯ ОБРАБОТКИ ЛИДАРНЫХ СИГНАЛОВ И УПРАВЛЕНИЯ МИКРОИМПУЛЬСНЫМ КОГЕРЕНТНЫМ
ДОПЛЕРОВСКИМ ЛИДАРОМ
Магистерская диссертация, физика. Язык работы: Русский. Цена: 4650 р. Год сдачи: 2019 - Взаимосвязь временной перспективы и идентичности в кризисе ранней взрослости
Дипломные работы, ВКР, психология. Язык работы: Русский. Цена: 4320 р. Год сдачи: 2014 - КОММУНИКАТИВНЫЙ ПОТЕНЦИАЛ МНОГОСЕРИЙНОГО ТЕЛЕФИЛЬМА НА МАТЕРИАЛЕ АНАЛИЗА СЕРИАЛА «ВО ВСЕ ТЯЖКИЕ» РЕЖИССЁРА В. ГИЛЛИГАНА
Бакалаврская работа, культурология. Язык работы: Русский. Цена: 5600 р. Год сдачи: 2016 - Автоматизация параметрического анализа клеточных структур деревьев хвойных пород
Дипломные работы, ВКР, информатика. Язык работы: Русский. Цена: 4900 р. Год сдачи: 2016 - Транспортная конвейерная галерея модуля переработки мелких классов ЧЭМК
Бакалаврская работа, технология строительных процессов. Язык работы: Русский. Цена: 4260 р. Год сдачи: 2019 - ВЛИЯНИЕ ЭМПАТИИ НА ФОРМИРОВАНИЕ СИНДРОМА ЭМОЦИОНАЛЬНОГО ВЫГОРАНИЯ У ПЕДАГОГОВ
Дипломные работы, ВКР, психология. Язык работы: Русский. Цена: 4260 р. Год сдачи: 2018 - Исследование разделительных операций для оценки возможности управления технологическим процессом листовой штамповки
Магистерская диссертация, машиностроение. Язык работы: Русский. Цена: 4860 р. Год сдачи: 2017 - ЗАКОНОМЕРНОСТИ ФОРМИРОВАНИЯ ЗОНЫ ПЕРЕУВЛАЖНЕНИЯ ОКАТЫШЕЙ НА ОБЖИГОВОЙ КОНВЕЙЕРНОЙ МАШИНЕ
Авторефераты (РГБ), металлургия. Язык работы: Русский. Цена: 250 р. Год сдачи: 2012 - РАЗРАБОТКА И ВНЕДРЕНИЕ ЭНЕРГОЭФФЕКТИВНЫХ ТЕПЛОВЫХ СХЕМ КОНВЕЙЕРНЫХ МАШИН ДЛЯ ОБЖИГА ЖЕЛЕЗОРУДНЫХ ОКАТЫШЕЙ
Авторефераты (РГБ), металлургия. Язык работы: Русский. Цена: 250 р. Год сдачи: 2013



