EDN China > 其它文章 > 嵌入式系统 > 开发工具 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

Optimizing multiprocessor systems

Nicholas Cravotta?? EDN特约技术编辑?? 2003年09月12日 ?? 收藏0
ommunicate over six channels, requiring several logic analyzers to simultaneously look at all traffic. You might consider using an FPGA inline during development to analyze traffic.

Keeping common values local not only reduces latency, but also conserves bus bandwidth. Unless the simulator can profile variable use for the compiler to optimally map memory, you'll be stuck trying to define an efficient map by hand. Consider two processors, P1 and P4, connected through processors P2 and P3. If tas
ks running on P1 and P4 exchange a lot of data, you can reduce latency by physically connecting P1 to P4. Although profiling tools may help you uncover information that suggests Optimizing allocations in this way, most do not assist in the optimization. The compiler does not take into account the physical relationship between cores, and quickly testing new maps (optimizing using an abstract map of task dependencies to eliminate "obviously" inefficient combinations rather than completely simulating the system for each combination) is not an option.

You need to be able to redefine, repartition, and reallocate the system as you simulate, debug, profile, and learn new information. Current tools resist repartitioning by making it difficult to carry concrete optimizations back to abstracted models. Optimized code pierces the abstraction bubble, and the more concrete details you add, the more difficult it is to maintain the abstraction. At some point, your investment in the hybrid model forces you to commit to it. Too much and not enough

As you increase the number of processors or cores, each processing unit becomes more of a black box. Collecting aggregate results is relatively straight-forward, but being able to examine these results at the individual data-point level can open the door to more efficiency. For example, one data type may stall more readily the system than another. Knowing what kind of data causes these stalls gives you better insight than simply knowing where the sta
?? ?? ??


?? ??

Optimizing? multiprocessor? communication?


美国的游客 ??? (您将以游客身份发表,请登录 | 注册)