CN100578453C - 用于多线程的线程管理的方法和装置 - Google Patents

用于多线程的线程管理的方法和装置 Download PDF

Info

Publication number
CN100578453C
CN100578453C CN200480027177A CN200480027177A CN100578453C CN 100578453 C CN100578453 C CN 100578453C CN 200480027177 A CN200480027177 A CN 200480027177A CN 200480027177 A CN200480027177 A CN 200480027177A CN 100578453 C CN100578453 C CN 100578453C
Authority
CN
China
Prior art keywords
thread
threads
resource
helper
compiler
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CN200480027177A
Other languages
English (en)
Chinese (zh)
Other versions
CN1853166A (zh
Inventor
G·霍夫雷纳
廖世伟
田新民
王宏
D·拉弗瑞
P·王
D·金
M·吉尔卡尔
J·申
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN1853166A publication Critical patent/CN1853166A/zh
Application granted granted Critical
Publication of CN100578453C publication Critical patent/CN100578453C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/441Register allocation; Assignment of physical memory space to logical memory space

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)
CN200480027177A 2003-09-30 2004-09-29 用于多线程的线程管理的方法和装置 Expired - Fee Related CN100578453C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/676,581 2003-09-30
US10/676,581 US20050071841A1 (en) 2003-09-30 2003-09-30 Methods and apparatuses for thread management of mult-threading

Publications (2)

Publication Number Publication Date
CN1853166A CN1853166A (zh) 2006-10-25
CN100578453C true CN100578453C (zh) 2010-01-06

Family

ID=34377426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200480027177A Expired - Fee Related CN100578453C (zh) 2003-09-30 2004-09-29 用于多线程的线程管理的方法和装置

Country Status (7)

Country Link
US (2) US20050071841A1 (https=)
EP (1) EP1668500B1 (https=)
JP (1) JP4528300B2 (https=)
CN (1) CN100578453C (https=)
AT (1) ATE465446T1 (https=)
DE (1) DE602004026750D1 (https=)
WO (1) WO2005033936A1 (https=)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567090A (zh) * 2010-12-02 2012-07-11 国际商业机器公司 在计算机处理器中创建执行线程的方法和系统

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7337442B2 (en) * 2002-12-03 2008-02-26 Microsoft Corporation Methods and systems for cooperative scheduling of hardware resource elements
US20040243767A1 (en) * 2003-06-02 2004-12-02 Cierniak Michal J. Method and apparatus for prefetching based upon type identifier tags
US20050071841A1 (en) * 2003-09-30 2005-03-31 Hoflehner Gerolf F. Methods and apparatuses for thread management of mult-threading
US7206795B2 (en) * 2003-12-22 2007-04-17 Jean-Pierre Bono Prefetching and multithreading for improved file read performance
US7448037B2 (en) * 2004-01-13 2008-11-04 International Business Machines Corporation Method and data processing system having dynamic profile-directed feedback at runtime
US7707543B2 (en) * 2004-11-24 2010-04-27 Siemens Aktiengesellschaft Architecture for a computer-based development environment with self-contained components and a threading model
US7870081B2 (en) * 2004-12-31 2011-01-11 Intel Corporation Parallelization of bayesian network structure learning
US8230422B2 (en) * 2005-01-13 2012-07-24 International Business Machines Corporation Assist thread for injecting cache memory in a microprocessor
US20060212450A1 (en) * 2005-03-18 2006-09-21 Microsoft Corporation Temporary master thread
US7472256B1 (en) 2005-04-12 2008-12-30 Sun Microsystems, Inc. Software value prediction using pendency records of predicted prefetch values
US8010969B2 (en) * 2005-06-13 2011-08-30 Intel Corporation Mechanism for monitoring instruction set based thread execution on a plurality of instruction sequencers
US20070094213A1 (en) * 2005-07-14 2007-04-26 Chunrong Lai Data partitioning and critical section reduction for Bayesian network structure learning
US20070094214A1 (en) * 2005-07-15 2007-04-26 Li Eric Q Parallelization of bayesian network structure learning
US7774779B2 (en) * 2005-11-18 2010-08-10 At&T Intellectual Property I, L.P. Generating a timeout in a computer software application
US9003421B2 (en) * 2005-11-28 2015-04-07 Intel Corporation Acceleration threads on idle OS-visible thread execution units
WO2007115429A1 (en) * 2006-03-31 2007-10-18 Intel Corporation Managing and supporting multithreaded resources for native code in a heterogeneous managed runtime environment
US9754265B2 (en) * 2006-05-01 2017-09-05 At&T Intellectual Property I, L.P. Systems and methods to automatically activate distribution channels provided by business partners
US8726279B2 (en) * 2006-05-06 2014-05-13 Nvidia Corporation System for multi threaded multi processor sharing of asynchronous hardware units
US8239869B2 (en) 2006-06-19 2012-08-07 Condusiv Technologies Corporation Method, system and apparatus for scheduling computer micro-jobs to execute at non-disruptive times and modifying a minimum wait time between the utilization windows for monitoring the resources
US8056083B2 (en) 2006-10-10 2011-11-08 Diskeeper Corporation Dividing a computer job into micro-jobs for execution
US9588809B2 (en) * 2006-10-10 2017-03-07 Invistasking LLC Resource-based scheduler
CN100495346C (zh) * 2006-08-21 2009-06-03 英业达股份有限公司 多核多中央处理器的执行线程分配方法
US20080134189A1 (en) * 2006-10-05 2008-06-05 Holt John M Job scheduling amongst multiple computers
CN100430898C (zh) * 2006-12-20 2008-11-05 金魁 一种多线程管理的应用系统
US7584346B1 (en) * 2007-01-25 2009-09-01 Sun Microsystems, Inc. Method and apparatus for supporting different modes of multi-threaded speculative execution
WO2008108129A1 (ja) * 2007-03-06 2008-09-12 Nec Corporation メモリアクセス制御システム、メモリアクセス制御方法およびそのプログラム
US10452820B2 (en) * 2007-06-26 2019-10-22 International Business Machines Corporation Thread-based software license management
US8219989B2 (en) 2007-08-02 2012-07-10 International Business Machines Corporation Partition adjunct with non-native device driver for facilitating access to a physical input/output device
US8645974B2 (en) * 2007-08-02 2014-02-04 International Business Machines Corporation Multiple partition adjunct instances interfacing multiple logical partitions to a self-virtualizing input/output device
US9223580B2 (en) * 2007-08-30 2015-12-29 International Business Machines Corporation Systems, methods and computer products for cross-thread scheduling
US8312455B2 (en) * 2007-12-19 2012-11-13 International Business Machines Corporation Optimizing execution of single-threaded programs on a multiprocessor managed by compilation
US8413151B1 (en) 2007-12-19 2013-04-02 Nvidia Corporation Selective thread spawning within a multi-threaded processing system
US8544006B2 (en) * 2007-12-19 2013-09-24 International Business Machines Corporation Resolving conflicts by restarting execution of failed discretely executable subcomponent using register and memory values generated by main component after the occurrence of a conflict
US8321840B2 (en) * 2007-12-27 2012-11-27 Intel Corporation Software flow tracking using multiple threads
CN101482831B (zh) * 2008-01-08 2013-05-15 国际商业机器公司 对工作线程与辅助线程进行相伴调度的方法和设备
US8775778B2 (en) * 2008-02-01 2014-07-08 International Business Machines Corporation Use of a helper thread to asynchronously compute incoming data
US8707016B2 (en) * 2008-02-01 2014-04-22 International Business Machines Corporation Thread partitioning in a multi-core environment
US8359589B2 (en) * 2008-02-01 2013-01-22 International Business Machines Corporation Helper thread for pre-fetching data
US8601241B2 (en) * 2008-02-01 2013-12-03 International Business Machines Corporation General purpose register cloning
GB0808575D0 (en) * 2008-05-12 2008-06-18 Xmos Ltd Compilign and linking
GB0808576D0 (en) * 2008-05-12 2008-06-18 Xmos Ltd Compiling and linking
US8959497B1 (en) * 2008-08-29 2015-02-17 Nvidia Corporation System and method for dynamically spawning thread blocks within multi-threaded processing systems
US8615770B1 (en) 2008-08-29 2013-12-24 Nvidia Corporation System and method for dynamically spawning thread blocks within multi-threaded processing systems
US20100153934A1 (en) * 2008-12-12 2010-06-17 Peter Lachner Prefetch for systems with heterogeneous architectures
US8583700B2 (en) * 2009-01-02 2013-11-12 International Business Machines Corporation Creation of date window for record selection
KR101572879B1 (ko) * 2009-04-29 2015-12-01 삼성전자주식회사 병렬 응용 프로그램을 동적으로 병렬처리 하는 시스템 및 방법
US8214831B2 (en) 2009-05-05 2012-07-03 International Business Machines Corporation Runtime dependence-aware scheduling using assist thread
JP5452125B2 (ja) * 2009-08-11 2014-03-26 クラリオン株式会社 データ処理装置及びデータ処理方法
US8056080B2 (en) * 2009-08-31 2011-11-08 International Business Machines Corporation Multi-core/thread work-group computation scheduler
US8468539B2 (en) * 2009-09-03 2013-06-18 International Business Machines Corporation Tracking and detecting thread dependencies using speculative versioning cache
US8561046B2 (en) * 2009-09-14 2013-10-15 Oracle America, Inc. Pipelined parallelization with localized self-helper threading
JP5541491B2 (ja) * 2010-01-07 2014-07-09 日本電気株式会社 マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法
US8667260B2 (en) * 2010-03-05 2014-03-04 International Business Machines Corporation Building approximate data dependences with a moving window
US8612730B2 (en) 2010-06-08 2013-12-17 International Business Machines Corporation Hardware assist thread for dynamic performance profiling
US8667253B2 (en) 2010-08-04 2014-03-04 International Business Machines Corporation Initiating assist thread upon asynchronous event for processing simultaneously with controlling thread and updating its running status in status register
US8413158B2 (en) * 2010-09-13 2013-04-02 International Business Machines Corporation Processor thread load balancing manager
US8713290B2 (en) * 2010-09-20 2014-04-29 International Business Machines Corporation Scaleable status tracking of multiple assist hardware threads
US8793474B2 (en) 2010-09-20 2014-07-29 International Business Machines Corporation Obtaining and releasing hardware threads without hypervisor involvement
US8832672B2 (en) * 2011-01-28 2014-09-09 International Business Machines Corporation Ensuring register availability for dynamic binary optimization
US9465657B2 (en) * 2011-07-19 2016-10-11 Elwha Llc Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US9298918B2 (en) 2011-11-30 2016-03-29 Elwha Llc Taint injection and tracking
US9460290B2 (en) 2011-07-19 2016-10-04 Elwha Llc Conditional security response using taint vector monitoring
US9798873B2 (en) 2011-08-04 2017-10-24 Elwha Llc Processor operable to ensure code integrity
US9471373B2 (en) 2011-09-24 2016-10-18 Elwha Llc Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US9443085B2 (en) 2011-07-19 2016-09-13 Elwha Llc Intrusion detection using taint accumulation
US9558034B2 (en) 2011-07-19 2017-01-31 Elwha Llc Entitlement vector for managing resource allocation
US9575903B2 (en) 2011-08-04 2017-02-21 Elwha Llc Security perimeter
CN102629192A (zh) * 2012-04-20 2012-08-08 西安电子科技大学 用于片上多核并发多线程处理器的指令包及其操作方法
US9021493B2 (en) * 2012-09-14 2015-04-28 International Business Machines Corporation Management of resources within a computing environment
CN103218453A (zh) * 2013-04-28 2013-07-24 南京龙渊微电子科技有限公司 一种文件拆分方法及装置
US10725889B2 (en) * 2013-08-28 2020-07-28 Micro Focus Llc Testing multi-threaded applications
US9417918B2 (en) * 2013-11-20 2016-08-16 International Business Machines Corporation Computing session workload scheduling and management of parent-child tasks
US9772867B2 (en) * 2014-03-27 2017-09-26 International Business Machines Corporation Control area for managing multiple threads in a computer
US9396044B2 (en) * 2014-04-25 2016-07-19 Sony Corporation Memory efficient thread-level speculation
US9423961B2 (en) * 2014-09-08 2016-08-23 Apple Inc. Method to enhance programming performance in multilevel NVM devices
US9348644B2 (en) 2014-10-08 2016-05-24 International Business Machines Corporation Application-level dispatcher control of application-level pseudo threads and operating system threads
US9529568B1 (en) * 2014-12-19 2016-12-27 Amazon Technologies, Inc. Systems and methods for low interference logging and diagnostics
CN106201853A (zh) * 2015-04-30 2016-12-07 阿里巴巴集团控股有限公司 测试方法及装置
CN106407197B (zh) * 2015-07-28 2020-06-30 北京京东尚科信息技术有限公司 遍历数据的方法及装置
US20170031724A1 (en) * 2015-07-31 2017-02-02 Futurewei Technologies, Inc. Apparatus, method, and computer program for utilizing secondary threads to assist primary threads in performing application tasks
US20170372448A1 (en) * 2016-06-28 2017-12-28 Ingo Wald Reducing Memory Access Latencies During Ray Traversal
CN106445703A (zh) * 2016-09-22 2017-02-22 济南浪潮高新科技投资发展有限公司 一种解决数据传输中防并发脏读方法
CN106547612B (zh) * 2016-10-18 2020-10-20 深圳怡化电脑股份有限公司 一种多任务处理方法及装置
CN109766131B (zh) * 2017-11-06 2022-04-01 上海宝信软件股份有限公司 基于多线程技术实现软件智能化自动升级的系统及方法
CN108345505B (zh) * 2018-02-02 2022-08-30 珠海金山网络游戏科技有限公司 一种多线程资源管理方法和系统
US10754706B1 (en) * 2018-04-16 2020-08-25 Microstrategy Incorporated Task scheduling for multiprocessor systems
CN110879748B (zh) * 2018-09-06 2023-06-13 阿里巴巴集团控股有限公司 一种共享资源分配方法、装置和设备
US10802882B2 (en) * 2018-12-13 2020-10-13 International Business Machines Corporation Accelerating memory access in a network using thread progress based arbitration
US11188593B1 (en) * 2018-12-28 2021-11-30 Pivotal Software, Inc. Reactive programming database interface
US11314718B2 (en) * 2019-11-21 2022-04-26 International Business Machines Corporation Shared disk buffer pool update and modification
CN111190961B (zh) * 2019-12-18 2023-09-29 航天信息股份有限公司 一种动态优化的多线程数据同步方法及系统
JP7476638B2 (ja) * 2020-04-15 2024-05-01 株式会社デンソー マルチプロセッサシステム
CN114090270B (zh) * 2022-01-21 2022-05-20 武汉中科通达高新技术股份有限公司 线程管理方法、装置、电子设备及计算机可读存储介质
CN119861976B (zh) * 2025-03-21 2025-08-08 荣耀终端股份有限公司 多线程管控方法及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6363410B1 (en) * 1994-12-13 2002-03-26 Microsoft Corporation Method and system for threaded resource allocation and reclamation
US20020083252A1 (en) * 2000-12-27 2002-06-27 International Business Machines Corporation Technique for using shared resources on a multi-threaded processor
US20030041228A1 (en) * 2001-08-27 2003-02-27 Rosenbluth Mark B. Multithreaded microprocessor with register allocation based on number of active threads

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1097435A (ja) * 1996-09-20 1998-04-14 Nec Corp 資源割当てシステム
US6233599B1 (en) * 1997-07-10 2001-05-15 International Business Machines Corporation Apparatus and method for retrofitting multi-threaded operations on a computer by partitioning and overlapping registers
US6567839B1 (en) * 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
EP0964333A1 (en) * 1998-06-10 1999-12-15 Sun Microsystems, Inc. Resource management
WO2001075732A1 (en) * 2000-03-31 2001-10-11 Stephen Meade Method, system, and computer-usable medium for computer-assisted trading
JP2003015892A (ja) * 2001-06-29 2003-01-17 Casio Comput Co Ltd 情報端末装置及びアプリケーション管理プログラム
US7124403B2 (en) * 2001-08-15 2006-10-17 Sun Microsystems, Inc. Methods and apparatus for managing defunct processes
US7328242B1 (en) * 2001-11-09 2008-02-05 Mccarthy Software, Inc. Using multiple simultaneous threads of communication
US7509643B2 (en) * 2003-03-24 2009-03-24 Sun Microsystems, Inc. Method and apparatus for supporting asymmetric multi-threading in a computer system
US7313795B2 (en) * 2003-05-27 2007-12-25 Sun Microsystems, Inc. Method and system for managing resource allocation in non-uniform resource access computer systems
US7415699B2 (en) * 2003-06-27 2008-08-19 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling execution of a child process generated by a modified parent process
US20050071841A1 (en) * 2003-09-30 2005-03-31 Hoflehner Gerolf F. Methods and apparatuses for thread management of mult-threading

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6363410B1 (en) * 1994-12-13 2002-03-26 Microsoft Corporation Method and system for threaded resource allocation and reclamation
US20020083252A1 (en) * 2000-12-27 2002-06-27 International Business Machines Corporation Technique for using shared resources on a multi-threaded processor
US20030041228A1 (en) * 2001-08-27 2003-02-27 Rosenbluth Mark B. Multithreaded microprocessor with register allocation based on number of active threads

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AN INEXPENSIVE INTER-PROCEDURAL REGISTERALLOCATOR. J.M.MULDER.MICROPROCESSING AND MICROPROGRAMMING,Vol.27 No.1/5. 1989 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567090A (zh) * 2010-12-02 2012-07-11 国际商业机器公司 在计算机处理器中创建执行线程的方法和系统
US9009716B2 (en) 2010-12-02 2015-04-14 International Business Machines Corporation Creating a thread of execution in a computer processor
CN102567090B (zh) * 2010-12-02 2016-03-16 国际商业机器公司 在计算机处理器中创建执行线程的方法和系统

Also Published As

Publication number Publication date
CN1853166A (zh) 2006-10-25
DE602004026750D1 (de) 2010-06-02
US7398521B2 (en) 2008-07-08
JP4528300B2 (ja) 2010-08-18
JP2007506199A (ja) 2007-03-15
US20050081207A1 (en) 2005-04-14
WO2005033936A1 (en) 2005-04-14
EP1668500A1 (en) 2006-06-14
US20050071841A1 (en) 2005-03-31
EP1668500B1 (en) 2010-04-21
ATE465446T1 (de) 2010-05-15

Similar Documents

Publication Publication Date Title
CN100578453C (zh) 用于多线程的线程管理的方法和装置
US8612949B2 (en) Methods and apparatuses for compiler-creating helper threads for multi-threading
Chen et al. The Jrpm system for dynamically parallelizing Java programs
Renau et al. Tasking with out-of-order spawn in TLS chip multiprocessors: Microarchitecture and compilation
KR101292439B1 (ko) 순차적 프로그램을 다수의 스레드로 분해하고 이 스레드를 실행하며 순차적 실행을 재구성하는 장치, 방법 및 머신-판독가능 저장 매체
US9189233B2 (en) Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads
US8037465B2 (en) Thread-data affinity optimization using compiler
Ying et al. T4: Compiling sequential code for effective speculative parallelization in hardware
US7950012B2 (en) Facilitating communication and synchronization between main and scout threads
US20100274972A1 (en) Systems, methods, and apparatuses for parallel computing
Estebanez et al. A survey on thread-level speculation techniques
US20120226892A1 (en) Method and apparatus for generating efficient code for scout thread to prefetch data values for a main thread
Streit et al. Generalized task parallelism
Han et al. Speculative parallelization of partial reduction variables
Soliman et al. Data Scratchpad Prefetching for Real-time Systems
Wang et al. Smarq: Software-managed alias register queue for dynamic optimizations
Ranjan et al. P-slice based efficient speculative multithreading
Ying Scaling sequential code with hardware-software co-design for fine-grain speculative parallelization
Renau et al. TLS Chip Multiprocessors: Micro-Architectural Mechanisms for Fast Tasking with Out-of-Order Spawn Draft paper submitted for publication. November 6, 2003. Please keep confidential
Mowry et al. Solving Large Problems Quickly: Progress in 2001-2003
Tuck et al. Tasking with Out-of-Order Spawn in TLS Chip Multiprocessors: Microarchitecture and Compilation
Tuck et al. Tasking with out-of-order spawn in TLS chip multiprocessors
Cordeiro Code profiling and optimization in transactional memory systems
Ardevol Chip Multiprocessors with Speculative Multithreading: Design for Performance and Energy Efficiency

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100106

Termination date: 20130929