Grid computing method and management device
By measuring network distance and forming execution grids based on these measurements, grid computing achieves a tightly coupled network, enhancing communication efficiency.
Patent Information
- Application Number
- JP2021158013
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-28
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2041-09-28
AI Technical Summary
Grid computing is limited by loosely coupled networks, which restrict the types of applications that can be run, and there is a need to configure a tightly coupled network similar to cloud computing.
A method where clients measure network distance to nearby clients and a server identifies clients forming an execution grid based on these measurements to create a tightly coupled network.
Enables the configuration of a tightly coupled network in grid computing, allowing efficient communication between nodes.
Smart Images

Figure 0007718209000001 
Figure 0007718209000002 
Figure 0007718209000003
Abstract
Description
[Technical Field]
[0001] The technology disclosed herein relates to grid computing. [Background technology]
[0002] Grid computing is a technology that links multiple computers via a network and uses them as a high-performance parallel system as a whole. In particular, it is a method of distributing processing across a wide area or by bundling various types of computers together via the Internet.
[0003] One of the limitations of grid computing compared to supercomputers and cloud computing is that it is loosely coupled, meaning there is no or slow communication between nodes, which limits the types of applications that can be run on grid computing.
[0004] Non-Patent Document 1 discloses research into inter-node communication in grid computing. [Prior art documents] [Non-patent literature]
[0005] [Non-Patent Document 1] Tanaka et al., "Volunteer Computing with Inter-Node Communication," Transactions of the Information Processing Society of Japan, Computer System Symposium, 2017 Summary of the Invention [Problem to be solved by the invention]
[0006] In recent years, communication speeds have improved significantly, as exemplified by the introduction of 5G. Attempts at inter-node communication have already been made in grid computing. To efficiently communicate between nodes in grid computing, it is necessary to configure a tightly coupled network on the same level as cloud computing.
[0007] The technology disclosed herein aims to enable the configuration of a tightly coupled network in grid computing by gathering clients that are close to each other on a network. [Means for solving the problem]
[0008] In order to solve the above-mentioned problem, the technology disclosed herein provides a method for executing grid computing in a computer system including a server and a plurality of clients that can communicate with the server via a network, the method including: notifying one or more base clients selected from the plurality of clients of one or more neighboring clients that are in the vicinity of the base client; the base client measuring the distance on the network between the notified neighboring clients and the base client, and sending the measurement result to the server; The server uses the measurement results to identify clients that constitute an execution grid that executes a job from among the base client and the nearby clients.
[0009] With this configuration, the base client measures the network distance between itself and nearby clients, and the server uses this measurement result to identify clients that will form an execution grid that will execute jobs. This makes it possible to gather clients that are close to each other on the network and form a tightly coupled network.
[0010] In addition, in order to solve the above problem, in the technology disclosed herein, a management device that performs grid computing using multiple clients that can communicate via a network notifies one or more base clients selected from the multiple clients of one or more nearby clients that are in the vicinity of the base client, receives measurement results from the base client of the distance on the network between the notified nearby clients, and uses the measurement results to identify clients from the base client and the nearby clients that make up the execution grid that will execute the job.
[0011] According to this, the management device identifies clients that make up the execution grid that executes jobs using the results of measuring the network distance between the base client and nearby clients. This makes it possible to gather clients that are close to each other on the network and configure a tightly coupled network. [Effects of the Invention]
[0012] As described above, according to the technology disclosed herein, a tightly coupled network can be configured in grid computing. [Brief explanation of the drawings]
[0013] [Figure 1] Conceptual diagram of grid computing according to the present disclosure [Figure 2] (a) and (b) are examples of databases held by the server. [Figure 3] Client State Transition Diagram [Figure 4] Job state transition diagram [Figure 5] A flowchart illustrating an example of a process for creating a nearby client list. [Figure 6] Details of step S20 in Figure 5 [Figure 7] A flowchart showing the process by which servers configure an execution grid [Figure 8](a) and (b) are diagrams for specifically explaining the processes that make up the execution grid. [Figure 9] Details of process S40 in Figure 7 [Figure 10] A diagram specifically explaining the processes that make up the execution grid DETAILED DESCRIPTION OF THE INVENTION
[0014] Exemplary embodiments will now be described in detail with reference to the drawings.
[0015] The definitions of terms used in this application are as follows: "Network distance," "base client," "neighboring client," and "execution grid" are terms unique to this application. "Distance on a network": A quantity that serves as an index of communication speed on a network. For example, the inverse of the amount of data transferred per unit time, or the round trip time, can be used. In this specification, it is simply referred to as "distance" where appropriate. It is assumed that a commonly used method is used to measure distance. "Base client": The client that is the base point for distance measurement. "Nearby client": A client that is expected to be close to the base client in distance measurement. Note that the base client and nearby client will switch depending on which client is being viewed as the center. "Execution grid": A combination of clients used to execute a job in grid computing.
[0016] In the following explanation, the number of nearby clients per base client (number of nearby clients) is defined as "M". The value of M may be different for each base client. Also, the number of clients that make up the execution grid (number of required clients) is defined as "R". R differs for each job.
[0017] This disclosure proposes a method for configuring a tightly coupled network on a par with cloud computing in order to efficiently communicate between nodes in grid computing. We consider a model in which a server manages clients and allocates jobs. For jobs that require tight coupling between clients, clients that are close to each other on the network are grouped together and assigned as a tightly coupled client group.
[0018] In this method, the network distance between clients is important, and each client constantly measures the network distance to clients that appear to be nearby. The measured network distance is recorded in a database on the server side. When assigning jobs, nearby clients are connected until the required number is reached. For isolated clients with no other clients nearby, jobs that do not require inter-node communication are assigned.
[0019] For example, if the client is an MPU (Media Processing Unit) installed in a car, each client constantly measures the communication speed between vehicles, calculates the distance on the network based on that, and records it on the server side.The server then groups clients that are close to each other on the network together until it reaches the required number, and allocates jobs to them as a tightly coupled client group.
[0020] FIG. 1 is a conceptual diagram of grid computing according to the present disclosure. As shown in FIG. 1, multiple clients 11 are scattered across the network. Each client 11 is a node with computing power, such as an MPU installed in an automobile. Each client 11 can communicate with a server 12 via a network. The server 12, which is an example of a management device, configures an execution grid 13 with a predetermined number of clients 11 and causes the configured execution grid 13 to execute a predetermined job.
[0021] The execution grid 13 is configured, for example, as follows.
[0022] Step 1) Server 12 notifies the base client of nearby clients. In Figure 1, clients 1 and 2 are the base clients. Server 12 notifies base client 1 of clients 2, 3, and 4 as nearby clients, and notifies base client 2 of clients 1, 5, and 6 as nearby clients.
[0023] Step 2) The base client measures the distance on the network to each nearby client and sends the measurement results to the server. In Figure 1, base client 1 measures the distance to nearby clients 2, 3, and 4 and sends the results to server 12. Base client 2 measures the distance to nearby clients 1, 5, and 6 and sends the results to server 12.
[0024] Step 3) The server 12 uses the measurement results of the base clients 1 and 2 to configure the execution grid 13 and assign jobs to the configured execution grid 13. In FIG. 1, the server 12 configures the execution grid 13 with clients 1, 2, 3, 4, and 5.
[0025] As a result, an execution grid 13 that executes jobs is configured using the measurement results of the network distance between clients 11. Therefore, it is possible to configure a tightly coupled network by gathering clients 11 that are close to each other on the network.
[0026] 2 is an example of a database held by the server 12. For example, the server 12 has client information for each client 11, as shown in FIG. 2(a). The client information includes the status of the client 11, its physical location, the number M of nearby clients, and a nearby client list. The nearby client list includes information on the distance on the network between the client 11 and each nearby client.
[0027] The server 12 also has job information for each job, as shown in Fig. 2(b). The job information includes the job's status, content, necessity of tight coupling, required number of clients R, and execution grid information. The execution grid information includes information about the clients 11 included in the execution grid 13 configured to execute the job.
[0028] Figure 3 is a state transition diagram for a client. As shown in Figure 3, the client 11 can take the following states: "Not executable," "Allocatable," and "Running." When the client 11 becomes able to execute a job, it sends that information to the server 12. At this time, the state of the client 11 transitions from "Not executable" to "Allocatable" (1). When the client 11 becomes unable to execute a job, it sends that information to the server 12. At this time, the state of the client 11 transitions from "Allocatable" to "Not executable" (2). The client 11 is included in an execution grid 13 formed by the server 12, and a job is assigned to it from the server 12. At this time, the state of the client 11 transitions from "Allocatable" to "Running" (3). The client 11 completes the job. At this time, the state of the client 11 transitions from "Running" to "Allocatable" (4).
[0029] Figure 4 is a state transition diagram for a job. As shown in Figure 4, a job can take the following states: "Waiting for allocation," "Running," and "Management." When an execution grid is configured for a job and job execution begins, the job state transitions from "Waiting for allocation" to "Running" (1). When the job execution is completed, the job state transitions from "Running" to "Completed" (2).
[0030] 5 and 6 are flowcharts showing an example of a process for creating a nearby client list.
[0031] 5, when this is the first measurement (YES in S11), the server 12 creates a list of base clients based on the state (assignability) of the client 11 (S12). Then, for each base client, the server 12 adds a certain number (M) of clients that are physically close to the base client to the nearby client list (S13). On the other hand, when this is not the first measurement (NO in S11), the server 12 updates the list of base clients based on the state (assignability) of the client 11 (S14). Then, for each base client, the server 12 removes a certain number of clients that are far away on the network from the nearby client list (S15), and adds a certain number of clients that are not included in the nearby client list and that are physically close to the nearby client list (S16).
[0032] The server 12 sends the nearby client list to each base client (S17). Each base client measures the distance on the network (S20).
[0033] 6, in S20, the base client receives a nearby client list from the server 12 (S21). The base client prepares a result list (S22), measures the distance to the nearby client (S23), and adds the measurement results to the result list (S24). The base client then transmits the result list to the server 12 (S25).
[0034] 5, the server 12 receives a result list including the measurement results from each base client (S18). For each base client, the server 12 sorts the nearby clients in ascending order of distance (S19), and sorts the base clients in ascending order of the sum of the distances of the nearby clients (S1A). The server 12 registers the created nearby client list in a database (S1B).
[0035] 7 is a flowchart showing the process of configuring an execution grid by the server 12. When the server 12 receives a job execution request from a user (S31), it configures an execution grid based on the required number of clients R for the job and the need for tight coupling.
[0036] When the required number of clients R is 1, the server 12 includes in the execution grid the base client with the largest sum of distances to nearby clients (S32).
[0037] If the required number of clients R is 2 or more and tight coupling is not required, the server 12 selects R base clients with the largest sum of distances to nearby clients and includes them in the execution grid (S33).
[0038] When the required number of clients R is 2 or more and tight coupling is required, the server 12 performs different processing depending on the relationship between the number of nearby clients M included in the nearby client list and the required number of clients R.
[0039] If R<=M+1, the server 12 selects the base client whose sum of distances to the nearest (R-1) neighboring clients is the smallest, and includes the base client and the nearest (R-1) neighboring clients in the execution grid (S34).
[0040] The process of S34 will be specifically described using Fig. 8. Fig. 8(a) is an example of client arrangement, and Fig. 8(b) is an example of a nearby client list in the arrangement example of Fig. 8(a). In Fig. 8(b), M=3, that is, the number of nearby clients included in the nearby client list of each base client is 3.
[0041] In Figure 8, when R = 2, the base client with the smallest sum of distances to the nearest neighbor client is base client 1 and 2. Therefore, the execution grid is composed of clients 1 and 2. When R = 3, the base client with the smallest sum of distances to the nearest two neighbor clients is base client 1. Therefore, the execution grid is composed of clients 1, 2, and 4. When R = 4, the base client with the smallest sum of distances to the nearest three neighbor clients is base client 1. Therefore, the execution grid is composed of clients 1, 2, 4, and 5.
[0042] 7, if R>M+1, the server 12 executes step S40. In step S40, the base client with the smallest sum of distances to nearby clients is selected, and the base client and nearby clients are included in the execution grid. This operation is repeated until the number of clients constituting the execution grid reaches the required number of clients R.
[0043] 9 shows the details of process S40. First, a base client (C0) with the smallest sum of distances to neighboring clients is selected (S41), and C0 and its neighboring clients are included in the execution grid (S42). Next, from the clients included in the execution grid, a base client (Ci) with the smallest sum of distances to neighboring clients other than the selected base client is selected as the base client (S43, operation (1)), and neighboring clients of Ci are included in the execution grid (S44, operation (2)). Operations (1) and (2) are repeatedly executed until the number of clients constituting the execution grid reaches or exceeds the required number of clients R (S45).
[0044] After the number of clients making up the execution grid becomes equal to or greater than the required number of clients R, if the number of clients making up the execution grid is equal to the required number of clients R, process S40 is terminated (S46). If the number of clients making up the execution grid is greater than the required number of clients R, the last operation (2) is canceled (S47), and clients close to Ci are included in the execution grid one by one in order of shortest distance (S48). When the number of clients making up the execution grid becomes equal to the required number of clients R, process S40 is terminated (S49).
[0045] The process of S40 will be specifically described with reference to Fig. 10. Fig. 10 is an example of a nearby client list in the example arrangement of Fig. 8(a), where M = 2. Here, the required number of clients is assumed to be R = 4.
[0046] First, from among the five base clients, base client 1 is selected, which has the smallest sum of the distances to the two closest clients. Then, base client 1 and its neighboring clients, clients 2 and 4, are included in the execution grid. As a result, the execution grid contains the following: Client 1 (base client), Clients 2 and 4 The number of clients that make up the execution grid is three.
[0047] Of clients 2 and 4, client 2 is the base client with the smallest sum of distances to the two closest clients. As a result, clients 1 and 5, which are neighboring clients of base client 2, are included in the execution grid. Note that client 1 is already included in the execution grid. As a result, the execution grid contains the following: Client 1 (base client), Client 2 (base client), Client 4, 5 The number of clients that make up the execution grid is 4. Here, the number of clients that make up the execution grid is equal to the required number of clients R, so the process ends.
[0048] 7, once the execution grid is constructed (S32, S33, S34, S40), the server 12 updates the status of the clients included in the execution grid to "in progress" in the database (S35) and registers the execution grid information (S36). The server 12 then sends job information to each client 11 included in the execution grid (S37) and updates the job status to "in progress" in the database (S38).
[0049] As described above, according to this embodiment, the base client measures the network distance between itself and nearby clients, and the server 12 uses this measurement result to identify clients 11 from the base client and nearby clients that will form the execution grid 13 that will execute the job. This makes it possible to gather clients 11 that are close to each other on the network and form a tightly coupled network.
[0050] The above-described embodiments are merely examples and should not be construed as limiting the scope of the present disclosure. The scope of the present disclosure is defined by the claims, and all modifications and variations that fall within the scope of the claims equivalents are within the scope of the present disclosure. [Industrial Applicability]
[0051] The technology disclosed herein makes it possible to configure a tightly coupled network in grid computing, and is therefore useful for realizing grid computing using an MPU mounted on an automobile, for example. [Explanation of symbols]
[0052] 11 Client 12 Server (management device) 13 Execution Grid
Claims
1. 1. A method for performing grid computing in a computer system including a server and a plurality of clients that can communicate with the server via a network, comprising: the server notifies one or more base clients selected from the plurality of clients of one or more neighboring clients in the vicinity of the base client; The base client measures the distance on the network between the notified neighboring client and the base client, and sends the measurement result to the server; The server uses the measurement results to identify clients that constitute an execution grid that executes a job from among the base client and the nearby clients.
1. A grid computing method comprising:
2. A management device that executes grid computing using a plurality of clients that can communicate via a network, notifying one or more base clients selected from the plurality of clients of one or more neighboring clients located in the vicinity of the base client; receiving, from the base client, a measurement result of the distance on the network between the base client and the notified neighboring client; Using the measurement results, clients that constitute an execution grid for executing a job are identified from among the base client and the neighboring clients. A management device characterized by:
Citation Information
Patent Citations
Calculation resource provision method and calculation resource provision system
JP2017111727A
Management server and program
JP2020160661A
Data processing method
WO2012160629A1