zoukankan      html  css  js  c++  java
  • 带组装64ROS_8节点_4096Chan测试结果

    将64个ROS, 4096个通道布置在8个节点上时,SFI 出现 warning:

    WARNING 2017-Jun-21 20:45:47 [bool SFIEvent::addFragment(...) at SFI/src/SFIEvent.cxx:275] Problem with data integrity: Event fragment from ROS-Eth-13 with LVL1ID: 0x7 cannot be appended to the full event. The fragment will be lost

    ROS没有报错。事例率为 127Hz。

    报WARNING的代码行: vi ../src/SFIEvent.cxx

    264     try{
    265       m_fullEvent->append_unchecked(m_fragoffsets[k]);
    266     }catch(eformat::Issue & ex){
    267       std::stringstream mystream;
    268       mystream << "Event fragment from "
    269          << AppControl::get_instance()->getPartition()->get_app_id(rosID)
    270          << " with LVL1ID: 0x"
    271          << std::hex << m_dfmassign->get_l1id() << std::dec
    272          << " cannot be appended to the full event. "
    273          << "The fragment will be lost";
    274       std::string tmp = mystream.str();
    275       SFI::DataIntegrityIssue myIssue(ERS_HERE, tmp.c_str());
    276       ers::warning(myIssue);
    277       continue;
    278     }

    查看append_unchecked:

     vi ../../../tdaq-common-01-18-04/eformat/src/write/FullEventFragment.cxx

    265 void eformat::write::FullEventFragment::append_unchecked (const uint32_t* rob)
    266 {
    267   if (m_n_unchecked == MAX_UNCHECKED_FRAGMENTS)
    268     throw EFORMAT_TOO_MANY_UNCHECKED(MAX_UNCHECKED_FRAGMENTS);
    269   eformat::ROBFragment<const uint32_t*> frag(rob);
    270   if (m_n_unchecked) //more fragments are available before this one
    271     m_unchecked[m_n_unchecked-1].next = &m_unchecked[m_n_unchecked];
    272   set(m_unchecked[m_n_unchecked++], rob, frag.fragment_size_word(), 0);
    273   m_node[0].base[1] += frag.fragment_size_word();
    274 }

    查看  MAX_UNCHECKED_FRAGMENTS:  

    vi ../../../tdaq-common-01-18-04/eformat/eformat/write/FullEventFragment.h

     23     /**
     24      * Maximum number of unchecked fragments a writeable FullEventFragment
     25      * may have.
     26      */
     27     const uint32_t MAX_UNCHECKED_FRAGMENTS = 2048;

    由于刚好有2048个数据通道,导致了例外。

  • 相关阅读:
    如何设计一个秒杀系统
    Leetcode题目437:路径总和III(递归-简单)
    Leetcode题目461:汉明距离(位运算-简单)
    Leetcode题目617:合并二叉树(递归-简单)
    分布式锁
    分布式搜索引擎
    数据库
    Java知识体系思维导图
    wav文件头详解,看懂wav文件
    推荐一个最近在学习的AI算法工程师手册,侵删
  • 原文地址:https://www.cnblogs.com/zengtx/p/7061622.html
Copyright © 2011-2022 走看看