Can High Throughput Atone for High Latency in Compiler-Generated Protocol Code?
High-level concurrency constructs and abstractions have several well-known software engineering advantages when it comes to programming concurrency protocols among threads in multicore applications. To also explore their complementary performance advantages, in ongoing work, we are developing compilation technology for a high-level coordination language, Reo, based on this language’s formal automaton semantics. By now, as shown in our previous work, our tools are capable of generating code that can compete with carefully hand-crafted code, at least for some protocols. An important prerequisite to further advance this promising technology, now, is to gain a better understanding of how the significantly different compilation approaches that we developed so far, which vary in the amount of parallelism in their generated code, compare against each other. For instance, to better and more reliably tune our compilers, we must learn under which circumstances parallel protocol code, with high throughput but also high latency, outperforms sequential protocol code, with low latency but also low throughput.
In this paper, we report on an extensive performance comparison between these approaches for a substantial number of protocols, expressed in Reo. Because we have always formulated our compilation technology in terms of a general kind of communicating automaton (i.e., constraint automata), our findings apply not only to Reo but, in principle, to any language whose semantics can be defined in terms of such automata.
KeywordsData Item Connector Family Protocol Code Coordination Language Hybrid Implementation
Unable to display preview. Download preview PDF.
- 2.Arbab, F.: Puff, The Magic Protocol. In: Agha, G., Danvy, O., Meseguer, J. (eds.) Talcott Festschrift. LNCS, vol. 7000, pp. 169–206. Springer, Heidelberg (2011)Google Scholar
- 3.Arbab, F., Kokash, N., Meng, S.: Towards Using Reo for Compliance-Aware Business Process Modeling. In: ISoLA 2008. CCIS, vol. 17, pp. 108–123. Springer, Heidelberg (2008)Google Scholar
- 5.Basu, A., Bozga, M., Sifakis, J.: Modeling Heterogeneous Real-time Components in BIP. In: SEFM 2006, pp. 3–12. IEEE (2006)Google Scholar
- 7.Changizi, B., Kokash, N., Arbab, F.: A Unified Toolset for Business Process Model Formalization. In: Preproceedings of FESCA 2010, pp. 147–156 (2010)Google Scholar
- 8.Groote, J.F., Mousavi, M.R.: Modeling and Analysis of Communicating Systems. MIT Press (2014)Google Scholar
- 9.Jongmans, S.S., Arbab, F.: Global Consensus through Local Synchronization. In: FOCLASA 2013. CCIS, vol. 393, pp. 174–188. Springer (2013)Google Scholar
- 10.Jongmans, S.S., Arbab, F.: Modularizing and Specifying Protocols among Threads. In: PLACES 2012. EPTCS, vol. 109, pp. 34–45. CoRR (2013)Google Scholar
- 11.Jongmans, S.S., Arbab, F.: Toward Sequentializing Overparallelized Protocol Code. In: ICE 2014. EPTCS, vol. 166, pp. 38–44. CoRR (2014)Google Scholar
- 12.Jongmans, S.S., Arbab, F.: Can High Throughput Atone for High Latency in Compiler-Generated Protocol Code (Technical Report). Tech. Rep. FM-1503, CWI (2015)Google Scholar
- 14.Jongmans, S.S., Santini, F., Arbab, F.: Partially-Distributed Coordination with Reo. In: PDP 2014, pp. 697–706. IEEE (2014)Google Scholar
- 16.Proença, J., Clarke, D., de Vink, E., Arbab, F.: Dreams: a framework for distributed synchronous coordination. In: SAC 2012, pp. 1510–1515. ACM (2012)Google Scholar
- 17.Proença, J.: Synchronous Coordination of Distributed Components. Ph.D. thesis, Leiden University (2011)Google Scholar