Научная статья на тему 'АЛГОРИТМ ОПРЕДЕЛЕНИЯ ИНТЕНСИВНОСТИ ДОСТУПА К СТРУКТУРАМ ДАННЫХ В ПРОГРАММЕ ЭВМ'

АЛГОРИТМ ОПРЕДЕЛЕНИЯ ИНТЕНСИВНОСТИ ДОСТУПА К СТРУКТУРАМ ДАННЫХ В ПРОГРАММЕ ЭВМ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
34
5
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМ / ИНТЕНСИВНОСТЬ ДОСТУПА К ДАННЫМ / ПРОГРАММА ЭВМ / АППАРАТНАЯ ПРЕДВЫБОРКА / ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ ИСПОЛЬЗОВАНИЯ ВЫЧИСЛИТЕЛЬНЫХ РЕСУРСОВ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Наумчик Николай Алексеевич

Цель исследования. В статье рассматривается проблема эффективного использования вычислительных ресурсов. Описывается механизм аппаратной предвыборкой данных. Целью исследования является поиск решения, обеспечивающего возможность оценки количественного использования области памяти в программе ЭВМ. Что, в свою очередь, необходимо для повышения эффективности использования аппаратных возможностей ЭВМ. Выводы. В результате проведенного исследования автор приходит к выводу, что искомым решением является алгоритм определения интенсивности доступа к структурам данных в программе ЭВМ. В статье представлена терминология, поясняющая наименование показателей, используемых в алгоритме, описана математическая модель расчета показателя и ее ограничения. Сформулирована система уравнений, выражающая область значений показателя интенсивности доступа к данным, а для получения полной картины восприятия области значений, построены трехмерная модель и два двухплоскостных графика. Подробное описание алгоритма и представленная математическая модель итогового и промежуточных расчетов позволяют разработать автоматизированное решение для определенных инструментов (например, компиляторов), используемых при разработке программы ЭВМ. Автор делает вывод, что полученный показатель обеспечивает количественное представление об использовании долей информации (областей данных) в программе ЭВМ для последующей оценки эффективности программы ЭВМ и используемых структур данных. По результатам оценки могут быть приняты решения о соответствии/несоответствии предложенного решения и необходимости модификации программы ЭВМ или используемых структур данных.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Наумчик Николай Алексеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ALGORITHM FOR DETERMINING THE INTENSITY OF ACCESS TO DATA STRUCTURES IN A COMPUTER PROGRAM

The purpose of the research. The article discusses the problem of efficient use of computational resources. Describes the hardware prefetching mechanism. The purpose of the study is to find a solution that provides the ability to evaluate the quantitative use of the memory area in a computer program. This, in turn, is necessary to improve the efficiency of using the hardware capabilities of the computer. Results. As a result of the study, the author comes to the conclusion that the desired solution is an algorithm for determining the intensity of access to data structures in a computer program. The article presents the terminology that explains the name of the indicators used in the algorithm, describes the mathematical model for calculating the indicator and its limitations. A system of equations expressing the range of values of the data access intensity indicator was formulated. A three-dimensional model and two two-plane graphs were constructed to obtain a complete picture of the perception of the range of values. A detailed description of the algorithm and the presented mathematical model of the final and intermediate calculations allow us to develop an automated solution for certain tools (for example, compilers) used in the development of a computer program. The author concludes that the obtained indicator provides a quantitative representation of the use of shares of information (data areas) in a computer program for the subsequent assessment of the effectiveness of the computer program and the data structures used. Based on the results of the assessment, decisions can be made on the conformity / non conformity of the proposed solution and the need to modify the computer program or the data structures used.

Текст научной работы на тему «АЛГОРИТМ ОПРЕДЕЛЕНИЯ ИНТЕНСИВНОСТИ ДОСТУПА К СТРУКТУРАМ ДАННЫХ В ПРОГРАММЕ ЭВМ»

РАЗРАБОТКА АРХИТЕКТУРЫ КВАНТОВЫХ КОМПЬЮТЕРОВ НА НОВЫХ ПРИНЦИПАХ, СОЗДАНИЕ НОВОГО КВАНТОВОГО ПРОГРАММИРОВАНИЯ

DEVELOPMENT OF THE ARCHITECTURE OF QUANTUM COMPUTERS BASED

ON NEW PRINCIPLES, CREATING NEW QUANTUM PROGRAMMING

05.13.15 ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ, КОМПЛЕКСЫ

И КОМПЬЮТЕРНЫЕ СЕТИ

COMPUTERS, COMPLEXES AND COMPUTER NETWORKS

DOI: 10.33693/2313-223X-2021-8-2-37-47

Алгоритм определения интенсивности доступа к структурам данных в программе ЭВМ

Н.А. Наумчик ©

Главный вычислительный центр - филиал ОАО «Российские железные дороги» (ГВЦ), г. Москва, Российская Федерация

E-mail: nickolay47@yandex.ru

Аннотация. Цель исследования. В статье рассматривается проблема эффективного использования вычислительных ресурсов. Описывается механизм аппаратной предвыборкой данных. Целью исследования является поиск решения, обеспечивающего возможность оценки количественного использования области памяти в программе ЭВМ. Что, в свою очередь, необходимо для повышения эффективности использования аппаратных возможностей ЭВМ. Выводы. В результате проведенного исследования автор приходит к выводу, что искомым решением является алгоритм определения интенсивности доступа к структурам данных в программе ЭВМ. В статье представлена терминология, поясняющая наименование показателей, используемых в алгоритме, описана математическая модель расчета показателя и ее ограничения. Сформулирована система уравнений, выражающая область значений показателя интенсивности доступа к данным, а для получения полной картины восприятия области значений, построены трехмерная модель и два двухплоскостных графика. Подробное описание алгоритма и представленная математическая модель итогового и промежуточных расчетов позволяют разработать автоматизированное решение для определенных инструментов (например, компиляторов), используемых при разработке программы ЭВМ. Автор делает вывод, что полученный показатель обеспечивает количественное представление об использовании долей информации (областей данных) в программе ЭВМ для последующей оценки эффективности программы ЭВМ и используемых структур данных. По результатам оценки могут быть приняты решения о соответствии/несоответствии предложенного решения и необходимости модификации программы ЭВМ или используемых структур данных.

Ключевые слова: алгоритм, интенсивность доступа к данным, программа ЭВМ, аппаратная предвыборка, повышение эффективности использования вычислительных ресурсов

ССЫЛКА НА СТАТЬЮ: Наумчик Н.А. Алгоритм определения интенсивности доступа к структурам данных в программе ЭВМ // Computational nanotechnology. 2021. Т. 8. № 2. С. 37-47. DOI: 10.33693/2313-223X-2021-8-2-37-47

DOI: 10.33693/2313-223X-2021-8-2-37-47

Algorithm for Determining the Intensity of Access to Data Structures in a Computer Program

N.A. Naumchik ©

Main Computing Center is a Branch of JSC Russian Railways (MCC), Moscow, Russian Federation

E-mail: nickolay47@yandex.ru

Abstract. The purpose of the research. The article discusses the problem of efficient use of computational resources. Describes the hardware prefetching mechanism. The purpose of the study is to find a solution that provides the ability to evaluate the quantitative use of the memory area in a computer program. This, in turn, is necessary to improve the efficiency of using the hardware capabilities of the computer. Results. As a result of the study, the author comes to the conclusion that the desired solution is an algorithm for determining the intensity of access to data structures in a computer program. The article presents the terminology that explains the name of the indicators used in the algorithm, describes the mathematical model for calculating the indicator and its limitations. A system of equations expressing the range of values of the data access intensity indicator was formulated. A three-dimensional model and two two-plane graphs were constructed to obtain a complete picture of the perception of the range of values. A detailed description of the algorithm and the presented mathematical model of the final and intermediate calculations allow us to develop an automated solution for certain tools (for example, compilers) used in the development of a computer program. The author concludes that the obtained indicator provides a quantitative representation of the use of shares of information (data areas) in a computer program for the subsequent assessment of the effectiveness of the computer program and the data structures used. Based on the results of the assessment, decisions can be made on the conformity / non conformity of the proposed solution and the need to modify the computer program or the data structures used.

Key words: algorithm, data access intensity, computer program, hardware prefect, increasing the efficiency of using computing resource

FOR CITATION: Naumchik N.A. Algorithm for Determining the Intensity of Access to Data Structures in a Computer Program. Computational Nanotechnology. 2021. Vol. 8. No. 2. Pp. 37-47. (In Russ.) DOI: 10.33693/2313-223X-2021-8-2-37-47

ВВЕДЕНИЕ

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

ОПИСАНИЕ ПРОБЛЕМЫ

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

АППАРАТНАЯ ПРЕДВЫБОРКА ДАННЫХ

В процессе анализа современных архитектур процессоров CISC [Афонин, Кабачник, 2020: 100-102], RISC [Аряшев, Бычков, 2016: 234], RISC-V [Тищук, Быковский, 2020], VLIV [Soliman, 2013], SPARC [Аверьянов, Черепанов, Ганжа и др., 2003: 46-52], в частности в процессе анализа современных процессоров R1000 (МЦСТ) [Ким, 2013], Эльбрус-4С [Маршалович, Рымарчук, Мурашко, 2018], установлено, что процессоры различных архитектур имеют возможности обеспечивающие повышение производительности. Одной из таких возможностей является аппаратная предвыборка данных (команд и информации). Данная возможность заключается в предварительной загрузке данных, находящихся в области памяти высокого уровня (жесткий диск, оперативная память) в область памяти низкого уровня (кэш память уровней L1, L2, L3) с целью предотвращения прерываний процессора для ожидания и подготовки памяти для чтения объектов (команд, операндов) [Аряшев, Бычков, 2016: 234; Тищук, Быковский, 2020; Ким, 2013].

В связи, с чем обозначена проблема эффективного использования данной возможности. Повышение эффективности использования данной возможности предполагается обеспечивать на этапе разработки программы для ЭВМ.

Наумчик Н.А.

ОПИСАНИЕ АЛГОРИТМА ОПРЕДЕЛЕНИЯ ИНТЕНСИВНОСТИ ДОСТУПА К СТРУКТУРАМ ДАННЫХ В ПРОГРАММЕ ДЛЯ ЭВМ

Одним из свойств алгоритма, контроль которого, по мнению автора, может положительно отразиться на повышении качества информационно-технического решения, является интенсивность обращений к области памяти. Интенсивность обращений к области памяти - (/ОкОП, далее I) отношение количества обращений к объему ограниченной области физической памяти вычислительного ресурса (пОкОП, далее п) к общему количеству обращений к полному объему физической памяти, выделяемой информационно-техническому решению, вычислительной системы (МОкП, далее

I = n/N. (1)

Математическая модель интенсивности обращений к области памяти имеет ограничения и может быть представлена следующей математической моделью с ограничениями:

п, N е М;

I е О;

п < N;

(2)

I = П; N

0 < I < 1.

Область значений интенсивности обращений к области памяти определена вышеуказанными ограничениями и имеет графическое представление (рис. 1-3).

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

Перед описанием алгоритма уточняется основная терминология статьи. Интенсивность обращений к полю - это отношение количества обращений к анализируемому полю к общему количеству обращений ко всем полям одного типа данных. Безусловный участок программы для ЭВМ - участок программы для ЭВМ, состоящий из, последовательно выполняемых, операций (команд).

Алгоритм определения интенсивности обращений к памяти состоит из следующих этапов.

1. Разделение программы для ЭВМ на кластеры. Для определения общего уровня интенсивности программы для ЭВМ требуется разделить программу для ЭВМ на три кластера:

1.1. Первый кластер (К|) образуют безусловные участки программы для ЭВМ, состоящие из последовательно исполняемых команд (рис. 1).

1.2. Второй кластер (К||) образуют условные участки программы для ЭВМ (рис. 2). Условные участки состоят из условных блоков, которые выполняются в случае соблюдения или не соблюдения условия. Деление условного участка до условных блоков связано с дифференцированием - приведением нелинейного условного алгоритма в алгоритм, состоящий из последовательных участков, которые выполняются с вероятностью, определяемой натуральным коэффициентом. Поэтому определение интенсивности выполнения условного блока программы для ЭВМ не отличается от определения интенсивности участка программы для ЭВМ первого кластера.

20

I- 40

I- 60

I- 80

- 100

Рис. 1. Область значений интенсивности обращений доступа к данным (вид сверху)

Fig.1. Range of values of the intensity of data access (top view)

100

Рис. 2. Область значений интенсивности обращений доступа к данным (вид сбоку)

Fig. 2. Range of values of the intensity of data access (side view)

DEVELOPMENT OF THE ARCHITECTURE OF QUANTUM COMPUTERS BASED ON NEW PRINCIPLES

1.3. Третий кластер (Кт) образуют циклические участки программы для ЭВМ (рис. 3). Циклический участок состоит из циклических блоков, которые выполняются в случае соблюдения или несоблюдения условия с наиболее вероятным количеством повторений.

Общая интенсивность обращений к памяти в программе для ЭВМ равна сумме интенсивностей обращений к памяти во всех участках (трех) кластеров.

1 =Z IKR = IKi + ,+ IKI , ,

(3)

100

Рис. 3. Область значений интенсивности обращений доступа к данным (объемная)

Fig. 3. Range of values of the intensity of data access (volumetric)

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

2. Определение интенсивностей обращений к областям памяти в трех кластерах (первом, втором и третьем кластерах).

2.1. Определение интенсивности обращений к полю структуры данных в участке первого кластера. Интенсивность обращений к полю структуры данных в участке первого кластера равна количеству прямых обращений (операций) к полю в блоке.

IVK, = n

(4)

2.2. Общая интенсивность обращений к полю структуры данных в участках первого кластера равна сумме интенсивностей обращений к полю структуры данных в участках первого кластера

ik = Ё ni.

(5)

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

3.1. После определения коэффициента определяется интенсивность обращений к полю структуры данных в блоке, которая равна произведению коэффициента вероятности выполнения блока и суммы прямых обращений (операций) к полю в блоке

= kn.

(6)

3.2. Интенсивность обращений к полю структуры данных в участке второго кластера равна сумме интенсивностей обращений к полю структуры данных в блоках участка второго кластера

L„ = У ■ = V к;П;.

УК,, БК,,/ L^ 1 1

(7)

3.3. Общая интенсивность обращений к полю структуры данных в участках второго кластера равна сумме интенсивностей обращений к полю структуры данных в участках второго кластера

IK=T IVKu = ЁЁ 1БКМ/ = Ё Ё к1П1

(8)

3.4. Определение интенсивности обращений к полю структуры данных в блоке участка третьего кластера. Для определения интенсивности обращений к полю структуры данных в блоке участка третьего кластера, в отличие от интенсивности второго кластера, сначала необходимо определить наиболее вероятное количество повторений блока участка третьего кластера1.

После определения наиболее вероятного количества повторений блока определяется интенсивность обращений к полю структуры данных в блоке, которая равна произведению наиболее вероятного количества повторений блока и суммы прямых обращений (операций) к полю в блоке

I

= hn.

(9)

3.5. Интенсивность обращений к полю структуры данных в участке третьего кластера равна сумме интенсивностей обращений к полю структуры данных в блоках участка третьего кластера

I

I = У 1БКМ|/ = ЕМ/.

(10)

1 Может быть определено эмпирическими, логическими или теоретическими методами. Является натуральным числом.

=i

u = 1

u = 1

u = 1

u

u

Наумчик Н.А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

3.6. Общая интенсивность обращений к полю структуры данных в участках третьего кластера равна сумме интенсивностей обращений к полю структуры данных в участках третьего кластера.

in а \ in и \

1к111=Е1ук|||Ц = Z Z^J =Z Z I.

kii J—t УКщи

u= 1 u= 1I i= 1

(11)

4. Определение интенсивностей обращений к полю структуры данных в программе для ЭВМ (первом, втором и третьем кластерах). Общая интенсивность обращений к полю структуры данных в программе ЭМВ будет равна сумме общих интенсивностей обращений к полю структуры данных во всех участках (кластерах) программы для ЭВМ.

1 = 1 к = 1 и| =1 I I^,

Л

(12)

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

К ^ m«iii ( "iii ^

I = у" + У Ук" + У Уh "

¿ш^ ¿ш^ К ' Kii ¿ш^ ¿ш^ 'Kill 'к

(13) . (14)

Таблица 1

Экспериментальный набор значений № 1 [Experimental set of values No. 1]

№ измерения [Measurement number] I II nkn III "kiii S

1 1 0 0 0 0 1

2 2 0 0 0 0 2

3 3 0 0 0 0 3

4 3 1 0,5 0 0 3,5

5 3 1 0,9 0 0 3,9

6 3 2 1 0 0 5

7 3 2 0,5 0 0 4

8 3 2 0,5 1 0,7 4,7

9 3 2 0,5 2 0,4 4,8

10 3 2 0,5 3 2,5 11,5

ПОДТВЕРЖДЕНИЕ СОСТОЯТЕЛЬНОСТИ

МАТЕМАТИЧЕСКОЙ МОДЕЛИ

Для демонстрации прозрачности подсчета суммы обращений к структуре данных, автором был подготовлен набор значений, состоящий из «малых» чисел (табл. 1, рис. 4). Экспериментальный набор значений описывает количество обращений к одной структуре данных в разрезе кластеров с указанием вероятностных коэффициентов.

При увеличении или уменьшении значений коэффициентов пК, пК сумма обращений к структуре данных (5) увеличивается или уменьшается соответственно и предсказуемо в генеральной совокупности.

Для демонстрации состоятельности математической модели расчета интенсивности автором был подготовлен экспериментальный набор значений, состоящий из «малых» и «больших». Данные значения определяют общие суммы количества обращений к 4 структурам данных (51, 52, 53, 54) и общую сумму количества обращений к памяти в программе ЭВМ (5) (табл. 2, 3).

В табл. 4-8 приведены расчетные значения показателей интенсивностей доступа к каждой структуре данных (11, 12, 13, 14) и общая сумма показателей интенсивности доступа (/), показатели изменения (разности) значений интенсивностей доступа к каждой структуре данных в текущем Измерении относительно значений интенсивностей доступа к каждой структуре данных в предыдущем измерении (Ф1, D2, D3, D4) для Измерений № 1 - № 27, № 28 - № 41 соовтественно.

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Сумма обращений к структуре памяти [The sum of calls to the memory structure]

Рис. 4. График к Экспериментальному набору данных № 1 Fig. 4. Graph for Experimental set of values No. 1

=1

u

и

1 % = 1 v К = 1

i i = 1V К i I = 1

и

и

Таблица 2

Экспериментальный набор данных № 2. Часть 1.1 [ Experimental set of values No. 2. Part 1.1]

№ измерения [Measurement number] S1 S2 S3 S4 S

1 1 0 0 0 1

2 2 0 0 0 2

3 3 0 0 0 3

4 4 0 0 0 4

5 5 0 0 0 5

6 5 1 0 0 6

7 5 2 0 0 7

8 5 3 0 0 8

9 5 4 0 0 9

10 5 5 0 0 10

11 4 5 0 0 9

12 3 5 0 0 8

13 2 5 0 0 7

14 1 5 0 0 6

№ измерения [Measurement number] S1 S2 S3 S4 S

15 0 5 0 0 5

16 5 5 0 0 10

17 5 5 1 0 11

18 5 5 2 0 12

19 5 5 3 0 13

20 5 5 4 0 14

21 5 5 5 0 15

22 5 5 5 5 20

23 5 4 5 5 19

24 4 4 5 5 18

25 3 4 5 5 17

26 3 5 6 5 19

27 5 5 6 4 20

Таблица 3

Экспериментальный набор данных № 2. Часть 2.1 [Experimental set of values No. 2. Part 2.1]

№ измерения [Measurement number] S1 S2 S3 S4 S

28 5 6 27 40 78

29 5 5 18 128 156

30 5 5 3 18 31

31 5 3 456 732 1196

32 125 354 120 89 688

33 123 534 121 100 453 453 786 123 453 786 577 152 206

34 123 511 034 330 345 340 453 453 786 453 783 453 1 361 093 613

35 8,22933E + 18 7,93858E + 18 4,85628E + 18 6,58334E + 18 2,76075E + 19

36 3,5037E + 18 3,21705E + 18 8,22487E + 18 8,0742E + 18 2,30198E + 19

37 9,25495E + 18 5,31345E + 18 9,36159E + 18 4,59222E + 17 2,43892E + 19

38 5,40328E + 18 5,18507E + 18 3,77669E + 18 5,3106E + 18 1,96756E + 19

39 4,82175E + 18 9,4126E + 18 1,17144E + 18 6,23926E + 18 2,16451E + 19

40 6,30225E + 18 6,58473E + 17 4,66496E + 18 5,42725E + 18 1,70529E + 19

41 3,54256E + 18 1,04841E + 18 4,55165E + 18 8,03343E + 18 1,7176E + 19

Таблица 4

Экспериментальный набор данных № 2. Часть 1.2 [Experimental set of values No. 2. Part 1.2]

№ измерения [Measurement number] h h I

1 1,0000000 0,0000000 0,0000000 0,0000000 1,0000000

2 1,0000000 0,0000000 0,0000000 0,0000000 1,0000000

3 1,0000000 0,0000000 0,0000000 0,0000000 1,0000000

4 1,0000000 0,0000000 0,0000000 0,0000000 1,0000000

5 1,0000000 0,0000000 0,0000000 0,0000000 1,0000000

6 0,8333333 0,1666667 0,0000000 0,0000000 1,0000000

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

7 0,7142857 0,2857143 0,0000000 0,0000000 1,0000000

8 0,6250000 0,3750000 0,0000000 0,0000000 1,0000000

9 0,5555556 0,4444444 0,0000000 0,0000000 1,0000000

10 0,5000000 0,5000000 0,0000000 0,0000000 1,0000000

11 0,4444444 0,5555556 0,0000000 0,0000000 1,0000000

12 0,3750000 0,6250000 0,0000000 0,0000000 1,0000000

13 0,2857143 0,7142857 0,0000000 0,0000000 1,0000000

14 0,1666667 0,8333333 0,0000000 0,0000000 1,0000000

15 0,0000000 1,0000000 0,0000000 0,0000000 1,0000000

16 0,5000000 0,5000000 0,0000000 0,0000000 1,0000000

17 0,4545455 0,4545455 0,0909091 0,0000000 1,0000000

18 0,4166667 0,4166667 0,1666667 0,0000000 1,0000000

19 0,3846154 0,3846154 0,2307692 0,0000000 1,0000000

20 0,3571429 0,3571429 0,2857143 0,0000000 1,0000000

21 0,3333333 0,3333333 0,3333333 0,0000000 1,0000000

22 0,2500000 0,2500000 0,2500000 0,2500000 1,0000000

23 0,2631579 0,2105263 0,2631579 0,2631579 1,0000000

24 0,2222222 0,2222222 0,2777778 0,2777778 1,0000000

25 0,1764706 0,2352941 0,2941176 0,2941176 1,0000000

26 0,1578947 0,2631579 0,3157895 0,2631579 1,0000000

27 0,2500000 0,2500000 0,3000000 0,2000000 1,0000000

Таблица 5

Экспериментальный набор данных № 2. Часть 2.2 [Experimental set of values No. 2. Part 2.2]

№ измерения [Measurement number] A A h I

28 0,0641026 0,0769231 0,3461538 0,5128205 1,0000000

29 0,0320513 0,0320513 0,1153846 0,8205128 1,0000000

30 0,1612903 0,1612903 0,0967742 0,5806452 1,0000000

31 0,0041806 0,0025084 0,3812709 0,6120401 1,0000000

32 0,1816860 0,5145349 0,1744186 0,1293605 1,0000000

33 0,0002140 0,0002098 0,7856745 0,2139016 1,0000000

34 0,0907440 0,2427058 0,3331540 0,3333962 1,0000000

35 0,2980829 0,2875512 0,1759041 0,2384618 1,0000000

36 0,1522034 0,1397515 0,3572951 0,3507500 1,0000000

37 0,3794690 0,2178606 0,3838415 0,0188289 1,0000000

38 0,2746177 0,2635273 0,1919478 0,2699073 1,0000000

39 0,2227645 0,4348615 0,0541205 0,2882535 1,0000000

40 0,3695698 0,0386135 0,2735577 0,3182590 1,0000000

41 0,2062500 0,0610392 0,2649996 0,4677112 1,0000000

Таблица 6

Экспериментальный набор данных № 2. Часть 2.2 [Experimental set of values No. 2. Part 2.2]

№ измерения [Measurement number] I

28 0,0641026 0,0769231 0,3461538 0,5128205 1,0000000

29 0,0320513 0,0320513 0,1153846 0,8205128 1,0000000

30 0,1612903 0,1612903 0,0967742 0,5806452 1,0000000

31 0,0041806 0,0025084 0,3812709 0,6120401 1,0000000

32 0,1816860 0,5145349 0,1744186 0,1293605 1,0000000

33 0,0002140 0,0002098 0,7856745 0,2139016 1,0000000

34 0,0907440 0,2427058 0,3331540 0,3333962 1,0000000

35 0,2980829 0,2875512 0,1759041 0,2384618 1,0000000

36 0,1522034 0,1397515 0,3572951 0,3507500 1,0000000

37 0,3794690 0,2178606 0,3838415 0,0188289 1,0000000

38 0,2746177 0,2635273 0,1919478 0,2699073 1,0000000

39 0,2227645 0,4348615 0,0541205 0,2882535 1,0000000

40 0,3695698 0,0386135 0,2735577 0,3182590 1,0000000

41 0,2062500 0,0610392 0,2649996 0,4677112 1,0000000

Таблица 7

Экспериментальный набор данных № 2. Часть 1.3 [Experimental set of values No. 2. Part 1.3]

№ измерения [Measurement number] D1 D2 D3 D4

1 - -

2 0,0000000 0,0000000 0,0000000 0,0000000

3 0,0000000 0,0000000 0,0000000 0,0000000

4 0,0000000 0,0000000 0,0000000 0,0000000

5 0,0000000 0,0000000 0,0000000 0,0000000

6 -0,1666670 0,16666670 0,0000000 0,0000000

7 -0,1190480 0,11904760 0,0000000 0,0000000

8 -0,0892860 0,08928570 0,0000000 0,0000000

9 -0,0694440 0,06944440 0,0000000 0,0000000

10 -0,0555560 0,05555560 0,0000000 0,0000000

11 -0,0555560 0,05555560 0,0000000 0,0000000

12 -0,0694440 0,06944440 0,0000000 0,0000000

13 -0,0892860 0,08928570 0,0000000 0,0000000

14 -0,1190480 0,11904760 0,0000000 0,0000000

№ измерения [Measurement number] D1 D2 D3 D4

15 -0,1666670 0,16666670 0,0000000 0,0000000

16 0,5000000 -0,50000000 0,0000000 0,0000000

17 -0,0454550 -0,04545500 0,0909091 0,0000000

18 -0,0378790 -0,03787900 0,0757576 0,0000000

19 -0,0320510 -0,03205100 0,0641026 0,0000000

20 -0,0274730 -0,02747300 0,0549451 0,0000000

21 -0,0238100 -0,02381000 0,0476190 0,0000000

22 -0,0833330 -0,08333300 -0,0833330 0,2500000

23 0,0131579 -0,03947400 0,0131579 0,0131579

24 -0,0409360 0,01169590 0,0146199 0,0146199

25 -0,0457520 0,01307190 0,0163399 0,0163399

26 -0,0185760 0,02786380 0,0216718 -0,0309600

27 0,0921053 -0,01315800 -0,0157890 -0,0631580

Наумчик Н.А.

Таблица 8

Экспериментальный набор данных № 2. Часть 2.3 [Experimental set of values No. 2. Part 2.3]

№ измерения [Measurement number] D1 D2 D3 D4

28 -0,1858970 —0,1730770 0,0461538 0,3128205

29 -0,0320510 —0,0448720 -0,2307690 0,3076923

30 0,1292390 0,1292390 -0,0186100 -0,2398680

31 -0,1571100 -0,1587820 0,2844967 0,0313950

32 0,1775054 0,5120265 -0,2068520 -0,4826800

33 -0,1814720 -0,5143250 0,6112559 0,0845411

34 0,0905299 0,2424960 -0,4525210 0,1194946

35 0,2073390 0,0448454 -0,1572500 -0,0949340

36 -0,1458790 -0,1478000 0,1813910 0,1122882

37 0,2272656 0,0781091 0,0265464 -0,3319210

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

38 -0,1048510 0,0456667 -0,1918940 0,2510783

39 -0,0518530 0,1713342 -0,1378270 0,0183463

40 0,1468053 -0,3962480 0,2194372 0,0300054

41 -0,1633200 0,0224257 -0,0085580 0,1494522

Далее автор приводит описание поведения экспериментальных расчетов.

1. Номера измерения 1-4: увеличение количества обращений к структуре данных № 1.

2. Номера измерения 5-10: увеличение количества обращений к структуре данных № 2.

3. Номера измерения 11-15: уменьшение количества обращений к структуре данных № 1.

4. Номера измерения 16-21: увеличение количества обращений к структуре данных № 3.

5. Номер измерения 22: равное количество обращений к каждой структуре данных.

6. Номер измерения 23: уменьшение количества обращений к структуре данных № 2.

7. Номера измерения 24, 25: уменьшение количества обращений к структуре данных № 1.

8. Номер измерения 26: увеличение количества обращений к структуре данных № 3.

9. Номер измерения 27: увеличение количества обращений к структуре данных № 1. Уменьшение количества обращений к структуре данных № 4.

10. Номер измерения 28: увеличение количества обращений к структурам данных № 2-4.

11. Номер измерения 29: увеличение количества обращений к структуре данных № 4. Уменьшение количества обращений к структуре данных № 2, 3.

12. Номер измерения 30: уменьшение количества обращений к структуре данных № 3, 4.

13. Номер измерения 31: увеличение количества обращений к структуре данных № 3, 4. Уменьшение количества обращений к структуре данных № 2.

14. Номер измерения 32: увеличение количества обращений к структуре данных № 1, 2. Уменьшение количества обращений к структуре данных № 32, 4.

15. Номер измерения 33: увеличение количества обращений к структуре данных № 1-4.

16. Номер измерения 34: увеличение количества обращений к структуре данных № 1, 2, 4. уменьшение количества обращений к структуре данных № 3.

17. Номера измерения 34-41: случайное количество обращений к структурам данных в диапазоне от 1 до 9 999 999 999 999 990 000.

По исходным и расчетным значениям был подготовлен график (рис. 5), иллюстрирующий поведение и динамику изменения значений интенсивностей доступа к структурам к данным.

-•-A

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 Интенсивность доступа к структурам данных [The intensity of access to data structures]

Рис. 5. График к экспериментальному набору данных № 1 Fig. 5. Graph for experimental set of values No. 2

На графике показатель I в измерениях № 1-5 равен 1, когда в программе ЭВМ используется только одна структура данных. В измерениях № 5-15 можно наблюдать уменьшение I1 и увеличение I2 вследствие использования в программе ЭВМ структуры № 2 для замены структуры № 1. В измерении № 16 в программе ЭВМ структуры № 1 и 2 используются равномерно.

В измерениях № 17-21 в программу ЭВМ вводится структура данных № 3 для равномерного распределения доступа к данным между тремя структурами данных. Учитывая, что показатели интенсивности доступа к данным структур № 1 и 2 равны I1 = I2, то и их изменения будут равны D1 = D2. В измерении № 22 в программу ЭВМ вводится структура данных № 4. Учитывая, что показатели интенсивности доступа к данным структур № 1-3 равны I1 = I = I3, то и их изменения будут равны D1 = D2 = D3. Изменения показателей интенсивности сопоставимы и качество их изменений не зависит от количества анализируемых структур данных.

Измерения № 23-32 демонстрируют корректное и сопоставимое изменение расчетных показателей и стабильное поведение математической модели. При значительном использовании структуры данных № 4, показатель I4 значительно превосходит остальные показатели I, I, I3.

Измерения № 33-41 были представлены для демонстрации предсказуемости поведения математической модели и сопоставимости расчетных показателей при очень большом количестве обращений к структурам данных.

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

Учитывая подтверждение состоятельности математической модели и независимости качества от количества структур данных и количественного значения доступа к структурам данных, можно отметить, что данная модель возможно применять при расчетах интенсивности доступа к данным в задачах, использующих методы параллельных вычисле-

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

Также можно отметить, что математическая модель имеет дополнительную возможность проверки качества проведения расчетов без использования дополнительного математического аппарата.

ВЫВОДЫ

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

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

ЗАКЛЮЧЕНИЕ

Знание оценки интенсивности использования памяти в программе для ЭВМ позволит эффективно распределить вычислительные ресурсы и помочь в принятии решений при разработке (программы для ЭВМ), проектировании (автоматизированной системы), повышении производительности программы для ЭВМ.

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

Литература

1. Абрамов А.В., Голдовский Я.М., Сафонова И.Е., Тельнов Г.Г. Обучающая программа «Представление информации в компьютере» // Инновационные, информационные и коммуникационные технологии. 2016. № 1. С. 371-374. URL: https://www.elibrary.ru/ download/elibrary_27332448_40543038.pdf

2. Аверьянов В.С., Черепанов С.А., Ганжа Т.В. Блок аппаратной предвыборки данных в кэш первого уровня МП МЦСТ^2000. М.: Моск. физ.-техн. ин-т (государственный университет). URL: http:// www.mcst.ru/files/595b91/570cd8/50372f/000000/averyanov_ v.s._blok_apparatnoy_predvyborki_dannyh_v_kesh_pervogo_ urovnya_mikroprotsessora_mtsst-r2000.pdf

3. Аряшев С.И., Бычков К.С. Оптимизация механизма предварительного считывания в кэш-памяти второго уровня // Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС). М.: Ин-т проблем проектирования в микроэлектронике РАН. 2016. С. 274. URL: https://www.elibrary.ru/it

4. Афонин И., Кабачник Д. Современные процессорные архитектуры // Современные технологии автоматизации. М.: ООО «СТА-ПРЕСС», 2020. С. 100-102. URL: https://www.cta.ru/Content/ FBPublisher/cta2020-1-/92/index.html

References

1. AbramovA.V., GoldovskyJ.M., Safonova I.E., Telnov G.G. Educational program "Representation of information in a computer. Innovative, Information and Communication Technologies. 2016. No. 1. Pp. 371-374. (In Russ.) URL: https://www.elibrary.ru/download/ elibrary_27332448_40543038.pdf

2. Averyanov V.S., Cherepanov S.A., Ganzha T.V. Block of hardware prefetching of data into the first-level cache of MP MCST-R2000. Moscow: Moscow Institute of Physics and Technology (State University). URL: http://www.mcst.ru/files/595b91/570cd8/5037 2f/000000/averyanov_v.s._blok_apparatnoy_predvyborki_dannyh_v_ kesh_pervogo_urovnya_mikroprotsessora_mtsst-r2000.df

3. Aryashev S.I., Bychkov K.S. Optimization of the mechanism of preliminary reading in the cache-memory of the second level. In: Problems of the development of promising micro- and nanoelectronic systems (MES). Moscow: Institute for Design Problems in Microelectronics RAS, 2016. P. 274. URL: https://www.elibrary.ru/it

4. Afonin I., Kabachnik D. Modern processor architectures. In: Modern automation technologies. Moscow: LLC «STA-PRESS», 2020. Pp. 100-102. URL: https://www.advantix-pc.ru/upload/iblock/f7b/ Sovremennye-protsessornye-arkhitektury.pdf

5. Бабаян Б.А., Ким А.К., Сахин Ю.Х. Отечественные универсальные микропроцессоры серии «МЦСТ-R» // Электроника: наука, технология, бизнес. М.: Техносфера, 2003. С. 46-52. URL: https:// www.elibrary.ru/it

6. Буряк Д.Ю., Попова Н.Н. О задаче прогнозирования времени выполнения нейросетевых алгоритмов с использованием плат GPU на примере сетей свертки // Computational nanotechnology. 2017. С. 27-51. URL: https://www.elibrary.ru/download/ elibrary_29368053_79085824.pdf

7. Зимин А.Е., Косое Н.А. Обеспечение информационной безопасности в процессе создания и использования программ для ЭВМ // Актуальные проблемы инфотелекоммуникаций в науке и образовании. Матер. VI Международной науч.-техн. и науч.-метод. конф.: сб. науч. ст. В 4 т. Т. 2 / под ред. С.В. Бачевского. СПб.: СПбГУТ, 2017. С. 343-348. URL: http://www.sut.ru/doci/nau-ka/6apino/apino2017-2.pdf

8. Маршалович В.Е., Рымарчук А.Г., Мурашко В.В. Результаты тестирования производительности сервера на базе процессора «Эльбрус-4С» // Суперкомпьютерные технологии. Ростов-на-Дону: Южный федеральный университет, 2018. С. 55-59. URL: https://www.elibrary.ru/it

9. Мастюгин М.Ю., Сафонова И.Е. Программа моделирования размещения данных в кэш-памяти полностью ассоциативное распределение // Инновации на основе информационных и коммуникационных технологий. М.: Моск. ин-т электроники и математики НИУ ВШЭ, 2015. С. 421-424.

10. Ким А.К. и др. Микропроцессоры и вычислительные комплексы семейства «Эльбрус». СПб.: Питер, 2013. С. 77-83. URL: http:// www.mcst.ru/doc/book_121130.pdf

11. Сафонова И.Е. О пространственно-временных характеристиках информации // Инновации на основе информационных и коммуникационных технологий. 2015. С. 230-233.

12. Соболев П.Ю., Филенко Е.С. Использование языка программирования Assembler в языках программирования высокого уровня // Научные перспективы XXI века: матер. Междунар. (заочной) науч.-практ. конф. (Прага, Чехия) / под общ. ред. А.И. Вострецова. Нефтекамск: Науч.-издат. центр «Мир науки», 2018. С. 105-110. URL: https://www.elibrary.ru/download/ elibrary_34897452_39958016.pdf

13. Солиман М.И. Архитектура VLIW для выполнения мультиска-лярных/векторных инструкций на унифицированном канале данных // Конф. по электронике, связи и фотонике (SIECPC) (Эр-Рияд, Саудовская Аравия). 2013. С. 1-7. URL: https://www.re-searchgate.net/publication/261093979_A_VLIW_architecture_for_ executing_multi-scalarvector_instructions_on_unified_datapath

14. Страусев А.В., Михолап Л.А., Кудряшов А.А. Метод оценки времени решения комплексной задачи на ЭВМ // Национальная ассоциация ученых (НАУ). 2018. № 9 (36). С. 47-50. URL: https:// www.elibrary.ru/download/elibrary_32811960_58182961.pdf

15. Тимофеев А.В., Князев А.С., Козлов В.В. Общая характеристика технологии создания программного обеспечения // Аллея науки. Томск: Издат. центр «Quantum», 2018. С. 439-443. URL: https:// www.elibrary.ru/download/elibrary_35184173_52557961.pdf

16. Тищук Б.Ю., Быковский С.В. Адаптивный блок предвыборки данных для кэш-памяти первого уровня для микропроцессоров с архитектурой RISC-V // Альманах научных работ молодых ученых университета ИТМО. СПб.: Национальный исследовательский университет ИТМО, 2020. С. 327-329. URL: https://www. elibrary.ru/it

5. Babayan B., Kim A.K., Sakhin Yu.Kh. Domestic universal microprocessors of the MCST-R series. In: Electronics: Science, technology, business. Moscow: Technosphere, 2003. Pp. 46-52. URL: https://www.elibrary.ru/it

6. Buriak D.Yu., Popova N.N. On the task of predicting the execution time of neural network algorithms using GPU boards on the example of convolution networks. Computational nanotechnology. 2017. Pp. 27-51. (In Russ.) URL: https://www.elibrary.ru/download/ elibrary_29368053_79085824.pdf

7. Zimin A.E., Kosov N.A. Ensuring information security in the process of creating and using computer programs. Actual Problems of Information Telecommunications in Science and Education. VI International Scientific-technical and Scientific-methodological Conference. Sat. Scientific. In 4 vols. T. 2. S.V. Bachevsky (under ed.). St. Petersburg: SPbGUT, 2017. Pp. 343-348. URL: http://www.sut.ru/ doci/nauka/6apino/apino2017-2.pdf

8. Marshalovich V.E., RymarchukA.G., Murashko V.V. Results of testing the server performance based on the processor "Elbrus-4C". In: Supercomputer technologies. Rostov-on-Don: Southern Federal University, 2018. Pp. 55-59. URL: https://www.elibrary.ru/it

9. Mastyugin M.Yu., Safonova I.E. Program for modeling data allocation in cache memory fully associative distribution. In: Innovations based on information and communication technologies. Moscow: Moscow Institute of Electronics and Mathematics, National Research University Higher School of Economics, 2015. Pp. 421-424.

10. Kim A.K. et al. Microprocessors and computing complexes of the "Elbrus" family. St. Petersburg: Piter, 2013. Pp. 77-83. URL: http:// www.mcst.ru/doc/book_121130.pdf

11. Safonova I.E. About the space-time characteristics of information. In: Innovations based on information and communication technologies. Moscow: Moscow Institute of Electronics and Mathematics NRU HSE, 2015. Pp. 230- 233.

12. Sobolev P.Yu., Filenko E.S. Using the Assembler programming language in high-level programming languages. Scientific perspectives of the XXI century. Materials of the International (correspondence) scientific-practical conference. Prague, Czech Republic. A.I. Vost-retsova (ed.). Neftekamsk: Scientific Publishing Center "World of Science", 2018. Pp. 105-110. URL: https://www.elibrary.ru/download/ elibrary_34897452_39958016.pdf

13. Soliman M.I. A VLIW architecture for executing multi-scalar/vector instructions on unified datapath. Electronics, Communications and Photonics Conference (SIECPC) (Riyadh, Saudi Arabia). 2013. Pp. 1-7. URL: https://www.researchgate.net/publication/261093979_A_ VLIW_architecture_for_executing_multi-scalarvector_instructions_ on_unified_datapath

14. Strausev A.V., Mikholap L.A., Kudryashov A.A. Method for estimating the time of solving a complex problem on a computer. National Association of Scientists (NAU). 2018. No. 9 (36). Pp. 47-50. (In Russ.) URL: https://www.elibrary.ru/download/elibrary_32811960_58182961.pdf

15. Timofeev A.V., Knyazev A.S., Kozlov V.V. General characteristics of the technology of software development. Alley of Science. Tomsk: Publishing Center "Quantum", 2018. Pp. 439-443. (In Russ.) URL: https://www.elibrary.ru/download/elibrary_35184173_52557961.pdf

16. Tishchuk B.Yu., Bykovsky S.V. Adaptive data prefetch block for the first level cache for microprocessors with RISC-V architecture. In: Almanac of scientific works of young scientists of ITMO University. St. Petersburg: Federal State Autonomous Educational Institution of Higher Education "National Research University ITMO", 2020. Pp. 327-329. URL: https://www.elibrary.ru/it

Статья проверена программой Антиплагиат. Оригинальность - 90,88%

Рецензент: Желенков Б.В., кандидат технических наук, доцент; заведующий кафедрой «Вычислительные системы, сети и информационная безопасность» Российского университета транспорта

Статья поступила в редакцию 15.05.2021, принята к публикации 23.06.2021 The article was received on 15.05.2021, accepted for publication 23.06.2021

СВЕДЕНИЯ ОБ АВТОРЕ

Наумчик Николай Алексеевич, ведущий технолог Главного вычислительного центра - филиала ОАО «Российские железные дороги» (ГВЦ). Москва, Российская Федерация. E-mail: nickolay47@yandex.ru

ABOUT THE AUTHOR

Nikolay A. Naumchik, leading technologist at the Main Computing Center is a Branch of the JSC Russian Railways (MCC). Moscow, Russian Federation. E-mail: nickolay47@ yandex.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.