Title
Concurrency-Aware Thread Scheduling for High-Level Synthesis
Abstract
When mapping C programs to hardware, high-level synthesis (HLS) tools seek to reorder instructions so they can be packed into as few clock cycles as possible. However, when synthesising multi-threaded C, instruction reordering is inhibited by the presence of atomic operations (`atomics'), such as compare-and-swap. Atomics, the fundamental concurrency primitive in C, are the basis of more abstract concurrency mechanisms such as locks, and also of efficient lock-free data structures. Whether a particular atomic can be legally reordered within a thread can depend on the memory access patterns of other threads. Existing HLS tools that support atomics typically schedule each thread independently, and so must be conservative when optimising around atomics. Yet HLS tools are distinguished from conventional compilers by having the entire program available. Can this information be exploited to allow more reorderings within each thread, and hence to obtain more efficient schedules? In this work, we propose a global analysis that determines, for each thread, which pairs of instructions must not be reordered. Our analysis is sensitive to the C consistency mode of the atomics involved (e.g. relaxed, release, acquire, and sequentially-consistent). We have used the Alloy model checker to validate our analysis against the C language standard, and have implemented it in the LegUp HLS tool. An evaluation on several lock-free data structure benchmarks indicates that our analysis leads to a 1.6x average global speedup.
Year
DOI
Venue
2018
10.1109/FCCM.2018.00025
2018 IEEE 26th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)
Keywords
Field
DocType
multithreaded programs,fine grained concurrency,high level synthesis,program analysis
Data structure,Concurrency,Computer science,Instruction set,High-level synthesis,Parallel computing,Compiler,Thread (computing),Schedule,Concurrent computing
Conference
ISBN
Citations 
PageRank 
978-1-5386-5523-8
0
0.34
References 
Authors
3
3
Name
Order
Citations
PageRank
Nadesh Ramanathan1193.84
George A. Constantinides21391160.26
John Wickerson314210.08