Dynamic Scheduling of Stream Programs on Embedded Multi-core Processors

Dynamic Scheduling of Stream Programs on Embedded Multi-core Processors
Author: Haeseung Lee
Publisher:
Total Pages: 31
Release: 2013
Genre: Computer architecture
ISBN:

Stream computing has emerged as an importantmodel of computation for embedded system applications particularly in the multimedia and network processing domains. In recent past several programming languages and embedded multi-core processors have been proposed for streaming applications. This thesis examines the execution and dynamic scheduling of stream programs on embedded multi-core processors. The thesis addresses the problem in the context of a multi-tasking environment with a time varying allocation of processing elements for a particular streaming application. As a solution the thesis proposes a two step approach where the stream program is compiled to gather key application information, and to generate re-targetable code. A light weight dynamic scheduler incorporates the second stage of the approach. The dynamic scheduler utilizes the static information and available resources to assign or partition the application across the multi-core architecture. The objective of the dynamic scheduler is to maximize the throughput of the application, and it is sensitive to the resource (processing elements, scratch-pad memory, DMA bandwidth) constraints imposed by the target architecture. We evaluate the proposed approach by compiling and scheduling benchmark stream programs on a representative embedded multi-core processor. We present experimental results that evaluate the quality of the solutions generated by the proposed approach by comparisons with existing techniques.

High Performance Computing and Applications

High Performance Computing and Applications
Author: Wu Zhang
Publisher: Springer Science & Business Media
Total Pages: 602
Release: 2010-02-19
Genre: Computers
ISBN: 3642118410

This book constitutes the thoroughly refereed post-conference proceedings of the Second International Conference on High Performance Computing and Applications, HPCA 2009, held in Shangahi, China, in August 2009. The 71 revised papers presented together with 10 invited presentations were carefully selected from 324 submissions. The papers cover topics such as numerical algorithms and solutions; high performance and grid computing; novel approaches to high performance computing; massive data storage and processsing; and hardware acceleration.

Static and Dynamic Scheduling for Effective Use of Multicore Systems

Static and Dynamic Scheduling for Effective Use of Multicore Systems
Author: Fengguang Song
Publisher:
Total Pages: 158
Release: 2009
Genre:
ISBN:

Multicore systems have increasingly gained importance in high performance computers. Compared to the traditional microarchitectures, multicore architectures have a simpler design, higher performance-to-area ratio, and improved power efficiency. Although the multicore architecture has various advantages, traditional parallel programming techniques do not apply to the new architecture efficiently. This dissertation addresses how to determine optimized thread schedules to improve data reuse on shared-memory multicore systems and how to seek a scalable solution to designing parallel software on both shared-memory and distributed-memory multicore systems. We propose an analytical cache model to predict the number of cache misses on the time-sharing L2 cache on a multicore processor. The model provides an insight into the impact of cache sharing and cache contention between threads. Inspired by the model, we build the framework of affinity based thread scheduling to determine optimized thread schedules to improve data reuse on all the levels in a complex memory hierarchy. The affinity based thread scheduling framework includes a model to estimate the cost of a thread schedule, which consists of three submodels: an affinity graph submodel, a memory hierarchy submodel, and a cost submodel. Based on the model, we design a hierarchical graph partitioning algorithm to determine near-optimal solutions. We have also extended the algorithm to support threads with data dependences. The algorithms are implemented and incorporated into a feedback directed optimization prototype system. The prototype system builds upon a binary instrumentation tool and can improve program performance greatly on shared-memory multicore architectures. We also study the dynamic data-availability driven scheduling approach to designing new parallel software on distributed-memory multicore architectures. We have implemented a decentralized dynamic runtime system. The design of the runtime system is focused on the scalability metric. At any time only a small portion of a task graph exists in memory. We propose an algorithm to solve data dependences without process cooperation in a distributed manner. Our experimental results demonstrate the scalability and practicality of the approach for both shared-memory and distributed-memory multicore systems. Finally, we present a scalable nonblocking topology-aware multicast scheme for distributed DAG scheduling applications.

Job Scheduling Strategies for Parallel Processing

Job Scheduling Strategies for Parallel Processing
Author: Eitan Frachtenberg
Publisher: Springer
Total Pages: 231
Release: 2010-10-09
Genre: Computers
ISBN: 3642165052

This book constitutes the revised papers of the 15th International Workshop on Job Scheduling Strategies for Parallel Processing, JSSPP 2010, which was held in Atlanta, GA, USA, in April 2010. The 12 revised papers presented were carefully reviewed and selected from 18 submissions. The papers show a prolific growth in the areas of applicability for parallel scheduling and discuss more recent problems and applications, such as virtualized environments, many-core processors, DNA sequencing, and hadoop.

Multicore Software Engineering, Performance, and Tools

Multicore Software Engineering, Performance, and Tools
Author: João M. Lourenço
Publisher: Springer
Total Pages: 119
Release: 2013-09-25
Genre: Computers
ISBN: 364239955X

This book constitutes the refereed proceedings of the International Conference on Multiscore Software Engineering, Performance, and Tools, MUSEPAT 2013, held in Saint Petersburg, Russia, in August 2013. The 9 revised papers were carefully reviewed and selected from 25 submissions. The accepted papers are organized into three main sessions and cover topics such as software engineering for multicore systems; specification, modeling and design; programing models, languages, compiler techniques and development tools; verification, testing, analysis, debugging and performance tuning, security testing; software maintenance and evolution; multicore software issues in scientific computing, embedded and mobile systems; energy-efficient computing as well as experience reports.

A Hybrid Static/dynamic Approach to Scheduling Stream Programs

A Hybrid Static/dynamic Approach to Scheduling Stream Programs
Author: Ceryen C. Tan
Publisher:
Total Pages: 97
Release: 2009
Genre:
ISBN:

Streaming languages such as Streamlt are often utilized to write stream programs that execute on multicore processors. Stream programs consist of actors that operate on streams of data. To execute on multiple cores, actors are scheduled for parallel execution while satisfying data dependencies between actors. In StreamIt, the compiler analyzes data dependencies between actors at compile-time and generates a static schedule that determines where and when actors are executed on the available cores. Statically scheduling actors onto cores results in no scheduling overhead at runtime and allows for sophisticated compile-time scheduling optimizations. Unfortunately, static scheduling has a number of severe limitations. The generated static schedule is inflexible and cannot be adapted to run-time conditions, such as cores that are unexpectedly unavailable. Static scheduling may also incorrectly load-balance cores due to inaccurate static work estimates. This thesis contributes a hybrid static/dynamic scheduling approach that attempts to address the limitations of static scheduling. Dynamic load-balancing is utilized to adjust the static schedule to run-time conditions and to correct load imbalances that might exist after static scheduling. Dynamic load-balancing is designed to add very little run-time overhead.

Ambient Communications and Computer Systems

Ambient Communications and Computer Systems
Author: Yu-Chen Hu
Publisher: Springer Nature
Total Pages: 421
Release: 2020-03-13
Genre: Technology & Engineering
ISBN: 9811515182

This book features high-quality, peer-reviewed papers from the International Conference on Recent Advancement in Computer, Communication and Computational Sciences (RACCCS 2019), held at Aryabhatta College of Engineering & Research Center, Ajmer, India, on August 16–17, 2019. Presenting the latest developments and technical solutions in computational sciences, it covers a variety of topics, such as intelligent hardware and software design, advanced communications, intelligent computing technologies, advanced software engineering, the web and informatics, and intelligent image processing. As such it helps those in the computer industry and academia to use the advances in next-generation communication and computational technology to shape real-world applications.

Task Scheduling for Multi-core and Parallel Architectures

Task Scheduling for Multi-core and Parallel Architectures
Author: Quan Chen
Publisher: Springer
Total Pages: 251
Release: 2017-11-23
Genre: Computers
ISBN: 9811062382

This book presents task-scheduling techniques for emerging complex parallel architectures including heterogeneous multi-core architectures, warehouse-scale datacenters, and distributed big data processing systems. The demand for high computational capacity has led to the growing popularity of multicore processors, which have become the mainstream in both the research and real-world settings. Yet to date, there is no book exploring the current task-scheduling techniques for the emerging complex parallel architectures. Addressing this gap, the book discusses state-of-the-art task-scheduling techniques that are optimized for different architectures, and which can be directly applied in real parallel systems. Further, the book provides an overview of the latest advances in task-scheduling policies in parallel architectures, and will help readers understand and overcome current and emerging issues in this field.

VLSI Design and Test

VLSI Design and Test
Author: Anirban Sengupta
Publisher: Springer
Total Pages: 775
Release: 2019-08-17
Genre: Computers
ISBN: 9813297670

This book constitutes the refereed proceedings of the 23st International Symposium on VLSI Design and Test, VDAT 2019, held in Indore, India, in July 2019. The 63 full papers were carefully reviewed and selected from 199 submissions. The papers are organized in topical sections named: analog and mixed signal design; computing architecture and security; hardware design and optimization; low power VLSI and memory design; device modelling; and hardware implementation.