-
公开(公告)号: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: 微软公司
IPC: G06F9/46
Abstract: 公开了用于将顺序循环转换成并行循环以与事务存储器系统一起使用的各种技术和方法。提供了一种事务存储器系统。将包含原始顺序循环的第一部分代码转换成包含使用事务来保留原始的输入到输出映射的并行循环的第二部分代码。例如,可以通过取原始顺序循环的每一迭代并生成遵循预定提交次序过程的单独事务来将原始顺序循环转换成并行循环。各单独事务中的至少某一些在不同的线程中执行。当在执行并行循环时检测到在特定事务中发生了未经处理的异常时,则提交该特定事务和前导事务所作出的状态修改并丢弃后续事务所作出的状态修改。
-
公开(公告)号:CN102314370A
公开(公告)日:2012-01-11
申请号:CN201110192613.6
申请日:2011-06-29
Applicant: 微软公司
IPC: G06F9/45
CPC classification number: G06F8/453
Abstract: 一高级编程语言提供了用于数据并行处理环境中的可索引类型上的可扩展变换集。用于该语言的编译器将每个变换实现为来自可索引类型的映射,以允许每个变换可被应用到其他变换。在编译时间,编译器标识数据并行源代码中的每个可索引类型上的变换的序列,并生成数据并行执行代码以将序列实现为运行时使用变换映射的组合操作。编译器也包含优化处理,该优化处理基于至数据并行执行代码的变换序列。
-
公开(公告)号:CN101681292A
公开(公告)日:2010-03-24
申请号:CN200880018391.2
申请日:2008-05-30
Applicant: 微软公司
IPC: G06F12/00
Abstract: 公开了用于将顺序循环转换成并行循环以与事务存储器系统一起使用的各种技术和方法。可以将开放和/或封闭顺序循环转换成并行循环。例如,分析包含原始顺序循环的一部分代码以确定该原始顺序循环的固定迭代次数。将原始顺序循环转换成可生成数量等于该固定迭代次数的事务的并行循环。作为另一示例,可以将开放顺序循环转换成生成包含推测流水线的每一迭代的相应工作项的单独事务的并行循环。并行循环随后使用事务存储器系统来执行,其中各单独事务中的至少某一些在不同的线程上执行。
-
公开(公告)号:CN103620553A
公开(公告)日:2014-03-05
申请号:CN201280028424.8
申请日:2012-05-29
Applicant: 微软公司
CPC classification number: G06F9/44521 , G06F8/443 , G06F9/44542 , G06F9/4552
Abstract: 本发明涉及用于在运行时处绑定可执行代码的方法、系统和计算机程序产品。本发明的实施例包括对代码指定方面的后绑定以改善执行性能。运行时基于运行时信息动态地绑定较低级代码以优化较高级算法的执行。对执行性能有必要(例如,较高)影响的较高级算法的方面可以是后绑定的目标。通过使用对具有必要执行性能影响的方面的后绑定可以用最小的运行时间成本实现改善的性能。
-
-
公开(公告)号:CN102541612A
公开(公告)日:2012-07-04
申请号:CN201110382436.8
申请日:2011-11-16
Applicant: 微软公司
IPC: G06F9/45
CPC classification number: G06F8/45
Abstract: 本发明涉及数据平行代码中的映射变换。高层编程语言提供了映射变换(12),该映射变换采用数据平行算法(14)并且将一组一个或多个输入可索引类型(32)作为参量(26)。映射变换将数据平行算法应用于该组输入可索引类型,以生成输出可索引类型,并且返回该输出可索引类型(34)。映射变换可用于将一个或多个数据平行算法(14)与另一数据平行算法(24)融合。
-
公开(公告)号:CN102314342A
公开(公告)日:2012-01-11
申请号:CN201110177689.1
申请日:2011-06-17
Applicant: 微软公司
IPC: G06F9/44
CPC classification number: G06F8/45
Abstract: 在此描述的是用于生成用于数据并行编程模型的调用存根以使得用静态编译的高级编程语言编写的数据并行程序可以比传统方法更加声明性、可重用和可移植的技术。借助于所描述的技术中的某一些,由编译器(116)生成调用存根(118),且那些存根将数据并行计算的逻辑排列桥接到用于数据并行计算的目标数据并行硬件的实际物理排列。
-
公开(公告)号:CN102298535A
公开(公告)日:2011-12-28
申请号:CN201110184637.7
申请日:2011-06-21
Applicant: 微软公司
IPC: G06F9/45
Abstract: 本发明涉及绑定数据并行设备源代码。在计算机系统中提供一种编译环境,该编译环境允许编程人员使用具有数据并行(DP)扩展的高级通用编程语言来对CPU和数据并行设备(例如GPU)二者进行编程。一种编译过程使用DP设备源代码的一组绑定描述符将以该通用语言编写的模块化DP代码翻译成以高级DP设备编程语言的DP设备源代码。绑定器从该组绑定描述符中生成单个自包含的DP设备源代码单元。DP设备编译器从该DP设备源代码单元中生成供在一个或多个数据并行设备上执行的DP设备可执行代码。
-
公开(公告)号:CN102289393A
公开(公告)日:2011-12-21
申请号:CN201110179013.6
申请日:2011-06-20
Applicant: 微软公司
IPC: G06F9/52
Abstract: 本发明涉及软件事务存储器中的锁的组成。软件事务存储器(STM)系统允许基于与STM代码中的事务的同步来组成传统锁。在事务内第一次遇到相应的传统锁获取时,STM系统获得每个传统锁,并推迟所有传统锁释放,直到事务嵌套中的顶层事务提交或中止。STM系统维护与事务中的传统锁操作相关联的状态信息,并使用该状态信息来消除冗余的被推迟的传统锁操作。STM系统与实现垃圾收集的系统集成。
-
-
-
-
-
-
-
-
-