Explore chapters and articles related to this topic
Inter-Task Synchronization and Communication (IPC) Based on Shared Memory
Published in Gedare Bloom, Joel Sherrill, Tingting Hu, Ivan Cibrario Bertolotti, Real-Time Systems Development with RTEMS and Multicore Processors, 2020
Gedare Bloom, Joel Sherrill, Tingting Hu, Ivan Cibrario Bertolotti
A barrier is a synchronization object that enables a number of tasks to wait until all of them have reached a programmer-defined milestone in their execution, and then continue concurrently. This is useful in a lot of different circumstances, for instance: A set of cooperating tasks may need to go through an initialization phase that they perform independently from each other before starting normal operation. A barrier can be used to ensure that all these tasks have completed their initialization—that is, their milestone—before any of them enters normal operational mode.Especially on multicore systems, it may be fruitful to split a time-consuming, computation-intensive job into chunks, to be performed concurrently by N tasks running on different cores. A barrier can guarantee that all tasks have completed their share of the job before they continue with further processing.
Engaging professionals in urban stormwater management: the case of China’s Sponge City
Published in Building Research & Information, 2020
Xiaohuan Xie, Shiyu Qin, Zhonghua Gou, Ming Yi
The urban stormwater management system that has been proposed through Sponge City and other similar initiatives requires an integrative, multidisciplinary and participatory approach that is not fully reflected in the current urban water planning and design practices. Therefore, research has been conducted to understand the related barriers and drivers. The main common finding is that the barriers are social, institutional and political, rather than technical. For example, Brown and Farrelly (2009a) reviewed 53 studies and identified 12 specific barriers involving issues of community, resources, responsibility, knowledge, vision, commitment and coordination. These institutional barriers not only reinforced each other but also created persistent self-reinforcing that resisted the implementation of the urban water management strategies (Winz, Trowsdale, & Brierley, 2014). Dispersed responsibilities, imperfect regulation, and unclear accountabilities are some of the complexities underlying these barriers (Prosser, Morison, & Coleman, 2015).
Algorithmic Improvements to MCNP5 for High-Resolution Fusion Neutronics Analyses
Published in Fusion Science and Technology, 2018
Scott W. Mosher, Stephen C. Wilson
Worker and collector threads must be carefully synchronized at the end of a batch to avoid deadlocks. Each worker thread has a status flag denoting whether it is actively performing transport operations or inactive. At the beginning of each batch, each worker thread sets its status flag to active, and the collector begins operation. When a worker thread ascertains that there are no more histories to be simulated in the current batch, it sets the state of its current buffer to closed, and then it sets its own status to inactive. Meanwhile, when the collector thread determines that there are no more active workers and no remaining closed buffers, it suspends execution until the beginning of the next batch. To ensure that all threads start and finish a batch at the same time, explicit synchronization barriers are used at the beginning and end of each batch. The barrier ensures that execution continues only after all threads have reached the barrier.