4 research outputs found

    Design and implementation of an array language for computational science on a heterogeneous multicore architecture

    Get PDF
    The packing of multiple processor cores onto a single chip has become a mainstream solution to fundamental physical issues relating to the microscopic scales employed in the manufacture of semiconductor components. Multicore architectures provide lower clock speeds per core, while aggregate floating-point capability continues to increase. Heterogeneous multicore chips, such as the Cell Broadband Engine (CBE) and modern graphics chips, also address the related issue of an increasing mismatch between high processor speeds, and huge latency to main memory. Such chips tackle this memory wall by the provision of addressable caches; increased bandwidth to main memory; and fast thread context switching. An associated cost is often reduced functionality of the individual accelerator cores; and the increased complexity involved in their programming. This dissertation investigates the application of a programming language supporting the first-class use of arrays; and capable of automatically parallelising array expressions; to the heterogeneous multicore domain of the CBE, as found in the Sony PlayStation 3 (PS3). The language is a pre-existing and well-documented proper subset of Fortran, known as the ‘F’ programming language. A bespoke compiler, referred to as E , is developed to support this aim, and written in the Haskell programming language. The output of the compiler is in an extended C++ dialect known as Offload C++, which targets the PS3. A significant feature of this language is its use of multiple, statically typed, address spaces. By focusing on generic, polymorphic interfaces for both the generated and hand constructed code, a number of interesting design patterns relating to the memory locality are introduced. A suite of medium-sized (100-700 lines), real-world benchmark programs are used to evaluate the performance, correctness, and scalability of the compiler technology. Absolute speedup values, well in excess of one, are observed for all of the programs. The work ultimately demonstrates that an array language can significantly reduce the effort expended to utilise a parallel heterogeneous multicore architecture, while retaining high performance. A substantial, related advantage in using standard ‘F’ is that any Fortran compiler can create debuggable, and competitively performing serial programs

    Profile-driven parallelisation of sequential programs

    Get PDF
    Traditional parallelism detection in compilers is performed by means of static analysis and more specifically data and control dependence analysis. The information that is available at compile time, however, is inherently limited and therefore restricts the parallelisation opportunities. Furthermore, applications written in C – which represent the majority of today’s scientific, embedded and system software – utilise many lowlevel features and an intricate programming style that forces the compiler to even more conservative assumptions. Despite the numerous proposals to handle this uncertainty at compile time using speculative optimisation and parallelisation, the software industry still lacks any pragmatic approaches that extracts coarse-grain parallelism to exploit the multiple processing units of modern commodity hardware. This thesis introduces a novel approach for extracting and exploiting multiple forms of coarse-grain parallelism from sequential applications written in C. We utilise profiling information to overcome the limitations of static data and control-flow analysis enabling more aggressive parallelisation. Profiling is performed using an instrumentation scheme operating at the Intermediate Representation (Ir) level of the compiler. In contrast to existing approaches that depend on low-level binary tools and debugging information, Ir-profiling provides precise and direct correlation of profiling information back to the Ir structures of the compiler. Additionally, our approach is orthogonal to existing automatic parallelisation approaches and additional fine-grain parallelism may be exploited. We demonstrate the applicability and versatility of the proposed methodology using two studies that target different forms of parallelism. First, we focus on the exploitation of loop-level parallelism that is abundant in many scientific and embedded applications. We evaluate our parallelisation strategy against the Nas and Spec Fp benchmarks and two different multi-core platforms (a shared-memory Intel Xeon Smp and a heterogeneous distributed-memory Ibm Cell blade). Empirical evaluation shows that our approach not only yields significant improvements when compared with state-of- the-art parallelising compilers, but comes close to and sometimes exceeds the performance of manually parallelised codes. On average, our methodology achieves 96% of the performance of the hand-tuned parallel benchmarks on the Intel Xeon platform, and a significant speedup for the Cell platform. The second study, addresses the problem of partially sequential loops, typically found in implementations of multimedia codecs. We develop a more powerful whole-program representation based on the Program Dependence Graph (Pdg) that supports profiling, partitioning and codegeneration for pipeline parallelism. In addition we demonstrate how this enhances conventional pipeline parallelisation by incorporating support for multi-level loops and pipeline stage replication in a uniform and automatic way. Experimental results using a set of complex multimedia and stream processing benchmarks confirm the effectiveness of the proposed methodology that yields speedups up to 4.7 on a eight-core Intel Xeon machine

    Context-aware information delivery for mobile construction workers

    Get PDF
    The potential of mobile Information Technology (IT) applications to support the information needs of mobile construction workers has long been understood. However, existing mobile IT applications in the construction industry have underlined limitations, including their inability to respond to the changing user context, lack of semantic awareness and poor integration with the desktop-based infrastructure. This research argues that awareness of the user context (such as user role, preferences, task-at-hand, location, etc.) can enhance mobile IT applications in the construction industry by providing a mechanism to deliver highly specific information to mobile workers by intelligent interpretation of their context. Against this this background, the aim of this research was to investigate the applicability of context-aware information delivery (CAID) technologies in the construction industry. The research methodology adopted consisted of various methods. A literature review on context-aware and enabling technologies was undertaken and a conceptual framework developed, which addressed the key issues of context-capture, contextinference and context-integration. To illustrate the application of CAID in realistic construction situations, five futuristic deployment scenarios were developed which were analysed with several industry and technology experts. From the analysis, a common set of user needs was drawn up. These needs were subsequently translated into the system design goals, which acted as a key input to the design and evaluation of a prototype system, which was implemented on a Pocket-PC platform. The main achievements of this research include development of a CAID framework for mobile construction workers, demonstration of CAID concepts in realistic construction scenarios, analysis of the Construction industry needs for CAID and implementation and validation of the prototype to demonstrate the CAID concepts. The research concludes that CAID has the potential to significantly improve support for mobile construction workers and identifies the requirements for its effective deployment in the construction project delivery process. However, the industry needs to address various identified barriers to enable the realisation of the full potential of CAID

    Context-aware information delivery for mobile construction workers

    Get PDF
    The potential of mobile Information Technology (IT) applications to support the information needs of mobile construction workers has long been understood. However, existing mobile IT applications in the construction industry have underlined limitations, including their inability to respond to the changing user context, lack of semantic awareness and poor integration with the desktop-based infrastructure. This research argues that awareness of the user context (such as user role, preferences, task-at-hand, location, etc.) can enhance mobile IT applications in the construction industry by providing a mechanism to deliver highly specific information to mobile workers by intelligent interpretation of their context. Against this this background, the aim of this research was to investigate the applicability of context-aware information delivery (CAID) technologies in the construction industry. The research methodology adopted consisted of various methods. A literature review on context-aware and enabling technologies was undertaken and a conceptual framework developed, which addressed the key issues of context-capture, contextinference and context-integration. To illustrate the application of CAID in realistic construction situations, five futuristic deployment scenarios were developed which were analysed with several industry and technology experts. From the analysis, a common set of user needs was drawn up. These needs were subsequently translated into the system design goals, which acted as a key input to the design and evaluation of a prototype system, which was implemented on a Pocket-PC platform. The main achievements of this research include development of a CAID framework for mobile construction workers, demonstration of CAID concepts in realistic construction scenarios, analysis of the Construction industry needs for CAID and implementation and validation of the prototype to demonstrate the CAID concepts. The research concludes that CAID has the potential to significantly improve support for mobile construction workers and identifies the requirements for its effective deployment in the construction project delivery process. However, the industry needs to address various identified barriers to enable the realisation of the full potential of CAID.EThOS - Electronic Theses Online ServiceGBUnited Kingdo
    corecore