遵循摩尔定律让计算工业的时钟速度至今增长不衰。随着逻辑接近实际的速度极限,伴随快速时钟的性能提升也接近峰顶。为了保持性能增加,微处理器供应商如今将多个处理器融入一个单一芯片内。
多核计算并不新颖,多处理器设计也并非罕见,非对称多处理应用相对简单容易实现。然而,采用多核器件以获得系统性能提升的多处理类型提出了迥然不同的设计问题。对称多处理或称SMP,充分利用了可用的处理能力,要求任何指定的软件任务能够在任何时候在任何内核上运行。替代方法是手工分配内核的任务线程。总之,SMP引入了一系列软件设计和调试问题,许多都与并行执行任务时资源存取协调及软件任务同步化相关。
为了迎战这些诸如死锁及数据阻塞的问题,软件开发和调试工具必须专门设计以处理多核实现。不幸的是,尽管行业已着手开发,可是仍然很少有可用的工具。
即使有了这些工具,在线程及寄存器级别执行的SMP代码复杂性对开发商来说依然代表着重大挑战。新方法出现于软件公司RapidMind公司发布的技术中。该公司的开发平台和运行时间软件自动分配内核之间的任务,并提供所需要的同步和协调,与单核实现一样,保持软件开发和调试成果。