@InProceedings{Ritson07, title = "{S}hared-{M}emory {M}ulti-{P}rocessor {S}cheduling {A}lgorithms for {CCSP}", author= "Ritson, Carl G.", editor= "McEwan, Alistair A. and Schneider, Steve and Ifill, Wilson and Welch, Peter H.", pages = "509--510", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2007", isbn= "978-1-58603-767-3", year= "2007", month= "jul", abstract= "CCSP is a monolithic C library which acts as the run-time kernel for occam- programs compiled with the Kent Retargetable occam Compiler (KRoC). Over the past decade, it has grown to encompass many new and powerful features to support the occam-pi language as that has evolved \&\#8211; and continues to evolve \&\#8211; from classical occam. However, despite this wealth of development, the general methodology by which processes are scheduled and executed has changed little from its transputer inspired origins. This talk looks at applying previous research and new ideas to the CCSP scheduler in an effort to exploit fully the potential of new mass-market multicore processor systems. The key objective is to introduce support for shared-memory multicore systems, whilst maintaining the low scheduling overheads that occam-pi users have come to expect. Fundamental to this objective are wait-free data-structures, per-processor run-queues, and a strong will to consolidate and simplify the existing code base." }