We implemented both synchronous and asynchronous versions of concurrent heap and that of serial heap. In the synchronous version processors periodically synchronize after executing a, total of T items. In asynchronous version, processors continually execute delete-think-insert cycles and terminate after completing a predetermined cycle count. To vary granularity, we modeled the thinking phase by executing through an empty “for loop” for each item processed. The number of iterations is randomly determined up to an upper bound of max Think.