[发明专利]用于对数据结构的实例进行操作的方法和系统无效

专利信息
申请号: 200810149826.9 申请日: 2008-09-27
公开(公告)号: CN101685406A 公开(公告)日: 2010-03-31
发明(设计)人: 甘志;齐尧;戴晓君;邱模炯;王远洪 申请(专利权)人: 国际商业机器公司
主分类号: G06F9/46 分类号: G06F9/46;G06F17/30
代理公司: 北京市中咨律师事务所 代理人: 于 静;李 峥
地址: 美国*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 数据结构 实例 进行 操作 方法 系统
【说明书】:

技术领域

发明涉及对多线程软件的开发和处理,尤其涉及对数据结构的实例进行操作的方法和系统。

背景技术

在过去的二十多年的时间里,随着微电子技术的迅猛发展,计算机系统的性能和容量发生了爆炸性的增长。较多的计算资源意味着可以按并行的方式来同时执行更多的操作。因此,并行的体系结构以及并行的软件开发,在信息处理中发挥越来越核心的作用。

一个进程是在计算机系统上运行的一个程序或程序的一部分,或者是被某个程序执行的步骤的相关序列。每个进程包括一个或多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。所以线程基本上是轻量级的进程,它负责在单个程序里执行任务。通常由操作系统负责多个线程的调度和执行。

数据结构是一种数据的组织方案,例如记录或数组,籍此有助于解释数据或执行对数据的操作。一数据结构的一实例,是指一种数据结构的具体实施对象。对数据结构的实例的处理,在进程或程序中经常采用多线程处理,这可以充分利用系统资源,缩短程序响应时间,改善用户体验;如果程序中只使用单线程,那么程序的速度和响应无疑会大打折扣。多线程软件使得多个线程可以并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。但是,程序采用了多线程后,就必须认真考虑线程调度的问题。如果调度不当,要么造成程序出错,要么造成荒谬的结果。众所周知,与顺序执行的软件相比,多线程软件更加难以开发。

由于多个线程之间可能存在的未预料到的冲突,具有并行体系结构的程序经常包含程序缺陷。尤其是,如果没有合适的同步机制,并行地访问共享的数据结构将产生无法预料的错误。到目前为止,人们通常使用两种方法来开发多线程软件。基于锁(lock-based)的方式和无锁(lock-free)的方式。

对于多线程编程和多线程并行处理,基于锁的方式是一种传统的方法。该方法利用加锁来实现同步,以便对共享资源进行访问。常用的同步原语(Synchronization primitives)如互斥体(mutexes)、旗语(s emaphores)和关键部件(critical sections)。这些同步原语通常被用于确保某些特定的部分代码不会被同时执行,否则将会破坏共享存储结构。如果一个线程试图获取已经被其它线程持有的锁,则该一个线程将会被阻塞(block)直至该锁被释放为止。例如,在程序中,很多任务必须以确定的先后秩序执行,对于两个线程必须以先后秩序执行的情况,可以用线程锁来处理。线程锁的大致思想是:如果线程A和线程B会分别执行实例的两个函数a和b,如果A必须在B之前运行,那么可以在B进入b函数时让B进入wait set,直到A执行完a函数再把B从wait set中激活。这样就保证了B必定在A之后运行,无论在之前它们的时间先后顺序是怎样的。

互斥锁(mutual-exclusion locks)是目前常用的一种机制,用于进程或线程间的同步。其简单并且容易实施。在高性能应用的并行计算环境里,这种简易性则无法实现。当使用大量的锁并且有许多线程并行执行时,互斥锁的可扩展性不佳。对于共享数据的并行访问,需要复杂的细粒度的锁策略,来将没有冲突的操作设置为并行执行。要保持良好的性能,这种策略很难设计,并且可能隐含问题,如死锁或优先级倒置。

由于多种已知的原因,使得不希望线程被阻塞。一个明显的原因是,如果一个线程被阻塞,则该线程在该期间无法完成任何任务。如果被阻塞的线程正在执行一个高优先级的任务,或者正在执行一个实时的任务,就更加不希望该线程被阻塞。

此外,多个锁之间的某些冲突还可能导致一些错误的状态,如死锁、活锁或优先级倒置(deadlock,live-lock,or priority inversion)。使用锁还涉及在粗粒度的锁和细粒度的锁两个方面之间进行折衷,粗粒度的锁可能会显著减少并行执行的机会,细粒度的锁需要更加细致的设计并且容易程序缺陷。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200810149826.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top