发明名称 一种线程并行执行优化方法
摘要 本发明公开了一种线程并行执行优化方法。它是利用线程的语义和线程之间的关系优化线程并行执行。首先为每一线程构造线程优化结构,并且为每一台处理器构造处理器优化结构;其次为处理器优化结构设计动态分配和回收操作;接着为每一种类型线程设计线程并行执行优化操作;最后按照线程优化结构的控制部分的含义优化线程并行执行。本发明能够尽可能减少不必要线程执行,缩短程序执行时间,提高处理器有效利用率。
申请公布号 CN101482813B 申请公布日期 2012.02.29
申请号 CN200910046492.7 申请日期 2009.02.24
申请人 上海大学 发明人 吴悦;唐立三;林剑领;徐磊;雷超付;杨洪斌
分类号 G06F9/38(2006.01)I 主分类号 G06F9/38(2006.01)I
代理机构 上海上大专利事务所(普通合伙) 31205 代理人 何文欣
主权项 一种线程并行执行优化方法,其特征在于具体操作步骤如下:A.为每一个线程构造线程优化结构;B.为每一台处理器构造处理器优化结构;C.利用步骤A所述的线程优化结构和步骤B所述的处理器优化结构来优化结构优化线程并行执行;所述步骤A中的线程优化结构包括控制部分、线程组编号、线程编号;所述步骤A中的构造线程优化结构的操作步骤如下:A1.为线程优化结构分配连续的9个字节的内存空间;A2.使用步骤A1所述的9个字节中的第1个字节,构造线程优化结构中的控制部分;A3.使用步骤A1所述的9个字节中的第2个到第5个字节,构造线程优化结构中的线程组编号;A4.使用步骤A1所述的9个字节中的第6个到第9个字节,构造线程优化结构中的线程编号;所述步骤A2中的构造线程优化结构中的控制部分的操作步骤如下:A21.控制部分的第1个二进制位标识线程并行执行是否需要优化:如果为1,则标识线程并行执行需要优化;如果为0,则标识线程并行执行不需要优化;A22.控制部分的第2个二进制位标识线程是否包含子程序返回指令:如果为1,则标识线程包含子程序返回指令;如果为0,则标识线程不包含子程序返回指令;A23.控制部分的第3个二进制位标识第1个字节的第2个二进制位为0的线程是否执行:如果为1,则标识第1个字节的第2个二进制位为0的线程停止执行;如果为0,则第1个字节的第2个二进制位为0的线程执行;A24.控制部分的第4个二进制位标识步骤A3所述的线程组中的线程是否为互斥类型:如果为1,则标识线程组中的线程为互斥类型;如果为0,则标识线程组中的线程不是互斥类型;A25.控制部分的第5个二进制位标识步骤A3所述的线程组是否包含循环指令:如果为1,则标识线程组包含循环指令;如果为0,则标识线程组不包含循环指令;A26.控制部分的第6个二进制位标识步骤A3所述的线程组是否包含循环中断指令:如果为1,则标识线程组包含循环中断指令;如果为0,则标识线程组不包含循环中断指令;A27.控制部分的第7个至第8个二进制位预留;所述步骤A3中的构造线程优化结构中的线程组编号的操作步骤如下:A31.按照线程执行的顺序依次分析;A32.将所有包含子程序返回指令的线程归为同一个线程组;A33.将属于同一层跳转指令范畴内的线程归为同一个线程组;A34.将位于同一层循环指令范畴内的线程归为同一个线程组;A35.将经过步骤A32、A33、A34归类后剩余的每一个线程都归为一个单独的线程组;A36.按照线程组执行的顺序,从1开始由小到大依次为线程组编号;A37.将步骤A36所述线程组编号存储到步骤A3所述的第2个到第5个字节中;A38.构造线程优化结构中的线程组编号的操作执行完毕;所述步骤A4中的构造线程优化结构中的线程编号的操作步骤如下:A41.按照线程组执行的顺序依次分析;A42.按照线程组中线程的执行顺序,从1开始由小到大依次为线程编号;A43.判断线程组所在线程优化结构中的控制部分的第4个二进制位是否为1,如果为1,则转步骤A44;否则转步骤A45;A44.将线程组内所有线程编号设置为该线程组内线程编号的最大值;A45.将步骤A42和步骤A44所述线程编号存储在步骤A4所述的第6个到第9个字节中。
地址 200444 上海市宝山区上大路99号