40 research outputs found
Energy Efficient Computing on Multi-core Processors: Vectorization and Compression Techniques
Over the past few years, energy consumption has become the main limiting factor for computing in general. This has led CPU vendors to aggressively promote parallel computing using multiple cores without significantly increasing the thermal design power of the processor. However, achieving maximum performance and energy efficiency from the available resources on the multi-core and many-core platforms mandates efficient exploitation of the existing and emerging architectural features at the application level.
This thesis presents the study of some of the existing and emerging technologies in order to identify the potential of exploiting these technologies in achieving high performance and energy efficiency for a set of Smart Grid applications on Intel multi-core and many-core platforms.
The first part of this thesis explores the energy efficiency impact of different multi-core programming techniques for a selected set of benchmarks and smart grid applications on Intel SandyBridge and Haswell multi-core processors. These techniques include different parallelism techniques such as thread-level parallelism using OpenMP, task-based parallelism using OmpSs, data parallelism using SIMD (Single Instruction Multiple Data) instruction sets, code optimizations and use of different existing optimized math libraries. In our initial case studies, SIMD vectorization is proven very effective in providing both high performance and energy efficiency.
Though the SIMD vectorization is proven very effective, it can also exert pressure on the available memory bandwidth for some applications like Powel Time-Series Kernel, causing under-utilization of the computing resources and thus energy inefficient executions. In the second part of this research, we investigate the opportunities of improving the performance of SIMD vectorization for memory-bound applications using SIMD data compression, SIMD software prefetching, SIMD shuffling, code-blocking and other code transformation techniques. The key idea is to reduce the data movement across memory hierarchy by using the idle CPU time. We show that integration of data compression is feasible on the Intel multicore platforms, as long as we can do it in a reasonable time. We present a comprehensive discussion on the SIMD compression techniques and the code transformations required for achieving efficient SIMD computations for memory/cache bound applications using Powel time series kernel as a demonstrator application.
Finally, we perform feasibility study of SIMD optimization and compression techniques across other application domains using k-means clustering algorithm and full-search motion estimation algorithm. We also extended our experiments on Intel many-core architecture using Intel Xeon Phi coprocessor
Decentralised leadership in contemporary jihadism: towards a global social movement
On October 19th 2003, nearly six months after the outset of the invasion of Iraq by US troops, a video was released by al-Qaeda media arm al-Sahab showing Osama bin Laden directly threatening Spain. In his words, Spain, then governed by Prime Minister José Maria Aznar from the Partido Popular (PP), may face a terrorist attack should Spanish military forces continue to be part of the coalition that invaded Iraq[1] and toppled the Saddam Hussein regime. Less than six months later, on March 11th 2004, Madrid was shaken by coordinated bomb attacks in several commuter trains at peak hours, killing 191 people and wounding thousands. The “first well-known al-Qaeda-inspired terrorist conspiracy in Europe”[2] had been in preparation for years thanks to the long-term presence of radical Islamists on Spanish soil. The first jihadist bombing on this continent since 9/11[3] seemed to have answered Osama bin Laden’s warning call. Those who later claimed responsibility for these attacks pointed out Iraq as their main source of motivation. Symbolically the bombings were carried out a few days before the first anniversary of Iraq’s invasion. On the national scene, because “terrorism is meant to terrify”[4] and affect an audience, terrorists clearly intended to affect the outcome of the national general elections scheduled three days later. The Madrid terrorists were not self-starters, nor were they members of al-Qaeda who had performed an oath of allegiance to bin Laden. Instead, they were mostly first-generation immigrants from Northern Africa or the Near East who had been settled in Spain for years, had decent jobs and for some of them wives and children[5]. The setting up of the Madrid bombings was an illustration of the rising context of the contemporary jihadist movement, targeting a country and blaming it for what was happening thousands of kilometres away. This example is highly valuable to describe the continuously evolving nature of the jihadist movement up to now.Publisher PD
Design and implementation of Wireless Packet Level Authentication
Secure user authentication, authorization and access control have become the major challenges in any wireless security system, often due to certain wireless network characteristics such as lack of infrastructure, low power availability and mobility. Taking advantage of such network characteristics, an attacker can launch several security attacks like Denial of Service (DoS) attacks, packet spoofing and session hijacking attacks. Packet Level Authentication (PLA) provides an elegant network level solution to the aforementioned attacks by allowing every node in the network to validate the authenticity and integrity of a packet without any prior contact with the originator of the packet. The cornerstone of PLA is public key cryptography based digital signature which is added do every outgoing packet by the packet originator. Therefore, signature generation and verification schemes of PLA become infeasible in resource-constrained devices if dedicated hardware accelerator is not used. In this thesis, we present Wireless Packet Level Authentication (WPLA) that extends PLA to offer an adaptive hop-by-hop signature verification scheme. WPLA includes a lightweight signature verification approach for resource-constrained devices while retaining the public key cryptography based signature verification scheme for strong authentication. Furthermore, to ensure end-to-end data confidentiality over the unsecured channels, we integrate a symmetric encryption scheme along with secret key generation and distribution process. Finally, we implement the proposed solution and evaluate the performance of our implementation
Energy Efficient Computing on Multi-core Processors: Vectorization and Compression Techniques
Over the past few years, energy consumption has become the main limiting factor for computing in general. This has led CPU vendors to aggressively promote parallel computing using multiple cores without significantly increasing the thermal design power of the processor. However, achieving maximum performance and energy efficiency from the available resources on the multi-core and many-core platforms mandates efficient exploitation of the existing and emerging architectural features at the application level.
This thesis presents the study of some of the existing and emerging technologies in order to identify the potential of exploiting these technologies in achieving high performance and energy efficiency for a set of Smart Grid applications on Intel multi-core and many-core platforms.
The first part of this thesis explores the energy efficiency impact of different multi-core programming techniques for a selected set of benchmarks and smart grid applications on Intel SandyBridge and Haswell multi-core processors. These techniques include different parallelism techniques such as thread-level parallelism using OpenMP, task-based parallelism using OmpSs, data parallelism using SIMD (Single Instruction Multiple Data) instruction sets, code optimizations and use of different existing optimized math libraries. In our initial case studies, SIMD vectorization is proven very effective in providing both high performance and energy efficiency.
Though the SIMD vectorization is proven very effective, it can also exert pressure on the available memory bandwidth for some applications like Powel Time-Series Kernel, causing under-utilization of the computing resources and thus energy inefficient executions. In the second part of this research, we investigate the opportunities of improving the performance of SIMD vectorization for memory-bound applications using SIMD data compression, SIMD software prefetching, SIMD shuffling, code-blocking and other code transformation techniques. The key idea is to reduce the data movement across memory hierarchy by using the idle CPU time. We show that integration of data compression is feasible on the Intel multicore platforms, as long as we can do it in a reasonable time. We present a comprehensive discussion on the SIMD compression techniques and the code transformations required for achieving efficient SIMD computations for memory/cache bound applications using Powel time series kernel as a demonstrator application.
Finally, we perform feasibility study of SIMD optimization and compression techniques across other application domains using k-means clustering algorithm and full-search motion estimation algorithm. We also extended our experiments on Intel many-core architecture using Intel Xeon Phi coprocessor
A vectorized k-means algorithm for compressed datasets: design and experimental analysis
Clustering algorithms (i.e., Gaussian mixture models, k-means) tackle the problem of grouping a set of elements in such a way that elements from the same group (or cluster) have more similar properties to each other than to those elements in other clusters. This simple concept turns out to be the basis in complex algorithms from many application areas, including sequence analysis and genotyping in bioinformatics, medical imaging, antimicrobial activity, market research, social networking, etc. However, as the data volume continues to increase, the performance of clustering algorithms is heavily influenced by the memory subsystem. In this paper, we propose a novel and efficient implementation of Lloyd’s k-means clustering algorithm to substantially reduce data movement along the memory hierarchy. Our contributions are based on the fact that the vast majority of processors are equipped with powerful Single Instruction Multiple Data (SIMD) instructions that are, in most cases, underused. SIMD improves the CPU computational power and, if used wisely, can be seen as an opportunity to improve on the application data transfers by compressing/decompressing the data, specially for memory-bound applications. Our contributions include a SIMD-friendly data layout organization, in-register implementation of key functions and SIMD-based compression. We demonstrate that using our optimized SIMD-based compression method, it is possible to improve the performance and energy of k-means by a factor of 4.5x and 8.7x, respectively, for a i7 Haswell machine, and 22x and 22.2x for Xeon Phi: KNL, running a single thread.acceptedVersionThis is a post-peer-review, pre-copyedit version of an article published in [Journal of Supercomputing]. The final authenticated version is available online at: https://doi.org/10.1007/s11227-018-2310-
