@article {Sandoval:2017:TTS:3092956.3047498,
	title = {Task Transition Scheduling for Data-Adaptable Systems},
	journal = {ACM Transactions on Embedded Computing Systems (TECS)},
	volume = {16},
	year = {2017},
	pages = {105:1{\textendash}105:28},
	abstract = {<p>Data-adaptable embedded systems operate on a variety of data streams, which requires a large degree of configurability and adaptability to support runtime changes in data stream inputs. Data-adaptable reconfigurable embedded systems, when decomposed into a series of tasks, enable a flexible runtime implementation in which a system can transition the execution of certain tasks between hardware and software while simultaneously continuing to process data during the transition. Efficient runtime scheduling of task transitions is needed to optimize system throughput and latency of the reconfiguration and transition periods. In this article, we provide an overview of a runtime framework enabling the efficient transition of tasks between software and hardware in response to changes in system inputs. We further present and analyze several runtime transition scheduling algorithms and highlight the latency and throughput tradeoffs for two data-adaptable systems. To evaluate the task transition selection algorithms, a case study was performed on an adaptable JPEG2000 implementation as well as three other synchronous dataflow systems characterized by transition latency and communication load.</p>
},
	keywords = {Data adaptability, hardware/software codesign, model-based design, runtime transition scheduling},
	issn = {1539-9087},
	doi = {10.1145/3047498},
	url = {http://doi.acm.org/10.1145/3047498},
	author = {Nathan Sandoval and Casey Mackin and Sean Whitsitt and Gopinath, Vijay Shankar and Sachidanand Mahadevan and Milakovich, Andrew and Merry, Kyle and Jonathan Sprinkle and Roman Lysecky}
}
@conference {233,
	title = {How You Can Learn to Stop Worrying and Love Reconfigurable Embedded Systems: A Tutorial},
	booktitle = {Engineering of Computer Based Systems (ECBS), 2013 20th IEEE International Conference and Workshops on the},
	year = {2013},
	month = {April},
	pages = {213-214},
	keywords = {C++ language, C/C++ code, codesign, Computers, Conferences, data streams, embedded hardware, embedded systems, Hardware, hardware tasks, hardware-software codesign, image processing algorithms, JPEG2000 standards, middleware, middleware framework, modeling infrastructure, reconfigurable embedded systems, runtime behaviors, software tasks, software tool, software tools, Transform coding, Tutorials},
	doi = {10.1109/ECBS.2013.27},
	author = {Nathan Sandoval and Casey Mackin and Roman Lysecky and Jonathan Sprinkle}
}
@conference {232,
	title = {System Throughput Optimization and Runtime Communication Middleware Supporting Dynamic Software-Hardware Task Migration in Data Adaptable Embedded Systems},
	booktitle = {Engineering of Computer Based Systems (ECBS), 2013 20th IEEE International Conference and Workshops on the},
	year = {2013},
	month = {April},
	pages = {59-68},
	keywords = {combinatorial explosion, Data adaptability, data adaptable design methodology, data adaptable embedded systems, data configurations, data handling, Data models, data profile correlation, design time optimization, dynamic software-hardware task migration, embedded systems, Field programmable gate arrays, FIFO queues, Firing, Hardware, hardware accelerators, hardware-software codesign, hardware-software communication wrapper, hardware/software codesign, hardware/software communication middleware, heuristic programming, heuristic search methodology, middleware, model-based design, Pareto optimal configurations, Pareto optimisation, Runtime, runtime communication middleware, search problems, simulation-based methodology, system throughput optimization},
	doi = {10.1109/ECBS.2013.25},
	author = {Nathan Sandoval and Casey Mackin and Sean Whitsitt and Roman Lysecky and Jonathan Sprinkle}
}
