×
19.04.2019
219.017.3182

Результат интеллектуальной деятельности: СИСТЕМА И СПОСОБ РАЗМЕЩЕНИЯ СТАТИЧЕСКИХ ОБЪЕКТОВ ДАННЫХ В НЕОДНОРОДНОЙ ОПЕРАТИВНОЙ ПАМЯТИ

Вид РИД

Изобретение

№ охранного документа
0002422883
Дата охранного документа
27.06.2011
Аннотация: Изобретение относится к области обработки данных в вычислительных системах. Техническим результатом является повышение производительности вычислительной системы с неоднородной оперативной памятью за счет более эффективного размещения статических объектов данных в памяти. При выполнении способа размещения статических объектов данных в неоднородной оперативной памяти сначала генерируют исполняемый файл из исходного кода в соответствии с обычной схемой процесса генерации исполняемого файла и посылают его в анализатор доступа. Затем собирают в генераторе трассы трассу доступа к области данных во время исполнения оптимизируемого кода и посылают ее в анализатор доступа. Извлекают из исполняемого файла информацию о статических объектах данных, а из трассы - характеристику доступа для каждого статического объекта данных. Принимают решение о рекомендуемом размещении статических объектов данных в одном из двух типов неоднородной оперативной памяти (энергонезависимой или динамической). Создают список статических объектов данных с информацией об их рекомендуемом размещении по двум типам неоднородной оперативной памяти и посылают созданный список в компилятор. Объединяют статические объекты данных, рекомендованные для каждого типа однородной оперативной памяти, в секции с дополнительными флагами. Размещают секции с дополнительными флагами в сегментах для каждого типа однородной оперативной памяти. 2 н. и 3 з.п. ф-лы, 6 ил.

Изобретение относится к области обработки данных в вычислительных системах, а именно к системам и способам размещения статических объектов данных в неоднородной оперативной памяти, и может применяться в компьютерных системах с неоднородной оперативной памятью.

Существующие способы размещения объектов в оперативной памяти состоят из следующих шагов (Фиг.1). Исходный код подают на вход компилятора, в котором генерируют объектный файл, содержащий набор секций, в которых размещены статические объекты данных. Секции комбинируют в сегменты в соответствии с флагами секций и помещают в неисполняемые, записываемые сегменты (Фиг.2). Исполняемый файл содержит исполняемые сегменты и сегменты данных. Сегменты загружают в оперативную память. Из уровня техники известны различные подходы к размещению объектов данных в памяти компьютера (см., например, опубликованные заявки US 20060248259 [1], US 20080082766 [2], WO 2009098311 [3]).

В известных способах размещения объектов в памяти не делается различий между объектами данных. Из-за этого возможны потери производительности в системе с неоднородной оперативной памятью в связи с неэффективным использованием типов неоднородной оперативной памяти с более долгим временем записи.

Наиболее близким к заявленному изобретению является способ поддержки неоднородной памяти (см. опубликованную заявку US 20070260827 [4]), в котором описывается способ представления областей неоднородной памяти операционной системе (ОС) на основе сходства памяти (логическое расстояние от центрального процессора/времен доступа). Данный способ выбран в качестве прототипа заявленного изобретения.

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

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

Технический результат достигается за счет создания системы размещения статических объектов данных в неоднородной оперативной памяти, содержащей соединенные между собой последовательно компилятор, генератор трассы и анализатор доступа. При этом генератор трассы выполнен с возможностью сбора трассы доступа к области данных, исполняемых во время работы оптимизируемого кода. Анализатор доступа выполнен с возможностью извлечения информации о статических объектах; данных из исполняемого файла, с возможностью извлечения характеристики доступа из трассы для каждого статического объекта; данных, с возможностью принятия решения о рекомендуемом размещении статических объектов данных по типам неоднородной оперативной памяти и с возможностью создания списка статических объектов данных с информацией об их рекомендуемом размещении по типам неоднородной оперативной памяти. Компилятор выполнен с возможностью генерации исполняемого файла из исходного кода в соответствии с обычной схемой процесса генерации исполняемого файла. Кроме того, компилятор выполнен с возможностью объединения статических объектов данных из списка, рекомендованных для каждого типа однородной оперативной памяти, в секции с дополнительными флагами и с возможностью размещения секций с дополнительными флагами в сегментах для каждого типа однородной оперативной памяти.

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

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

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

собирают в генераторе трассы трассу доступа к области данных во время исполнения оптимизируемого кода и посылают ее в анализатор доступа;

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

извлекают в анализаторе доступа из трассы характеристику доступа для каждого статического объекта данных;

принимают в анализаторе доступа решение о рекомендуемом размещении статических объектов данных по типам неоднородной оперативной памяти;

создают в анализаторе доступа список статических объектов данных с информацией об их рекомендуемом размещении по типам неоднородной оперативной памяти и посылают созданный список в компилятор;

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

размещают посредством компилятора секции с дополнительными флагами в сегментах для каждого типа однородной оперативной памяти.

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

Для лучшего понимания заявленного изобретения далее приводится его подробное описание с соответствующими чертежами.

Фиг.1. Схема процесса генерации исполняемого файла, известная из уровня техники.

Фиг.2. Схема размещения сегментов в системе с однородной динамической памятью, известная из уровня техники.

Фиг.3. Схема системы размещения статических объектов данных в неоднородной оперативной памяти, выполненная согласно изобретению.

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

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

Фиг.6. Схема способа перемещения статических объектов данных в сегменте данных исполняемого файла без перекомпиляции, выполненная согласно изобретению.

Рассмотрим вариант выполнения заявленной системы и способа, в котором неоднородная оперативная память (heterogeneous memory) содержит память двух типов: энергонезависимую оперативную память (NVRAM - Non-Volatile Random Access Memory) и динамическую оперативную память (DRAM - Dynamic Random Access Memory) (Фиг.3-5). Система размещения статических объектов данных в неоднородной оперативной памяти (Фиг.3) содержит соединенные между собой последовательно компилятор 1, генератор 2 трассы и анализатор 3 доступа.

При выполнении способа размещения статических объектов данных в неоднородной оперативной памяти (Фиг.4, 5) сначала генерируют в компиляторе 1 исполняемый файл из исходного кода в соответствии с обычной схемой процесса генерации исполняемого файла и посылают его в анализатор 3 доступа. Затем собирают в генераторе 2 трассы трассу доступа к области данных во время исполнения оптимизируемого кода и посылают ее в анализатор 3 доступа. Извлекают в анализаторе 3 доступа из исполняемого файла информацию о статических объектах данных. Извлекают в анализаторе 3 доступа из трассы характеристику доступа для каждого статического объекта данных. Принимают в анализаторе 3 доступа решение о рекомендуемом размещении статических объектов данных в одном из двух типов неоднородной оперативной памяти (энергонезависимой оперативной памяти или динамической оперативной памяти). Создают в анализаторе 3 доступа список статических объектов данных с информацией об их рекомендуемом размещении по двум типам неоднородной оперативной памяти и посылают созданный список в компилятор 1. Объединяют в компиляторе 1 статические объекты данных (из созданного списка), рекомендованные для каждого типа однородной оперативной памяти, в секции с дополнительными флагами. Размещают посредством компилятора 1 секции с дополнительными флагами в сегментах для каждого типа однородной оперативной памяти.

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

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

Источник поступления информации: Роспатент

Showing 121-125 of 125 items.
29.06.2019
№219.017.a078

Способ и система для снижения расхода краски при печати

Изобретение относится к области цифровой печати. Техническим результатом является снижение расхода краски при выводе текста или изображения на принтер. Результат достигается тем, что cистема для снижения расхода краски при печати посредством растеризации шрифтов включает в себя растеризатор...
Тип: Изобретение
Номер охранного документа: 0002405201
Дата охранного документа: 27.11.2010
29.06.2019
№219.017.a0e8

Устройство подсветки

Изобретение относится к видеотехнологиям. Заявленное устройство задней подсветки включает в себя множество светодиодов, имеющих светоизлучающую поверхность с углом рассеяния светового потока в угловой апертуре до ±90° от нормали к упомянутой светоизлучающей поверхности, пластину-световод,...
Тип: Изобретение
Номер охранного документа: 0002431168
Дата охранного документа: 10.10.2011
29.06.2019
№219.017.a1a7

Оптическая система голографической видеокамеры

Изобретение относится к технологии конструирования видеокамер высокого разрешения, в частности к созданию оптических систем для голографических видеокамер, работающих в условиях недостаточного освещения. Оптическая система голографической видеокамеры включает в себя оптический волновод с...
Тип: Изобретение
Номер охранного документа: 0002464608
Дата охранного документа: 20.10.2012
13.07.2019
№219.017.b3f7

Объектив

Объектив содержит по меньшей мере две оправы, в каждой из которых размещена, по меньшей мере, одна линза. Оправы состыкованы, шарнирно соединены друг с другом в виде цепи и образуют подвижные звенья цепи. Оправы выполнены с возможностью поворота вокруг осей, проходящих через стыкующиеся стороны...
Тип: Изобретение
Номер охранного документа: 0002406101
Дата охранного документа: 10.12.2010
14.07.2019
№219.017.b456

Система и способ предварительного размещения памяти

Изобретение относится к области конструирования компьютерных систем и, в частности, описывает способ предварительного размещения памяти в компьютерной системе. Техническим результатом является обеспечение размещения памяти в зависимости от применения к родительскому или дочернему процессу....
Тип: Изобретение
Номер охранного документа: 0002415467
Дата охранного документа: 27.03.2011
Showing 1-1 of 1 item.
08.03.2019
№219.016.d4b2

Способ формирования дамп файла

Изобретение относится к компьютерным технологиям, в частности к системам и способам формирования дамп файла при возникновении сбоя в работе программы (аварийном завершении программы) в вычислительных системах с ограниченными ресурсами. Техническим результатом является расширение функциональных...
Тип: Изобретение
Номер охранного документа: 0002393530
Дата охранного документа: 27.06.2010
+ добавить свой РИД