Auflistung nach Schlagwort "Parallelism"
1 - 4 von 4
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragInter-Query Parallelism on Heterogeneous Multi-Core CPUs(BTW 2023, 2023) Schuhknecht, Felix Martin; Islam, TamjidulTraditional multi-core CPU architectures integrate a set of homogeneous cores, where all cores are of exactly the same type. Last year, with the release of Intel's 12th generation Core consumer processors, this setup drastically changed: Apart from so-called performance cores, which provide a high clock frequency, hyper threading, and large caches, the architecture also integrates so-called efficient cores, which are less performant but rather energy efficient. Obviously, such a performance-heterogeneous architecture complicates task-to-resource scheduling and should be actively considered by the application that schedules the tasks.In this experience report, we discuss our first steps with this new architecture in the context of parallel query processing. We focus on inter-query-parallelism, where whole transactions/queries are the unit of schedule, and investigate which type of core fits to which type of workload best. To do so, we first perform a set of micro-benchmarks on the cores to analyze their different performance characteristics. Based on that, we propose two scheduling strategies that actively schedule tasks to different core types, depending on their characteristics. Our initial findings suggest that the awareness of heterogeneous CPU architectures must indeed be actively incorporated by the task scheduler within a DBMS to efficiently utilize this new type of hardware.
- TextdokumentLock-free Data Structures for Data Stream Processing(BTW 2019 – Workshopband, 2019) Baumstark, AlexanderThe ever-growing amounts of data in the digital world require more and more computing power to meet the requirements. Especially in the area of social media, sensor data processing or Internet of Things, the data need to be handled on the fly during its creation. A common way to handle these data, in form of endless data streams, is the data stream processing technology. The key requirements for data stream processing are high throughput and low latency. These requirements can be accomplished with the parallelization of operators and multithreading. However, in order to realize a higher degree of parallelism, the efficient synchronization of threads is a necessity. This work examines the design principles of lock-free data structures and how this synchronization method can improve the performance of algorithms in data stream processing. For this purpose, lock-free data structures are implemented for the data stream processing engine Pipefabric and compared with current implementations. The result is an improvement for the tuple exchanging between threads and a significant improvement for the symmetric hash join algorithm based on lock-free hash maps.
- ZeitschriftenartikelLock-free Data Structures for Data Stream Processing(Datenbank-Spektrum: Vol. 19, No. 3, 2019) Baumstark, Alexander; Pohl, ConstantinProcessing data in real-time instead of storing and reading from tables has led to a specialization of DBMS into the so-called data stream processing paradigm. While high throughput and low latency are key requirements to keep up with varying stream behavior and to allow fast reaction to incoming events, there are many possibilities how to achieve them. In combination with modern hardware, like server CPUs with tens of cores, the parallelization of stream queries for multithreading and vectorization is a common schema. High degrees of parallelism, however, need efficient synchronization mechanisms to allow good scaling with threads for shared memory access.In this work, we identify the most time-consuming operations for stream processing exemplarily for our own stream processing engine PipeFabric. In addition, we present different design principles of lock-free data structures which are suited to overcome those bottlenecks. We will finally demonstrate how lock-freedom greatly improves performance for join processing and tuple exchange between operators under different workloads. Nevertheless, the efficient usage of lock-free data structures comes with additional efforts and pitfalls, which we also discuss in this paper.
- KonferenzbeitragPath Expressions Revisited(Tagungsband des FG-BS Herbsttreffens 2024, 2024) Hövelmann, Thomas Alexander; Krause, Alexander; Ulbrich, PeterPath expressions provide a precise and concise method for defining synchronization rules for accessing shared data. In conjunction with predicates, even finer control of the sequences can be achieved. Furthermore, path expressions, with their ability to abstract from a specific synchronization technique, demonstrate a high level of adaptability. Despite being developed nearly five decades ago, they remain underrepresented in current software engineering and have yet to achieve widespread applicability. This paper reevaluates existing approaches and presents an automaton-based version of path expressions written in C++. We extend the concept of predicates to allow access to external system states and evaluate the feasibility and performance of our approach.