Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

今日目标:找到多线程没有scaleup的原因;scaleup之后跑十亿;做ppt(算法和时间内存性能);有时间的话,写idea的code

上午

  • 1,2
    • 优化board safety的锁(两种)run+operf
  • 3,4,5
    • 数据生成脚本修改(去除不用的属性)
      • 测试新生成数据是否可以
    • 分析不scaleup的原因,测试任务划分粒度

下午

1000上跑,
operf safty_no_lock&&thread32factor1
对比safty_lock&&thread32factor15和safty_no_lock&&thread32factor1,最快的跑十亿

晚上

  • hw
    做ppt(fast)
    没有scaleup的原因分析
    明明task函数中锁相关的时间仅占10%,但是32线程只是加快到原先的13倍(若去除锁相关时间,也只是加快14倍)
    计算时间主要是从spine reach leaf的过程的时间
    而且奇怪的是,8线程几乎只加倍了2倍,所以看起来也不是竞争的原因
    不是线性scaleup说明有串行依赖,哪里有呢?
    新算法更慢(由于每个tsk1要一个board_safty副本,因此tsk1划分为每个线程一个):无锁,但是tsk1结束之后再来合并各个线程的风险信息,然后再tsk2?
  • idea
    code
    写在线文档

实际上晚上是开发到了12:30把内存优化到了比原来一半还少~

评论