Distributed Computing Design Methods for Multicore Application Programming

Article Preview

Abstract:

In order to solve the serial execution caused by multithreaded concurrent access to shared data and realize the dynamic load balance of tasks on shared memory symmetric multi-processor (multi-core) computing platform, new design methods are presented. By presenting multicore distributed locks, multicore shared data localization, multicore distributed queue, the new design methods can greatly decrease the number of accessing the shared data and realize the dynamic load balance of tasks. For illustration, design scheme of multicore task manager of server software are given by using new design methods. Results shows the new design methods reduce the number of access shared resources, partially resolve the serial execution of cooperative threads and realize the dynamic task balance of server software, which validate the superiority of this approach.

You might also be interested in these eBooks

Info:

Periodical:

Advanced Materials Research (Volumes 756-759)

Pages:

1295-1299

Citation:

Online since:

September 2013

Export:

Price:

Permissions CCC:

Permissions PLS:

Сopyright:

© 2013 Trans Tech Publications Ltd. All Rights Reserved

Share:

Citation:

[1] DIJKSTRA, E. W. Solution of a problem in concurrent programming control, Communication ACM 8, 9 , Sept. 1965, 569.

Google Scholar

[2] Leslie Lamport, A fast mutual exclusion algorithm, [J] ACM Transactions on Computer Systems, Vol. 5 No. 1, 1987, pp. l-11.

Google Scholar

[3] Fich, Faith; Hendler, Danny; Shavit, Nir. On the inherent weakness of conditional synchronization primitives, " Proceedings of the 23rd Annual ACM Symposium on Principles of Distributed Computing, PODC July 25 – 28, 2004: St. John, s, Newfoundland, Canada. New York, NY: ACM Press. p.80.

DOI: 10.1145/1011767.1011780

Google Scholar

[4] J. N. Gray, R. A. Lorie, and G. R. Putzolu. Granularity of locks in a shared data base, " In Proceedings of the 1st International Conference on Very Large Data Bases (VLDB , 75). ACM, New York, NY, USA, 1975, pp.428-451.

DOI: 10.1145/1282480.1282513

Google Scholar

[5] Campbell, M.D. and Holt, R.L. Lock-Granularity Analysis Tools in WR4-MP, [J]. Software, IEEE, 10(2), 1993, pp.66-70.

DOI: 10.1109/52.199738

Google Scholar

[6] Danny Hendler and Nir Shavit. Non-blocking steal-half work queues, In Proceedings of the twenty-first annual symposium on Principles of distributed computing. ACM, New York, NY, USA, 2002, pp.280-289.

DOI: 10.1145/571825.571876

Google Scholar

[7] Kogan, Alex; Petrank, Erez. Wait-free queues with multiple enqueuers and dequeuers, Proceedings of the 16th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. 2011, pp.12-16.

DOI: 10.1145/1941553.1941585

Google Scholar

[8] Kogan, Alex; Petrank, Erez. A methodology for creating fast wait-free data structures, Proceedings of the 17ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. New Orleans, LA: ACM Press. 2012, pp.141-150.

DOI: 10.1145/2145816.2145835

Google Scholar

[9] Zhou Wei-ming. Multi-core computing and programming [M]. Wuhan: Huazhong University of Science & Technology Press, (2009).

Google Scholar

[10] Chang C S, Nelson R. Bounds on the speedup and efficiency of partial synchronization in parallel processing, [J]. Systems Journal of the Association for Computing Machinery, January 1995, 42(1).

Google Scholar

[11] Han H, Tseng C, Keleher P. Eliminating barrier synchronization for compiler-parallelized codes on software DSMs, [J]. International Journal of Parallel Programming, 26(5), 1998, pp.591-612.

DOI: 10.1007/bfb0032696

Google Scholar

[12] Julia L, Quentiin F. Stout. A performance analysis of local synchronization, [C]. In Proceedings of the 18th ACM Symposium on Parallelism in Algorithms and Architectures, July 2006, 254-260.

Google Scholar