Научная статья на тему 'Эффективность многопоточных приложений'

Эффективность многопоточных приложений Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
396
70
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПОТОКИ / ПРОЦЕССЫ / МНОГОПОТОЧНОСТЬ / ЭФФЕКТИВНОСТЬ

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

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

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

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

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

Текст научной работы на тему «Эффективность многопоточных приложений»

Эффективность многопоточных приложений

1 2 Кадомский А. А. , Захаров В. А.

2

1Кадомский Андрей Андреевич /Kadomskij Andrej Andreevich - студент; 2Захаров Виктор Альбертович / Zaharov Viktor Albertovich - старший преподаватель,

кафедра машиностроения и информационных технологий, Зеленодольский институт машиностроения и информационных технологий (филиал), Казанский государственный технический университет им. А. Н. Туполева, г. Зеленодольск

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

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

Под потоком понимают выполняющийся программный код.

Выполнение процесса начинается с выполнения основного потока, представленного главной функцией main или WinMain в языках С/С++ и Main() на языке C#. Основной поток инициирует, выполняет и завершает работу процесса [1, с. 160].

Из основного потока могут быть запущены дополнительные (рабочие) потоки, которые будут выполняться параллельно с основным и другими потоками.

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

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

Для примера был взят интеграл:

который многократно численно вычислялся. Вычисления выполнялись на компьютере с процессором Intel® Core™ i3 -4170 CPU@3,7 GHz (2 ядра, 4 логических процессора). Тексты обеих программ (однопоточной и многопоточной) были написаны на языке C#. В многопоточной программе количество потоков было равно 4.

Эффективность программ

400

800 1200 1600 Количество вычислений,шт

2000

однопоточная

»многопоточная

Рис. 1. Время работы однопоточных и многопоточных приложений при небольшом количестве

вычислений

Относительная эффективность

е и2

н е ш о н

Л 1

0,5

1000

10000 100000

Количество вычислений

1000000

4

0

Рис. 2. Относительная эффективность многопоточных и однопоточных приложений

Как мы видим из графиков на рис. 1, многопоточный вариант программы при малом количестве вычислений может быть даже более медленным, чем однопоточный. Точка перехода для данного варианта приложения приблизительно равна 1200 вычислениям интеграла. С ростом количества вычислений эффективность многопоточного варианта относительно однопоточного возрастает. На рис. 2 приводится отношение времени выполнения многопоточного и однопоточного приложения при очень больших количествах вычислений. Как видно из данного рисунка, отношение времени выполнения стремится к количеству логических процессоров компьютера, что свидетельствует о высокой (почти 100 %) загрузке многоядерного процессора при работе многопоточного приложения.

Литература

1. Медведев В. И. Особенности объектно-ориентированного программирования на C++/CLI, C# и Java. 2-е изд., испр. и доп. Казань: РИЦ «Школа», 2010. 444 с.

Особенности проведения гидроразрыва пласта газоконденсатных

месторождений Шешуков С. В.

Шешуков Степан Витальевич /Sheshukov Stepan Vital'evich - магистрант, кафедра моделирования разработки нефтяных и газовых месторождений, Тюменский индустриальный университет, г. Тюмень

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

Ключевые слова: особенности гидроразрыва пласта, газоконденсатные месторождения, новые методы ГРП.

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

В мировой практике газонефтедобычи для интенсификации притока, широкое распространение получил способ гидравлического разрыва пласта (ГРП). При проведении в призабойной зоне пласта (ПЗП) образуется разветвленная система дренирования за счет раскрытия естественных микротрещин и создания вертикальной трещины большой протяженности. Это дает возможность включить в отработку продуктивные пропластки, вскрытые скважиной, повысить дебит, снизить депрессию на пласт и повысить коэффициент газонефтеконденсатоотдачи месторождения [1, с. 4].

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

Успешность гидроразрыва определяется правильным выбором объекта для проведения операции. Для предупреждения перетока жидкости гидроразрыва по заколонному пространству необходимо произвести расчет допустимой и максимальной репрессий, возникающих при ГРП, для сравнения величины допустимой и максимальной репрессий. В случае превышения допустимой репрессии над максимальной, т.е. при отсутствии перетока жидкости гидроразрыва по заколонному пространству на скважине проводится гидроразрыв пласта. При максимальной репрессии больше допустимой ведутся ремонтно-изоляционные работы на скважине.

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

Толщина глинистых экранов, отделяющих продуктивный пласт, подлежащий локальному гидроразрыву от непродуктивных коллекторов, должна быть не менее 6,0 м [2, с. 157]. Толщина литологических экранов между объектами, подвергаемыми поинтервальному ГРП, должна быть не менее величины от 12,0 до 14,0 м согласно технологии фирмы Халибертен.

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