新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 技术白皮书:多核系统编程技术

技术白皮书:多核系统编程技术

作者:时间:2009-04-13来源:网络收藏



图2:典型的应用程序,它展示了编程所具有的与生俱来的并行特性。

基于文本的如C语言等,在代码中利用特殊标记来表示并行化代码,创建并行任务(也就是创建独立的线程)。管理这些多线程的应用程序将是一个挑战。

在C语言中,用户必须使用锁操作、互斥量、原子操作和其他高级编程技术来管理同步。当多线程变得难于跟踪调试,通常的编程缺陷便出现了,如下所示:
1. 由于线程太多而导致效率低下。
2. 死锁——线程一直在等待某些而不能进行处理。
3. 竞争状况- 代码运行的时序没有被正确管理,在需要数据时,数据不是没有准备好就是已经被覆盖掉了。
4. 存储器冲突——与代码中存储器管理相关的问题。

由于使用C语言进行开发面临的这些挑战,程序员们可以获得比以往更高的效率。

是利用实时SMP支持,处于“Multicore Ready”软件层的最上层Intel公司定义了用户需要评估的四个软件层次来确定多核系统的可用程度。如果所用的应用程序库和设备驱动不是为多核而设计的,或者操作系统不能够在多个核心上进行负载均衡,那么并行程序在多核心系统上并不会运行得更快。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭