Синтез информационного обеспечения АС модульного типа

3.7.1. Постановка задачи

Модульное построение проектируемой АС накладывает ряд условий на синтез информационного обеспечения. Основными из них являются необходимость учета динамики реализации модулей и вызова в оперативную память ЭВМ соответствующих информационных массивов в целом либо их частей.

Синтез информационного обеспечения проектируемой по модульному принципу АСУ может быть осуществлен в три этапа.

На первом этапе определяются число и состав информационных массивов при заданном составе и частоте использования каждого модуля. Критерием оптимизации при решении этой задачи является минимизация общего числа обменов проектируемой АС с внешней памятью ЭВМ.

На втором этапе решается задача выбора оптимальных методов организации данных в полученной на первом этапе системе информационных массивов и их размещение во внешней памяти ЭВМ. Критериями решения этих задач могут быть

1) минимизация времени обмена с внешней памятью,

2) минимизация суммарных затрат на хранение и использование полученной системы информационных массивов,

3) минимизация времени решения одной какой-либо, обычно наиболее важной, задачи.

На третьем этапе решается задача определения оптимальной величины блока данных, при которой минимизируется общее время считывания, поиска и передачи данных в оперативную память.

 
 

Рис. 3.18. Схема постановки и последовательности решения задач синтеза ИО АСОИУ модульного типа

Покажем, какие оптимизационные модели могут быть использованы на каждом из этих этапов.

3.7.2. Задача и модель определения числа и состава информационных массивов

Пусть в результате диагностического анализа проектируемой АС для заданного комплекса задач управления определено множество программных модулей M={m1, m2,…, mv,…, mV}, где V – число таких модулей. Для каждого модуля mv установлена средняя частота его функционирования Qv (v=1,..,V) в заданный интервал времени, например, в сутки. Известно также множество информационных элементов D={d1, d2,…, d,…, dL}, где L – число таких элементов, с которыми связаны модули множества M. Каждый информационный элемент d характеризуется длиной записи, например, в байтах λ. Величины λ (ℓ=1,..,L) образуют вектор Λ={λ1, λ2,…, λ,…, λL}.

Для каждого модуля mv (v=1,..,V) информационный элемент d (ℓ=1,..,L) может быть входом, выходом или модуль mv никак не связан с информационным элементом d. В первом случае будем говорить, что модуль mv считывает элемент d, а во втором – модуль mv записывает элемент d.

Связь между модулями и информационными элементами может быть задана в виде двух матриц. Bс=║bvℓc║ и Bз=║ bvℓз ║, где bvℓc(bvℓз) равен единице, если ℓ-й информационный элемент (ℓ=1,..,L) считывается (записывается) v-м модулем (v=1,..,V) и равен нулю в противном случае.

Обозначим через F возможное число информационных массивов, по которым распределяются информационные элементы. Очевидно, что F≤L.

Введем следующие булевы переменные:

1, если ℓ-й информационный элемент размещен в f-й массив

xℓf=

0, в противном случае.

1, если

zvfс= (1)

0, если

1, если

zvfз= (2)

0, если

Другими словами zℓfс(з) принимает значение 1, если модуль mv связан с информационным элементом d, который находится в массиве f.

Переменные xℓf (ℓ=1,..,L; f=1,..,F) образуют матрицу X=║ xℓf ║, определяющую распределение информационных элементов по информационным массивам. Матрицы Zc=║ zℓfс ║ и Zз=║ zℓfз ║ размерности V*F каждая определяют связь программных модулей с информационными массивами.

Сформулированную задачу определения числа и состава информационных массивов можно теперь формально представить в виде следующей модели:

(3)

при ограничениях

(4)

(5)

(6)

где zℓfс и zℓfз определяются выражениями (1) и (2);

Nf – ограничения на общее число информационных элементов в f-м массиве;

- ограничения на длину записи в f-м массиве.

Значения величин , Nf, f=1,..,F определяются разработчиком АСУ исходя из ограничений, наложенных на внешние запоминающие устройства выбранной ЭВМ.

Задача (1) – (6) относится к классу задач целочисленного нелинейного программирования и может быть решена методом ветвей и границ. Алгоритм решения этой задачи будет рассмотрен в следующем семестре.

Данной задаче можно придать графовую интерпретацию: необходимо синтезировать двудольный граф , имеющий минимальное число дуг при ограничениях на размеры и сложность информационных массивов, возможности дублирования и распределения информационных элементов по массивам, где:

M – множество модулей: M={mv; v=1,..,V};

B – множество определяемых информационных массивов: B={bf; f=1,..,F};

Zс(з) – множество дуг, связывающих множество модулей с множеством массивов: Zс(з)=║zvfс(з)║.

       
 
 
   

 


Рис. 3.19. Графовая модель задачи

3.7.3. Задача выбора оптимальных методов организации полученных массивов и размещения программных модулей и массивов во внешней памяти ЭВМ

Как об этом уже говорилось, критериями, используемыми для решения данных задач, являются: 1) минимизация суммарных затрат на создание, хранение и эксплуатацию информационных массивов и программных модулей СОД либо 2) минимизация общего времени обработки данных или времени решения одной из задач обработки данных.

Введем необходимые обозначения:

I={1, 2,…, i,…, I0} – множество задач обработки данных;

 

N=║niv║ - матрица принадлежности модуля к задаче,

 

т.е.

1, если модуль v используется для решения задачи i;

niv=

0 в противном случае.

 

Mс(з)=║mvfс(з)║ - матрица принадлежности массива к модулю,

т.е.

1, если f-й массив считывается (записывается) v-м модулем

mvfс(з)=

0 в противном случае.

Pi – частота решения i-й задачи в АСОИУ;

qvi – частота использования v-го модуля при решении i-й задачи;

Nf – количество информационных элементов в одной записи f-го массива;

Lf – число записей в f-ом массиве;

Rf=Nf*Lf – объем (размер) информационного массива f (общее число информационных элементов в массиве);

C0 – стоимость единицы рабочего времени процессора для решения вычислительных задач;

Cυ – приведенная стоимость единицы рабочего времени носителя информации υ-го типа с внешней памятью ЭВМ;

Sυ – стоимость блока управления υ-го типа носителя информации; υ=1,..,υ0

τvυ – время считывания v-го модуля, размещенного на υ-м типе носителя;

tυ(с), tυ(з) – время считывания (записи) f-го массива, организованного с использованием μ-го способа (можно использовать разные способы доступа к данным: прямой, произвольный по ключам и т.п., можно по-разному организовывать саму структуру данных: реляционная, иерархическая, сетевая и смешанная) и размещенного на υ-м типе носителя информации;

Tv – процессорное время реализации v-го модуля;

dυ – объем запоминающего устройства υ-го типа носителя информации;

av – размер v-го модуля;

Δτv – время работы процессора при поиске v-го модуля;

Δτfс (Δτfз) – время работы процессора при считывании (записи) f-го массива.

Введем переменные:

1, если f-й массив организован μ-м методом и размещен на υ-м типе носителя информации

xυ=

0 в противном случае.

 

 

1, если v-й модуль размещен на υ-м типе носителя информации

yvυ=

0 в противном случае.

1) Рассмотрим вначале постановку задачи выбора оптимальных методов организации информационных массивов, размещения массивов и модулей во внешней памяти, минимизирующих суммарные затраты на создание, хранение и эксплуатацию модульной АСОИУ.

Полные приведенные затраты C на решение задач АСОИУ являются суммой капитальных Ск и эксплуатационных затрат Сэ, т.е. С=Скэ.

Капитальные затраты Ск определяются выбором типа носителя информации, т.е. выбором технических средств и могут быть определены следующим выражением:

(1)

- наименьшая целая часть, большая или равная α, где α – число носителей памяти типа υ=1,..,υ0.

Эксплуатационные затраты, в общем случае, содержат следующие составляющие:

- Стоимость непосредственной вычислительной работы процессора Сэобр; при решении задач i=1,..,I0;

- Стоимость процессорного времени при формировании адресов СэФА; для поиска нужных модулей и информационных элементов в соответствующих массивах;

- Стоимость записи и считывания массивов и модулей, т.е. стоимость обмена между оперативной и внешней памятью Сэобм. -важно только это слагаемое

Для вычисления этих составляющих могут быть использованы следующие формулы:

(2)

(3)

(4)

Так как выражения (2) и (4) не содержат введенных переменных, то задача выбора способов организации и размещения модулей и массивов во внешней памяти формализуется следующим образом:

где Ск и Сэобм определяются формулами (1) и (3) при ограничениях:

- на время Ti обмена с внешней памятью ЭВМ при решении i-й задачи: (5)

- на используемый объем носителя информации υ-го типа:

(6)

- на совместное размещение модулей и массивов в одном блоке носителя υ-го типа:

 

yvυ+xυ≤1 для заданных υ и (f, μ); (7)

 

- на размещение модулей на различных носителях:

(8)

- на размещение массивов на различных носителях:

(9)

- на размещение модулей и массивов на носителях определенного типа:

для заданного υ (10)

для заданного υ. (11)

2) Рассмотрим постановку и решение задачи выбора оптимальных методов организации массивов и модулей во внешней памяти, минимизирующих: 1) общее время обработки данных; 2) время решения одной из задач управления.

В первом случае критерий имеет вид:

(12)

Во втором – зафиксировав некоторое i:

(13)

В этих задачах кроме ограничений (5) – (11) учитывается дополнительное ограничение на суммарные затраты П на создание и эксплуатацию АСУ:

Скэобм≤П (14), где Ск и Сэобм определяются формулами (1) и (3).

Сформулированные задачи являются задачами целочисленного линейного программирования с булевыми переменными.

3.7.4. Задача определения оптимальной величины блока данных

В результате выше описанных этапов синтеза информационного обеспечения модульной АСУ получены следующие исходные данные, необходимые для определения оптимальной величины блока обмена данными с внешней памятью:

- система модулей программного обеспечения;

- множества информационных массивов и их связей с системой модулей;

- способы и характеристики размещения массивов и программных модулей на устройствах внешней памяти.

Введем необходимые переменные и обозначения:

L – число записей f-го массива, размещенного на υ-м типе запоминающего устройства;

M=║mvf║, v=1,..,V ; f=1,..,F – матрица связи массивов с модулями системы:

2, если f-й массив считывается и записывается v-м модулем,

mvf= 1, если f-й массив только считывается v-м модулем,

0, если f-й массив не используется v-м модулем;

X – целочисленная переменная, определяющая число записей в блоке при считывании и записи в f-й массив, размещенный на υ-м типе запоминающего устройства;

Требуется выбрать множество переменных {x} таким образом, чтобы минимизировать общее число обращений к внешней памяти с учетом технологических ограничений. Эта задача формулируется следующим образом:

(15)

при ограничениях:

- на объем оперативной памяти Dv, доступной для данного v-го модуля:

(16)

- на допустимый минимальный dυ и максимальный объема блока, размещенного в υ-м типе запоминающего устройства:

dυ ≤ x, f=1,..,F ; υ=1,..,υ0 (17)

- на целочисленность величины блока:

x ≥ 1, где x – целое , f=1,..,F ; υ=1,..,υ0 (18)

Данная задача является задачей дискретного программирования с нелинейной целевой функцией и линейными ограничениями и может быть решена алгоритмом, основанным на схеме «ветвей и границ».