This paper evaluates the effect of reflected light on position error performance when measuring position in the Visible Light Communication (VLC) using the Variable N-parallel Code Shift Keying (VN-CodeSK) system. In ...
详细信息
ISBN:
(纸本)9784885523410
This paper evaluates the effect of reflected light on position error performance when measuring position in the Visible Light Communication (VLC) using the Variable N-parallel Code Shift Keying (VN-CodeSK) system. In particular, the trilateration method and optical fingerprinting method are discussed as positioning systems. Performance results are obtained by computer simulation on a well-known indoor room model. Consequently, it is shown that the trilateration method degrades more sensitively to reflected light than the optical fingerprinting method. The optical fingerprinting method is found to improve accuracy in some cases due to reflected light. In this room model, it is found that the effect of reflected light becomes smaller when the distance from wall is greater than 4[cm].
The purpose of this research article is to create an optimized purpose for the Dijkstra algorithm, with a superior degree of efficiency. This research proposes also, in the first instance, an innovative and efficient ...
详细信息
ISBN:
(纸本)9781665496070
The purpose of this research article is to create an optimized purpose for the Dijkstra algorithm, with a superior degree of efficiency. This research proposes also, in the first instance, an innovative and efficient analysis of the Dijkstra's and Roy-Floyd algorithms. This proposed method is useful in various application cases, such as information grouping systems associated with a graph with a small but high node density. The analysis part explains the strategies chosen for today's parallel solutions and comparisons with the implemented method. It can be stated that the parallelization solution proposed in the article is specific to a configuration. There will be also presented other strategies considering the grouping systems for the tests with many nodes and edges. The algorithm for determining the shortest path is presented and tested at the multi-language level in different contexts and scenarios.
The Partitioned Global Address Space (PGAS) programming model, OpenSHMEM, is getting more traction as a useful method for parallel programming on future-generation platforms. However, very few works have explored on t...
详细信息
ISBN:
(纸本)9783031048883;9783031048876
The Partitioned Global Address Space (PGAS) programming model, OpenSHMEM, is getting more traction as a useful method for parallel programming on future-generation platforms. However, very few works have explored on the enabling of external tools to analyze and control performance behavior of OpenSHMEM runtimes. While the OpenSHMEM standard recently introduced the profiling interface allowing tools to collect and monitor performance, it still does not define a mechanism through which an implementation can expose its internal performance knobs and metrics to the end users. To write OpenSHMEM programs that perform efficiently in a uniform manner across different platforms, it is necessary to understand and control these internal performance metrics. Early work reveals that OpenSHMEM performance variables can provide insights that are crucial to performance debugging, analysis, and optimization. In this paper, we propose a generic tools information interface with flexible and portable variable representation and a set of APIs that provide users the capability to analyze and control the performance behavior. The goal of this paper is to establish the usefulness and feasibility of such an API that users can leverage to better understand the internal details of the runtime.
The main purpose of using parallel computation is to reduce the execution time. To reach this goal, reducing the overhead time induced by the additional operations that parallelism implicitly imposes, becomes a necess...
详细信息
ISBN:
(纸本)9789897585685
The main purpose of using parallel computation is to reduce the execution time. To reach this goal, reducing the overhead time induced by the additional operations that parallelism implicitly imposes, becomes a necessity. In this respect, the paper proposes a new model that evaluates the overhead introduced into parallel multithreaded programs that follows SPMD (Single Program Multiple Data) model. The model is based on a metric that is evaluated using the source code analysis. Java programs were considered for this proposal, but the metric could be easily adapted for any multithreading supporting imperative language. The metric is defined as a combination of several atomic metrics considering various synchronisation mechanisms. A theoretical validation of this metric is presented, together with an empirical evaluation of several use cases. Additionally, we propose an AI based strategy to refine the evaluation of the metric by obtaining accurate approximation for the weights that are used in combining the considered atomic metrics.
Quantum circuit simulation is critical for verifying quantum computers. Given exponential complexity in the simulation, existing simulators use different architectures to accelerate the simulation. However, due to the...
详细信息
ISBN:
(纸本)9781665454445
Quantum circuit simulation is critical for verifying quantum computers. Given exponential complexity in the simulation, existing simulators use different architectures to accelerate the simulation. However, due to the variety of both simulation methods and modern architectures, it is challenging to design a high-performance yet portable simulator. In this work, we propose UniQ, a unified programming model for multiple simulation methods on various hardware architectures. We provide a unified application abstraction to describe different applications, and a unified hierarchical hardware abstraction upon different hardware. Based on these abstractions, UniQ can perform various circuit transformations without being aware of either concrete application or architecture detail, and generate high-performance execution schedules on different platforms without much human effort. Evaluations on CPU, GPU, and Sunway platforms show that UniQ can accelerate quantum circuit simulation by up to 28.59x (4.47x on average) over state-of-the-art frameworks, and successfully scale to 399,360 cores on 1,024 nodes.
The major impediment to scaling concurrent data structures is memory contention when accessing shared data structure access-points, leading to thread serialisation, hindering parallelism. Aiming to address this challe...
详细信息
ISBN:
(纸本)9781450391467
The major impediment to scaling concurrent data structures is memory contention when accessing shared data structure access-points, leading to thread serialisation, hindering parallelism. Aiming to address this challenge, significant amount of work in the literature has proposed multi-access techniques that improve concurrent data structure parallelism. However, there is little work on analysing and modelling the execution behaviour of concurrent multi-access data structures especially in a shared memory setting. In this paper, we analyse and model the general execution behaviour of concurrent multi-access data structures in the shared memory setting. We study and analyse the behaviour of the two popular random access patterns: shared (Remote) and exclusive (Local) access, and the behaviour of the two most commonly used atomic primitives for designing lock-free data structures: Compare and Swap, and, Fetch and Add. We model the concurrent multi-accesses by splitting the thread execution procedure into five logical sessions: i) side-work, ii) access-point search iii) access-point acquisition, iv) access-point data acquisition and v) access-point data operation. We model the acquisition of an access-point, as a system of closed queuing networks with parallel servers, and data acquisition in terms of where the data is located within the memory system. We evaluate our model on a set of concurrent data structure designs including a counter, a stack and a FIFO queue. The evaluation is carried out on two state of the art multi-core processors: Intel Xeon Phi CPU 7290 with 72 physical cores and Intel Xeon E5-2695 with 14 physical cores. Our model is able to predict the throughput performance of the given concurrent data structures with 80% to 100% accuracy on both architectures.
With increasing system performance and complexity, it is becoming increasingly crucial to examine the scaling behavior of an application and thus determine performance bottlenecks at early stages. Unfortunately, model...
详细信息
ISBN:
(纸本)9781665475648
With increasing system performance and complexity, it is becoming increasingly crucial to examine the scaling behavior of an application and thus determine performance bottlenecks at early stages. Unfortunately, modeling this trend is a challenging task in the presence of noise, as the measurements can become irreproducible and misleading, thus resulting in strong deviations from the actual behavior. While noise impacts the application runtime, it has little to no effect on some hardware counters like floating-point operations. However, selecting the appropriate counters for performance modeling demands some investigation. In this paper, we perform a noise analysis on various hardware counters. Using our noise generator, we add additional noise on top of the system noise to inspect the counters' variability. We perform the analysis on five systems with three applications in the presence of various noise patterns and categorize the counters across the systems according to their noise resilience.
Kokkos is a C++ library and ecosystem for writing parallel programs on heterogeneous systems. One of the primary goals of Kokkos is portability: programs in Kokkos are expressed through general parallel constructs whi...
详细信息
ISBN:
(纸本)9781665463355
Kokkos is a C++ library and ecosystem for writing parallel programs on heterogeneous systems. One of the primary goals of Kokkos is portability: programs in Kokkos are expressed through general parallel constructs which can enable the same code to compile and execute on different parallel architectures. However, there is no known formal model of Kokkos's semantics, which must be generic enough to support current and future CPU and accelerator architectures. As a first step of formalizing Kokkos, We introduce MiniKokkos: a small language capturing the main features of Kokkos, and then prove that MiniKokkos ensures portability across all possible parallel executions. We also provide a case study of how MiniKokkos can help reason about Kokkos programs and help find a bug in the Kokkos implementation.
One of the main challenges of distributed memory programming is achieving efficient access to data. Low-level programming paradigms such as MPI and SHMEM require programmers to explicitly move data between compute nod...
详细信息
ISBN:
(纸本)9783030993726;9783030993719
One of the main challenges of distributed memory programming is achieving efficient access to data. Low-level programming paradigms such as MPI and SHMEM require programmers to explicitly move data between compute nodes, which typically results in good execution performance at the expense of programmer productivity. High-level paradigms such as the Chapel programming language aim to reduce programming difficulty by supporting a global memory view. However, implicit communication afforded by the global memory view can make it easier for the programmers to overlook performance considerations. In this paper, we show that Chapel's high-level abstractions such as data-parallel loops and distributed arrays that enable easier programming can also enable powerful compiler analyses and optimizations, which can mitigate these overheads. We demonstrate two compiler optimizations added to the Chapel compiler in versions 1.23 and 1.24. These optimizations rely on the use of data-parallel loops and distributed arrays to strength-reduce accesses to global memory and aggregate remote accesses. We test these optimizations with STREAM-Triad and index gather benchmarks and show that they result in around 2x performance improvements on a Cray XC supercomputer. Furthermore, we analyze two real-world applications, chplUltra and Arkouda, that use manual remedies to address the overheads addressed by these optimizations. We observe that more than half of the places in the source code where these remedies are applied can benefit from optimizations without any programmer effort.
Version control systems (VCS) are tools used to track and manage the changes made to a set of files over time. Among the VCS tools available today, Git has become the most popular for software development. Being used ...
详细信息
ISBN:
(数字)9781665451550
ISBN:
(纸本)9781665451550
Version control systems (VCS) are tools used to track and manage the changes made to a set of files over time. Among the VCS tools available today, Git has become the most popular for software development. Being used in small personal projects of a few megabytes and massive corporate repositories with more than 300 GB and 3.5 million files, speed and scalability are among the top priorities for the tool. However, its performance sometimes falls short of what is desired on networked file systems (e.g. NFS), where input and output (I/O) operations tend to be more costly. In particular, that is the case for the checkout command, which is responsible for restoring files from specific versions of a project. Despite the optimizations implemented over the years, the sequential processing of files still carried a large time penalty for NFS, as well as being suboptimal for local file systems on SSDs. In this project, we worked to parallelize the Git checkout machinery, resulting in speedups of up to 4.5x on NFS and 3.6x on SSDs. We also studied how parallelism affects the I/O requests performed by checkout on different storage systems. The optimization was submitted upstream and made available to all Git users starting at version 2.32.0, from June 2021.
暂无评论