ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ ИСПОЛЬЗОВАНИЯ ВЫЧИСЛИТЕЛЬНЫХ РЕСУРСОВ НА КОМПЬЮТЕРАХ ПОЛЬЗОВАТЕЛЕЙ ИНФОРМАЦИОННЫХ СИСТЕМ Шарипов М.И.

Уфимский государственный нефтяной технический университет


Номер: 5-1
Год: 2016
Страницы: 116-118
Журнал: Актуальные проблемы гуманитарных и естественных наук

Ключевые слова

Информационная система, вычислительные ресурсы, эффективность, Informational system, computing resources, efficiency

Просмотр статьи

⛔️ (обновите страницу, если статья не отобразилась)

Аннотация к статье

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

Текст научной статьи

Современные системы управления предприятий, как правило, строятся как информационные системы (ИС) [1] с применением двухуровневой или трехуровневой клиент-серверной архитектуры программного обеспечения и современных технологий программирования. В упрощенном варианте ИС строятся по двухуровневой архитектуре (рис. 1). На нижнем уровне находится система управления базами данных (СУБД), в которой хранятся данные и метаданные, касающиеся всех объектов и процессов предприятия. СУБД представляет собою специализированное программное обеспечение, например, Microsoft SQL Server, которое функционирует на базе серверной аппаратной платформы и операционной системы, например Microsoft Windows Server. На верхнем уровне информационной системы находится клиентская часть, функционирующая на персональных компьютерах и операционных системах для рабочих станций, например Microsoft Windows 7 Professional. Клиентская часть системы, как правило, представляет собою прикладное программное обеспечение с графическим интерфейсом пользователя и модулем взаимодействия с СУБД. Рис. 1. Двухуровневая информационная система. В расширенном варианте ИС строятся по трехуровневой архитектуре (рис. 2). В этом случае на нижнем уровне, как и в двухуровневой архитектуре, функционирует СУБД. На среднем уровне располагается серверная часть ИС, как правило, являющаяся WEB-приложением, также функционирующим на базе серверной операционной системы. Наконец, на верхнем уровне располагается клиентская часть, в качестве которой, как правило, выступает обычный WEB-браузер. Модуль взаимодействия с СУБД в таком случае находится на среднем уровне. Рис. 2. Трехуровневая информационная система. В то же время, как в двухуровневой, так и трехуровневой архитектуре, разработчиками информационных систем клиентские компьютеры зачастую рассматриваются как «печатные машинки», на которых выполняются операции не сложнее, чем формирование запросов, генерация отчетов и экспорт отчетов в формат офисных приложений (Microsoft Excel). Тем более, на клиентских компьютерах, как правило, не предполагается какой-либо поиск или математический расчет вариантов для последующего формирования решений на основе данных, содержащихся в отчетах. С другой стороны современный персональный компьютер содержит в себе значительные вычислительные ресурсы, которые можно и нужно использовать в рамках используемых на предприятиях современных информационных систем. Однако, здесь требуются особые подходы к организации вычислительного процесса, в частности, в задачах поиска решений. Следует особо отметить, что процессоры [2] современных компьютеров сдержат в себе 2, 4 и более ядер процессора, на которых могут параллельно решаться различные подзадачи некоторой большой задачи, например, поиска оптимальных решений. Также следует отметить особенность реализации механизма вызова функций (процедур) в современных процессорах и сред разработки приложений [3]: в большинстве современных приложениях вызов функций (процедур) осуществляется путем передачи параметров через специальную область памяти, называемую стеком. С другой стороны, многие вычислительные задачи имеют элегантное и наглядное решение в виде рекурсивных алгоритмов, однако, вызов рекурсивной функции приводит к цепочке вложенных вызовов функции, сопровождающихся кумулятивно накапливающимися дополнительными затратами стековой памяти и процессорного времени. Наконец также следует отметить, что современные процессоры поддерживают команды векторной обработки (набор команд SSE - Streaming SIMD Extensions, SIMD - Single Instruction Multiple Data) [4], позволяющие одной командой обрабатывать две пары вещественных операндов двойной точности или четыре пары операндов одинарной точности. В такой ситуации, очевидно, что возникает задача повышения эффективности использования вычислительных ресурсов компьютеров, в частности клиентских компьютеров в составе современных информационных систем предприятий. В рамках научных исследований автором были предложены три концептуальных подхода к организации вычислительного процесса в задачах поиска решений [5], обеспечивающих эффективное использование вычислительных ресурсов современных клиентских компьютеров: 1) На уровне большой и трудоемкой с вычислительной точки зрения задачи принятия решений по возможности ее необходимо декомпозировать на более простые подзадачи и распределять их по процессорным ядрам, добиваясь эффективной загрузки ядер и минимального времени решения всей задачи в целом. 2) На уровне алгоритмов, используемых внутри подзадач, по возможности следует избегать рекурсивных алгоритмов, которые приводят к длинным цепочкам вложенных вызовов функций, сопровождающихся кумулятивно накапливающимися затратами оперативной памяти и процессорного времени. Если есть возможность замены рекурсивного алгоритма на итеративный, то это обязательно необходимо делать. 3) На уровне отдельных операций, многократно выполняемых для различных наборов данных внутри подзадач, по возможности необходимо использовать векторные команды современных процессоров, позволяющие параллельно складывать и умножать две или четыре пары вещественных операндов. Для каждого из трех подходов также были разработаны математические модели вычислений, разработаны алгоритмы распараллеливания, и проведено экспериментальное исследование по оценке ускорения задач поиска решений на примере решения задач псевдобулевой оптимизации [6, 7]. Результаты исследований показало ускорение до 3,5 раз за счет распараллеливания задач поиска решений на 4-ядерном процессоре, до 3,3 раз за счет применения итеративных схем комбинаторного перебора, и до 3,2 раз за счет применения векторных команд современных процессоров.

Научные конференции

 

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