Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Cooperative scheduling using coroutines and threads

A thread and coroutine technology, applied in the system field of branch execution

Active Publication Date: 2007-05-23
SAP AG
View PDF0 Cites 11 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

However, conventional systems cannot provide cooperative scheduling of tasks performed by related threads and tasks performed in coroutines

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Cooperative scheduling using coroutines and threads
  • Cooperative scheduling using coroutines and threads
  • Cooperative scheduling using coroutines and threads

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0017] FIG. 1 is a block diagram of a system 100 according to some embodiments. It should be noted that other system topologies may be used in conjunction with other embodiments. System 100 shows a client-server database environment that includes application / database server 110 , client devices 120 - 123 , and data sources 130 - 132 .

[0018] The server 110 can be used to receive, store, manage and provide data. Such data may be received from sources such as data sources 130 - 132 and / or generated by server 110 . Data may be provided to client devices 120-123 in response to requests received from them.

[0019] The server 110 of the system 100 includes an application 111, a web server 112, a database management system (DBMS) 113, a database 114, and a cache copy. Applications 111 may provide business monitoring, inventory control, online shopping, and / or any other suitable functionality known or to become known. Application 111 may include program code for communicating w...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

A database system may provide definition of a first plurality of tasks associated with coroutine execution, and a second plurality of tasks associated with task-specific thread execution. Also provided may be spawning of a control thread and a plurality of threads, each of the plurality of threads associated with one of the second plurality of tasks, and running of the control thread to determine if a task of the first plurality of tasks and the second plurality of tasks is associated with coroutine execution or with task-specific thread execution. If the task is determined to be associated with coroutine execution, the control thread may be run to swap a coroutine context of the control thread with a coroutine context of the task. If the task is determined to be associated with thread execution, the control thread may be run to resume a thread associated with the task and to suspend the control thread.

Description

technical field [0001] Some embodiments of the invention relate to systems that provide branched execution of computational tasks. More specifically, some embodiments of the invention relate to processes that utilize coroutines and threads to cooperatively perform various tasks. Background technique [0002] A software application may include program code to perform two or more tasks. Each task can generally be viewed as providing one or more specialized functions, although these tasks may exhibit various interdependencies. To optimize application efficiency and / or resource utilization, tasks can be performed by threads or in coroutines. [0003] Threads are associated with register banks and execution stacks. A process is a container for one or more threads, each of which shares state information, memory address space, and other resources of the process. The operating system can schedule the threads of a multithreaded process by running each thread in a dedicated proces...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
IPC IPC(8): G06F9/46G06F17/30
CPCG06F9/4843G06F9/485
Inventor 乔格·W·门辛
Owner SAP AG
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products