事务性的存储器中的事务处理

    公开(公告)号:CN102282548A

    公开(公告)日:2011-12-14

    申请号:CN200980154875.4

    申请日:2009-12-04

    Applicant: 微软公司

    CPC classification number: G06F9/466

    Abstract: 事务性的存储器处理系统可以将编译器级别的事务性的存储器概念集成到更高级别的传统的事务处理系统中。编译器级别的原子块可以被指定为原子块事务,并包括原子性和隔离性的特征。此原子块事务内的动作包括从储存库中征募资源管理器。储存库现在可以包括预先编程的存储器资源管理器,以管理事务性的存储器。如在传统的事务中,可以使用提交协议来判断动作是否有效,并可以在事务的外部公开。然而,与传统的事务不同,如果全部动作没有被验证,事务不需要死亡。相反,存储器冲突会导致原子块事务的回滚和重新执行,这是可以重复的,只要需要,直到存储器资源管理器表决提交。

    使用事务来并行化顺序框架

    公开(公告)号:CN101681272B

    公开(公告)日:2014-07-16

    申请号:CN200880018922.8

    申请日:2008-05-30

    Applicant: 微软公司

    CPC classification number: G06F8/452 G06F9/467

    Abstract: 公开了用于将顺序循环转换成并行循环以与事务存储器系统一起使用的各种技术和方法。提供了一种事务存储器系统。将包含原始顺序循环的第一部分代码转换成包含使用事务来保留原始的输入到输出映射的并行循环的第二部分代码。例如,可以通过取原始顺序循环的每一迭代并生成遵循预定提交次序过程的单独事务来将原始顺序循环转换成并行循环。各单独事务中的至少某一些在不同的线程中执行。当在执行并行循环时检测到在特定事务中发生了未经处理的异常时,则提交该特定事务和前导事务所作出的状态修改并丢弃后续事务所作出的状态修改。

    可索引类型变换
    13.
    发明公开

    公开(公告)号:CN102314370A

    公开(公告)日:2012-01-11

    申请号:CN201110192613.6

    申请日:2011-06-29

    Applicant: 微软公司

    CPC classification number: G06F8/453

    Abstract: 一高级编程语言提供了用于数据并行处理环境中的可索引类型上的可扩展变换集。用于该语言的编译器将每个变换实现为来自可索引类型的映射,以允许每个变换可被应用到其他变换。在编译时间,编译器标识数据并行源代码中的每个可索引类型上的变换的序列,并生成数据并行执行代码以将序列实现为运行时使用变换映射的组合操作。编译器也包含优化处理,该优化处理基于至数据并行执行代码的变换序列。

    使用事务来并行化顺序框架

    公开(公告)号:CN101681292A

    公开(公告)日:2010-03-24

    申请号:CN200880018391.2

    申请日:2008-05-30

    Applicant: 微软公司

    CPC classification number: G06F9/466 G06F8/456 G06F9/52

    Abstract: 公开了用于将顺序循环转换成并行循环以与事务存储器系统一起使用的各种技术和方法。可以将开放和/或封闭顺序循环转换成并行循环。例如,分析包含原始顺序循环的一部分代码以确定该原始顺序循环的固定迭代次数。将原始顺序循环转换成可生成数量等于该固定迭代次数的事务的并行循环。作为另一示例,可以将开放顺序循环转换成生成包含推测流水线的每一迭代的相应工作项的单独事务的并行循环。并行循环随后使用事务存储器系统来执行,其中各单独事务中的至少某一些在不同的线程上执行。

    在运行时处绑定可执行代码

    公开(公告)号:CN103620553A

    公开(公告)日:2014-03-05

    申请号:CN201280028424.8

    申请日:2012-05-29

    Applicant: 微软公司

    CPC classification number: G06F9/44521 G06F8/443 G06F9/44542 G06F9/4552

    Abstract: 本发明涉及用于在运行时处绑定可执行代码的方法、系统和计算机程序产品。本发明的实施例包括对代码指定方面的后绑定以改善执行性能。运行时基于运行时信息动态地绑定较低级代码以优化较高级算法的执行。对执行性能有必要(例如,较高)影响的较高级算法的方面可以是后绑定的目标。通过使用对具有必要执行性能影响的方面的后绑定可以用最小的运行时间成本实现改善的性能。

    仿真指针
    16.
    发明公开

    公开(公告)号:CN102609243A

    公开(公告)日:2012-07-25

    申请号:CN201110445904.1

    申请日:2011-12-27

    Applicant: 微软公司

    CPC classification number: G06F9/455 G06F8/434

    Abstract: 本发明涉及仿真指针。本发明涉及用于仿真指针的方法、系统和计算机程序产品。可以通过如下方式来仿真指针:用 对替换该指针;以及用根据标签的switch和switch主体替换每个解除引用站点,该switch主体对该指针所指向的相应变量执行仿真的指针访问。可以使用数据流优化来减少switch的数目和/或减少在每个仿真的指针访问站点处需要考虑的case的数目。

    数据平行代码中的映射变换

    公开(公告)号:CN102541612A

    公开(公告)日:2012-07-04

    申请号:CN201110382436.8

    申请日:2011-11-16

    Applicant: 微软公司

    CPC classification number: G06F8/45

    Abstract: 本发明涉及数据平行代码中的映射变换。高层编程语言提供了映射变换(12),该映射变换采用数据平行算法(14)并且将一组一个或多个输入可索引类型(32)作为参量(26)。映射变换将数据平行算法应用于该组输入可索引类型,以生成输出可索引类型,并且返回该输出可索引类型(34)。映射变换可用于将一个或多个数据平行算法(14)与另一数据平行算法(24)融合。

    绑定数据并行设备源代码

    公开(公告)号:CN102298535A

    公开(公告)日:2011-12-28

    申请号:CN201110184637.7

    申请日:2011-06-21

    Applicant: 微软公司

    Abstract: 本发明涉及绑定数据并行设备源代码。在计算机系统中提供一种编译环境,该编译环境允许编程人员使用具有数据并行(DP)扩展的高级通用编程语言来对CPU和数据并行设备(例如GPU)二者进行编程。一种编译过程使用DP设备源代码的一组绑定描述符将以该通用语言编写的模块化DP代码翻译成以高级DP设备编程语言的DP设备源代码。绑定器从该组绑定描述符中生成单个自包含的DP设备源代码单元。DP设备编译器从该DP设备源代码单元中生成供在一个或多个数据并行设备上执行的DP设备可执行代码。

Patent Agency Ranking