l2_parallel
2016-05-25 11:24:14 0 举报
L2_parallel是一个用于多核处理器的编程模型,它允许程序员将任务并行化以提高计算效率。在L2_parallel中,每个线程都有自己的本地内存,可以独立执行指令和操作,而不需要与其他线程共享。这种模型可以减少线程之间的竞争和同步开销,从而提高程序的性能。 总之,L2_parallel是一种高效的多核编程模型,它可以帮助程序员充分利用多核处理器的优势,提高程序的运行速度。如果您正在开发一个需要大量计算的程序,那么使用L2_parallel可能是一个不错的选择。😊
作者其他创作
大纲/内容
等待 has_hdr_cv
或者 当前的calbuf的有效元素已经取完这时候可能另一个cal线程在处理中
如果seg是最后一个
从ssd里读取所有seg的hdr数据
失败
若当前iobuf指向的buf num不为0,说明这个buf还在未处理完
验证blks_hdr的校验值
设置dev为恢复成功,通知其他cal线程(本线程可能最后一个做完,其他线程在等待) 恢复场景fini
如果seg是未使用状态
所有buf里的seg加入到free list
若iobuf满了 或者 seg是最后一个
等待 hdr_done_cv
本轮seg_num计数加1
循环处理dev的所有seg
当 线程退出 且 当前calbuf是最后一个有效buf,且处理完毕
将seg插入free list
设置本buf的seg个数并把iobuf指向下一个buf
加入free list
否则
如果当前buf计数为0了,说明处理完了,通知一下io thread有新的空间了。如果下一个buf是可用的,就把calbuf移动到下一个
将此seg的blk_hdr插入hash
是
创建新的seg_hdr
通知cal线程,有新的buf需要处理了
否
成功
如果当前calbuf的seg数为0,说明cal做完了,在等待,则把calbuf指向其下一个buf,index设为0
取出一个seg,相当于seg_index增1
本线程退出通知一下main recov线程
处理完一个seg,计数减1
当 线程运行 且 当前calbuf全部处理完毕且下一个buf是iobuf,则等待
0 条评论
回复 删除
下一页