Skip to main content

Efficient Hardware-Supported Synchronization Mechanisms for Manycores

  • Chapter
  • First Online:
Handbook on Data Centers

Abstract

In this Chapter, we analyze and propose techniques to mitigate the problem of synchronization at server (manycore processor) level in datacenters. Particularly, we propose two different strategies that provide very efficient, scalable and lightweight hardware implementations for barriers and highly-contended locks. We implement our synchronization architectures using two different technologies. The first is a state-of-the-art full-custom technology, namely G-Lines, whilst the second is a costeffective mainstream industrial toolflow with an advanced 45 nm technology, or Standard technology.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    For simplicity, we assume that 8 cores per row can be materialized in G-Lines. Recall that this technology is limited to 7 cores per row and, for example, a 6×6-core server layout must be considered instead to span the simulated 2D-mesh 32-core system.

  2. 2.

    Note that, the results for the implementation that uses G-Lines are the same as those presented in Fig. 7.

  3. 3.

    TATAS-X means that one (X = 1) or two (X = 2) of the highly-contended locks have been implemented as ideal locks.

  4. 4.

    Note that all pairs of flags (one per lock) could be grouped in each core using one special lock register.

  5. 5.

    We use the terms links and wires interchangeably.

  6. 6.

    For simplicity, we assume that 8 cores per row can be materialized in G-Lines. Recall that this technology is limited to 7 cores per row and, for example, a 6×6-core server layout must be considered instead to span the simulated 2D-mesh 32-core system.

  7. 7.

    In this Chapter, highly-contended locks are those locks accessed by all threads simultaneously or very close in time.

  8. 8.

    Although Raytrace has 34 locks, we only include the results for the two most highly-contended locks (RAYTR-L1 and RAYTR-L2) and aggregate the rest (RAYTR-LR).

  9. 9.

    Note that, the results for the implementation that uses G-Lines are the same as those presented in Fig. 7.

References

  1. A. Flores, J. L. Aragón and M. E. Acacio. Sim-PowerCMP: A Detailed Simulator for Energy Consumption Analysis in Future Embedded CMP Architectures. In Proceedings of the 21st International Conference on Advanced Information Networking and Applications Workshops, 2007.

    Google Scholar 

  2. A. Kägi, D. Burger and J. R. Goodman. Efficient Synchronization: Let Them Eat QOLB. In Proceedings of the 24th International on Computer Architecture, 1997.

    Google Scholar 

  3. A. P. Jose and K. L. Shepard. Distributed Loss-Compensation Techniques for Energy-Efficient Low-Latency On-Chip Communications. IEEE Journal of Solid State Circuits, 42(6):1415–1424, 2007.

    Google Scholar 

  4. B-H. Lim and A. Agarwal. Reactive Synchronization Algorithms for Multiprocessors. ACM SIGPLAN Notices, 29(11):25–35, 1994.

    Google Scholar 

  5. B. M. Beckmann and D. A. Wood. TLC: Transmission Line Caches. In Proceedings of the 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2011.

    Google Scholar 

  6. C-C. Kuo, J. B. Carter and R. Kuramkote. MP-LOCKs: Replacing H/W Synchronization Primitives with Message Passing. In Proceedings of the 5th International Symposium on High-Performance Computer Architecture, 1999.

    Google Scholar 

  7. C. Cascaval, J. G. CastaÃos, L. Ceze, M. Denneau, M. Gupta, D. Lieber, J. E. Moreira, K. Strauss and H. S. Warren. Evaluation of a Multithreaded Architecture for Cellular Computing. In Proceedings of the 8th International Symposium on High-Performance Computer Architecture, 2002.

    Google Scholar 

  8. C. E. Leiserson, Z. S. Abuhamdeh, D. C. Douglas, C. R. Feynman, M. N. Ganmukhi, J. V. Hill, W. D. Hillis, B. C. Kuszmaul, M. A. St. Pierre, D. S. Wells, M. C. Wong, S. W. Yang and R. Zak. The Network Architecture of the Connection Machine CM-5. In Proceedings of the ACM Symposium on Parallel Algorithms and Architectures, 1992.

    Google Scholar 

  9. C. Wagner and F. Mueller. Token-based Read/Write-Locks for Distributed Mutual Exclusion. In Proceedings of the 6th International Euro-Par Conference on Parallel Processing, 2000.

    Google Scholar 

  10. D. E. Culler, J. P. Singh and A. Gupta. Parallel Computer Architecture: A Hardware/Software Approach. Morgan Kaufmann, 1998.

    Google Scholar 

  11. E. Mensink, D. Schinkel, E. Klumperink, E. Tuijl and B. Nauta. A 0.28pf/b 2gb/s/ch Transceiver in 90nm CMOS for 10mm On-Chip Interconnects. In Proceedings of the IEEE Solid-State Circuits Conference, 2007.

    Google Scholar 

  12. E. W. Dijkstra. Solution of a Problem in Concurrent Programming Control. Communications of the ACM, 8(9):569, 1965.

    Google Scholar 

  13. F. H. McMahon. Livermore Fortran Kernels: A Computer Test of Numerical Performance Range. Technical Report UCRL-53745, Lawrence Livermore National Laboratory, 1986. http://www.netlib.org/benchmark/livermorec.

  14. H. Franke, R. Russell and M. Kirkwood. Fuss, Futexes and Furwocks: Fast Userlevel Locking in Linux. In Proceedings of the Ottawa Linux Symposium, 2002.

    Google Scholar 

  15. H. Ito, M. Kimura, K. Miyashita, T. Ishii, K. Okada and K. Masu. A Bidirectional-and Multi-Drop-Transmission-Line Interconnect for Multipoint-to-Multipoint On-Chip Communications. IEEE Journal of Solid State Circuits, 43(4):1020–1029, 2008.

    Google Scholar 

  16. HP Labs. CACTI, 2012. http://www.hpl.hp.com/research/cacti/.

  17. Intel Labs. Single-chip Cloud Computer, 2009. http://techresearch.intel.com/ articles/Tera-Scale/1826.htm.

  18. J. Eastep, D. Wingate, M. D. Santambrogio and A. Agarwal. Smartlocks: Self-Aware Synchronization through Lock Acquisition Scheduling. In Proceedings of the 7th IEEE/ACM International Conference on Autonomic Computing and Communications, 2009.

    Google Scholar 

  19. J. L. Abellán, J. Fernández, M. E. Acacio, D. Bertozzi, D. Bortolotti, A. Marongiu and L. Benini. Design of a Collective Communication Infrastructure for Barrier Synchronization in Cluster-Based Nanoscale MPSoCs. In Proceedings of the Design, Automation & Test in Europe Conference & Exhibition, 2012.

    Google Scholar 

  20. J. M. Mellor-Crummey and M. L. Scott. Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors. ACM Transactions on Computer Systems, 9(1):21–65, 1991.

    Google Scholar 

  21. J. Mauro, R. McDougall. Solaris Internals: Core Kernel Components. Sun Microsystem Press, 2001.

    Google Scholar 

  22. J. Oh, M. Prvulovic and A. Zajic. TLSync: Support for Multiple Fast Barriers Using On-Chip Transmission Lines. In Proceedings of the 38th International Symposium on Computer Architecture, 2011.

    Google Scholar 

  23. J. P. Lozi, G. Thomas, J. Lawall and G. Muller. Efficient Locking for Multicore Architectures. Technical Report RR-7779, INRIA, 2011.

    Google Scholar 

  24. J. R. Goodman, M. K. Vernon and P. J. Woest. Efficient Synchronization Primitives for Large-Scale Cache-Coherent Multiprocessors. In Proceedings of the 3rd International Conference on Architectural Support for Programming Languages and Operating Systems, 1989.

    Google Scholar 

  25. J. Sampson, R. González, J. F. Collard, N. P. Jouppi, M. Schlansker and B. Calder. Exploiting Fine-Grained Data Parallelism with Chip Multiprocessors and Fast Barriers. In Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture, 2006.

    Google Scholar 

  26. J. Sartori and R. Kumar. Low-Overhead, High-Speed Multi-core Barrier Synchronization. In Proceedings of the 5th International Conference on High Performance Embedded Architectures and Compilers, 2010.

    Google Scholar 

  27. L. Barroso and Urs Hölzle. The Datacenter as a Computer. An Introduction to the Design of Warehouse-Scale Machines. Morgan and Claypool Publishers, 2009.

    Google Scholar 

  28. M. L. Scott and W. N. Scherer. Scalable Queue-Based Spin Locks with Timeout. In Proceedings of the 8th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2001.

    Google Scholar 

  29. M. Monchiero, G. Palermo, C. Silvano and O. Villa. An Efficient Synchronization Technique for Multiprocessor Systems on-Chip. ACM SIGARCH Computer Architecture News, 34(1):33–40, 2006.

    Google Scholar 

  30. N. R. Tallent, J. M. Mellor-Crummey and A. Porterfield. Analyzing Lock Contention in Multithreaded Applications. In Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2010.

    Google Scholar 

  31. P. Coteus, H. R. Bickford, T. M. Cipolla, P. G. Crumley, A. Gara, S. A. Hall, G. V. Kopcsay, A. P. Lanzetta, L. S. Mok, R. Rand, R. Swetz, T. Takken, P. La Rocca, C. Marroquin, P. R. Germann and M.J. Jeanson. Packaging the Blue Gene/L Supercomputer. IBM Journal of Research and Development, 49(2):213–248, 2005.

    Google Scholar 

  32. P. Tang and P. C. Yew. Processor Self-Scheduling for Multiple-Nested Parallel Loops. In Proceedings of the the International Conference on Parallel Processing, 1986.

    Google Scholar 

  33. R. Ho, T. Ono, R. D. Hopkins, A. Chow, J. Schauer, F. Y. Liu and R. Drost. High-Speed and Low-Energy Capacitively-Driven On-Chip Wires. IEEE Journal of Solid State Circuits, 43(1):52–60, 2008.

    Google Scholar 

  34. R. Rajwar and J. R. Goodman. Transactional Lock-free Execution of Lock-based Programs. In Proceedings of the 10th Annual Conference on Architectural Support for Programming Languages and Operating Systems, 2002.

    Google Scholar 

  35. R. T. Chang, N. Talwalkar, P. Yue and S. S. Wong. Near Speed-of-Light Signaling over On-Chip Electrical Interconnects. IEEE Journal of Solid-State Circuits, 38(5):834–838, 2003.

    Google Scholar 

  36. S. Bell et al. TILE64 - Processor: A 64-Core SoC with Mesh Interconnect. In Proceedings of the International Solid-State Circuits Conference Digest of Technical Papers, 2008.

    Google Scholar 

  37. S. C. Woo, M. Ohara, E. Torrie, J. P. Singh and A. Gupta. The SPLASH-2 programs: Characterization and Methodological Considerations. In Proceedings of the 22nd International Symposium on Computer Architecture, 1995.

    Google Scholar 

  38. S. D. Sherlekar. Intel Many Integrated Core (MIC) Architecture. In Proceedings of the IEEE International Conference on Parallel and Distributed Systems, 2012.

    Google Scholar 

  39. T. E. Anderson. The Performance Implications of Spin-Waiting Alternatives for Shared Memory Multiprocessors. In Proceedings of the Intel Conference on Parallel Processing, 1989.

    Google Scholar 

  40. T. Krishna, A. Kumar, L-S. Peh, J. Postman, P. Chiang and M. Erez. Express Virtual Channels with Capacitively Driven Global Links. IEEE Micro, 29(4):48–61, 2009.

    Google Scholar 

  41. W. T.-Y. Hsu and P.-C. Yew. An Effective Synchronization Network for Hot-Spot Accesses. ACM Transactions on Computer Systems, 10(3):167–189, 1992.

    Google Scholar 

  42. Z. Hu, J. del Cuvillo, W. Zhu and G. R. Gao. Optimization of Dense Matrix Multiplication on IBM Cyclops-64: Challenges and Experiences. In Proceedings of the 12th International European Conference on Parallel and Distributed Computing, 2006.

    Google Scholar 

Download references

Acknowledgements

This work was supported by the Spanish MINECO, as well as European Commission FEDER funds, under grant TIN2012-38341-C04-03. This work was done while Juan Fernández was a member of the Computer Engineering Department of the University of Murcia.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to José L. Abellán .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer Science+Business Media New York

About this chapter

Cite this chapter

Abellán, J., Fernández, J., Acacio, M. (2015). Efficient Hardware-Supported Synchronization Mechanisms for Manycores. In: Khan, S., Zomaya, A. (eds) Handbook on Data Centers. Springer, New York, NY. https://doi.org/10.1007/978-1-4939-2092-1_26

Download citation

  • DOI: https://doi.org/10.1007/978-1-4939-2092-1_26

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4939-2091-4

  • Online ISBN: 978-1-4939-2092-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics