Расслабленный последовательный
Расслабленная последовательная реализация в информатике — это модель выполнения, описывающая возможность параллельной программы последовательного выполнения . Если параллельная программа имеет допустимое последовательное выполнение, говорят, что она следует модели смягченного последовательного выполнения . Это не обязательно должно быть эффективно.
Слово «расслабленный» относится к идее, что последовательные программы на самом деле чрезмерно ограничены неявными последовательными зависимостями (такими как счетчик программ) и что можно ввести как можно больше параллелизма, не лишая возможности последовательного выполнения. Вы можете думать об этой модели как о максимально расслабленной, но при этом способной корректно работать в одном потоке. Это цель.
Большинство параллельных программ могут выполняться последовательно, но при их наличии параллелизм будет полезен. Можно разрабатывать программы, для правильного поведения которых требуется параллелизм. Алгоритмы, такие как производитель-потребитель , которые реализованы так, что требуют двух или более потоков, являются одним из примеров требования параллелизма для правильной работы. Например, рассмотрим ограниченный контейнер, вмещающий всего три элемента, и программу, в которой один поток выполняет «PUT PUT PUT PUT», а другой поток выполняет «GET GET GET GET», каждый из которых выполняет только четыре действия одновременно. Такая программа требует чередования (параллелизма). Программу, требующую параллелизма, труднее отлаживать. Легче отлаживать программу, имеющую допустимое последовательное выполнение.
Программы, требующие параллелизма, труднее отлаживать. Программы, разработанные с учетом требований параллелизма, будут иметь проблемы с производительностью, когда количество требуемых потоков превышает количество аппаратных потоков, поскольку артефакты разделения времени могут сильно повлиять на производительность.
См. также [ править ]
Ссылки [ править ]
- Рейндерс, Джеймс, Intel Строительные блоки Threading : оснащение C++ для параллелизма многоядерных процессоров , первое издание. О'Рейли Медиа, 2007 г., ISBN 978-0-596-51480-8 . Страницы 169-170.