WO2021187476A1 - Client, i/o server, method, and recording medium - Google Patents

Client, i/o server, method, and recording medium Download PDF

Info

Publication number
WO2021187476A1
WO2021187476A1 PCT/JP2021/010592 JP2021010592W WO2021187476A1 WO 2021187476 A1 WO2021187476 A1 WO 2021187476A1 JP 2021010592 W JP2021010592 W JP 2021010592W WO 2021187476 A1 WO2021187476 A1 WO 2021187476A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
client
information
route
disk
Prior art date
Application number
PCT/JP2021/010592
Other languages
French (fr)
Japanese (ja)
Inventor
寛 青野
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2022508375A priority Critical patent/JPWO2021187476A5/en
Publication of WO2021187476A1 publication Critical patent/WO2021187476A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Definitions

  • the present invention relates to clients, I / O servers, methods, and recording media.
  • I / O Input / Output buses
  • CPU Central Processing Unit
  • Patent Document 1 describes a technique for selecting a specific route based on the connection information representing the connection between the interconnects in the information processing apparatus.
  • Patent Document 2 describes a technique of detecting the occurrence of a bottleneck based on the state of each element of the storage system and selecting a route for avoiding the bottleneck.
  • An example of an object of the present invention is to provide a client, an I / O server, a method, and a recording medium that solve the above-mentioned problems.
  • the client is a receiving means for receiving route information from an I / O server, and the route information includes information for identifying a recording disk and a communication path to the recording disk.
  • a receiving means including information identifying a component in the I / O server to be used by the client, and a communication route determining means for determining a communication route to the recording disk based on the route information. It is provided with an I / O request issuing means for issuing an I / O request based on the communication path.
  • the I / O server includes a transmission means for transmitting route information to a client, and the route information is used as information for identifying a recording disk and a communication path to the recording disk. Includes information that identifies the components in the I / O server that the client should use.
  • the method is a step of receiving route information from an I / O server, and the route information is used as information for identifying a recording disk and a communication path to the recording disk. Based on a step that includes information that identifies a component in the I / O server that the client should use, a step that determines a communication path to the recording disk based on the route information, and a communication path. Performed by the client, including the step of issuing an I / O request.
  • the method comprises transmitting route information to a client, the route information being used by the client as information identifying a recording disc and as a communication path to the recording disc. It contains information that identifies the components in the I / O server that should be executed by the I / O server.
  • the recording medium is a step of receiving the route information from the I / O server to the computer, and the route information is the information for identifying the recording disk and the recording disk.
  • It is a recording medium that stores a program for executing a step of issuing an I / O request based on a route.
  • the recording medium identifies to the computer the information that identifies the recording disc and the components in the I / O server that the client should use as a communication path to the recording disc. It is a recording medium that stores a program for executing a step of transmitting route information including information to a client.
  • I / O server # 1 Shows an example of the route information of I / O server # 1. It is a figure which shows the processing flow which the client 1 which concerns on 1st Embodiment issues a system call of write. It is a figure which shows the processing flow which the client 1 which concerns on 1st Embodiment issues a system call of write. It is a figure which shows an exemplary I / O map (I / O server, I / O server NW mechanism and disk allocation). It is a figure which showed schematic operation that the client 1 which concerns on 1st Embodiment issues a system call of write. It is a figure which shows the processing flow when the client 1 issues a read system call. It is a figure which shows the structure of the distributed shared file system which concerns on 2nd Embodiment.
  • FIG. 1 is a diagram showing an overall configuration of a distributed shared file system according to the first embodiment.
  • the distributed shared file system according to the first embodiment includes a client 1, an I / O server 2, an I / O server 3, and a high-speed disk device 4.
  • the distributed shared file system includes two I / O servers, but the I / O servers may be configured by one or three or more.
  • the client 1 when issuing an I / O request, the client 1 receives the least cost I / O route information from the I / O servers 2 and 3, and uses that information to make an I / O request. Issue. In addition, the client itself creates the optimum I / O communication route information for the client itself, adds the information, and issues an I / O request. These mechanisms improve the overall throughput of the distributed shared file system.
  • the client 1 includes a plurality of network (hereinafter, NW) processing mechanisms 11. Each of the NW processing mechanisms 11 is connected to the high-speed network 5.
  • NW network
  • the client 1 is provided with two NW processing mechanisms 11, but in other embodiments, one or three or more NW processing mechanisms 11 may be provided.
  • FIG. 2 is a diagram showing the client 1 according to the first embodiment in more detail.
  • the client 1 includes NW processing mechanism # 0 (111) and NW mechanism # 1 (112).
  • the NW processing mechanism # 0 (111) and the NW mechanism # 1 (112) correspond to the NW processing mechanism 11 in FIG.
  • the NW processing mechanism # 0 (111) includes a CPU # 0 (1111), a memory # 0 (1112), a NW mechanism # 0 (1113), and a disk device 1114.
  • the disk device 1114 stores the client software.
  • the NW processing mechanism # 1 (112) includes a CPU # 1 (1121), a memory # 1 (1122), and a NW mechanism # 1 (1123).
  • CPU # 0 (1111) and CPU # 1 (1121) are connected by an interconnect 12. These CPUs may be devices that provide the client function of the shared file system.
  • the I / O server 2 (I / O server # 0) and the I / O server 3 (# 1) each include two I / O processing mechanisms 21.
  • Each of the I / O processing mechanisms 21 is connected to the high-speed network 5 and also to the high-speed disk device 4.
  • each of the I / O processing mechanisms 21 is connected to the NW processing mechanism 11 of the client 1 via the high-speed network 5, but may be connected without going through the high-speed network 5. ..
  • the number of I / O processing mechanisms 21 included in each I / O server is not limited to two, and in other embodiments, an arbitrary number of I / O processing mechanisms 21 are provided in the I / O server. ..
  • FIG. 3 is a diagram showing the I / O server 2 according to the first embodiment in more detail. Although FIG. 3 shows only the I / O server 2, the I / O server 3 may have a similar configuration.
  • the I / O server 2 includes an I / O processing mechanism # 0 (211) and an I / O processing mechanism # 1 (212).
  • the I / O processing mechanism # 0 (211) includes a CPU # 0 (2111), a memory # 0 (2112), an NW mechanism # 0 (2113), an I / O mechanism # 0 (2114), and a disk device 2115. ..
  • the disk device 2115 stores the I / O server software. Further, the disk device 2115 may store various route cost tables described later.
  • the I / O processing mechanism # 1 includes a CPU # 1 (2121), a memory # 1 (2122), an NW mechanism # 1 (2123), and an I / O mechanism # 1 (2114).
  • CPU # 0 (2111) and CPU # 1 (2121) are connected by an interconnect 22. These CPUs may be devices that provide the server function of the shared file system.
  • the high-speed disk device 4 includes two disk controllers 41. Each of the disk controllers 41 is connected to the disk 43 via the I / O mechanism 42. Further, the disk controller 41 is connected to the I / O server 2 and the I / O server 3, respectively.
  • the above configuration is exemplified, but in other embodiments, an arbitrary number of disk controllers 41, I / O mechanism 42, and disk 43 may be adopted.
  • FIG. 4 is a diagram showing the high-speed disk device 4 according to the first embodiment in more detail.
  • the disk controller # 0 (411) is connected to the disks A, B, C, and D via the I / O mechanism # 0 (421).
  • the disk controller # 1 (412) is connected to the disks E, F, G, and H via the I / O mechanism # 1 (422).
  • the disk controller # 0 (411) and the disk controller # 1 (412) are connected by the interconnect 44. Access to disks E, F, G, H via disk controller # 0 (411) and I / O mechanism # 1 (422), and disk controller # 1 (412) and I / O mechanism # 0 (421).
  • the access of the disks A, B, C, and D is connected as an alternative path.
  • the access efficiency of these routes may be worse than that of the above-mentioned routes because the access to the asymmetrical logical unit is performed.
  • the distributed shared file system includes a specific number of components for ease of explanation, but as described above, generally, the client 1 and the I / O server 2 included in the distributed shared file system are included. , And the number of high-speed disk devices 4 may be arbitrary. At this time, it should be noted that each component included in the client, the I / O server, and the high-speed disk device may be configured by an arbitrary number as described above.
  • FIG. 10 is a diagram showing a processing flow of the I / O servers 2 and 3 according to the first embodiment.
  • the processing flow of the I / O servers 2 and 3 will be described with reference to FIGS. 3, 4, and 10.
  • the operation of the I / O server 2 will be particularly described below, but the I / O server 3 may also perform the same operation.
  • the processing flow of the I / O server 2 starts when, for example, the I / O server 2 is started.
  • the I / O server 2 loads the I / O server software stored in the disk device 2115 into the memory and starts it, and then performs the following operations.
  • the I / O server 2 reads the cost table of the I / O server 2.
  • the I / O server cost table provides route cost information between the components within the I / O server.
  • the route cost information indicates the communication cost when the route is used, and more specifically, the number of access hops, the bandwidth, the communication performance, and the like.
  • the number of access hops is adopted as the route cost information for easy understanding.
  • the number of access hops may indicate the number of access hops between the connections of the memory, the CPU, the NW mechanism, and the I / O mechanism in the I / O server.
  • FIG. 5 is a diagram showing the cost of an exemplary I / O server. In FIG.
  • the I / O server 2 relates to the high-speed disk device 4 connected to the I / O mechanism # 0 (2114) and the I / O mechanism # 1 (2124) of the I / O server 2.
  • the cost table between the I / O server and the high-speed disk device shows the route cost information between the I / O server and the high-speed disk device, and in the embodiment of the present application, the number of access hops between the I / O server and the high-speed disk device is calculated. show.
  • FIG. 6 is a diagram showing the cost between an exemplary I / O server and a high speed disk device. In FIG.
  • the I / O mechanism # 0 (2114) and the I / O mechanism # 1 (2124) of the I / O server, and the disk controller # 0 (411) and the disk of the high-speed disk device 4 connected to these are shown.
  • the number of access hops to and from controller # 1 (412) is shown.
  • iI0 indicates the I / O mechanism # 0 of the I / O server 2
  • dC0 indicates the disk controller # 0 of the high-speed disk device 4
  • the number of access hops thereof is clear by referring to FIGS. It is 1.
  • the I / O mechanism # 0 of the I / O server 2 and the disk controller # 1 of the high-speed disk device 4 are not connected, the number of access hops between iI0 and dC1 is blank.
  • the I / O server 2 reads the cost table of the high-speed disk device 4.
  • the cost table of the high-speed disk device 4 shows the route cost information from the disk controller to other components in the high-speed disk device, and shows the number of access hops from the disk controller to other components in the embodiment of the present application.
  • FIG. 7 is a diagram showing the cost of an exemplary high-speed disk device 4.
  • dC0 indicates disk controller # 0 (411).
  • dC1 indicates disk controller # 1 (412).
  • I0 indicates the I / O mechanism # 0 (421).
  • I1 indicates I / O mechanism # 1 (422).
  • D0 represents a set of A, B, C, and D of the disk 43.
  • D1 represents a set of E, F, G, and H of the disc 43.
  • the number of access hops between the disk controller # 1 (412) represented by dC1 and the set of disks A, B, C, and D represented by D0 is first determined from the disk controller # 1 (412) via the interconnect 44. It is 3 because it reaches the disk controller # 0 (411), reaches the I / O mechanism # 0 (412), and reaches the set of disks A, B, C, and D.
  • the I / O server 2 uses the high-speed disk device 4 based on the cost table of the I / O server 2, the cost table between the I / O server and the high-speed disk device, and the cost table of the high-speed disk device.
  • Route information is generated by calculating the route that minimizes the number of access hops to each disk 43 for A, B, C, D, and E, F, G, and H of the high-speed disk device 4. This route information is transferred to the client 1 as information for identifying the route that the client 1 should use as the communication route.
  • FIG. 11 is a diagram showing exemplary route information calculated by the I / O server 2.
  • FIG. 11 shows a set of components used for a route that minimizes the route cost between A, B, C, D, E, F, G, H and the client 1 of the disk 43 of the high-speed disk device 4. ing.
  • the route cost may be the number of access hops, and in this case, FIG. 11 shows a set of components that realizes the route having the minimum number of access hops.
  • the route with the minimum number of access hops is determined, for example, based on the cost tables shown in FIGS. 5, 6, and 7. Further, in the table shown in FIG.
  • the cost table shown in FIG. 5-7 is statically given to the I / O server 2 in advance, or determined by an appropriate method (for example, in the case of the high-speed disk device 4, the ALUA mechanism is used). However, it can be stored in the disk device 2115.
  • step S105 the I / O thread is started using the route information.
  • I / O threads # 0 (2116) started on CPU # 0 (2111) and I / O threads # 1 (I / O threads # 1) started on CPU # 1 (2121). There are 2126). Multiple I / O threads are created for each.
  • the I / O server 2 refers to, for example, the I / O server cost table shown in FIG. Create an I / O thread that selects the NW and I / O mechanisms.
  • I / O thread # 0 (2116) uses memory # 0 (2112) and listens for an interrupt from NW mechanism # 0 (2113).
  • NW mechanism # 0 2113
  • the I / O mechanism # 0 (2114) is preferentially used.
  • the I / O thread # 1 (2126) uses the memory # 1 (2122) and listens for an interrupt of the NW mechanism # 1 (2123). Start using CPU # 1 (2121). Further, for the I / O request to the high-speed disk apparatus 4, the I / O mechanism # 0 (2124) is preferentially used.
  • FIG. 12 is a diagram showing a processing flow of the client 1 according to the first embodiment.
  • the processing flow of the client 1 starts when the client 1 starts the operation. At that time, the client 1 loads the client software stored in the disk device 1114 into the memory and starts it, and then executes the following operations.
  • step S201 read the client cost table.
  • FIG. 8 is a diagram showing an exemplary client cost.
  • the client cost table shows route cost information between the components within client 1.
  • the client cost table according to the present embodiment shows the number of access hops between the connections of the memory, the CPU, and the NW mechanism in the client, like the other tables.
  • FIG. 9 is a diagram showing the cost between an exemplary client and an I / O server.
  • the cost table between the client and the I / O server shows the client's NW mechanism # 0 (1113) and NW mechanism # 1 (1123), and the I / O server's NW mechanism # 0 (2113) and NW mechanism # 1. It shows the number of access hops with (2123).
  • the cost tables shown in FIGS. 8 and 9 can be statically given to the client 1 in advance or determined by an appropriate method and stored in the disk device 1114.
  • FIG. 13 is a diagram showing an example of route information received by the client 1 from the I / O server 2.
  • the client 1 is the I / O server for the NW mechanism part of the disk and the I / O server 2. Get from 2.
  • the GID of the I / O server NW mechanism is also acquired. The GID indicates a unique identifier for identifying when communicating on the network.
  • step S204 route information is received from the I / O server 3 and read.
  • the client 1 performs the NW mechanism portion of the disk and the I / O server 3 in the calculation result of the minimum route from the I / O server 3 to the disk.
  • Acquire (Fig. 13).
  • the operation of receiving the route information from the I / O servers 2 and 3 may be performed before the start of this processing flow. In that case, in step S203 and step S204, the operation of receiving the route information is skipped, and only the reading operation is performed.
  • the I / O thread is started based on the client cost table, the cost table between the client and the IO server, and the route information.
  • the I / O threads are the I / O thread # 0 (1115) started on the CPU # 0 (1111) and the I / O thread # 1 (1115) started on the CPU # 1 (1121). There is 1125). Multiple I / O threads are created for each.
  • the client refers to the client cost table (FIG. 8) and sets the I / O thread so as to select the memory having the smallest number of hops in view of CPU # 0 (1111) and CPU # 1 (1121). Generate. Further, regarding the NW mechanism, the NW mechanism having the smallest number of hops is used in view of CPU # 1 (1121).
  • I / O thread # 0 uses memory # 0 (1112) and sends / receives data to / from the I / O server using NW mechanism # 0 (1113).
  • the I / O thread # 1 uses the memory # 1 (1122) and uses the NW mechanism # 1 (1123) to send and receive data to and from the I / O server # 1.
  • FIGS. 14A and 14B are diagrams showing a processing flow in which the client 1 according to the first embodiment issues a write system call.
  • the cache memory is a temporary area for issuing or reusing data from the client 1, and is placed in the memory # 0 (1112) or the memory # 1 (1122) on the client. At this time, the arrangement of the data in the memory is determined as follows.
  • step S301 the client 1 determines the I / O server that is the starting point for performing the first I / O. This is part of the shared file system protocol, and it is assumed that the I / O server 2 is specified for the sake of explanation.
  • step S302 a file creation request is made to the I / O server that is the next starting point.
  • the I / O server 2 since the I / O server 2 is designated as the starting server, the I / O server 2 receives the file handle managed by the shared file system as well as the disk that is the starting point for writing the disk as a return value. do. In this example, it is assumed that A has been returned.
  • the client 1 indicates a communication path that minimizes access to the disk of the high-speed disk device as the number of hops, starting from the received disk name, based on the received route information (FIG. 13).
  • / O Generate a map.
  • the I / O map identifies the memory area of the client, the I / O server, the NW mechanism of the I / O server, and the disk device as the route.
  • FIG. 15 is a diagram showing an exemplary I / O map.
  • the algorithm for allocating disks on the I / O server may be round-robin.
  • the area is allocated for each chunk size in the order of A ⁇ E ⁇ B ⁇ F ⁇ C ⁇ G ⁇ D ⁇ H, returns to A, and again A ⁇ E ⁇ B ⁇ F ⁇ C. Allocate disk space in the order of ⁇ G ⁇ D ⁇ H.
  • This algorithm is expressed in the order of the table of route information acquired in step S203 and step S204 of FIG. 12 (FIG. 13).
  • an I / O map (FIG. 15) is generated so that the I / O servers themselves are distributed by round robin according to the order of the cost table (FIG. 13). ..
  • step S304 regarding the data allocation to the cache memory, the user to the memory # 0 or the memory # 1 according to the data read / write unit (chunk) to the disk, the address from the beginning of the file, and the I / O map (FIG. 15). Copy from the area.
  • step S305 the next I / O flash is started, and the process waits until the I / O flash is started.
  • Client 1 starts the I / O thread when the I / O flash is started. Also at this time, according to the I / O map (FIG. 15), the I / O thread to be started has I / O thread # 0 (1115) when the data to be written is in memory # 0, and I / O thread # 0 (1115) when the data to be written is in memory # 1. Start I / O thread # 1 (1125). The I / O thread uses the lowest cost NW mechanism # 0 or NW mechanism # 1 according to the client cost table (Fig. 8) and the I / O map (Fig. 15) to transfer data to the appropriate I / O server. Request transmission to the GID attached to the NW mechanism.
  • step S306 the client 1 transmits data to the I / O server using the lowest cost route.
  • FIG. 16 is a diagram schematically showing an operation in which the client 1 according to the first embodiment issues a write system call.
  • step S307 the transmitted thread is put to sleep until the issued write request is completed.
  • the data transmission of the I / O server includes the offset value of the file in addition to the data in the user memory, and the received I / O server side determines to which disk the write request should be issued. You can judge.
  • step S308 when the writing of data is completed on the I / O server 2 side, the notification of the completion of I / O is received from the I / O server 2.
  • step S309 the I / O thread is put into the start waiting state.
  • FIG. 17 is a diagram showing a processing flow when the client 1 issues a read system call.
  • an area for receiving data is once secured in the memory # 0 (1112) or the memory # 1 (1122) on the client 1 which is on the cache memory on the client 1. do.
  • the arrangement of the data in the memory is determined as follows.
  • step S401 the client 1 determines the I / O server that is the starting point for performing the first I / O. It is assumed that this is a part of the shared file system protocol and the I / O server 2 is specified.
  • step S402 the file handle is requested from the I / O server 2.
  • the I / O server 2 returns the disk that is the starting point of reading the disk as a return value together with the file handle of the shared file system. In this example, it is assumed that A has been returned.
  • step S403 the client uses the disk name as a starting point, and based on the collected route information (FIG. 13), the I / O server and the I / O server have the minimum number of hops to access the disk of the high-speed disk device. Generates an I / O map (Fig. 15) of the NW mechanism and disk device of. At this time, the algorithm in which the reading disk is allocated on the I / O server may be performed in round robin.
  • the area is allocated for each chunk size in the order of A ⁇ E ⁇ B ⁇ F ⁇ C ⁇ G ⁇ D ⁇ H, returns to A, and again A ⁇ E ⁇ B ⁇
  • the disk area is allocated in the order of F ⁇ C ⁇ G ⁇ D ⁇ H.
  • This algorithm is expressed in the order of the route information table acquired in step S203 and step S204 of FIG. 12 (FIG. 13). Further, in the case of an I / O server having the same disk, an I / O map (FIG. 15) is generated so that the I / O server itself is distributed by round robin according to the order of the route information (FIG. 13).
  • step S404 a cache memory area for reading is secured according to the I / O map.
  • step S405 the I / O thread is started. If the data to be read at this time is in memory # 0, I / O thread # 0 (1115) is started, and if it is in memory # 1, I / O thread # 1 (1125) is started.
  • step S408 the I / O thread uses the lowest cost NW mechanism # 0 or NW mechanism # 1 according to the client cost table (FIG. 8) and the I / O map (FIG. 15) to bring the data to the appropriate I. Request read from the GID attached to the NW mechanism of the / O server.
  • step S406 the Read process sleeps until all I / O is completed.
  • step S409 the thread requesting read sleeps until the issued read request is completed.
  • the data transmission of the I / O server includes the offset value of the file in addition to the data in the user memory, and the received I / O server side can determine to which disk the read request should be issued. It has become like.
  • step S410 when the data reading is completed on the I / O server side, the I / O server 2 notifies the completion of I / O.
  • step S411 the I / O thread starts the client read process, and in step S412, it waits for the next start.
  • step S407 when the read requests of all the I / O threads are completed, the data is copied from the cache memory to the user memory.
  • the I / O server 2 uses the route cost information in the I / O server 2, the route cost information between the I / O server and the high-speed disk device, and the route in the high-speed disk device. The minimum cost route to each high-speed disk was calculated based on the cost information, but in another embodiment, the I / O server 2 transmits these route cost information to the client 1, and the client 1 sends the minimum cost route. It is also possible to calculate.
  • the distributed shared file system calculates the path cost between the NW mechanism, the CPU, and the memory in the client 1 that issues I / O, and calculates the path cost between the NW mechanism, the CPU, and the memory in the I / O server. , And the path cost of the memory and the path cost to the storage in the high-speed storage device are calculated. Furthermore, by notifying the client 1 of the optimum I / O path for each storage unit in which I / O is performed, the client 1 determines the I / O issuance route that minimizes the cost and issues the I / O. It becomes possible to do. As a result, data movement within the client 1, the I / O servers 2, 3 and the high-speed disk device 4 can be minimized, so that the throughput of the entire shared file system can be improved.
  • FIG. 18 is a diagram showing a configuration of a distributed shared file system according to the second embodiment.
  • the distributed shared file system according to the second embodiment includes one or more clients 510, one or more I / O servers 520, and one or more recording devices 530.
  • the client 510 includes a communication path determination unit 511, an I / O request issuing unit 512, a receiving unit 513, and a transmitting unit 514.
  • the client 510 may include one or more NW processing mechanisms, as in the first embodiment, and the NW processing mechanisms within the client may include any number of memories, CPUs, and NW mechanisms.
  • the communication path determination unit 511 may be configured by a CPU in the NW processing mechanism.
  • the I / O server 520 includes a route information determination unit 521, a transmission / reception command issuing unit 522, a receiving unit 523, and a transmitting unit 524.
  • the I / O server 520 may include one or more I / O processing mechanisms, as in the first embodiment, which may include any number of memory, CPU, and NW mechanisms. May be equipped. Further, the route information determination unit 521 may be configured by a CPU in the I / O processing mechanism.
  • the recording device 530 includes one or more disk controllers 531, one or more I / O mechanisms 532, and one or more recording disks 533.
  • FIG. 19 is a diagram showing a processing flow of the distributed shared file system according to the second embodiment. Although the operation will be described with reference to one client 510, the processing flow can be executed separately for each client 510.
  • the route information determination unit 521 of the I / O server 520 receives the route cost information between the components in the I / O server 520, the route cost information between the I / O server 520 and the recording device 530, and the route cost information.
  • the route information to the recording disk 533 is determined based on the route cost information between the components in the recording device 530.
  • the components in the I / O server 520 include a CPU, memory, I / O mechanism, and NW mechanism.
  • the components in the recording device 530 include a disk controller 531, an I / O mechanism 532, and a recording disk 533.
  • the route information may indicate the lowest cost communication route to the recording disk 533 in the recording device 530.
  • the route cost information includes the number of access hops, bandwidth, communication performance, and the like.
  • the route cost information is represented, for example, as a cost table shown in the first embodiment.
  • step S1502 the communication route determination unit 511 of the client 510 reads the route cost information between each component in the client 510 and the route cost information between the client 510 and the I / O server 520.
  • the components in the client 510 include a CPU, memory, and NW mechanism.
  • the receiving unit 513 of the client 510 receives the route information determined by the I / O server 520 via the transmitting unit 524 of the I / O server 520.
  • the route information received by the client 510 from the I / O server 520 includes the information that identifies the recording disk 533 and the information in the I / O server 520 that the client 510 should use as a communication path to the recording disk 533. It may include information that identifies the component.
  • the component in the I / O server 520 to be used may be, for example, information indicating the NW mechanism of the I / O server 520.
  • the communication route determination unit 511 of the client 510 receives the route information received from the I / O server 520, the route cost information between the components in the client 510, and between the client 510 and the I / O server 520.
  • the communication route to the target recording disk 533 is determined based on the route cost information of.
  • the determined communication route may be one that minimizes the route cost.
  • the communication path determined in step S1504 may be a part of the path to the recording disk 533.
  • the communication path specifies the target recording disk 533, the memory area of the client 510, the I / O server 520, and the NW mechanism of the I / O server 520.
  • step S1505 the I / O request issuing unit 512 of the client 510 issues an I / O request based on the determined communication path. For example, the I / O request issuing unit 512 issues an I / O request using a communication path that uses the CPU and NW mechanism closest to the memory of the client. Further, when issuing the I / O request, the transmission unit 514 of the client 510 transmits the I / O request to the I / O server 520.
  • step S1506 the receiving unit 523 of the I / O server 520 receives the I / O request from the client 510. At that time, the I / O server 520 may start an I / O waiting process running on the CPU included in the NW mechanism that has received the I / O request.
  • step S1507 the transmission / reception command issuing unit 522 of the I / O server 520 issues an I / O data transmission / reception command to the recording disk 533 based on the route information determined in step S1501.
  • the transmission / reception instruction issuing unit 522 of the I / O server 520 issues an I / O data transmission / reception instruction using the memory and the I / O mechanism closest to the started CPU.
  • the receiving unit 513 of the client 510 receives the route information from the I / O server 520.
  • the route information includes information that identifies the recording disk 533 and information that identifies a component in the I / O server 520 that the client 510 should use as a communication path to the recording disk 533.
  • the communication route determination unit 511 determines the communication route to the recording disk 533 based on the route information.
  • the I / O request issuing unit 512 issues an I / O request based on the determined communication path.
  • the communication route determination unit 511 of the client 510 determines the communication route to the recording disk 533 based on the route cost information between the components in the client 510. As a result, the I / O request can be issued in consideration of the route cost in the client 510. As a result, the throughput of the entire shared file system can be further improved.
  • the communication route determination unit 511 of the client 510 determines the communication route to the recording disk 533 based on the route cost information between the client 510 and the I / O server 520. As a result, the client 510 can select the optimum I / O server in consideration of the data transfer cost of the network, and make an IO request using the optimum component in the selected I / O server as a route. As a result, the throughput of the entire shared file system can be further improved.
  • the transmission unit 524 of the I / O server 520 transmits the route information to the client 510.
  • the route information includes information that identifies the recording disk 533 and information that identifies a component in the I / O server 520 that the client 510 should use as a communication path to the recording disk 533.
  • the client 510 can acquire the route information, the I / O request can be issued in consideration of the route cost between the components in the I / O server 520. As a result, it is possible to improve the throughput of the entire shared file system.
  • the I / O server 520 is coupled to the recording device (disk device) 530.
  • the route information determination unit 521 of the I / O server 520 determines the route cost information between the components in the I / O server 520, the route cost information between the I / O server 520 and the recording device (disk device) 530, and the route cost information.
  • the route information is determined based on the route cost information between the components in the recording device (disk device) 530.
  • the I / O server 520 can also issue a transmission / reception command to the recording disk 533 in consideration of both the route cost between the device components and the network transfer cost. As a result, it is possible to improve the throughput of the entire shared file system.
  • the route cost information includes the number of access hops. By using the number of access hops, the route cost information can be calculated more easily.
  • FIG. 20 is a diagram showing a configuration of the client 600 according to the third embodiment.
  • the client 600 according to the present embodiment includes at least a receiving unit 610, a communication route determining unit 620, and an I / O request issuing unit 630.
  • the receiving unit 610 receives the route information from the I / O server 700.
  • the route information includes information for identifying a recording disk and information for identifying a component in the I / O server 700 that the client should use as a communication path to the recording disk.
  • the communication route determination unit 620 determines the communication route to the recording disk based on the route information.
  • the I / O request issuing unit 630 issues an I / O request based on the communication path.
  • FIG. 21 is a diagram showing a configuration of the I / O server 700 according to the third embodiment.
  • the server according to this embodiment includes at least a transmission unit 710.
  • the transmission unit 710 transmits the route information to the client 600.
  • the route information includes information for identifying a recording disk and information for identifying a component in the I / O server that the client 600 should use as a communication path to the recording disk.
  • FIG. 22 is a hardware configuration diagram of the control device 800 according to at least one embodiment.
  • the control device 800 may correspond to, for example, a control device provided in the client 1, the client 510, the client 600, the I / O servers 2, 3, the I / O server 520, or the I / O server 700.
  • the control device 800 may be a computer having hardwares such as a CPU 801 and a ROM (Read Only Memory) 802, a RAM (Random Access Memory) 803, a database 804, a communication module 805, and a display 806. .
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the above-mentioned control device has a computer system inside.
  • the operations of the client and the I / O server described above are stored in a computer-readable recording medium in the form of a program, and the above processing can be performed by reading and executing this program by one or more computers. Will be done.
  • the computer-readable recording medium refers to a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, a semiconductor memory, or the like.
  • this computer program may be distributed to a computer via a communication line, and the computer receiving the distribution may execute the program.
  • the control method may be performed by recording a program for realizing the function of the control device on a computer-readable recording medium, causing the computer system to read the program recorded on the recording medium, and executing the program. ..
  • the term "computer system” as used herein includes hardware such as an OS and peripheral devices.
  • the "computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, or a CD-ROM, or a storage device such as a hard disk built in a computer system.
  • a "computer-readable recording medium” is a volatile memory (RAM) inside a computer system that serves as a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line.
  • RAM volatile memory
  • the above program may be transmitted from a computer system in which this program is stored in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium.
  • the "transmission medium” for transmitting a program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
  • the above program may be for realizing a part of the above-mentioned functions.
  • the program may be a so-called difference file (difference program) that can realize the above-mentioned functions in combination with a program already recorded in the computer system.
  • the present invention may be applied to clients, I / O servers, methods, and recording media.
  • Route information determination unit (route information determination means) 522 ... Transmission / reception command issuing unit (transmission / reception command issuing means) 523 ... Receiver (reception means) 524 ... Transmitter (transmission means) 530 ... Recording device 531 ... Disk controller 532 ... I / O mechanism 533 ... Recording disk 600 ... Client 610 ... Receiving unit 620 ... Communication route determining unit (communication route determining means) ) 630 ... I / O request issuing department (I / O request issuing means) 700 ... I / O server 710 ... Transmitter (transmission means) 800 ... Control device 804 ... Database 805 ... Communication module 806 ... Display

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A client according to the present invention is provided with: a reception unit which receives pathway information from an I/O server, the pathway information including information for identifying a recording disk and information for identifying components in the I/O server to be used by the client as a communication pathway to the recording disk; a communication pathway determination unit which determines the communication pathway to the recording disk on the basis of the pathway information; and an I/O request issuance unit which issues an I/O request on the basis of the communication pathway.

Description

クライアント、I/Oサーバ、方法、および記録媒体Clients, I / O servers, methods, and recording media
 本発明は、クライアント、I/Oサーバ、方法、および記録媒体に関する。 The present invention relates to clients, I / O servers, methods, and recording media.
 近年、コンピュータのノード内のI/O(Input/Output)バス(例えば、PCI Express等)や外部ネットワークのデータ転送速度が向上し、メモリとCPU(Central Processing Unit)との間のデータ転送のコストは無視できなくなりつつある。特にマルチCPUまたはマルチコアのシステムにおいてこの事情は顕著である。 In recent years, the data transfer speed of I / O (Input / Output) buses (for example, PCI Express) in computer nodes and external networks has improved, and the cost of data transfer between memory and CPU (Central Processing Unit) has increased. Is becoming unignorable. This situation is particularly remarkable in a multi-CPU or multi-core system.
 データ転送経路の選択に関して、例えば下記特許文献1には、情報処理装置内のインターコネクト間の繋がりを表す接続情報に基づいて、特定の経路を選択する技術が記載されている。また、下記特許文献2には、ストレージシステムの各要素の状態に基づいてボトルネックの発生を検出し、ボトルネックを回避するような経路を選択する技術が記載されている。 Regarding the selection of the data transfer route, for example, Patent Document 1 below describes a technique for selecting a specific route based on the connection information representing the connection between the interconnects in the information processing apparatus. Further, Patent Document 2 below describes a technique of detecting the occurrence of a bottleneck based on the state of each element of the storage system and selecting a route for avoiding the bottleneck.
日本国特開2015-156158号公報Japanese Patent Application Laid-Open No. 2015-156158 日本国特開2005-309748号公報Japanese Patent Application Laid-Open No. 2005-309748
 しかしながら、上記技術では、クライアントが、I/Oサーバ側のメモリとCPUとの間のデータ転送コストを考慮して、転送経路を選択できないという課題があった。 However, in the above technology, there is a problem that the client cannot select the transfer route in consideration of the data transfer cost between the memory on the I / O server side and the CPU.
 本発明の目的の一例は、上述した課題を解決する、クライアント、I/Oサーバ、方法、および記録媒体を提供することにある。 An example of an object of the present invention is to provide a client, an I / O server, a method, and a recording medium that solve the above-mentioned problems.
 本発明の第1の態様によれば、クライアントは、経路情報をI/Oサーバから受信する受信手段であって、前記経路情報は、記録ディスクを識別する情報と、前記記録ディスクへの通信経路として前記クライアントが使用すべき前記I/Oサーバ内の構成要素を識別する情報とを含む、受信手段と、前記経路情報に基づき、前記記録ディスクへの通信経路を決定する通信経路決定手段と、前記通信経路に基づき、I/O要求の発行を行うI/O要求発行手段とを備える。 According to the first aspect of the present invention, the client is a receiving means for receiving route information from an I / O server, and the route information includes information for identifying a recording disk and a communication path to the recording disk. A receiving means including information identifying a component in the I / O server to be used by the client, and a communication route determining means for determining a communication route to the recording disk based on the route information. It is provided with an I / O request issuing means for issuing an I / O request based on the communication path.
 本発明の第2の態様によれば、I/Oサーバは、経路情報をクライアントに送信する送信手段を備え、前記経路情報は、記録ディスクを識別する情報と、前記記録ディスクへの通信経路として前記クライアントが使用すべき前記I/Oサーバ内の構成要素を識別する情報とを含む。 According to the second aspect of the present invention, the I / O server includes a transmission means for transmitting route information to a client, and the route information is used as information for identifying a recording disk and a communication path to the recording disk. Includes information that identifies the components in the I / O server that the client should use.
 本発明の第3の態様によれば、方法は、経路情報をI/Oサーバから受信するステップであって、前記経路情報は、記録ディスクを識別する情報と、前記記録ディスクへの通信経路としてクライアントが使用すべき前記I/Oサーバ内の構成要素を識別する情報とを含む、ステップと、前記経路情報に基づき、前記記録ディスクへの通信経路を決定するステップと、前記通信経路に基づき、I/O要求の発行を行うステップとを含み、クライアントにより実行される。 According to the third aspect of the present invention, the method is a step of receiving route information from an I / O server, and the route information is used as information for identifying a recording disk and a communication path to the recording disk. Based on a step that includes information that identifies a component in the I / O server that the client should use, a step that determines a communication path to the recording disk based on the route information, and a communication path. Performed by the client, including the step of issuing an I / O request.
 本発明の第4の態様によれば、方法は、経路情報をクライアントに送信するステップを含み、前記経路情報は、記録ディスクを識別する情報と、前記記録ディスクへの通信経路として前記クライアントが使用すべきI/Oサーバ内の構成要素を識別する情報とを含み、I/Oサーバにより実行される。 According to a fourth aspect of the present invention, the method comprises transmitting route information to a client, the route information being used by the client as information identifying a recording disc and as a communication path to the recording disc. It contains information that identifies the components in the I / O server that should be executed by the I / O server.
 本発明の第5の態様によれば、記録媒体は、コンピュータに、経路情報をI/Oサーバから受信するステップであって、前記経路情報は、記録ディスクを識別する情報と、前記記録ディスクへの通信経路としてクライアントが使用すべき前記I/Oサーバ内の構成要素を識別する情報とを含む、ステップと、前記経路情報に基づき、前記記録ディスクへの通信経路を決定するステップと、前記通信経路に基づき、I/O要求の発行を行うステップとを実行させるためのプログラムを記憶する記録媒体である。 According to the fifth aspect of the present invention, the recording medium is a step of receiving the route information from the I / O server to the computer, and the route information is the information for identifying the recording disk and the recording disk. A step including information identifying a component in the I / O server to be used by the client as a communication path, a step of determining a communication path to the recording disk based on the route information, and the communication. It is a recording medium that stores a program for executing a step of issuing an I / O request based on a route.
 本発明の第5の態様によれば、記録媒体は、コンピュータに、記録ディスクを識別する情報と、前記記録ディスクへの通信経路としてクライアントが使用すべきI/Oサーバ内の構成要素を識別する情報とを含む経路情報をクライアントに送信するステップを実行させるためのプログラムを記憶した記録媒体である。 According to a fifth aspect of the present invention, the recording medium identifies to the computer the information that identifies the recording disc and the components in the I / O server that the client should use as a communication path to the recording disc. It is a recording medium that stores a program for executing a step of transmitting route information including information to a client.
第1の実施形態に係る分散共有ファイルシステムの全体構成を示す図である。It is a figure which shows the whole structure of the distributed shared file system which concerns on 1st Embodiment. 第1の実施形態に係るクライアント1をより詳細に示した図である。It is a figure which showed the client 1 which concerns on 1st Embodiment in more detail. 第1の実施形態に係るI/Oサーバ2をより詳細に示した図である。It is a figure which showed the I / O server 2 which concerns on 1st Embodiment in more detail. 第1の実施形態に係る高速ディスク装置4をより詳細に示した図である。It is a figure which showed the high-speed disk apparatus 4 which concerns on 1st Embodiment in more detail. 例示的なI/Oサーバのコストを示す図である。It is a figure which shows the cost of an exemplary I / O server. 例示的なI/Oサーバと高速ディスク装置との間のコストを示す図である。It is a figure which shows the cost between an exemplary I / O server and a high speed disk apparatus. 例示的な高速ディスク装置4のコストを示す図である。It is a figure which shows the cost of the exemplary high-speed disk apparatus 4. 例示的なクライアントのコストを示す図である。It is a figure which shows the cost of an exemplary client. 例示的なクライアントとI/Oサーバとの間のコストを示す図である。It is a figure which shows the cost between an exemplary client and an I / O server. 第1の実施形態に係るI/Oサーバ2,3の処理フローを示す図である。It is a figure which shows the processing flow of the I / O server 2 and 3 which concerns on 1st Embodiment. I/Oサーバ2によって計算された例示的な経路情報(ディスクへの最小経路の計算結果)を示す図である。It is a figure which shows the exemplary route information (calculation result of the minimum route to a disk) calculated by the I / O server 2. 第1の実施形態に係るクライアント1の処理フローを示す図である。It is a figure which shows the processing flow of the client 1 which concerns on 1st Embodiment. 第1の実施形態に係るクライアント1がI/Oサーバ2から受信する経路情報の例を示す図であり、部分(A)がI/Oサーバ#0の経路情報の例を示し、部分(B)がI/Oサーバ#1の経路情報の例を示す。It is a figure which shows the example of the route information which the client 1 which concerns on 1st Embodiment receives from the I / O server 2, the part (A) shows the example of the route information of I / O server # 0, and the part (B). ) Shows an example of the route information of I / O server # 1. 第1の実施形態に係るクライアント1がwriteのシステムコールの発行を行う処理フローを示す図である。It is a figure which shows the processing flow which the client 1 which concerns on 1st Embodiment issues a system call of write. 第1の実施形態に係るクライアント1がwriteのシステムコールの発行を行う処理フローを示す図である。It is a figure which shows the processing flow which the client 1 which concerns on 1st Embodiment issues a system call of write. 例示的なI/Oマップ(I/Oサーバ、I/OサーバNW機構とディスクの割り当て)を示す図である。It is a figure which shows an exemplary I / O map (I / O server, I / O server NW mechanism and disk allocation). 第1の実施形態に係るクライアント1がwriteのシステムコールの発行を行う動作を概略的に示した図である。It is a figure which showed schematic operation that the client 1 which concerns on 1st Embodiment issues a system call of write. クライアント1がreadのシステムコールの発行を行う場合の処理フローを示す図である。It is a figure which shows the processing flow when the client 1 issues a read system call. 第2の実施形態に係る分散共有ファイルシステムの構成を示す図である。It is a figure which shows the structure of the distributed shared file system which concerns on 2nd Embodiment. 第2の実施形態に係る分散共有ファイルシステムの処理フローを示す図である。It is a figure which shows the processing flow of the distributed shared file system which concerns on 2nd Embodiment. 第3の実施形態に係るクライアント600の構成を示す図である。It is a figure which shows the structure of the client 600 which concerns on 3rd Embodiment. 第3の実施形態に係るI/Oサーバ700の構成を示す図である。It is a figure which shows the structure of the I / O server 700 which concerns on 3rd Embodiment. 少なくとも1つの実施形態に係る制御装置800のハードウェア構成図である。It is a hardware block diagram of the control device 800 which concerns on at least one Embodiment.
<第1の実施形態>
 以下、第1の実施形態に係る分散共有ファイルシステムについて、図1から4を参照しながら説明する。
<First Embodiment>
Hereinafter, the distributed shared file system according to the first embodiment will be described with reference to FIGS. 1 to 4.
(分散共有ファイルシステムの全体構成)
 図1は、第1の実施形態に係る分散共有ファイルシステムの全体構成を示す図である。第1の実施形態に係る分散共有ファイルシステムは、クライアント1、I/Oサーバ2、I/Oサーバ3、および高速ディスク装置4を備える。本実施形態では、説明の容易さから、分散共有ファイルシステムが2つのI/Oサーバを備えることを例示するが、I/Oサーバは1つ、または3つ以上で構成してもよい。
(Overall configuration of distributed shared file system)
FIG. 1 is a diagram showing an overall configuration of a distributed shared file system according to the first embodiment. The distributed shared file system according to the first embodiment includes a client 1, an I / O server 2, an I / O server 3, and a high-speed disk device 4. In the present embodiment, for the sake of simplicity of explanation, it is illustrated that the distributed shared file system includes two I / O servers, but the I / O servers may be configured by one or three or more.
 分散共有ファイルシステムにおいて、クライアント1は、I/O要求を発行する際に、最もコストの小さいI/O経路情報をI/Oサーバ2,3から受け取り、その情報を使ってI/O要求を発行する。また、クライアント自身も、クライアント自身に最適なI/O通信経路情報を作成し、その情報を加えて使用してI/O要求を発行する。これらの仕組みにより、分散共有ファイルシステム全体のスループットを向上させる。 In the distributed shared file system, when issuing an I / O request, the client 1 receives the least cost I / O route information from the I / O servers 2 and 3, and uses that information to make an I / O request. Issue. In addition, the client itself creates the optimum I / O communication route information for the client itself, adds the information, and issues an I / O request. These mechanisms improve the overall throughput of the distributed shared file system.
(クライアント1の構成)
 クライアント1は、複数のネットワーク(以下、NW)処理機構11を備える。NW処理機構11は、それぞれ高速ネットワーク5に接続される。なお、本実施形態では、クライアント1が2つのNW処理機構11を備えるが、他の実施形態では、1つ、または3つ以上のNW処理機構11を備えてよい。
(Configuration of client 1)
The client 1 includes a plurality of network (hereinafter, NW) processing mechanisms 11. Each of the NW processing mechanisms 11 is connected to the high-speed network 5. In this embodiment, the client 1 is provided with two NW processing mechanisms 11, but in other embodiments, one or three or more NW processing mechanisms 11 may be provided.
 図2は、第1の実施形態に係るクライアント1をより詳細に示した図である。図2を参照すると、クライアント1は、NW処理機構#0(111)およびNW機構#1(112)を備える。NW処理機構#0(111)およびNW機構#1(112)は、図1におけるNW処理機構11に対応する。NW処理機構#0(111)は、CPU#0(1111)、メモリ#0(1112)、およびNW機構#0(1113)と、ディスク装置1114を備える。ディスク装置1114は、クライアントソフトウエアを格納する。また、NW処理機構#1(112)は、CPU#1(1121)、メモリ#1(1122)、およびNW機構#1(1123)を備える。CPU#0(1111)とCPU#1(1121)は、インターコネクト12で接続されている。これらCPUは、共有ファイルシステムのクライアント機能を提供する装置であってよい。 FIG. 2 is a diagram showing the client 1 according to the first embodiment in more detail. Referring to FIG. 2, the client 1 includes NW processing mechanism # 0 (111) and NW mechanism # 1 (112). The NW processing mechanism # 0 (111) and the NW mechanism # 1 (112) correspond to the NW processing mechanism 11 in FIG. The NW processing mechanism # 0 (111) includes a CPU # 0 (1111), a memory # 0 (1112), a NW mechanism # 0 (1113), and a disk device 1114. The disk device 1114 stores the client software. Further, the NW processing mechanism # 1 (112) includes a CPU # 1 (1121), a memory # 1 (1122), and a NW mechanism # 1 (1123). CPU # 0 (1111) and CPU # 1 (1121) are connected by an interconnect 12. These CPUs may be devices that provide the client function of the shared file system.
 (I/Oサーバ2,3の構成)
 図1に示されるように、I/Oサーバ2(I/Oサーバ#0)およびI/Oサーバ3(#1)は、それぞれ2つのI/O処理機構21を備える。I/O処理機構21の各々は、高速ネットワーク5に接続されるとともに、高速ディスク装置4に接続される。本実施形態では、I/O処理機構21の各々は、高速ネットワーク5を介して、クライアント1のNW処理機構11に接続されるが、高速ネットワーク5を介さずに接続されてよいことに留意する。各I/Oサーバが備えるI/O処理機構21の数は、2つに限定されるものではなく、他の実施形態では任意の数のI/O処理機構21がI/Oサーバに備えられる。
(Configuration of I / O servers 2 and 3)
As shown in FIG. 1, the I / O server 2 (I / O server # 0) and the I / O server 3 (# 1) each include two I / O processing mechanisms 21. Each of the I / O processing mechanisms 21 is connected to the high-speed network 5 and also to the high-speed disk device 4. In the present embodiment, it should be noted that each of the I / O processing mechanisms 21 is connected to the NW processing mechanism 11 of the client 1 via the high-speed network 5, but may be connected without going through the high-speed network 5. .. The number of I / O processing mechanisms 21 included in each I / O server is not limited to two, and in other embodiments, an arbitrary number of I / O processing mechanisms 21 are provided in the I / O server. ..
 図3は、第1の実施形態に係るI/Oサーバ2をより詳細に示した図である。図3ではI/Oサーバ2のみを示すが、I/Oサーバ3も同様の構成を有してよい。図3を参照すると、I/Oサーバ2は、I/O処理機構#0(211)およびI/O処理機構#1(212)を備える。I/O処理機構#0(211)は、CPU#0(2111)、メモリ#0(2112)、NW機構#0(2113)、I/O機構#0(2114)、およびディスク装置2115を備える。ディスク装置2115は、I/Oサーバソフトウエアを格納する。また、ディスク装置2115は、後述する各種の経路コスト表を格納してよい。次にI/O処理機構#1(212)は、CPU#1(2121)、メモリ#1(2122)、NW機構#1(2123)、I/O機構#1(2114)を備える。CPU#0(2111)とCPU#1(2121)は、インターコネクト22で接続されている。これらのCPUは、共有ファイルシステムのサーバ機能を提供する装置であってよい。 FIG. 3 is a diagram showing the I / O server 2 according to the first embodiment in more detail. Although FIG. 3 shows only the I / O server 2, the I / O server 3 may have a similar configuration. Referring to FIG. 3, the I / O server 2 includes an I / O processing mechanism # 0 (211) and an I / O processing mechanism # 1 (212). The I / O processing mechanism # 0 (211) includes a CPU # 0 (2111), a memory # 0 (2112), an NW mechanism # 0 (2113), an I / O mechanism # 0 (2114), and a disk device 2115. .. The disk device 2115 stores the I / O server software. Further, the disk device 2115 may store various route cost tables described later. Next, the I / O processing mechanism # 1 (212) includes a CPU # 1 (2121), a memory # 1 (2122), an NW mechanism # 1 (2123), and an I / O mechanism # 1 (2114). CPU # 0 (2111) and CPU # 1 (2121) are connected by an interconnect 22. These CPUs may be devices that provide the server function of the shared file system.
 (高速ディスク装置4)
 図1に示されるように、高速ディスク装置4は、2つのディスクコントローラ41を備える。ディスクコントローラ41の各々は、I/O機構42を経由してディスク43に接続される。また、ディスクコントローラ41は、それぞれI/Oサーバ2およびI/Oサーバ3に接続される。第1の実施形態では例示的に上記の構成を採用するが、他の実施形態では、任意の数のディスクコントローラ41、I/O機構42、およびディスク43を採用してよい。
(High-speed disk device 4)
As shown in FIG. 1, the high-speed disk device 4 includes two disk controllers 41. Each of the disk controllers 41 is connected to the disk 43 via the I / O mechanism 42. Further, the disk controller 41 is connected to the I / O server 2 and the I / O server 3, respectively. In the first embodiment, the above configuration is exemplified, but in other embodiments, an arbitrary number of disk controllers 41, I / O mechanism 42, and disk 43 may be adopted.
 図4は、第1の実施形態に係る高速ディスク装置4をより詳細に示した図である。図4に示されるように、ディスクコントローラ#0(411)は、I/O機構#0(421)を経由してディスクA,B,C,Dに接続される。また、ディスクコントローラ#1(412)は、I/O機構#1(422)を経由してディスクE,F,G,Hに接続される。また、ディスクコントローラ#0(411)と、ディスクコントローラ#1(412)は、インターコネクト44で接続されている。ディスクコントローラ#0(411)とI/O機構#1(422)を経由するディスクE,F,G,Hへのアクセス、および、ディスクコントローラ#1(412)とI/O機構#0(421)を経由するディスクA,B,C,Dのアクセスは、代替のパスとして接続される。一方で、これらの経路のアクセス効率は、非対称の論理ユニットへのアクセスとなるため、前述の経路よりは悪化し得ることに留意する。 FIG. 4 is a diagram showing the high-speed disk device 4 according to the first embodiment in more detail. As shown in FIG. 4, the disk controller # 0 (411) is connected to the disks A, B, C, and D via the I / O mechanism # 0 (421). Further, the disk controller # 1 (412) is connected to the disks E, F, G, and H via the I / O mechanism # 1 (422). Further, the disk controller # 0 (411) and the disk controller # 1 (412) are connected by the interconnect 44. Access to disks E, F, G, H via disk controller # 0 (411) and I / O mechanism # 1 (422), and disk controller # 1 (412) and I / O mechanism # 0 (421). ), The access of the disks A, B, C, and D is connected as an alternative path. On the other hand, it should be noted that the access efficiency of these routes may be worse than that of the above-mentioned routes because the access to the asymmetrical logical unit is performed.
 本願実施形態では、説明の容易さから分散共有ファイルシステムが具体的な数の構成要素を含むが、上記のように一般的には、分散共有ファイルシステムに含まれるクライアント1、I/Oサーバ2、および高速ディスク装置4の数は任意であってよい。この際、クライアント、I/Oサーバ、高速ディスク装置に含まれる各コンポーネントも、上記のように任意の数で構成されてよいことに留意する。 In the embodiment of the present application, the distributed shared file system includes a specific number of components for ease of explanation, but as described above, generally, the client 1 and the I / O server 2 included in the distributed shared file system are included. , And the number of high-speed disk devices 4 may be arbitrary. At this time, it should be noted that each component included in the client, the I / O server, and the high-speed disk device may be configured by an arbitrary number as described above.
(I/Oサーバ2,3の処理フロー)
 図10は、第1の実施形態に係るI/Oサーバ2,3の処理フローを示す図である。以下では、図3、図4、および図10を参照して、I/Oサーバ2,3の処理フローを説明する。以下では特にI/Oサーバ2の動作を説明するが、I/Oサーバ3も同様の動作を行ってよい。
(Processing flow of I / O servers 2 and 3)
FIG. 10 is a diagram showing a processing flow of the I / O servers 2 and 3 according to the first embodiment. Hereinafter, the processing flow of the I / O servers 2 and 3 will be described with reference to FIGS. 3, 4, and 10. The operation of the I / O server 2 will be particularly described below, but the I / O server 3 may also perform the same operation.
 第1の実施形態に係るI/Oサーバ2の処理フローは、例えばI/Oサーバ2が起動することで開始する。起動時においてI/Oサーバ2は、ディスク装置2115に格納してあるI/Oサーバソフトウエアをメモリ上にロードして起動し、その後、以下の動作を行う。 The processing flow of the I / O server 2 according to the first embodiment starts when, for example, the I / O server 2 is started. At startup, the I / O server 2 loads the I / O server software stored in the disk device 2115 into the memory and starts it, and then performs the following operations.
 まずステップS101において、I/Oサーバ2はI/Oサーバ2のコスト表を読み込む。I/Oサーバのコスト表は、I/Oサーバ内における構成要素間の経路コスト情報を提供する。経路コスト情報は、その経路を用いた場合の通信コストを示し、より具体的にはアクセスホップ数、帯域幅、および通信性能等である。第1の実施形態では理解を容易にするために、経路コスト情報としてアクセスホップ数を採用する。アクセスホップ数とは、具体的にはI/Oサーバ内のメモリ、CPU、NW機構、I/O機構の接続間におけるアクセスホップ数を示してよい。図5は、例示的なI/Oサーバのコストを示す図である。図5において、最上行および最左列に構成要素を示す記号が示され、2つの構成要素間のアクセスホップ数が表体内に記載される。例えば、C0はI/OサーバのCPU#0を示し、M1は、I/Oサーバのメモリ#1を示す。これらの構成要素間では、図3を参照すれば明らかなように、CPU#0からインターコネクト22を介してCPU#1に到達し、さらにCPU#1からメモリ#1に到達するため、アクセスホップ数は2である。 First, in step S101, the I / O server 2 reads the cost table of the I / O server 2. The I / O server cost table provides route cost information between the components within the I / O server. The route cost information indicates the communication cost when the route is used, and more specifically, the number of access hops, the bandwidth, the communication performance, and the like. In the first embodiment, the number of access hops is adopted as the route cost information for easy understanding. Specifically, the number of access hops may indicate the number of access hops between the connections of the memory, the CPU, the NW mechanism, and the I / O mechanism in the I / O server. FIG. 5 is a diagram showing the cost of an exemplary I / O server. In FIG. 5, symbols indicating components are shown in the top row and leftmost column, and the number of access hops between the two components is described in the table. For example, C0 indicates CPU # 0 of the I / O server, and M1 indicates memory # 1 of the I / O server. As is clear from FIG. 3, between these components, the number of access hops is reached because the CPU # 0 reaches the CPU # 1 via the interconnect 22 and the CPU # 1 reaches the memory # 1. Is 2.
 次にステップS102において、I/Oサーバ2は、I/Oサーバ2のI/O機構#0(2114)およびI/O機構#1(2124)と接続している高速ディスク装置4に関するI/Oサーバと高速ディスク装置との間のコスト表を読み込む。I/Oサーバと高速ディスク装置との間のコスト表は、I/Oサーバおよび高速ディスク装置間の経路コスト情報を示し、本願実施形態ではI/Oサーバおよび高速ディスク装置間のアクセスホップ数を示す。図6は、例示的なI/Oサーバと高速ディスク装置との間のコストを示す図である。図6では、I/OサーバのI/O機構#0(2114)およびI/O機構#1(2124)と、これらに接続している高速ディスク装置4のディスクコントローラ#0(411)およびディスクコントローラ#1(412)との間のアクセスホップ数が示されている。例えばiI0はI/Oサーバ2のI/O機構#0を示し、dC0は高速ディスク装置4のディスクコントローラ#0を示し、これらのアクセスホップ数は図1,3,4を参照すれば明らかなように1である。また、本実施形態では、I/Oサーバ2のI/O機構#0と高速ディスク装置4のディスクコントローラ#1は接続されないため、iI0とdC1の間のアクセスホップ数は空欄となっている。 Next, in step S102, the I / O server 2 relates to the high-speed disk device 4 connected to the I / O mechanism # 0 (2114) and the I / O mechanism # 1 (2124) of the I / O server 2. Read the cost table between the O server and the high speed disk unit. The cost table between the I / O server and the high-speed disk device shows the route cost information between the I / O server and the high-speed disk device, and in the embodiment of the present application, the number of access hops between the I / O server and the high-speed disk device is calculated. show. FIG. 6 is a diagram showing the cost between an exemplary I / O server and a high speed disk device. In FIG. 6, the I / O mechanism # 0 (2114) and the I / O mechanism # 1 (2124) of the I / O server, and the disk controller # 0 (411) and the disk of the high-speed disk device 4 connected to these are shown. The number of access hops to and from controller # 1 (412) is shown. For example, iI0 indicates the I / O mechanism # 0 of the I / O server 2, dC0 indicates the disk controller # 0 of the high-speed disk device 4, and the number of access hops thereof is clear by referring to FIGS. It is 1. Further, in the present embodiment, since the I / O mechanism # 0 of the I / O server 2 and the disk controller # 1 of the high-speed disk device 4 are not connected, the number of access hops between iI0 and dC1 is blank.
 さらに、ステップS103において、I/Oサーバ2は高速ディスク装置4のコスト表を読み込む。高速ディスク装置4のコスト表は、高速ディスク装置内におけるディスクコントローラからのその他の構成要素への経路コスト情報を示し、本願実施形態ではディスクコントローラからのその他の構成要素へのアクセスホップ数を示す。図7は、例示的な高速ディスク装置4のコストを示す図である。図7において、dC0は、ディスクコントローラ#0(411)を示している。dC1はディスクコントローラ#1(412)を示す。I0はI/O機構#0(421)を示している。I1はI/O機構#1(422)を示している。D0はディスク43のうちA,B,C,Dの集合を示している。D1はディスク43のうちE、F、G、およびHの集合を示している。例えば、dC1で示されるディスクコントローラ#1(412)と、D0で示されるディスクA,B,C,Dの集合とのアクセスホップ数は、まずディスクコントローラ#1(412)からインターコネクト44を介してディスクコントローラ#0(411)に到達し、I/O機構#0(412)に到達し、ディスクA,B,C,Dの集合に到達するため、3である。 Further, in step S103, the I / O server 2 reads the cost table of the high-speed disk device 4. The cost table of the high-speed disk device 4 shows the route cost information from the disk controller to other components in the high-speed disk device, and shows the number of access hops from the disk controller to other components in the embodiment of the present application. FIG. 7 is a diagram showing the cost of an exemplary high-speed disk device 4. In FIG. 7, dC0 indicates disk controller # 0 (411). dC1 indicates disk controller # 1 (412). I0 indicates the I / O mechanism # 0 (421). I1 indicates I / O mechanism # 1 (422). D0 represents a set of A, B, C, and D of the disk 43. D1 represents a set of E, F, G, and H of the disc 43. For example, the number of access hops between the disk controller # 1 (412) represented by dC1 and the set of disks A, B, C, and D represented by D0 is first determined from the disk controller # 1 (412) via the interconnect 44. It is 3 because it reaches the disk controller # 0 (411), reaches the I / O mechanism # 0 (412), and reaches the set of disks A, B, C, and D.
 ステップS104において、I/Oサーバ2は、I/Oサーバ2のコスト表、I/Oサーバと高速ディスク装置との間のコスト表、および高速ディスク装置のコスト表に基づいて、高速ディスク装置4のA,B,C,D、および高速ディスク装置4のE,F,G,Hについて、各ディスク43へのアクセスホップ数が最小となる経路を計算することで経路情報を生成する。この経路情報は、クライアント1が通信経路として使用すべき経路と特定するための情報としてクライアント1に転送される。 In step S104, the I / O server 2 uses the high-speed disk device 4 based on the cost table of the I / O server 2, the cost table between the I / O server and the high-speed disk device, and the cost table of the high-speed disk device. Route information is generated by calculating the route that minimizes the number of access hops to each disk 43 for A, B, C, D, and E, F, G, and H of the high-speed disk device 4. This route information is transferred to the client 1 as information for identifying the route that the client 1 should use as the communication route.
 図11は、I/Oサーバ2によって計算された例示的な経路情報を示す図である。図11は、高速ディスク装置4のディスク43のA,B,C,D,E,F,G,Hとクライアント1との経路コストが最小となるような経路に使用されるコンポーネントの組を示している。上記のように、経路コストとはアクセスホップ数であってよく、この場合、図11は、最小のアクセスホップ数を有する経路を実現するようなコンポーネントの組を示している。上記のように、最小のアクセスホップ数を有する経路は、例えば、図5、図6、および図7に示すコスト表に基づき決定される。また、図11に示される表は、ディスク43のA,B,C,D,E,F,G,Hの各々からみて、どのディスクコントローラ、I/O機構、CPU、NW機構が、最小コストとなっているかを表している。表の順序は、ディスク上に共有ファイルシステムの断片(chunk)のファイルを生成する順序を示している。経路情報の算出は、例えばディスクA→E→B→F→C→G→D→Hの順にファイルを生成し、またAに戻る、というようにラウンドロビンで割り当てを行うことにより、高速ディスク装置4のディスクコントローラ#0(411)およびディスクコントローラ#1(412)を両方同時に動作させることができる。なお、図5-7に示すコスト表は、I/Oサーバ2上にあらかじめ静的に与えておくか、適切な方法(例えば高速ディスク装置4であれば、ALUAの機構を使う等)で決定し、ディスク装置2115に格納しておくことができる。 FIG. 11 is a diagram showing exemplary route information calculated by the I / O server 2. FIG. 11 shows a set of components used for a route that minimizes the route cost between A, B, C, D, E, F, G, H and the client 1 of the disk 43 of the high-speed disk device 4. ing. As described above, the route cost may be the number of access hops, and in this case, FIG. 11 shows a set of components that realizes the route having the minimum number of access hops. As described above, the route with the minimum number of access hops is determined, for example, based on the cost tables shown in FIGS. 5, 6, and 7. Further, in the table shown in FIG. 11, which disk controller, I / O mechanism, CPU, and NW mechanism is the minimum cost when viewed from each of A, B, C, D, E, F, G, and H of the disk 43. It shows whether it is. The order in the table shows the order in which the files for the shared file system chunks are generated on disk. The route information is calculated by creating a file in the order of disk A-> E-> B-> F-> C-> G-> D-> H, and then returning to A by round-robin allocation. Both the disk controller # 0 (411) and the disk controller # 1 (412) of No. 4 can be operated at the same time. The cost table shown in FIG. 5-7 is statically given to the I / O server 2 in advance, or determined by an appropriate method (for example, in the case of the high-speed disk device 4, the ALUA mechanism is used). However, it can be stored in the disk device 2115.
 次に、ステップS105において、経路情報を用いてI/Oスレッドの起動を行う。I/Oスレッドは、図3を参照すると、CPU#0(2111)上で起動するI/Oスレッド#0(2116)と、CPU#1(2121)上で起動するI/Oスレッド#1(2126)がある。I/Oスレッドは、それぞれ複数個生成される。このとき、I/Oサーバ2は、例えば図5に示されるI/Oサーバコスト表を参照して、CPU#0(2111)またはCPU#1(2121)からみて、ホップ数が最小のメモリおよびNW機構およびI/O機構を選択するI/Oスレッドを生成する。 Next, in step S105, the I / O thread is started using the route information. As for the I / O threads, referring to FIG. 3, I / O threads # 0 (2116) started on CPU # 0 (2111) and I / O threads # 1 (I / O threads # 1) started on CPU # 1 (2121). There are 2126). Multiple I / O threads are created for each. At this time, the I / O server 2 refers to, for example, the I / O server cost table shown in FIG. Create an I / O thread that selects the NW and I / O mechanisms.
 例えば、I/Oスレッド#0(2116)は、メモリ#0(2112)を使用し、NW機構#0(2113)の割り込みを待ち受けており、NW機構(2113)に入出力要求が上がると、CPU#0(2111)を使って、起動する。また、高速ディスク装置4へのI/O要求については、I/O機構#0(2114)を優先的に使用する。同様にI/Oスレッド#1(2126)は、メモリ#1(2122)を使用し、NW機構#1(2123)の割り込みを待ち受けており、NW機構(2123)に入出力要求が上がると、CPU#1(2121)を使って、起動する。また、高速ディスク装置4へのI/O要求については、I/O機構#0(2124)を優先的に使用する。 For example, I / O thread # 0 (2116) uses memory # 0 (2112) and listens for an interrupt from NW mechanism # 0 (2113). When an input / output request is sent to NW mechanism (2113), Start using CPU # 0 (2111). Further, for the I / O request to the high-speed disk apparatus 4, the I / O mechanism # 0 (2114) is preferentially used. Similarly, the I / O thread # 1 (2126) uses the memory # 1 (2122) and listens for an interrupt of the NW mechanism # 1 (2123). Start using CPU # 1 (2121). Further, for the I / O request to the high-speed disk apparatus 4, the I / O mechanism # 0 (2124) is preferentially used.
(クライアント1の処理フロー)
 次に、クライアント1の動作について詳細に説明する。図12は、第1の実施形態に係るクライアント1の処理フローを示す図である。
(Processing flow of client 1)
Next, the operation of the client 1 will be described in detail. FIG. 12 is a diagram showing a processing flow of the client 1 according to the first embodiment.
 例えば、クライアント1の処理フローは、クライアント1が動作を始めることで開始する。その際、クライアント1は、ディスク装置1114に格納してあるクライアントソフトウエアをメモリ上にロードして起動し、その後、以下の動作を実行する。 For example, the processing flow of the client 1 starts when the client 1 starts the operation. At that time, the client 1 loads the client software stored in the disk device 1114 into the memory and starts it, and then executes the following operations.
 ステップS201において、クライアントのコスト表を読み込む。図8は、例示的なクライアントのコストを示す図である。クライアントのコスト表は、クライアント1内の構成要素間における経路コスト情報を示す。本実施形態に係るクライアントのコスト表は、その他の表と同様に、クライアント内のメモリ、CPU、およびNW機構の接続間のアクセスホップ数を示している。 In step S201, read the client cost table. FIG. 8 is a diagram showing an exemplary client cost. The client cost table shows route cost information between the components within client 1. The client cost table according to the present embodiment shows the number of access hops between the connections of the memory, the CPU, and the NW mechanism in the client, like the other tables.
 次にステップS202において、クライアントのNW機構#0(1113)およびNW機構#1(1123)とI/Oサーバ2との間に関するクライアントとI/Oサーバとの間のコスト表を読み込む。図9は、例示的なクライアントとI/Oサーバとの間のコストを示す図である。クライアントとI/Oサーバとの間のコスト表は、クライアントのNW機構#0(1113)およびNW機構#1(1123)と、I/OサーバのNW機構#0(2113)およびNW機構#1(2123)とのアクセスホップ数を示している。図8および9に示すコスト表は、クライアント1上にあらかじめ静的に与えておくか、適切な方法で決定し、ディスク装置1114に格納しておくことができる。 Next, in step S202, the cost table between the client and the I / O server regarding the client's NW mechanism # 0 (1113) and NW mechanism # 1 (1123) and the I / O server 2 is read. FIG. 9 is a diagram showing the cost between an exemplary client and an I / O server. The cost table between the client and the I / O server shows the client's NW mechanism # 0 (1113) and NW mechanism # 1 (1123), and the I / O server's NW mechanism # 0 (2113) and NW mechanism # 1. It shows the number of access hops with (2123). The cost tables shown in FIGS. 8 and 9 can be statically given to the client 1 in advance or determined by an appropriate method and stored in the disk device 1114.
 次にステップS203において、I/Oサーバ2から経路情報を受信し、読み込む。図13は、クライアント1がI/Oサーバ2から受信する経路情報の例を示す図である。この例示では、図11に示されるI/Oサーバ2上で計算したディスクへの最小経路の計算結果のうち、ディスクおよびI/Oサーバ2のNW機構の部分を、クライアント1がI/Oサーバ2から取得する。このとき、I/OサーバNW機構のGIDもあわせて取得する。GIDはネットワーク上で通信する際に識別するためのユニークな識別子を示す。 Next, in step S203, route information is received from the I / O server 2 and read. FIG. 13 is a diagram showing an example of route information received by the client 1 from the I / O server 2. In this example, among the calculation results of the minimum route to the disk calculated on the I / O server 2 shown in FIG. 11, the client 1 is the I / O server for the NW mechanism part of the disk and the I / O server 2. Get from 2. At this time, the GID of the I / O server NW mechanism is also acquired. The GID indicates a unique identifier for identifying when communicating on the network.
 次にステップS204において、I/Oサーバ3から経路情報を受信し、読み込む。ステップS204においても、I/Oサーバ2の場合と同様に、I/Oサーバ3からディスクへの最小経路の計算結果のうち、ディスクおよびI/Oサーバ3のNW機構の部分を、クライアント1が取得する(図13)。I/Oサーバ2および3から経路情報を受信する動作は、本処理フローが開始される以前に行われていてもよい。その場合、ステップS203およびステップS204では、経路情報を受信する動作をスキップし、単に読み込み動作のみを行う。 Next, in step S204, route information is received from the I / O server 3 and read. In step S204 as well, as in the case of the I / O server 2, the client 1 performs the NW mechanism portion of the disk and the I / O server 3 in the calculation result of the minimum route from the I / O server 3 to the disk. Acquire (Fig. 13). The operation of receiving the route information from the I / O servers 2 and 3 may be performed before the start of this processing flow. In that case, in step S203 and step S204, the operation of receiving the route information is skipped, and only the reading operation is performed.
 次にステップS205において、クライアントコスト表、クライアントとIOサーバとの間のコスト表、および経路情報に基づき、I/Oスレッドの起動を行う。I/Oスレッドは、図2を参照すると、CPU#0(1111)上で起動するI/Oスレッド#0(1115)と、CPU#1(1121)上で起動するI/Oスレッド#1(1125)がある。I/Oスレッドは、それぞれ複数個生成される。このとき、クライアントは、クライアントコスト表(図8)を参照して、CPU#0(1111)、CPU#1(1121)からみて、ホップ数が最小のメモリを選択するよう、I/Oスレッドを生成する。さらに、NW機構についてCPU#1(1121)からみて、ホップ数が最小のNW機構を使用する。 Next, in step S205, the I / O thread is started based on the client cost table, the cost table between the client and the IO server, and the route information. With reference to FIG. 2, the I / O threads are the I / O thread # 0 (1115) started on the CPU # 0 (1111) and the I / O thread # 1 (1115) started on the CPU # 1 (1121). There is 1125). Multiple I / O threads are created for each. At this time, the client refers to the client cost table (FIG. 8) and sets the I / O thread so as to select the memory having the smallest number of hops in view of CPU # 0 (1111) and CPU # 1 (1121). Generate. Further, regarding the NW mechanism, the NW mechanism having the smallest number of hops is used in view of CPU # 1 (1121).
 例えば、I/Oスレッド#0(1115)は、メモリ#0(1112)を使用し、NW機構#0(1113)を使ってI/Oサーバへデータの送受信を行う。同様に、I/Oスレッド#1(1125)はメモリ#1(1122)を使用し、NW機構#1(1123)を使ってI/Oサーバ#1へデータの送受信を行う。 For example, I / O thread # 0 (1115) uses memory # 0 (1112) and sends / receives data to / from the I / O server using NW mechanism # 0 (1113). Similarly, the I / O thread # 1 (1125) uses the memory # 1 (1122) and uses the NW mechanism # 1 (1123) to send and receive data to and from the I / O server # 1.
(クライアント1のwriteシステムコールの処理フロー)
 次に、クライアント1がI/O発行を行う方法について説明する。まず、クライアントがwriteのシステムコールの発行を行う場合の動きについて説明する。図14Aおよび14Bは、第1の実施形態に係るクライアント1がwriteのシステムコールの発行を行う処理フローを示す図である。
(Processing flow of write system call of client 1)
Next, a method in which the client 1 issues I / O will be described. First, the operation when the client issues a write system call will be described. 14A and 14B are diagrams showing a processing flow in which the client 1 according to the first embodiment issues a write system call.
 クライアント1がwriteのシステムコールの発行を行う場合、クライアント1上のキャッシュメモリ上に一旦データをコピーする。キャッシュメモリは、クライアント1からデータを発行もしくは再利用するための一時領域であり、クライアント上のメモリ#0(1112)またはメモリ#1(1122)に置かれる。このとき、メモリ上のデータの配置を、次のように決定する。 When the client 1 issues a write system call, the data is temporarily copied to the cache memory on the client 1. The cache memory is a temporary area for issuing or reusing data from the client 1, and is placed in the memory # 0 (1112) or the memory # 1 (1122) on the client. At this time, the arrangement of the data in the memory is determined as follows.
 ステップS301において、クライアント1は、最初のI/Oを行う起点となるI/Oサーバを決定する。これは共有ファイルシステムのプロトコルの一部であり、説明のためにI/Oサーバ2が指定されている場合を想定する。 In step S301, the client 1 determines the I / O server that is the starting point for performing the first I / O. This is part of the shared file system protocol, and it is assumed that the I / O server 2 is specified for the sake of explanation.
 ステップS302において、次に起点となるI/Oサーバに対してファイルの作成要求を行う。このとき、I/Oサーバ2が起点となるサーバとして指定されているため、I/Oサーバ2から、共有ファイルシステムで管理するファイルハンドルとともに、ディスクの書き込みの起点となるディスクを戻り値として受信する。本例示では、Aが返却されたとする。 In step S302, a file creation request is made to the I / O server that is the next starting point. At this time, since the I / O server 2 is designated as the starting server, the I / O server 2 receives the file handle managed by the shared file system as well as the disk that is the starting point for writing the disk as a return value. do. In this example, it is assumed that A has been returned.
 次に、ステップS303において、クライアント1は、受信したディスク名を起点として、受信した経路情報(図13)に基づき、高速ディスク装置のディスクに対するアクセスが、ホップ数として最小となる通信経路を示すI/Oマップを生成する。本実施形態において、I/Oマップは、経路として、クライアントのメモリ領域、I/Oサーバ、I/OサーバのNW機構、およびディスク装置を特定する。図15は、例示的なI/Oマップを示す図である。 Next, in step S303, the client 1 indicates a communication path that minimizes access to the disk of the high-speed disk device as the number of hops, starting from the received disk name, based on the received route information (FIG. 13). / O Generate a map. In the present embodiment, the I / O map identifies the memory area of the client, the I / O server, the NW mechanism of the I / O server, and the disk device as the route. FIG. 15 is a diagram showing an exemplary I / O map.
 I/Oサーバ上でディスクを割り当てるアルゴリズムは、ラウンドロビンで行われてよい。ディスクの性能を引き出すため、A→E→B→F→C→G→D→Hの順でchunkのサイズ毎に領域を割り当て、Aに戻り、また再び、A→E→B→F→C→G→D→Hの順でディスクの領域を割りあてる。このアルゴリズムは、図12のステップS203、ステップS204で取得する経路情報の表の順序で表現されている(図13)。また、同一のディスクをもつI/Oサーバ#1の場合は、コスト表(図13)の順序に従いI/Oサーバ自身をラウンドロビンで振り分けるように、I/Oマップ(図15)を生成する。 The algorithm for allocating disks on the I / O server may be round-robin. In order to bring out the performance of the disk, the area is allocated for each chunk size in the order of A → E → B → F → C → G → D → H, returns to A, and again A → E → B → F → C. Allocate disk space in the order of → G → D → H. This algorithm is expressed in the order of the table of route information acquired in step S203 and step S204 of FIG. 12 (FIG. 13). In the case of I / O server # 1 having the same disk, an I / O map (FIG. 15) is generated so that the I / O servers themselves are distributed by round robin according to the order of the cost table (FIG. 13). ..
 ステップS304において、キャッシュメモリへのデータ配置について、ディスクへのデータ読み書き単位(chunk)と、ファイルの先頭からのアドレスと、I/Oマップ(図15)に従い、メモリ#0またはメモリ#1へユーザ領域からコピーする。 In step S304, regarding the data allocation to the cache memory, the user to the memory # 0 or the memory # 1 according to the data read / write unit (chunk) to the disk, the address from the beginning of the file, and the I / O map (FIG. 15). Copy from the area.
 一旦キャッシュメモリへデータの配置が終わると、writeのシステムコールを終了する。実際のwrite処理は、ステップS305において、次のI/Oフラッシュが開始され、I/Oフラッシュを起動するまで待つ。 Once the data has been placed in the cache memory, the write system call is terminated. In the actual write process, in step S305, the next I / O flash is started, and the process waits until the I / O flash is started.
 クライアント1は、I/Oフラッシュが開始されると、I/Oスレッドを起動する。このときも、I/Oマップ(図15)に従い、起動するI/Oスレッドは、書き込むデータがメモリ#0にある場合はI/Oスレッド#0(1115)を、メモリ#1にある場合はI/Oスレッド#1(1125)を起動する。I/Oスレッドは、クライアントコスト表(図8)と、I/Oマップ(図15)に従い、最小コストのNW機構#0またはNW機構#1を使用し、データを適切なI/OサーバのNW機構に付加しているGIDに対して送信要求する。このとき、スレッドの資源消費を削減するため、いくつかの書き込み要求を1つのスレッドで行ってよい。ステップS306において、クライアント1は、最小コストの経路を用いてI/Oサーバにデータ送信を行う。図16は、第1の実施形態に係るクライアント1がwriteのシステムコールの発行を行う動作を概略的に示した図である。 Client 1 starts the I / O thread when the I / O flash is started. Also at this time, according to the I / O map (FIG. 15), the I / O thread to be started has I / O thread # 0 (1115) when the data to be written is in memory # 0, and I / O thread # 0 (1115) when the data to be written is in memory # 1. Start I / O thread # 1 (1125). The I / O thread uses the lowest cost NW mechanism # 0 or NW mechanism # 1 according to the client cost table (Fig. 8) and the I / O map (Fig. 15) to transfer data to the appropriate I / O server. Request transmission to the GID attached to the NW mechanism. At this time, in order to reduce the resource consumption of the thread, some write requests may be made by one thread. In step S306, the client 1 transmits data to the I / O server using the lowest cost route. FIG. 16 is a diagram schematically showing an operation in which the client 1 according to the first embodiment issues a write system call.
 次にステップS307において、発行した書き込み要求が完了するまで送信したスレッドをスリープさせる。なお、I/Oサーバのデータ送信には、ユーザメモリのデータの他に、ファイルのオフセット値が含まれており、受信したI/Oサーバ側では、どのディスクへwrite要求を出せばよいかが、判断できるようになっている。 Next, in step S307, the transmitted thread is put to sleep until the issued write request is completed. Note that the data transmission of the I / O server includes the offset value of the file in addition to the data in the user memory, and the received I / O server side determines to which disk the write request should be issued. You can judge.
 ステップS308において、I/Oサーバ2側でデータの書き込みが終わると、I/Oサーバ2からI/O完了の通知を受信する。 In step S308, when the writing of data is completed on the I / O server 2 side, the notification of the completion of I / O is received from the I / O server 2.
 ステップS309において、I/Oスレッドを起動待ち状態にする。 In step S309, the I / O thread is put into the start waiting state.
(クライアント1のreadシステムコールの処理フロー)
 次に、クライアント1がreadのシステムコールの発行を行う場合の動きについて説明する。図17は、クライアント1がreadのシステムコールの発行を行う場合の処理フローを示す図である。クライアント1がreadのシステムコールの発行を行う場合、一旦クライアント1上のキャッシュメモリ上である、クライアント1上のメモリ#0(1112)またはメモリ#1(1122)にデータの受信をおこなう領域を確保する。このとき、メモリ上のデータの配置を、次のように決定する。
(Processing flow of read system call of client 1)
Next, the operation when the client 1 issues a read system call will be described. FIG. 17 is a diagram showing a processing flow when the client 1 issues a read system call. When the client 1 issues a read system call, an area for receiving data is once secured in the memory # 0 (1112) or the memory # 1 (1122) on the client 1 which is on the cache memory on the client 1. do. At this time, the arrangement of the data in the memory is determined as follows.
 ステップS401において、クライアント1は最初のI/Oを行う起点となるI/Oサーバを決定する。これは共有ファイルシステムのプロトコルの一部であり、I/Oサーバ2が指定されているとする。 In step S401, the client 1 determines the I / O server that is the starting point for performing the first I / O. It is assumed that this is a part of the shared file system protocol and the I / O server 2 is specified.
 次にステップS402において、I/Oサーバ2に対して、ファイルハンドルの要求を行う。このとき、I/Oサーバ2からは、共有ファイルシステムのファイルハンドルとともに、ディスクの読み込みの起点となるディスクを戻り値として返す。本例示では、Aが返却されたとする。 Next, in step S402, the file handle is requested from the I / O server 2. At this time, the I / O server 2 returns the disk that is the starting point of reading the disk as a return value together with the file handle of the shared file system. In this example, it is assumed that A has been returned.
 次にステップS403において、クライアントは、そのディスク名を起点として、収集した経路情報(図13)より、高速ディスク装置のディスクに対するアクセスが、ホップ数として最小となるI/Oサーバ、I/OサーバのNW機構、ディスク装置のI/Oマップ(図15)を生成する。このとき、I/Oサーバ上で読み込み用ディスクが割り当てられているアルゴリズムはラウンドロビンで行われてよい。ディスクの性能を引き出すため、A→E→B→F→C→G→D→Hの順でchunkのサイズ毎に領域が割り当てられており、Aに戻り、また再び、A→E→B→F→C→G→D→Hの順でディスクの領域を割りあてられている。このアルゴリズムは、図12のステップS203,ステップS204で取得する、経路情報の表の順序で表現されている(図13)。また、同一のディスクをもつI/Oサーバの場合は、経路情報(図13)の順序に従いI/Oサーバ自身をラウンドロビンで振り分けるように、I/Oマップ(図15)を生成する。 Next, in step S403, the client uses the disk name as a starting point, and based on the collected route information (FIG. 13), the I / O server and the I / O server have the minimum number of hops to access the disk of the high-speed disk device. Generates an I / O map (Fig. 15) of the NW mechanism and disk device of. At this time, the algorithm in which the reading disk is allocated on the I / O server may be performed in round robin. In order to bring out the performance of the disk, the area is allocated for each chunk size in the order of A → E → B → F → C → G → D → H, returns to A, and again A → E → B → The disk area is allocated in the order of F → C → G → D → H. This algorithm is expressed in the order of the route information table acquired in step S203 and step S204 of FIG. 12 (FIG. 13). Further, in the case of an I / O server having the same disk, an I / O map (FIG. 15) is generated so that the I / O server itself is distributed by round robin according to the order of the route information (FIG. 13).
 次にステップS404において、I/Oマップに従い、読み込み用のキャッシュメモリ領域を確保する。 Next, in step S404, a cache memory area for reading is secured according to the I / O map.
 次にステップS405において、I/Oスレッドを起動する。このとき読み込むデータがメモリ#0にある場合は、I/Oスレッド#0(1115)、メモリ#1にある場合は、I/Oスレッド#1(1125)を起動する。 Next, in step S405, the I / O thread is started. If the data to be read at this time is in memory # 0, I / O thread # 0 (1115) is started, and if it is in memory # 1, I / O thread # 1 (1125) is started.
 ステップS408において、I/Oスレッドは、クライアントコスト表(図8)と、I/Oマップ(図15)に従い、最小コストのNW機構#0またはNW機構#1を使用し、データを適切なI/OサーバのNW機構に付加しているGIDに対して読み込み要求する。一方、ステップS406において、ReadのプロセスはすべてのI/Oが完了までスリープする。 In step S408, the I / O thread uses the lowest cost NW mechanism # 0 or NW mechanism # 1 according to the client cost table (FIG. 8) and the I / O map (FIG. 15) to bring the data to the appropriate I. Request read from the GID attached to the NW mechanism of the / O server. On the other hand, in step S406, the Read process sleeps until all I / O is completed.
 次にステップS409において、読み込み要求したスレッドは発行した読み込み要求が完了するまでスリープする。I/Oサーバのデータ送信には、ユーザメモリのデータの他に、ファイルのオフセット値が含まれており、受信したI/Oサーバ側では、どのディスクへread要求を出せばよいかが、判断できるようになっている。 Next, in step S409, the thread requesting read sleeps until the issued read request is completed. The data transmission of the I / O server includes the offset value of the file in addition to the data in the user memory, and the received I / O server side can determine to which disk the read request should be issued. It has become like.
 ステップS410において、I/Oサーバ側でデータの読み込みが終わると、I/Oサーバ2からI/O完了が通知される。 In step S410, when the data reading is completed on the I / O server side, the I / O server 2 notifies the completion of I / O.
 ステップS411において、I/Oスレッドはクライアントreadプロセスを起動させ、ステップS412において次の起動をまつ。一方で、ステップS407において、全てのI/Oスレッドのread要求が終わると、キャッシュメモリからユーザメモリへデータをコピーする。 In step S411, the I / O thread starts the client read process, and in step S412, it waits for the next start. On the other hand, in step S407, when the read requests of all the I / O threads are completed, the data is copied from the cache memory to the user memory.
(第1の実施形態の変形例)
 また、第1の実施形態の変形例として、CPUとメモリの部分をCPU内のコアとそれを接続するメモリ機構の構成に拡張して、本発明の実施形態を適用することも可能である。また2つ以上のCPUおよびメモリソケットを持つシステムに対しても本発明の実施形態を適用することが可能である。また、第1の実施形態では、I/Oサーバ2は、I/Oサーバ2内の経路コスト情報、I/Oサーバと高速ディスク装置との間の経路コスト情報、および高速ディスク装置内の経路コスト情報に基づき、各々の高速ディスクへのコスト最小経路を計算したが、他の実施形態では、I/Oサーバ2は、これらの経路コスト情報をクライアント1に送信し、クライアント1がコスト最小経路を計算することも可能である。
(Modified example of the first embodiment)
Further, as a modification of the first embodiment, it is also possible to extend the portion of the CPU and the memory to the configuration of the core in the CPU and the memory mechanism connecting the core, and apply the embodiment of the present invention. It is also possible to apply the embodiment of the present invention to a system having two or more CPUs and memory sockets. Further, in the first embodiment, the I / O server 2 uses the route cost information in the I / O server 2, the route cost information between the I / O server and the high-speed disk device, and the route in the high-speed disk device. The minimum cost route to each high-speed disk was calculated based on the cost information, but in another embodiment, the I / O server 2 transmits these route cost information to the client 1, and the client 1 sends the minimum cost route. It is also possible to calculate.
(作用および効果)
 第1の実施形態に係る分散共有ファイルシステムは、I/O発行を行うクライアント1内のNW機構、CPU、およびメモリの間の経路コストと算出し、I/Oサーバ内でのNW機構、CPU、およびメモリの経路コストと高速ストレージ装置内のストレージへの経路コストとを算出する。さらに、I/Oを行うストレージの単位での最適なI/Oパスをクライアント1へ通知することにより、クライアント1は、コスト最小となるI/O発行経路を判断して、I/O発行を行うことが可能となる。これにより、クライアント1、I/Oサーバ2,3、および高速ディスク装置4内でのデータ移動を最小とすることができるため、共有ファイルシステム全体のスループットの向上が可能である。
(Action and effect)
The distributed shared file system according to the first embodiment calculates the path cost between the NW mechanism, the CPU, and the memory in the client 1 that issues I / O, and calculates the path cost between the NW mechanism, the CPU, and the memory in the I / O server. , And the path cost of the memory and the path cost to the storage in the high-speed storage device are calculated. Furthermore, by notifying the client 1 of the optimum I / O path for each storage unit in which I / O is performed, the client 1 determines the I / O issuance route that minimizes the cost and issues the I / O. It becomes possible to do. As a result, data movement within the client 1, the I / O servers 2, 3 and the high-speed disk device 4 can be minimized, so that the throughput of the entire shared file system can be improved.
<第2の実施形態>
 第1の実施形態では、より明確な理解のためにより具体的な態様を用いて説明を行った。第2の実施形態では、分散共有ファイルシステム全体をより概念的に説明する。第1の実施形態を第2の実施形態に組み合わせることが可能である。
<Second embodiment>
In the first embodiment, a more specific embodiment has been described for a clearer understanding. In the second embodiment, the entire distributed shared file system will be described more conceptually. It is possible to combine the first embodiment with the second embodiment.
(第2の実施形態に係る分散共有ファイルシステムの構成)
 図18は、第2の実施形態に係る分散共有ファイルシステムの構成を示す図である。第2の実施形態に係る分散共有ファイルシステムは、1つまたは複数のクライアント510と1つまたは複数のI/Oサーバ520と、1つまたは複数の記録装置530を備える。
(Configuration of distributed shared file system according to the second embodiment)
FIG. 18 is a diagram showing a configuration of a distributed shared file system according to the second embodiment. The distributed shared file system according to the second embodiment includes one or more clients 510, one or more I / O servers 520, and one or more recording devices 530.
 クライアント510は、通信経路決定部511、I/O要求発行部512、受信部513、および送信部514を備える。クライアント510は、第1の実施形態と同様に、1つまたは複数のNW処理機構を備えてよく、クライアント内のNW処理機構は、任意の数のメモリ、CPU、およびNW機構を備えてよい。通信経路決定部511は、NW処理機構内のCPUによって構成されてよい。 The client 510 includes a communication path determination unit 511, an I / O request issuing unit 512, a receiving unit 513, and a transmitting unit 514. The client 510 may include one or more NW processing mechanisms, as in the first embodiment, and the NW processing mechanisms within the client may include any number of memories, CPUs, and NW mechanisms. The communication path determination unit 511 may be configured by a CPU in the NW processing mechanism.
 I/Oサーバ520は、経路情報決定部521、送受信命令発行部522、受信部523、および送信部524を備える。I/Oサーバ520は、第1の実施形態と同様に、1つまたは複数のI/O処理機構を備えてよく、このI/O処理機構は、任意の数のメモリ、CPU、およびNW機構を備えてよい。また経路情報決定部521は、I/O処理機構内のCPUによって構成されてよい。 The I / O server 520 includes a route information determination unit 521, a transmission / reception command issuing unit 522, a receiving unit 523, and a transmitting unit 524. The I / O server 520 may include one or more I / O processing mechanisms, as in the first embodiment, which may include any number of memory, CPU, and NW mechanisms. May be equipped. Further, the route information determination unit 521 may be configured by a CPU in the I / O processing mechanism.
 記録装置530は、1つまたは複数のディスクコントローラ531と、1つまたは複数のI/O機構532と、1つまたは複数の記録ディスク533とを備える。 The recording device 530 includes one or more disk controllers 531, one or more I / O mechanisms 532, and one or more recording disks 533.
(第2の実施形態に係る分散共有ファイルシステムの処理フロー)
 図19は、第2の実施形態に係る分散共有ファイルシステムの処理フローを示す図である。1つのクライアント510に注目して動作を説明するが、処理フローは、各クライアント510に関して別個に実行可能である。
(Processing flow of the distributed shared file system according to the second embodiment)
FIG. 19 is a diagram showing a processing flow of the distributed shared file system according to the second embodiment. Although the operation will be described with reference to one client 510, the processing flow can be executed separately for each client 510.
 ステップS1501において、I/Oサーバ520の経路情報決定部521は、I/Oサーバ520内の構成要素間の経路コスト情報と、I/Oサーバ520および記録装置530の間の経路コスト情報と、記録装置530内の構成要素間の経路コスト情報とに基づき、記録ディスク533への経路情報を決定する。I/Oサーバ520内の構成要素は、CPU、メモリ、I/O機構、およびNW機構を含む。また、記録装置530内の構成要素は、ディスクコントローラ531、I/O機構532、および記録ディスク533を含む。経路情報は、記録装置530内の記録ディスク533への最小コストの通信経路を示してよい。また、経路コスト情報は、アクセスホップ数、帯域幅、および通信性能等を含む。経路コスト情報は、例えば、第1の実施形態で示したコスト表として表される。 In step S1501, the route information determination unit 521 of the I / O server 520 receives the route cost information between the components in the I / O server 520, the route cost information between the I / O server 520 and the recording device 530, and the route cost information. The route information to the recording disk 533 is determined based on the route cost information between the components in the recording device 530. The components in the I / O server 520 include a CPU, memory, I / O mechanism, and NW mechanism. In addition, the components in the recording device 530 include a disk controller 531, an I / O mechanism 532, and a recording disk 533. The route information may indicate the lowest cost communication route to the recording disk 533 in the recording device 530. In addition, the route cost information includes the number of access hops, bandwidth, communication performance, and the like. The route cost information is represented, for example, as a cost table shown in the first embodiment.
 ステップS1502において、クライアント510の通信経路決定部511は、クライアント510内の各構成要素間の経路コスト情報と、クライアント510とI/Oサーバ520との間の経路コスト情報とを読み込む。クライアント510内の構成要素は、CPU、メモリ、およびNW機構を含む。 In step S1502, the communication route determination unit 511 of the client 510 reads the route cost information between each component in the client 510 and the route cost information between the client 510 and the I / O server 520. The components in the client 510 include a CPU, memory, and NW mechanism.
 ステップS1503において、クライアント510の受信部513は、I/Oサーバ520が決定した経路情報を、I/Oサーバ520の送信部524を介して受信する。本実施形態では、クライアント510がI/Oサーバ520から受信する経路情報は、記録ディスク533を識別する情報と、記録ディスク533への通信経路としてクライアント510が使用すべきI/Oサーバ520内の構成要素を識別する情報とを含んでよい。使用すべきI/Oサーバ520内の構成要素は、例えばI/Oサーバ520のNW機構を示す情報であってよい。 In step S1503, the receiving unit 513 of the client 510 receives the route information determined by the I / O server 520 via the transmitting unit 524 of the I / O server 520. In the present embodiment, the route information received by the client 510 from the I / O server 520 includes the information that identifies the recording disk 533 and the information in the I / O server 520 that the client 510 should use as a communication path to the recording disk 533. It may include information that identifies the component. The component in the I / O server 520 to be used may be, for example, information indicating the NW mechanism of the I / O server 520.
 ステップS1504において、クライアント510の通信経路決定部511は、I/Oサーバ520から受信した経路情報と、クライアント510内の構成要素間の経路コスト情報と、クライアント510とI/Oサーバ520との間の経路コスト情報に基づき、対象とする記録ディスク533への通信経路を決定する。例えば、決定される通信経路は、経路コストが最小となるものであってよい。また、ステップS1504において決定される通信経路は、記録ディスク533へ経路の一部であってよい。例えば、通信経路は、第1の実施形態で示したように、対象となる記録ディスク533、クライアント510のメモリ領域、I/Oサーバ520、およびI/Oサーバ520のNW機構を指定する。 In step S1504, the communication route determination unit 511 of the client 510 receives the route information received from the I / O server 520, the route cost information between the components in the client 510, and between the client 510 and the I / O server 520. The communication route to the target recording disk 533 is determined based on the route cost information of. For example, the determined communication route may be one that minimizes the route cost. Further, the communication path determined in step S1504 may be a part of the path to the recording disk 533. For example, as shown in the first embodiment, the communication path specifies the target recording disk 533, the memory area of the client 510, the I / O server 520, and the NW mechanism of the I / O server 520.
 ステップS1505において、クライアント510のI/O要求発行部512は、決定した通信経路に基づきI/O要求の発行を行う。例えばI/O要求発行部512は、クライアントのメモリに一番近いCPUおよびNW機構を使用するような通信経路を用いてI/O要求の発行を行う。また、I/O要求の発行を行う際、クライアント510の送信部514は、I/Oサーバ520に対してI/O要求を送信する。 In step S1505, the I / O request issuing unit 512 of the client 510 issues an I / O request based on the determined communication path. For example, the I / O request issuing unit 512 issues an I / O request using a communication path that uses the CPU and NW mechanism closest to the memory of the client. Further, when issuing the I / O request, the transmission unit 514 of the client 510 transmits the I / O request to the I / O server 520.
 ステップS1506において、I/Oサーバ520の受信部523は、クライアント510からI/O要求を受信する。その際、I/Oサーバ520は、I/O要求を受信したNW機構に含まれるCPUで動作するI/O待ちプロセスを起動させてよい。 In step S1506, the receiving unit 523 of the I / O server 520 receives the I / O request from the client 510. At that time, the I / O server 520 may start an I / O waiting process running on the CPU included in the NW mechanism that has received the I / O request.
 ステップS1507において、I/Oサーバ520の送受信命令発行部522は、ステップS1501において決定した経路情報に基づき、記録ディスク533へのI/Oデータの送受信命令を発行する。例えば、I/Oサーバ520の送受信命令発行部522は、起動されたCPUに一番近いメモリおよびI/O機構を使用して、I/Oデータの送受信命令を発行する。 In step S1507, the transmission / reception command issuing unit 522 of the I / O server 520 issues an I / O data transmission / reception command to the recording disk 533 based on the route information determined in step S1501. For example, the transmission / reception instruction issuing unit 522 of the I / O server 520 issues an I / O data transmission / reception instruction using the memory and the I / O mechanism closest to the started CPU.
(第2の実施形態による効果)
 以上のように、クライアント510の受信部513は、経路情報をI/Oサーバ520から受信する。経路情報は、記録ディスク533を識別する情報と、記録ディスク533への通信経路としてクライアント510が使用すべきI/Oサーバ520内の構成要素を識別する情報とを含む。通信経路決定部511は、経路情報に基づき、記録ディスク533への通信経路を決定する。I/O要求発行部512は、決定した通信経路に基づき、I/O要求の発行を行う。
 上記構成により、第2の実施形態に係る分散共有ファイルシステムでは、クライアント510が、I/Oサーバ520内の構成要素間の経路コストまでも考慮して、I/O要求の発行を行うことができる。これにより共有ファイルシステム全体のスループットの向上が可能である。
(Effect of the second embodiment)
As described above, the receiving unit 513 of the client 510 receives the route information from the I / O server 520. The route information includes information that identifies the recording disk 533 and information that identifies a component in the I / O server 520 that the client 510 should use as a communication path to the recording disk 533. The communication route determination unit 511 determines the communication route to the recording disk 533 based on the route information. The I / O request issuing unit 512 issues an I / O request based on the determined communication path.
With the above configuration, in the distributed shared file system according to the second embodiment, the client 510 can issue an I / O request in consideration of the route cost between the components in the I / O server 520. can. This makes it possible to improve the throughput of the entire shared file system.
 また、クライアント510の通信経路決定部511は、クライアント510内の構成要素間の経路コスト情報にさらに基づき記録ディスク533への通信経路を決定する。
 これにより、クライアント510内の経路コストを考慮してI/O要求の発行を行うことができる。結果、共有ファイルシステム全体のスループットのさらなる向上が可能である。
Further, the communication route determination unit 511 of the client 510 determines the communication route to the recording disk 533 based on the route cost information between the components in the client 510.
As a result, the I / O request can be issued in consideration of the route cost in the client 510. As a result, the throughput of the entire shared file system can be further improved.
 また、クライアント510の通信経路決定部511は、クライアント510とI/Oサーバ520との間の経路コスト情報にさらに基づき、記録ディスク533への通信経路を決定する。
 これにより、クライアント510は、ネットワークのデータ転送コストを考慮して最適なI/Oサーバを選択し、選択されたI/Oサーバ内の最適な構成要素を経路としてIO要求を行うことができる。結果、共有ファイルシステム全体のスループットのさらなる向上が可能である。
Further, the communication route determination unit 511 of the client 510 determines the communication route to the recording disk 533 based on the route cost information between the client 510 and the I / O server 520.
As a result, the client 510 can select the optimum I / O server in consideration of the data transfer cost of the network, and make an IO request using the optimum component in the selected I / O server as a route. As a result, the throughput of the entire shared file system can be further improved.
 また、I/Oサーバ520の送信部524は、経路情報をクライアント510に送信する。経路情報は、記録ディスク533を識別する情報と、記録ディスク533への通信経路としてクライアント510が使用すべきI/Oサーバ520内の構成要素を識別する情報とを含む。これにより、クライアント510は経路情報を取得できるため、I/Oサーバ520内の構成要素間の経路コストまでも考慮して、I/O要求の発行を行うことができる。結果、共有ファイルシステム全体のスループットの向上が可能である。 Further, the transmission unit 524 of the I / O server 520 transmits the route information to the client 510. The route information includes information that identifies the recording disk 533 and information that identifies a component in the I / O server 520 that the client 510 should use as a communication path to the recording disk 533. As a result, since the client 510 can acquire the route information, the I / O request can be issued in consideration of the route cost between the components in the I / O server 520. As a result, it is possible to improve the throughput of the entire shared file system.
 また、I/Oサーバ520は記録装置(ディスク装置)530に結合される。I/Oサーバ520の経路情報決定部521は、I/Oサーバ520内の構成要素間の経路コスト情報、I/Oサーバ520と記録装置(ディスク装置)530との間の経路コスト情報、および記録装置(ディスク装置)530内の構成要素間の経路コスト情報に基づき、経路情報を決定する。
 これにより、I/Oサーバ520も、装置構成要素間の経路コストとネットワーク転送コストの両方を考慮して記録ディスク533への送受信命令を発行可能となる。結果、共有ファイルシステム全体のスループットの向上が可能である。
Further, the I / O server 520 is coupled to the recording device (disk device) 530. The route information determination unit 521 of the I / O server 520 determines the route cost information between the components in the I / O server 520, the route cost information between the I / O server 520 and the recording device (disk device) 530, and the route cost information. The route information is determined based on the route cost information between the components in the recording device (disk device) 530.
As a result, the I / O server 520 can also issue a transmission / reception command to the recording disk 533 in consideration of both the route cost between the device components and the network transfer cost. As a result, it is possible to improve the throughput of the entire shared file system.
 また、経路コスト情報は、アクセスホップ数を含む。
 アクセスホップ数を用いることによって、経路コスト情報の算出をより容易に行うことができる。
In addition, the route cost information includes the number of access hops.
By using the number of access hops, the route cost information can be calculated more easily.
<第3の実施形態>
 図20は、第3の実施形態によるクライアント600の構成を示す図である。本実施形態によるクライアント600は、少なくとも受信部610と通信経路決定部620とI/O要求発行部630とを備える。受信部610は、経路情報をI/Oサーバ700から受信する。経路情報は、記録ディスクを識別する情報と、記録ディスクへの通信経路としてクライアントが使用すべきI/Oサーバ700内の構成要素を識別する情報とを含む。通信経路決定部620は、経路情報に基づき、前記記録ディスクへの通信経路を決定する。I/O要求発行部630は、通信経路に基づき、I/O要求の発行を行う。
<Third embodiment>
FIG. 20 is a diagram showing a configuration of the client 600 according to the third embodiment. The client 600 according to the present embodiment includes at least a receiving unit 610, a communication route determining unit 620, and an I / O request issuing unit 630. The receiving unit 610 receives the route information from the I / O server 700. The route information includes information for identifying a recording disk and information for identifying a component in the I / O server 700 that the client should use as a communication path to the recording disk. The communication route determination unit 620 determines the communication route to the recording disk based on the route information. The I / O request issuing unit 630 issues an I / O request based on the communication path.
 図21は、第3の実施形態によるI/Oサーバ700の構成を示す図である。本実施形態によるサーバは、少なくとも送信部710を備える。送信部710は、経路情報をクライアント600に送信する。経路情報は、記録ディスクを識別する情報と、記録ディスクへの通信経路としてクライアント600が使用すべきI/Oサーバ内の構成要素を識別する情報とを含む。 FIG. 21 is a diagram showing a configuration of the I / O server 700 according to the third embodiment. The server according to this embodiment includes at least a transmission unit 710. The transmission unit 710 transmits the route information to the client 600. The route information includes information for identifying a recording disk and information for identifying a component in the I / O server that the client 600 should use as a communication path to the recording disk.
<制御装置のハードウェア構成>
 図22は、少なくとも1つの実施形態に係る制御装置800のハードウェア構成図である。制御装置800は、例えば、クライアント1、クライアント510、クライアント600、I/Oサーバ2,3、I/Oサーバ520、またはI/Oサーバ700に備えられる制御装置に対応してよい。この図が示すように制御装置800はCPU801、ROM(Read Only Memory)802、RAM(Random Access Memory)803、データベース804、通信モジュール805、ディスプレイ806等の各ハードウェアを備えたコンピュータであってよい。
<Hardware configuration of control device>
FIG. 22 is a hardware configuration diagram of the control device 800 according to at least one embodiment. The control device 800 may correspond to, for example, a control device provided in the client 1, the client 510, the client 600, the I / O servers 2, 3, the I / O server 520, or the I / O server 700. As shown in this figure, the control device 800 may be a computer having hardwares such as a CPU 801 and a ROM (Read Only Memory) 802, a RAM (Random Access Memory) 803, a database 804, a communication module 805, and a display 806. ..
 上述の制御装置は内部に、コンピュータシステムを有している。そして、上述したクライアントおよびI/Oサーバの動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムを1つまたは複数のコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。 The above-mentioned control device has a computer system inside. The operations of the client and the I / O server described above are stored in a computer-readable recording medium in the form of a program, and the above processing can be performed by reading and executing this program by one or more computers. Will be done. Here, the computer-readable recording medium refers to a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, a semiconductor memory, or the like. Further, this computer program may be distributed to a computer via a communication line, and the computer receiving the distribution may execute the program.
 上記制御装置の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上記制御方法を行ってもよい。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。 The control method may be performed by recording a program for realizing the function of the control device on a computer-readable recording medium, causing the computer system to read the program recorded on the recording medium, and executing the program. .. The term "computer system" as used herein includes hardware such as an OS and peripheral devices. Further, the "computer-readable recording medium" refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, or a CD-ROM, or a storage device such as a hard disk built in a computer system. Furthermore, a "computer-readable recording medium" is a volatile memory (RAM) inside a computer system that serves as a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, it shall include those that hold the program for a certain period of time.
 また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。 Further, the above program may be transmitted from a computer system in which this program is stored in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the "transmission medium" for transmitting a program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. Further, the above program may be for realizing a part of the above-mentioned functions. Further, the program may be a so-called difference file (difference program) that can realize the above-mentioned functions in combination with a program already recorded in the computer system.
 以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although some embodiments of the present invention have been described above, these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, as well as in the scope of the invention described in the claims and the equivalent scope thereof.
 この出願は、2020年3月18日に出願された日本国特願2020-047913号を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese Patent Application No. 2020-047913 filed on March 18, 2020, and incorporates all of its disclosures here.
 本発明は、クライアント、I/Oサーバ、方法、および記録媒体に適用してもよい。 The present invention may be applied to clients, I / O servers, methods, and recording media.
1・・・クライアント
2・・・I/Oサーバ
3・・・I/Oサーバ
4・・・高速ディスク装置
5・・・高速ネットワーク
11・・・NW処理機構
12・・・インターコネクト
21・・・I/O処理機構
22・・・インターコネクト
41・・・ディスクコントローラ
42・・・I/O機構
43・・・ディスク
44・・・インターコネクト
111・・・NW処理機構#0
112・・・NW処理機構#1
510・・・クライアント
511・・・通信経路決定部(通信経路決定手段)
512・・・I/O要求発行部(I/O要求発行手段)
513・・・受信部(受信手段)
514・・・送信部(送信手段)
520・・・I/Oサーバ
521・・・経路情報決定部(経路情報決定手段)
522・・・送受信命令発行部(送受信命令発行手段)
523・・・受信部(受信手段)
524・・・送信部(送信手段)
530・・・記録装置
531・・・ディスクコントローラ
532・・・I/O機構
533・・・記録ディスク
600・・・クライアント
610・・・受信部
620・・・通信経路決定部(通信経路決定手段)
630・・・I/O要求発行部(I/O要求発行手段)
700・・・I/Oサーバ
710・・・送信部(送信手段)
800・・・制御装置
804・・・データベース
805・・・通信モジュール
806・・・ディスプレイ
1 ... Client 2 ... I / O server 3 ... I / O server 4 ... High-speed disk device 5 ... High-speed network 11 ... NW processing mechanism 12 ... Interconnect 21 ... I / O processing mechanism 22 ... Interconnect 41 ... Disk controller 42 ... I / O mechanism 43 ... Disk 44 ... Interconnect 111 ... NW processing mechanism # 0
112 ... NW processing mechanism # 1
510 ... Client 511 ... Communication route determination unit (communication route determination means)
512 ... I / O request issuing department (I / O request issuing means)
513 ... Receiver (reception means)
514 ... Transmitter (transmission means)
520 ... I / O server 521 ... Route information determination unit (route information determination means)
522 ... Transmission / reception command issuing unit (transmission / reception command issuing means)
523 ... Receiver (reception means)
524 ... Transmitter (transmission means)
530 ... Recording device 531 ... Disk controller 532 ... I / O mechanism 533 ... Recording disk 600 ... Client 610 ... Receiving unit 620 ... Communication route determining unit (communication route determining means) )
630 ... I / O request issuing department (I / O request issuing means)
700 ... I / O server 710 ... Transmitter (transmission means)
800 ... Control device 804 ... Database 805 ... Communication module 806 ... Display

Claims (10)

  1.  経路情報をI/Oサーバから受信する受信手段であって、前記経路情報は、記録ディスクを識別する情報と、前記記録ディスクへの通信経路としてクライアントが使用すべき前記I/Oサーバ内の構成要素を識別する情報とを含む、受信手段と、
     前記経路情報に基づき、前記記録ディスクへの通信経路を決定する通信経路決定手段と、
     前記通信経路に基づき、I/O要求の発行を行うI/O要求発行手段と
    を備える、クライアント。
    It is a receiving means for receiving route information from an I / O server, and the route information includes information for identifying a recording disk and a configuration in the I / O server that a client should use as a communication path to the recording disk. Receiving means, including information that identifies the element,
    A communication route determining means for determining a communication route to the recording disk based on the route information,
    A client comprising an I / O request issuing means for issuing an I / O request based on the communication path.
  2.  前記通信経路決定手段が、前記クライアント内の構成要素間の経路コスト情報にさらに基づき前記記録ディスクへの通信経路を決定する、請求項1に記載のクライアント。 The client according to claim 1, wherein the communication route determining means further determines a communication route to the recording disk based on route cost information between the components in the client.
  3.  前記通信経路決定手段が、前記クライアントと前記I/Oサーバとの間の経路コスト情報にさらに基づき、前記記録ディスクへの通信経路を決定する、請求項2に記載のクライアント。 The client according to claim 2, wherein the communication route determining means determines a communication route to the recording disk based on route cost information between the client and the I / O server.
  4.  経路情報をクライアントに送信する送信手段をさらに備え、
     前記経路情報は、記録ディスクを識別する情報と、前記記録ディスクへの通信経路として前記クライアントが使用すべきI/Oサーバ内の構成要素を識別する情報とを含む、I/Oサーバ。
    Further equipped with a transmission means for transmitting route information to the client,
    The route information is an I / O server including information for identifying a recording disk and information for identifying a component in the I / O server that the client should use as a communication path to the recording disk.
  5.  前記I/Oサーバがディスク装置に結合され、
     前記I/Oサーバ内の構成要素間の経路コスト情報、前記I/Oサーバと前記ディスク装置との間の経路コスト情報、および前記ディスク装置内の構成要素間の経路コスト情報に基づき、前記経路情報を決定する経路情報決定手段を
    さらに備える、請求項4に記載のI/Oサーバ。
    The I / O server is coupled to the disk unit and
    The route is based on the route cost information between the components in the I / O server, the route cost information between the I / O server and the disk device, and the route cost information between the components in the disk device. The I / O server according to claim 4, further comprising a route information determining means for determining information.
  6.  前記経路コスト情報が、アクセスホップ数を含む、請求項5に記載のI/Oサーバ。 The I / O server according to claim 5, wherein the route cost information includes the number of access hops.
  7.  経路情報をI/Oサーバから受信するステップであって、前記経路情報は、記録ディスクを識別する情報と、前記記録ディスクへの通信経路としてクライアントが使用すべき前記I/Oサーバ内の構成要素を識別する情報とを含む、ステップと、
     前記経路情報に基づき、前記記録ディスクへの通信経路を決定するステップと、
     前記通信経路に基づき、I/O要求の発行を行うステップと
    を含み、クライアントにより実行される、方法。
    A step of receiving route information from an I / O server, the route information is information that identifies a recording disk and components in the I / O server that the client should use as a communication path to the recording disk. Steps and, including information that identifies
    A step of determining a communication route to the recording disk based on the route information, and
    A method performed by a client, including the step of issuing an I / O request based on the communication path.
  8.  経路情報をクライアントに送信するステップを含み、
     前記経路情報は、記録ディスクを識別する情報と、前記記録ディスクへの通信経路として前記クライアントが使用すべきI/Oサーバ内の構成要素を識別する情報とを含み、I/Oサーバにより実行される、方法。
    Including the step of sending route information to the client
    The route information includes information for identifying a recording disk and information for identifying a component in the I / O server that the client should use as a communication path to the recording disk, and is executed by the I / O server. How to do it.
  9.  コンピュータに、
     経路情報をI/Oサーバから受信するステップであって、前記経路情報は、記録ディスクを識別する情報と、前記記録ディスクへの通信経路としてクライアントが使用すべき前記I/Oサーバ内の構成要素を識別する情報とを含む、ステップと、
     前記経路情報に基づき、前記記録ディスクへの通信経路を決定するステップと、
     前記通信経路に基づき、I/O要求の発行を行うステップと
    を実行させるためのプログラムを記憶した記録媒体。
    On the computer
    A step of receiving route information from an I / O server, the route information is information that identifies a recording disk and components in the I / O server that the client should use as a communication path to the recording disk. Steps and, including information that identifies
    A step of determining a communication route to the recording disk based on the route information, and
    A recording medium that stores a program for executing a step of issuing an I / O request based on the communication path.
  10.  コンピュータに、
     記録ディスクを識別する情報と、前記記録ディスクへの通信経路としてクライアントが使用すべきI/Oサーバ内の構成要素を識別する情報とを含む経路情報をクライアントに送信するステップを
     実行させるためのプログラムを記憶した記録媒体。
    On the computer
    A program for executing a step of transmitting route information to a client, including information for identifying a recording disk and information for identifying a component in an I / O server that the client should use as a communication path to the recording disk. A recording medium that stores information.
PCT/JP2021/010592 2020-03-18 2021-03-16 Client, i/o server, method, and recording medium WO2021187476A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022508375A JPWO2021187476A5 (en) 2021-03-16 CLIENT, I/O SERVER, METHOD AND PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-047913 2020-03-18
JP2020047913 2020-03-18

Publications (1)

Publication Number Publication Date
WO2021187476A1 true WO2021187476A1 (en) 2021-09-23

Family

ID=77771541

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/010592 WO2021187476A1 (en) 2020-03-18 2021-03-16 Client, i/o server, method, and recording medium

Country Status (1)

Country Link
WO (1) WO2021187476A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015033418A1 (en) * 2013-09-05 2015-03-12 株式会社日立製作所 Storage system and storage control method
WO2016013116A1 (en) * 2014-07-25 2016-01-28 株式会社日立製作所 Storage device
JP2019095971A (en) * 2017-11-21 2019-06-20 富士通株式会社 Storage system, storage controller, and program
JP2019125075A (en) * 2018-01-15 2019-07-25 富士通株式会社 Storage device and storage system and program
US20200012445A1 (en) * 2015-12-22 2020-01-09 EMC IP Holding Company LLC Method and apparatus for path selection of storage systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015033418A1 (en) * 2013-09-05 2015-03-12 株式会社日立製作所 Storage system and storage control method
WO2016013116A1 (en) * 2014-07-25 2016-01-28 株式会社日立製作所 Storage device
US20200012445A1 (en) * 2015-12-22 2020-01-09 EMC IP Holding Company LLC Method and apparatus for path selection of storage systems
JP2019095971A (en) * 2017-11-21 2019-06-20 富士通株式会社 Storage system, storage controller, and program
JP2019125075A (en) * 2018-01-15 2019-07-25 富士通株式会社 Storage device and storage system and program

Also Published As

Publication number Publication date
JPWO2021187476A1 (en) 2021-09-23

Similar Documents

Publication Publication Date Title
CN112099941B (en) Method, equipment and system for realizing hardware acceleration processing
US9092266B2 (en) Scalable scheduling for distributed data processing
US8478926B1 (en) Co-processing acceleration method, apparatus, and system
WO2018006676A1 (en) Acceleration resource processing method and apparatus and network function virtualization system
US10084860B2 (en) Distributed file system using torus network and method for configuring and operating distributed file system using torus network
JP2008015888A (en) Load distribution control system and load distribution control method
CN104102742A (en) High-performance mass storage system and high-performance mass storage method
TW201740279A (en) System and method for high performance lockless scalable target
US20180307603A1 (en) Memory hierarchy-aware processing
US10164904B2 (en) Network bandwidth sharing in a distributed computing system
JP6244949B2 (en) Information processing apparatus, control method, and control program
WO2018158819A1 (en) Distributed database system and resource management method for distributed database system
CN113703672A (en) Super-fusion system, IO request issuing method thereof and physical server
US8775767B2 (en) Method and system for allocating memory to a pipeline
US11107037B2 (en) Method and system of sharing product data in a collaborative environment
US20190155657A1 (en) Resource assignment method using cda protocol in distributed processing environment and distributed processing device applying the same
CN112099728B (en) Method and device for executing write operation and read operation
WO2021187476A1 (en) Client, i/o server, method, and recording medium
JP2004272668A (en) Distributed file system
JP2007102332A (en) Load balancing system and load balancing method
CN112805684A (en) Resource allocation using recovery borrowing
Chen et al. A real-time scheduling strategy based on processing framework of Hadoop
JP2014174597A (en) In-memory distributed database, data distribution method, and program
KR20130104958A (en) Apparatus and methods for executing multi-operating systems
JP2019532399A (en) Data replication in scalable messaging systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21772542

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022508375

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21772542

Country of ref document: EP

Kind code of ref document: A1