On task tree executor architectures based on intel parallel building blocks

Our aim was to optimize a SOA control system by evolving the architecture of the service component that transforms system models into task trees, which are then executed by the runtime library called the Task Tree Executor, TTE. In the paper we present the two novel TTE architectures that evolved from the previous TTE architecture and introduced finer grained parallelism. The novel architectures execute TTE tasks as more lightweight TBB tasks and Cilk strands rather than the OS threads, which was the case for the previous TTE architecture. The experimental evaluation based on time needed for TTE reliability estimation, by statistical usage tests, shows that these novel TTE architectures are providing the average relative speedup, RS, from 8x to 11x, over the original TTE, on a dual-core machine. Additional experiments made on eight-core machine showed that RS provided by TTE based on TBB scales perfectly, and goes up to 77x. [Projekat Ministarstva nauke Republike Srbije, br. III 44009 and br. TR 32031]

[1]  Miroslav Popovic,et al.  A model-based statistical usage testing of communication protocols , 2006, 13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06).

[2]  Denise M. Woit Operational profile specification, test case generation, and reliability estimation for modules , 1994 .

[3]  Denise M. Woit Specifying operational profiles for modules , 1993, ISSTA '93.

[4]  N. Komoda Service Oriented Architecture (SOA) in Industrial Systems , 2006, 2006 4th IEEE International Conference on Industrial Informatics.

[5]  Miroslav Popovic,et al.  Test case generation for the task tree type of architecture , 2010, Inf. Softw. Technol..

[6]  Nicolae Popovici,et al.  Putting intel® threading building blocks to work , 2008, IWMSE '08.

[7]  Alexey Kukanov,et al.  The Foundations for Scalable Multicore Software in Intel Threading Building Blocks , 2007 .

[8]  C. Leiserson,et al.  Executing Dynamic Task Graphs Using Work-Stealing , 2010 .

[9]  Ryan Newton,et al.  A Synergetic Approach to Throughput Computing on x86-Based Multicore Desktops , 2011, IEEE Software.

[10]  Denise M. Woit Estimating software reliability with hypothesis testing , 1993 .

[11]  Denise M. Woit A framework for reliability estimation , 1994, Proceedings of 1994 IEEE International Symposium on Software Reliability Engineering.

[12]  Miroslav Popovic,et al.  An Approach to Parallelization of Legacy Software , 2009, 2009 First IEEE Eastern European Conference on the Engineering of Computer Based Systems.

[13]  Andrea Tagliasacchi,et al.  Cascade : A Parallel Programming Framework for Video Game Engines , 2008 .

[14]  Miroslav Popovic,et al.  A Statistical Approach to Model-Based Robustness Testing , 2007, 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'07).

[15]  Miroslav Popovic,et al.  A Task Tree Executor Architecture Based on Intel Threading Building Blocks , 2012, 2012 IEEE 19th International Conference and Workshops on Engineering of Computer-Based Systems.

[16]  Miroslav Popovic Communication Protocol Engineering , 2006 .

[17]  Keith H. Randall,et al.  Cilk: efficient multithreaded computing , 1998 .

[18]  Vladislav Vrtunski,et al.  Formal Verification of Distributed Transaction Management in a SOA Based Control System , 2011, 2011 18th IEEE International Conference and Workshops on Engineering of Computer-Based Systems.

[19]  Robert D. Blumofe,et al.  Scheduling multithreaded computations by work stealing , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[20]  Margaret Martonosi,et al.  Parallelization libraries: Characterizing and reducing overheads , 2011, TACO.

[21]  Miroslav Popovic,et al.  A Task Tree Executor: New Runtime for Parallelized Legacy Software , 2009, 2009 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems.

[22]  Miroslav Popovic,et al.  A generic model-based test case generator , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[23]  Miroslav Popovic,et al.  An Intel Cilk plus based task tree executor architecture , 2012, ICSE 2012.

[24]  James Reinders,et al.  Intel® threading building blocks , 2008 .

[25]  Miroslav Popovic,et al.  An Application Level Parallelization of Complex Real-Time Software , 2010, 2010 17th IEEE International Conference and Workshops on Engineering of Computer Based Systems.