В наши дни компьютеры с несколькими многоядерными процессорами стали нормой. Стандарт C++11 языка C++ предоставляет развитую поддержку многопоточности в приложениях. Поэтому, чтобы сохранять конкурентоспособность, вы должны овладеть принципами и приемами их разработки, а также новыми средствами языка, относящимися к параллелизму. Книга «Параллельное программирование на С++ в действии» не предполаг…
Организация динамически разрастающихся массивов и процесс их обработки является одной из важных составляющих информационных технологий. Скорость работы таких алгоритмов определяется не только степенью их сложности, но и организацией обрабатываемых данных. В работе представлен принцип организации бинарной структуры для дихотомического разбиения куба.
Усеянная беспечными иллюстрациями и смесью развлекательных и практических примеров программ, книга «Изучай Erlang во имя добра!» является отличным пунктом отправления в иногда безумный, но всегда восхитительный мир Erlang. Вероятно, вас привело к Erlang обещание конкурентности или параллелизма. Возможно, это аспект языка, касающийся распределённых вычислений, а может быть, необычный подход к устой…
В статье предлагается параллельная версия одного из алгоритмов кластеризации, принцип работы которого основан на так называемом жадном подходе. Для решения задачи распараллеливания алгоритма была выбрана технология CUDA, разработанная компанией NVIDIA. Приводятся программный код и результаты вычислительных экспериментов для матриц схожести разного размера.
Рассмотрены задачи обтекания тел различной геометрической формы при различных скоростях набегающего потока (дозвуковых и сверхзвуковых) в плоском и осесимметричном случаях во всем диапазоне проницаемости: от непротекания до свободного течения. Приведены описания программ по расчету трехмерных нестационарных задач с учетом гравитационного поля (задач неустойчивости Рэлея – Тейлора) с помощью разнос…
CUDA – вычислительная архитектура, разработанная компанией NVIDIA и предназначенная для разработки параллельных программ. В сочетании с развитой программной платформой архитектура CUDA позволяет программисту задействовать невероятную мощь графических процессоров для создания высокопроизводительных приложений, включая научные, инженерные и финансовые приложения. Книга написана двумя старшими членам…
Данная книга описывает процесс создания распределенных, параллельных систем и систем реального времени с точки зрения проектирования архитектуры системы. Подробно рассмотрены ключевые вопросы, возникающие в процессе разработки: управление временем отклика, синхронизация, актуальность и непротиворечивость данных. На многочисленных примерах автор показывает, как с помощью одной и той же универсально…
Данная книга представляет собой введение в методы программирования для параллельных ЭВМ. Основной ее целью является научить читателя самостоятельно разрабатывать максимально эффективные программы для таких компьютеров. Вопросы распараллеливания конкретных алгоритмов рассмотрены на многочисленных примерах программ на языке С. В основу книги положен курс лекций для студентов механико-математического…
Объем обрабатываемых данных во всех областях человеческой деятельности продолжает расти быстрыми темпами. Существуют ли эффективные приемы работы с ним? В этой книге рассказывается об Apache Spark, открытой системе кластерных вычислений, которая позволяет быстро создавать высокопроизводительные программы анализа данных. C помощью Spark вы сможете манипулировать огромными объемами данных посредство…
Если вы уже владеете программированием на языке Haskell, эта книга научит вас использованию множества интерфейсов и библиотек, предназначенных для написания параллельных и конкурентных программ. Вы узнаете, как распараллеливание на многоядерные процессоры позволяет ускорять вычислительно нагруженные программы и как конкурентность облегчает написание программ с активно взаимодействующими между собо…
В статье рассматриваются актуальные проблемы обучения параллельному программированию в технических вузах в аспекте формирования необходимых компетенций для успешного позиционирования будущих специалистов ИT-направления на рынке труда. Предлагаются методические приемы для приобретения практических навыков организации параллельных вычислений в высокопроизводительных системах. Описан опыт обучения па…
С появлением микропроцессоров, обладающих большим числом ядер, понимание конкуренции и параллелизма при разработке программного обеспечения стало еще более важным, чем прежде. В книге вы познакомитесь с преимуществами функционального программирования с точки зрения конкуренции, узнаете, как применять акторы для разработки распределенного программного обеспечения, и исследуете приемы параллельной о…
Рассмотрены архитектуры параллельных вычислительных систем, общие вопросы их применения и проблемы программирования, особенности организации вычислительных процессов и инструментальные средства разработки прикладного параллельного программного обеспечения для мультипроцессорных и мультикомпьютерных параллельных вычислительных систем. Пособие также включает курс практических работ, позволяющих осво…
В пособии содержатся материалы, которые можно использовать при изучении структурной и функциональной организации суперкомпьютеров и параллельных вычислительных систем, а также для освоения принципов их использования. Приводятся основные сведения о классификации архитектур суперкомпьютеров, делается обзор поколений средств вычислительной техники, в результате смены которых появились современные суп…
В учебное пособие включены основные теоретические сведения о методах программирования для многопроцессорных вычислительных систем, указания по разработке параллельных программ с помощью технологий OpenMP и MPI, а также контрольные вопросы и задачи широкого спектра сложности как для проведения занятий в компьютерных классах и аудиториях, так и для самостоятельного решения. Многие задачи снабжены от…