Abstract

Three architectures of the cooperative thread scheduler in a multithreaded application that is executed on a multi-core system are considered. Architecture A0 is based on the synchronization and scheduling facilities, which are provided by the operating system. Architecture A1 introduces a new synchronization primitive and a single queue of the blocked threads in the scheduler, which reduces the interaction activity between the threads and operating system, and significantly speed up the processes of blocking and unblocking the threads. Architecture A2 replaces the single queue of blocked threads with dedicated queues, one for each of the synchronizing primitives, extends the number of internal states of the primitive, reduces the inter- dependence of the scheduling threads, and further significantly speeds up the processes of blocking and unblocking the threads. All scheduler architectures are implemented on Windows operating systems and based on the User Mode Scheduling. Important experimental results are obtained for multithreaded applications that implement two blocked parallel algorithms of solving the linear algebraic equation systems by the Gaussian elimination. The algorithms differ in the way of the data distribution among threads and by the thread synchronization models. The number of threads varied from 32 to 7936. Architecture A1 shows the acceleration of up to 8.65% and the architecture A2 shows the acceleration of up to 11.98% compared to A0 architecture for the blocked parallel algorithms computing the triangular form and performing the back substitution. On the back substitution stage of the algorithms, architecture A1 gives the acceleration of up to 125%, and architecture A2 gives the acceleration of up to 413% compared to architecture A0. The experiments clearly show that the proposed architectures, A1 and A2 outperform A0 depending on the number of thread blocking and unblocking operations, which happen during the execution of multi-threaded applications. The conducted computational experiments demonstrate the improvement of parameters of multithreaded applications on a heterogeneous multi-core system due the proposed advanced versions of the thread scheduler.

Highlights

  • Рассматриваются три архитектуры планировщика кооперативного выполнения потоков в многопоточном приложении, исполняемом на многоядерной системе

  • В архитектуре А2 проблема сериализации решается созданием отдельной очереди UMSCL для каждого Поток планировщика (ППЛ), обслуживающего отдельный логический процессор, и в перемещении очереди заблокированных потоков ОЗПП из потока планирования ППЛ в примитив синхронизации ПС

  • Теперь заблокированные Пользовательский поток (ПП) хранятся в отдельной для каждого ПС очереди ОЗПП вне потока планирования ППЛ

Read more

Summary

Белорусский национальный технический университет

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

СИСТЕМНЫЙ АНАЛИЗ И ПРИКЛАДНАЯ ИНФОРМАТИКА
Базовая архитектура планировщика
Модифицированная архитектура планировщика
Анализ модифицированной архитектуры
Усовершенствованная архитектура планировщика
Экспериментальная среда
Результаты вычислительных экспериментов
Belarusian National Technical University

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.