KR101771351B1 - Program execution device, network device and distributed processing method for resources - Google Patents
Program execution device, network device and distributed processing method for resources Download PDFInfo
- Publication number
- KR101771351B1 KR101771351B1 KR1020160034670A KR20160034670A KR101771351B1 KR 101771351 B1 KR101771351 B1 KR 101771351B1 KR 1020160034670 A KR1020160034670 A KR 1020160034670A KR 20160034670 A KR20160034670 A KR 20160034670A KR 101771351 B1 KR101771351 B1 KR 101771351B1
- Authority
- KR
- South Korea
- Prior art keywords
- resource
- program
- request message
- network
- resources
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
Abstract
Description
The present invention relates to a technology for distributed processing of resources.
Sometimes you need to run high-performance software on low-end hardware. In such a case, there is a problem in that the running speed of the software is slow because the hardware can not keep up with the performance of the software.
To remedy this problem, cloud technology is being developed. Cloud technology is a way to perform computational processing of software in a cloud device connected to the network, and locally located hardware only displays the result. In such a cloud technology, the locally located hardware performs only the function of displaying the result processed by the cloud device to the user, without actually carrying out the arithmetic processing necessary for running the software.
Cloud technology has the advantage of enabling high-performance software to be driven by high-end cloud devices, but there is a problem that the speed of software that users experience depends on network traffic and network communication speed.
On the other hand, there is also the problem that software that is not provided by the cloud device is not available because the software is run on the cloud device in the cloud technology.
In view of the foregoing, it is an object of the present invention to provide a technique for operating software using hardware resources located locally, while providing scarce resources from other devices connected to the network.
In order to achieve the above object, in one aspect, the present invention provides a computer program product comprising physical resources for processing operations through hardware; A logical resource processing an operation through at least one network device connected by a network communication; And a program driver for recognizing the physical resource and the logical resource as a local resource and performing a first operation and a second operation required for executing the program through the physical resource and the logical resource, respectively .
In this program execution device, the resource management unit may receive a list of network devices holding idle resources from the resource scheduler, and may transmit an operation process request message corresponding to the second operation to at least one network device included in the list. The resource management unit may periodically update the network device to receive the list periodically from the resource scheduler and transmit the operation processing request message.
Further, the resource management unit learns the amount of resources required for executing the program, and can determine the size or number of logical resources by using the amount of resources required in the time period when the program is loaded.
In another aspect, the present invention provides a physical resource for processing an operation through hardware; A program driver for performing a first operation necessary for executing a program using the physical resource; And an association processing unit for receiving an associative processing request message from an external device connected through network communication and performing a second operation according to the operation processing request message through the physical resource, And a management unit.
In this network device, the resource management unit receives the resource provision request message from the external device, and when the idle resource amount of the physical resource is equal to or larger than the amount of the resource request included in the resource provision request message, the resource management unit can transmit an acknowledgment message to the external device.
In addition, the resource management unit periodically reports the amount of idle resources to the resource scheduler. At this time, the external device receives the list of network devices having idle resources from the resource scheduler, and transmits a resource provision request message Can be transmitted.
In another aspect, the invention provides a method comprising: generating a logical resource by a first network device; The program running on the first network device recognizing the logical resource as a local resource; The program requesting operation processing with the logical resource; The first network device transmitting an operation process request message corresponding to the operation process to a second network device; Performing an operation process according to the operation process request message through a physical resource included in the second network device; The second network device transmitting an operation result message to the first network device; And a step in which the program recognizes completion of the arithmetic processing according to the arithmetic processing result message.
Here, the first network device includes a television broadcast receiver, and the second network device may include a large-capacity CPU (Central Processing Unit) as a physical resource.
As described above, according to the present invention, it is possible to improve the problem that the network communication amount is reduced and the software driving speed varies according to the network specification because only hardware resources located locally are used and only insufficient resources are used by other devices connected to the network have. In addition, according to the present invention, since software is driven by locally located hardware, it is possible to drive all the software of the user without the problem of using only the software provided by the cloud device.
1 is a configuration diagram of a program execution device and a network device according to an embodiment of the present invention.
FIG. 2 is a schematic diagram of a program executing apparatus according to an embodiment of the present invention performing distributed processing of operations using a plurality of network devices.
3 is a diagram showing a list of network devices having idle resources.
4 is a diagram illustrating that a program execution device according to an embodiment transmits a resource provision request message.
5 is a flow chart of a method by which a program executing apparatus according to an embodiment determines the size or the number of logical resources.
6 is a diagram showing an embodiment in which the program executing apparatus and the network apparatus are the same kind of apparatus.
7 is a diagram showing an embodiment in which the program execution device is a low-end device and the network device is a high-end device.
Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. It should be noted that, in adding reference numerals to the constituent elements of the drawings, the same constituent elements are denoted by the same reference numerals whenever possible, even if they are shown in different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.
In describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements. When a component is described as being "connected", "coupled", or "connected" to another component, the component may be directly connected to or connected to the other component, It should be understood that an element may be "connected," "coupled," or "connected."
1 is a configuration diagram of a program execution device and a network device according to an embodiment of the present invention.
The
The
The
1, the
The
The
The
The
The
The
A function of dividing an operation required for executing a program into a first operation and a second operation and allocating each of the
The
The
The
The
The
The
In this way, the
The
The
The
The operation process request message (MCMD) transmitted from the
On the other hand, the
FIG. 2 is a schematic diagram of a program executing apparatus according to an embodiment of the present invention performing distributed processing of operations using a plurality of network devices.
The
First, the
2, the
Each of the operation processing request messages (MCMDa, MCMDb, ..., MCMDn) may include information on sub operations divided into a second operation. In some embodiments, the information included in some operation processing request messages may include overlapped sub operation information. Also, according to an embodiment, the information included in some operation process request message may be the same operation information. The
The
The
A
The
The
The
The
3 is a diagram showing a list of network devices having idle resources.
Since the
The program execution device can check the network device including the idle resource through the list at each point in time and transmit the operation processing request message only to the corresponding network device.
The program execution device can transmit the operation processing request message to only one network device without transmitting the operation processing request message to the plurality of network devices. At this time, the program execution device may select one of the network devices included in the list and transmit an operation process request message. At this time, the network device having the largest idle resource amount can be selected, and the idle resource amount for the longest time can be selected You can also select your network device.
On the other hand, the program execution device - for example, the resource management section - can control the number of logical resources. If the logical resource is not required, the program executing device may not generate the logical resource.
The program execution device may transmit a resource provision request message to a network device having idle resources and generate logical resources as many as the number of network devices that receive an acknowledgment.
4 is a diagram illustrating that a program execution device according to an embodiment transmits a resource provision request message.
Referring to FIG. 4, the
The
The
On the other hand, the program execution device can estimate the amount of resources required for executing the program, and then determine the size or number of logical resources according to the required amount of resources.
5 is a flow chart of a method by which a program executing apparatus according to an embodiment determines the size or the number of logical resources.
Referring to FIG. 5, the program execution device checks a resource amount required for execution of a program every time a program is executed (S500). For example, when the program is a specific document program, the resource usage pattern is checked by confirming the amount of resources required when the document program is executed. As another example, when the program is a specific graphics processing program, the amount of resources required when the graphics processing program is executed is checked and the resource usage pattern of the program is checked.
Then, the program execution apparatus learns the amount of resources required to execute the program using the resource usage pattern identified for each program (S502). For example, the program execution device learns the amount of necessary resources when the above-described document program is executed and the amount of necessary resources when the graphics processing program is executed.
Then, the program execution device determines the size or number of logical resources by using the amount of resources required for executing the program in the time period during which the program is loaded (S504). At this time, the program execution device can determine the size or the number of logical resources so that the physical resource amount is larger than the remaining amount excluding the physical resource amount.
Typically, when a program performs a particular function, rather than at the moment the program is loaded, a large amount of resources may be required. However, if a logical resource is created due to insufficient resources during the execution of the program, the operation may be slowed because a certain amount of resources are used even in the process of generating a logical resource. As shown in FIG. 5, if the required resource amount of the program is learned in advance and the logical resources are allocated as much as necessary at the time of loading the program, there is no need to generate additional logical resources during program operation.
Finally, at the point of time when the program is terminated, the program executing apparatus can make a logical resource habit.
On the other hand, as described above, the program execution device and the network device may be the same kind of device.
6 is a diagram showing an embodiment in which the program executing apparatus and the network apparatus are the same kind of apparatus.
6, the program execution device may also be a personal computer (PC) 610, and the network device may also be a personal computer (PC) 620. [ Personal computers held by each individual can be connected to the network while providing idle resources on one side to the other side.
While recent upgrades to personal computers have shown a tendency to be delayed, the rate of advancement of programs has been accelerating. Accordingly, as compared with the program, the aging of the personal computer is progressing rapidly. As shown in FIG. 6, if the personal computers provide idle resources to each other, the upgraded program can be driven without upgrading.
On the other hand, the network device may be a high-end special server.
7 is a diagram showing an embodiment in which the program execution device is a low-end device and the network device is a high-end device.
Referring to FIG. 7, the
A network device providing idle resources for driving a sophisticated program in such a low-end device may include a relatively high-level arithmetic processing block.
As shown in FIG. 7, the
6 and 7, the program execution device is a personal computer or a smart TV, and the network device is a personal computer or a server. However, the present invention is not limited thereto, All of these possible devices can be program executing devices and network devices applicable to the embodiments of the present invention.
The embodiments of the present invention have been described above. According to these embodiments, since the program executing apparatus uses hardware resources located locally and only the insufficient resources use other devices connected to the network, the problem that the network traffic is reduced and the software running speed varies according to the network specification is improved . In addition, according to this embodiment, since the program executing apparatus drives the software in locally located hardware, it is possible to drive all the software owned by the user without the problem of using only the software provided by the cloud apparatus.
It is to be understood that the terms "comprises", "comprising", or "having" as used in the foregoing description mean that the constituent element can be implanted unless specifically stated to the contrary, But should be construed as further including other elements. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used terms, such as predefined terms, should be interpreted to be consistent with the contextual meanings of the related art, and are not to be construed as ideal or overly formal, unless expressly defined to the contrary.
The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.
Claims (13)
A physical resource that processes an operation processing command (CMD) through hardware located in the program execution device and returns a result (RET);
A logical resource that processes an operation processing instruction (CMD) through a network device connected via network communication and returns a result (RET);
Generates and manages the logical resource, receives an operation processing command (CCMD) converted from the logical resource, generates an operation processing request message (MCMD), transmits an operation processing request message (MCMD) to the network apparatus, A resource manager for receiving an operation result message (MRET) corresponding to the operation process request message (MCMD) from the operation result message (MRET) and delivering the converted operation result (CRET) corresponding to the operation result message (MRET) to the logical resource; And
Recognizing the physical resource and the logical resource as local resources, and dividing an operation required for executing the program into a first operation and a second operation, and transmitting an operation processing command (CMD) corresponding to the first operation to the physical resource And a program driver for processing the first operation and transferring an operation processing command (CMD) corresponding to the second operation to the logical resource to process the second operation,
The logical resource generates a converted operation processing command (CCMD) corresponding to the operation processing command (CMD), transfers the generated operation processing command (CCMD) to the resource management unit, and outputs an operation processing result (RET) corresponding to the converted operation processing result Return to the program driving section,
The resource management unit receives from the resource scheduler an idle resource list message (MLIST) generated according to a resource status message (MSTAT) received from the network devices, identifies a communication address of each network device included in the idle resource list message, (MCMD) corresponding to the second operation to at least one of the network devices according to the resource amount,
Wherein the second operation is divided into a plurality of sub operations, and the resource management unit distributes an operation process request message (MCMD) generated for each sub operation to a plurality of network devices,
Wherein the resource management unit checks a resource use pattern of the program by checking an amount of resources necessary for execution of the program each time the program is executed and learns a resource amount necessary for executing the program using the resource use pattern, And determines the size or the number of the logical resources by using the necessary resource amount in a time period during which the program is loaded.
The resource management unit,
And transmits a resource provision request message (MREQ) to each network device included in the idle resource list message and generates the logical resources by the number of network devices receiving the acknowledgment (MPOS).
Wherein the resource management unit transmits an operation processing request message (MCMD) corresponding to the second operation to the network apparatus having the largest idle resource amount.
Wherein the resource management unit transmits an operation process request message (MCMD) corresponding to the second operation to a network device that holds the idle resource amount for a longest time.
The resource management unit,
Periodically receiving an idle resource list message (MLIST) from the resource scheduler and periodically updating a network device to transmit an operation processing request message (MCMD).
The resource management unit receives an operation processing request message (MCMD) from an external device connected via a network communication, performs an operation corresponding to an operation processing request message (MCMD) received through the physical resource, And transmits the generated program to the external device.
Wherein the resource management unit receives an MREQ from the external device and, when the idle resource amount of the physical resource is equal to or greater than a requested resource amount included in a resource provision request message (MREQ), transmits an acknowledgment message (MPOS) A program execution device for transfer to an external device.
Wherein the resource manager periodically reports the amount of idle resources to the resource scheduler.
The program execution device is implemented in the form of a TV,
Wherein the network device to which the operation processing request message (MCMD) is transmitted comprises a large-capacity CPU (Central Processing Unit) having a larger processing capacity than the physical resource.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160034670A KR101771351B1 (en) | 2016-03-23 | 2016-03-23 | Program execution device, network device and distributed processing method for resources |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160034670A KR101771351B1 (en) | 2016-03-23 | 2016-03-23 | Program execution device, network device and distributed processing method for resources |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101771351B1 true KR101771351B1 (en) | 2017-09-06 |
Family
ID=59925133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160034670A KR101771351B1 (en) | 2016-03-23 | 2016-03-23 | Program execution device, network device and distributed processing method for resources |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101771351B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008077652A (en) * | 2006-09-20 | 2008-04-03 | Internatl Business Mach Corp <Ibm> | Method and device for managing resources of central processing unit in logically partitioned computing environment without access to shared memory |
JP2015144020A (en) * | 2006-03-31 | 2015-08-06 | アマゾン テクノロジーズ インコーポレイテッド | System of managing execution of programs by multiple computing systems |
-
2016
- 2016-03-23 KR KR1020160034670A patent/KR101771351B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015144020A (en) * | 2006-03-31 | 2015-08-06 | アマゾン テクノロジーズ インコーポレイテッド | System of managing execution of programs by multiple computing systems |
JP2008077652A (en) * | 2006-09-20 | 2008-04-03 | Internatl Business Mach Corp <Ibm> | Method and device for managing resources of central processing unit in logically partitioned computing environment without access to shared memory |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108572833B (en) | Automatic application updates | |
US20210064425A1 (en) | Task Processing Method, Processing Apparatus, and Computer System | |
CN110300328B (en) | Video playing control method and device and readable storage medium | |
US9898338B2 (en) | Network computer system and method for dynamically changing execution sequence of application programs | |
US10862992B2 (en) | Resource cache management method and system and apparatus | |
CN109726005B (en) | Method, server system and computer readable medium for managing resources | |
TW201411387A (en) | Updating hardware libraries for use by applications on a computer system with an FPGA coprocessor | |
CN109218356B (en) | Method and apparatus for managing stateful applications on a server | |
JP7170768B2 (en) | Development machine operation task processing method, electronic device, computer readable storage medium and computer program | |
CN112579622B (en) | Method, device and equipment for processing service data | |
US20160154676A1 (en) | Method of Resource Allocation in a Server System | |
US10037225B2 (en) | Method and system for scheduling computing | |
CN109918203A (en) | Access server memory management optimization method, access server and communication system | |
CN109032796B (en) | Data processing method and device | |
CN115048216A (en) | Resource management scheduling method, device and equipment for artificial intelligence cluster | |
KR101771351B1 (en) | Program execution device, network device and distributed processing method for resources | |
US9332071B2 (en) | Data stage-in for network nodes | |
EP3430510B1 (en) | Operating system support for game mode | |
CN110543351B (en) | Data processing method and computer device | |
CN107273188B (en) | Virtual machine Central Processing Unit (CPU) binding method and device | |
US20090037918A1 (en) | Thread sequencing for multi-threaded processor with instruction cache | |
US11928493B2 (en) | Sharing of FPGA board by multiple virtual machines | |
EP4191413A1 (en) | Message management method, device, and serverless system | |
US20210373928A1 (en) | Method, system and apparatus for sharing of fpga board by multiple virtual machines | |
CN117592133A (en) | Password component isolation method, system and equipment of VSM (virtual switch Module) and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |