NO20081583L - Optimalisering av transaksjonsminne-programvareoperasjoner - Google Patents

Optimalisering av transaksjonsminne-programvareoperasjoner

Info

Publication number
NO20081583L
NO20081583L NO20081583A NO20081583A NO20081583L NO 20081583 L NO20081583 L NO 20081583L NO 20081583 A NO20081583 A NO 20081583A NO 20081583 A NO20081583 A NO 20081583A NO 20081583 L NO20081583 L NO 20081583L
Authority
NO
Norway
Prior art keywords
transactional memory
software
instructions
optimization
memory software
Prior art date
Application number
NO20081583A
Other languages
English (en)
Inventor
Timothy L Harris
Mark Ronald Plesko
Avraham E Shinnar
Jr David Read Tarditi
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of NO20081583L publication Critical patent/NO20081583L/no

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

Et programvarebasert transaksjonelt minnesystem er beskrevet som utfører optimeringer på programvareinstruksjoner for transaksjonelt minne for å oppnå en effektiv ytelse. Programvareblokker for transaksjonelt minne blir byttet ut med programvareinstruksjoner for transaksjonelt minne, som så deles ytterligere inn i oppdelte programvareinstruksjoner for transaksjonelt minne. De oppdelte instruksjonene gjør det mulig for en kompilator med kunnskap om instruksjonssemantikken å foreta optimeringer som ikke ville være mulige i tradisjonelle programvarebaserte transaksjonelle minnesystemer. Høynivå optimeringer for programvarebasert transaksjonelt minne blir utført, så som flytting av kode rundt prosedyreanrop, innsetting av operasjoner for å gi sterk atomitet, fjerning av unødvendige lesing-til-oppdatering-oppgraderinger og fjerning av operasjoner for nyallokerte objekter.
NO20081583A 2005-12-07 2008-04-01 Optimalisering av transaksjonsminne-programvareoperasjoner NO20081583L (no)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US74838605P 2005-12-07 2005-12-07
US11/389,451 US8799882B2 (en) 2005-12-07 2006-03-23 Compiler support for optimizing decomposed software transactional memory operations
PCT/US2006/045526 WO2007067390A2 (en) 2005-12-07 2006-11-27 Optimization of software transactional memory operations

Publications (1)

Publication Number Publication Date
NO20081583L true NO20081583L (no) 2008-05-22

Family

ID=38123382

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20081583A NO20081583L (no) 2005-12-07 2008-04-01 Optimalisering av transaksjonsminne-programvareoperasjoner

Country Status (9)

Country Link
US (1) US8799882B2 (no)
EP (1) EP1958063A4 (no)
JP (1) JP5284103B2 (no)
KR (1) KR101354796B1 (no)
AU (1) AU2006322227B2 (no)
BR (1) BRPI0619137A2 (no)
NO (1) NO20081583L (no)
RU (1) RU2433453C2 (no)
WO (1) WO2007067390A2 (no)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747659B2 (en) * 2004-01-05 2010-06-29 International Business Machines Corporation Garbage collector with eager read barrier
US8799882B2 (en) 2005-12-07 2014-08-05 Microsoft Corporation Compiler support for optimizing decomposed software transactional memory operations
US8266609B2 (en) * 2005-12-07 2012-09-11 Microsoft Corporation Efficient placement of software transactional memory operations around procedure calls
US7797329B2 (en) * 2006-06-09 2010-09-14 Oracle America Inc. Method and system for enabling a synchronization-free and parallel commit phase
US7865885B2 (en) * 2006-09-27 2011-01-04 Intel Corporation Using transactional memory for precise exception handling in aggressive dynamic binary optimizations
US7913236B2 (en) * 2006-09-29 2011-03-22 Intel Corporation Method and apparatus for performing dynamic optimization for software transactional memory
CN101715575A (zh) 2006-12-06 2010-05-26 弗森多系统公司(dba弗森-艾奥) 采用数据管道管理数据的装置、系统和方法
US8719807B2 (en) * 2006-12-28 2014-05-06 Intel Corporation Handling precompiled binaries in a hardware accelerated software transactional memory system
WO2008092162A2 (en) 2007-01-26 2008-07-31 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for recovering an application from a fault or attack
US8117403B2 (en) 2007-05-14 2012-02-14 International Business Machines Corporation Transactional memory system which employs thread assists using address history tables
US8095750B2 (en) * 2007-05-14 2012-01-10 International Business Machines Corporation Transactional memory system with fast processing of common conflicts
US9009452B2 (en) 2007-05-14 2015-04-14 International Business Machines Corporation Computing system with transactional memory using millicode assists
US8095741B2 (en) 2007-05-14 2012-01-10 International Business Machines Corporation Transactional memory computing system with support for chained transactions
KR101635945B1 (ko) * 2007-07-26 2016-07-04 아브 이니티오 테크놀로지 엘엘시 에러 핸들링이 가능한 그래프 기반의 트랜잭션 연산 처리 방법 및 시스템
US8359586B1 (en) * 2007-08-20 2013-01-22 The Mathworks, Inc. Code generation
US8140483B2 (en) 2007-09-28 2012-03-20 International Business Machines Corporation Transaction log management
US8694997B2 (en) * 2007-12-12 2014-04-08 University Of Washington Deterministic serialization in a transactional memory system based on thread creation order
US8341607B2 (en) * 2008-03-13 2012-12-25 International Business Machines Corporation Condensing pattern matcher generation for intermediate language patterns
US8214833B2 (en) 2008-05-12 2012-07-03 Oracle America, Inc. Systems and methods for supporting software transactional memory using inconsistency-aware compilers and libraries
US8839213B2 (en) 2008-06-27 2014-09-16 Microsoft Corporation Optimizing primitives in software transactional memory
US8769514B2 (en) * 2008-06-27 2014-07-01 Microsoft Corporation Detecting race conditions with a software transactional memory system
US9047139B2 (en) * 2008-06-27 2015-06-02 Microsoft Technology Licensing, Llc Primitives for software transactional memory
CN101425052B (zh) * 2008-12-04 2010-06-09 中国科学院计算技术研究所 一种事务性内存的实现方法
US8612929B2 (en) * 2008-12-10 2013-12-17 Oracle America, Inc. Compiler implementation of lock/unlock using hardware transactional memory
US9424013B2 (en) * 2008-12-29 2016-08-23 Oracle America, Inc. System and method for reducing transactional abort rates using compiler optimization techniques
US8266604B2 (en) * 2009-01-26 2012-09-11 Microsoft Corporation Transactional memory compatibility management
US8688921B2 (en) * 2009-03-03 2014-04-01 Microsoft Corporation STM with multiple global version counters
US20100228929A1 (en) * 2009-03-09 2010-09-09 Microsoft Corporation Expedited completion of a transaction in stm
US8838656B1 (en) * 2009-07-31 2014-09-16 Hiscamp Systems, Inc. Hardware-protected reference count-based memory management using weak references
US8566524B2 (en) 2009-08-31 2013-10-22 International Business Machines Corporation Transactional memory system with efficient cache support
US9639392B2 (en) * 2013-12-17 2017-05-02 Intel Corporation Unbounded transactional memory with forward progress guarantees using a hardware global lock
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
US8495607B2 (en) * 2010-03-01 2013-07-23 International Business Machines Corporation Performing aggressive code optimization with an ability to rollback changes made by the aggressive optimizations
WO2011143628A2 (en) 2010-05-13 2011-11-17 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US8789025B2 (en) * 2010-07-14 2014-07-22 International Business Machines Corporation Path-sensitive analysis for reducing rollback overheads
US10013354B2 (en) * 2010-07-28 2018-07-03 Sandisk Technologies Llc Apparatus, system, and method for atomic storage operations
US8719581B2 (en) * 2010-09-22 2014-05-06 Savant Systems, Llc Programmable multimedia controller with flexible user access and shared device configurations
US8549504B2 (en) * 2010-09-25 2013-10-01 Intel Corporation Apparatus, method, and system for providing a decision mechanism for conditional commits in an atomic region
US9189297B2 (en) 2010-12-14 2015-11-17 Hewlett-Packard Development Company, L.P. Managing shared memory
WO2012129191A2 (en) 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US8600949B2 (en) * 2011-06-21 2013-12-03 Netapp, Inc. Deduplication in an extent-based architecture
CN103092742B (zh) * 2011-10-31 2015-08-19 国际商业机器公司 程序日志记录优化方法和系统
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US10133662B2 (en) 2012-06-29 2018-11-20 Sandisk Technologies Llc Systems, methods, and interfaces for managing persistent data of atomic storage operations
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9715388B2 (en) * 2012-03-30 2017-07-25 Intel Corporation Instruction and logic to monitor loop trip count and remove loop optimizations
US9141351B2 (en) * 2012-05-01 2015-09-22 Oracle International Corporation Indicators for resources with idempotent close methods in software programs
US20130339680A1 (en) * 2012-06-15 2013-12-19 International Business Machines Corporation Nontransactional store instruction
US10437602B2 (en) * 2012-06-15 2019-10-08 International Business Machines Corporation Program interruption filtering in transactional execution
US9367323B2 (en) * 2012-06-15 2016-06-14 International Business Machines Corporation Processor assist facility
US8880959B2 (en) * 2012-06-15 2014-11-04 International Business Machines Corporation Transaction diagnostic block
US8688661B2 (en) * 2012-06-15 2014-04-01 International Business Machines Corporation Transactional processing
US9292288B2 (en) * 2013-04-11 2016-03-22 Intel Corporation Systems and methods for flag tracking in move elimination operations
US10255158B2 (en) 2013-10-15 2019-04-09 Oracle International Corporation Monitoring and diagnostics of business transaction failures
US9652353B2 (en) * 2013-10-15 2017-05-16 Oracle International Corporation Monitoring business transaction failures involving database procedure calls
GB2539958B (en) * 2015-07-03 2019-09-25 Advanced Risc Mach Ltd Data processing systems
US9928064B2 (en) 2015-11-10 2018-03-27 International Business Machines Corporation Instruction stream modification for memory transaction protection
US10133561B1 (en) 2017-08-30 2018-11-20 International Business Machines Corporation Partial redundancy elimination with a fixed number of temporaries
KR102600283B1 (ko) 2017-12-05 2023-11-08 삼성전자주식회사 전자 장치 및 이를 이용한 명령어 처리 방법
CN110119274A (zh) * 2018-02-05 2019-08-13 北京智明星通科技股份有限公司 一种数据编译的方法、装置以及电子终端、计算机可读存储介质
US11474974B2 (en) 2018-12-21 2022-10-18 Home Box Office, Inc. Coordinator for preloading time-based content selection graphs
US11829294B2 (en) 2018-12-21 2023-11-28 Home Box Office, Inc. Preloaded content selection graph generation
US11475092B2 (en) 2018-12-21 2022-10-18 Home Box Office, Inc. Preloaded content selection graph validation
US11204924B2 (en) * 2018-12-21 2021-12-21 Home Box Office, Inc. Collection of timepoints and mapping preloaded graphs
US11269768B2 (en) 2018-12-21 2022-03-08 Home Box Office, Inc. Garbage collection of preloaded time-based graph data
US11474943B2 (en) 2018-12-21 2022-10-18 Home Box Office, Inc. Preloaded content selection graph for rapid retrieval
US11361400B1 (en) 2021-05-06 2022-06-14 Arm Limited Full tile primitives in tile-based graphics processing
WO2023050147A1 (zh) * 2021-09-29 2023-04-06 长江存储科技有限责任公司 用于存储器的数据保护方法及其存储装置

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535352A (en) * 1994-03-24 1996-07-09 Hewlett-Packard Company Access hints for input/output address translation mechanisms
KR970076271A (ko) * 1996-05-17 1997-12-12 문정환 확장 메모리 모듈
US5949088A (en) * 1996-10-25 1999-09-07 Micron Technology, Inc. Intermediate SRAM array product and method of conditioning memory elements thereof
US6067550A (en) * 1997-03-10 2000-05-23 Microsoft Corporation Database computer system with application recovery and dependency handling write cache
US6059840A (en) * 1997-03-17 2000-05-09 Motorola, Inc. Automatic scheduling of instructions to reduce code size
US6151704A (en) 1997-04-01 2000-11-21 Intel Corporation Method for optimizing a loop in a computer program by speculatively removing loads from within the loop
US6216218B1 (en) * 1997-11-03 2001-04-10 Donald L. Sollars Processor having a datapath and control logic constituted with basis execution blocks
US6560773B1 (en) * 1997-12-12 2003-05-06 International Business Machines Corporation Method and system for memory leak detection in an object-oriented environment during real-time trace processing
US6247174B1 (en) 1998-01-02 2001-06-12 Hewlett-Packard Company Optimization of source code with embedded machine instructions
US6289357B1 (en) * 1998-04-24 2001-09-11 Platinum Technology Ip, Inc. Method of automatically synchronizing mirrored database objects
US6272607B1 (en) * 1998-08-28 2001-08-07 International Business Machines Corporation Method and apparatus for transactional writing of data into a persistent memory
US6694340B1 (en) * 1998-09-24 2004-02-17 International Business Machines Corporation Technique for determining the age of the oldest reading transaction with a database object
US6553392B1 (en) * 1999-02-04 2003-04-22 Hewlett-Packard Development Company, L.P. System and method for purging database update image files after completion of associated transactions
US6622300B1 (en) * 1999-04-21 2003-09-16 Hewlett-Packard Development Company, L.P. Dynamic optimization of computer programs using code-rewriting kernal module
US6341285B1 (en) * 1999-06-28 2002-01-22 Lucent Technologies Inc. Serial protocol for transaction execution in main-memory database systems
JP2001101044A (ja) * 1999-09-29 2001-04-13 Toshiba Corp トランザクショナルファイル管理方法、トランザクショナルファイルシステム及び複合トランザクショナルファイルシステム
US6427154B1 (en) * 1999-12-16 2002-07-30 International Business Machines Corporation Method of delaying space allocation for parallel copying garbage collection
US6658652B1 (en) * 2000-06-08 2003-12-02 International Business Machines Corporation Method and system for shadow heap memory leak detection and other heap analysis in an object-oriented environment during real-time trace processing
US6662362B1 (en) * 2000-07-06 2003-12-09 International Business Machines Corporation Method and system for improving performance of applications that employ a cross-language interface
US6502111B1 (en) * 2000-07-31 2002-12-31 Microsoft Corporation Method and system for concurrent garbage collection
RU2206119C2 (ru) 2000-09-22 2003-06-10 Закрытое акционерное общество "МЦСТ" Способ получения объектного кода
US6457023B1 (en) * 2000-12-28 2002-09-24 International Business Machines Corporation Estimation of object lifetime using static analysis
US6795836B2 (en) * 2000-12-29 2004-09-21 International Business Machines Corporation Accurately determining an object's lifetime
US7210122B2 (en) * 2001-03-22 2007-04-24 International Business Machines, Corporation Method for reducing write barrier overhead
US7117229B2 (en) * 2001-05-31 2006-10-03 Computer Associates Think, Inc. Method and system for online reorganization of databases
JP4420324B2 (ja) * 2001-11-01 2010-02-24 ベリサイン・インコーポレイテッド 高速非並行制御されたデータベース
JP3939975B2 (ja) * 2001-12-14 2007-07-04 松下電器産業株式会社 ガベージコレクション装置、ガベージコレクション方法及びガベージコレクションプログラム
US6970981B2 (en) * 2001-12-21 2005-11-29 Tibco Software, Inc. Method and apparatus to maintain consistency between an object store and a plurality of caches utilizing transactional updates to data caches
US7278137B1 (en) * 2001-12-26 2007-10-02 Arc International Methods and apparatus for compiling instructions for a data processor
US7010553B2 (en) * 2002-03-19 2006-03-07 Network Appliance, Inc. System and method for redirecting access to a remote mirrored snapshot
US6898602B2 (en) * 2002-04-22 2005-05-24 Sun Microsystems Inc. Measuring the exact memory requirement of an application through intensive use of garbage collector
US9052944B2 (en) * 2002-07-16 2015-06-09 Oracle America, Inc. Obstruction-free data structures and mechanisms with separable and/or substitutable contention management mechanisms
US7103597B2 (en) * 2002-10-03 2006-09-05 Mcgoveran David O Adaptive transaction manager for complex transactions and business process
US7069279B1 (en) * 2002-11-04 2006-06-27 Savaje Technologies, Inc. Timely finalization of system resources
US7784044B2 (en) * 2002-12-02 2010-08-24 Microsoft Corporation Patching of in-use functions on a running computer system
US6993540B2 (en) * 2002-12-20 2006-01-31 Intel Corporation Prefetching memory objects into a shared cache during garbage collection with a three-finger Cheney scan in a multithreaded processing environment
US6862664B2 (en) 2003-02-13 2005-03-01 Sun Microsystems, Inc. Method and apparatus for avoiding locks by speculatively executing critical sections
US7089374B2 (en) * 2003-02-13 2006-08-08 Sun Microsystems, Inc. Selectively unmarking load-marked cache lines during transactional program execution
US20050044538A1 (en) 2003-08-18 2005-02-24 Srinivas Mantripragada Interprocedural computing code optimization method and system
US7383246B2 (en) * 2003-10-31 2008-06-03 International Business Machines Corporation System, method, and computer program product for progressive query processing
US7346486B2 (en) * 2004-01-22 2008-03-18 Nec Laboratories America, Inc. System and method for modeling, abstraction, and analysis of software
US7240171B2 (en) * 2004-01-23 2007-07-03 International Business Machines Corporation Method and system for ensuring consistency of a group
US7587429B2 (en) * 2004-05-24 2009-09-08 Solid Information Technology Oy Method for checkpointing a main-memory database
US7487497B2 (en) * 2004-08-26 2009-02-03 International Business Machines Corporation Method and system for auto parallelization of zero-trip loops through induction variable substitution
US7607123B2 (en) * 2004-09-21 2009-10-20 Hewlett-Packard Development Company, L.P. Systems and methods for validating debug information for optimized code
US7325108B2 (en) * 2005-03-15 2008-01-29 International Business Machines Corporation Method and system for page-out and page-in of stale objects in memory
US7716645B2 (en) * 2005-06-10 2010-05-11 International Business Machines Corporation Using atomic sets of memory locations
US7716630B2 (en) * 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US7810086B2 (en) 2005-06-30 2010-10-05 Intel Corporation Safe code-motion of dangerous instructions during compiler optimization
US7536517B2 (en) * 2005-07-29 2009-05-19 Microsoft Corporation Direct-update software transactional memory
US8799882B2 (en) 2005-12-07 2014-08-05 Microsoft Corporation Compiler support for optimizing decomposed software transactional memory operations
US8266609B2 (en) 2005-12-07 2012-09-11 Microsoft Corporation Efficient placement of software transactional memory operations around procedure calls
US7809903B2 (en) * 2005-12-15 2010-10-05 Intel Corporation Coordinating access to memory locations for hardware transactional memory transactions and software transactional memory transactions
US7962923B2 (en) * 2005-12-30 2011-06-14 Level 3 Communications, Llc System and method for generating a lock-free dual queue
US8214813B2 (en) 2007-01-12 2012-07-03 Microsoft Corporation Code optimization across interfaces

Also Published As

Publication number Publication date
RU2433453C2 (ru) 2011-11-10
JP5284103B2 (ja) 2013-09-11
KR20080071135A (ko) 2008-08-01
AU2006322227A1 (en) 2007-06-14
JP2009523271A (ja) 2009-06-18
EP1958063A2 (en) 2008-08-20
AU2006322227B2 (en) 2012-01-19
WO2007067390A3 (en) 2009-04-30
WO2007067390A2 (en) 2007-06-14
RU2008122968A (ru) 2009-12-20
US20070169030A1 (en) 2007-07-19
BRPI0619137A2 (pt) 2011-09-13
KR101354796B1 (ko) 2014-01-22
EP1958063A4 (en) 2011-04-13
US8799882B2 (en) 2014-08-05

Similar Documents

Publication Publication Date Title
NO20081583L (no) Optimalisering av transaksjonsminne-programvareoperasjoner
WO2005083565A3 (en) Method and system for performing link-time code optimization without additional code analysis
WO2008097816A3 (en) Direct access of language metadata
WO2004006060A3 (en) Statically speculative compilation and execution
WO2006116650A3 (en) Method, system and apparatus for a transformation engine for use in the processing of structured documents
WO2012040742A3 (en) Apparatus, method, and system for dynamically optimizing code utilizing adjustable transaction sizes based on hardware limitations
WO2007018771A3 (en) Compiler supporting programs as data objects
GB2501442A (en) Dynamic binary optimisation
WO2006085639A3 (en) Methods and apparatus for instruction set emulation
WO2007078538A3 (en) Coordinating access to memory locations for hardware transactional memory transactions and software transactional memory transactions
WO2005072307A3 (en) Wavescalar architecture having a wave order memory
WO2011020050A3 (en) Shared server-side macros
WO2009006023A3 (en) Memory transaction grouping
WO2010058981A3 (ko) 고수준 언어 코드를 hdl 코드로 변환하는 방법 및 시스템
WO2007021448A3 (en) Syntactic program language translation
WO2007014276A3 (en) Direct execution virtual machine
WO2005050445A3 (en) An apparatus and method for an automatic thread-partition compiler
WO2009012182A3 (en) Domain-specific language abstractions for secure server-side scripting
TW200632936A (en) Method and system for managing a suspend request in a flash memory
MX2009000858A (es) Proteccion de transaccion de software de punteros manejados.
WO2014159373A3 (en) Operating system support for contracts
WO2011139722A3 (en) Resumable methods
WO2012082661A3 (en) Instruction optimization
WO2006116540A3 (en) An application specific reconfigurable network processor
WO2005088444A3 (en) System and method for dynamic runtime hla-federation-execution data display

Legal Events

Date Code Title Description
FC2A Withdrawal, rejection or dismissal of laid open patent application