WO2017045640A1 - Associated stream bandwidth scheduling method and apparatus in data center - Google Patents
Associated stream bandwidth scheduling method and apparatus in data center Download PDFInfo
- Publication number
- WO2017045640A1 WO2017045640A1 PCT/CN2016/099209 CN2016099209W WO2017045640A1 WO 2017045640 A1 WO2017045640 A1 WO 2017045640A1 CN 2016099209 W CN2016099209 W CN 2016099209W WO 2017045640 A1 WO2017045640 A1 WO 2017045640A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bandwidth
- stream
- bottleneck
- flow
- data stream
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/826—Involving periods of time
Definitions
- the present invention relates to the field of network communication technologies, and in particular, to a bandwidth scheduling method and apparatus for an associated flow in a data center.
- Information services represented by mobile Internet and cloud computing are increasingly relying on high-performance, scalable data centers.
- the data center carries many user-oriented applications such as web servers, file services, online games, enterprise applications, etc., as well as computationally intensive tasks such as big data mining. These application tasks result in a large number of concurrent communication flows between servers (between virtual machines).
- These communication data streams include one-to-many, many-to-one, many-to-many communication modes, and have a wide dynamic range of bandwidth requirements. Special delay requirements are required to ensure the performance of the upper application.
- cluster computing application frameworks such as MapReduce, perform user-defined work and are transported along specific workflows that conform to the programming model.
- Others are user-facing channels where users request and ultimately return corresponding answers (such as Google and Bing's search results, as well as Facebook's home page feedback).
- MapReduce is a well-known and widely used distributed computing framework.
- each mapper reads input from DFS, performs user-defined calculations, and writes intermediate data to disk;
- each reducer reads intermediate data from different mappers, merges them, and writes their output to DFS, then copy to multiple destinations.
- the main feature of the MapReduce model is that until the last reducer is completed, the entire task is carry out. Therefore, at the end of the task there is a clear barrier that researchers have used in the model to optimize the Shuffle process.
- BSP Bux Synchronous Parallel
- Another example is another well-known model in cluster computing.
- a BSP parallel computer consists of a set of processors - memory units interconnected by a communication network. It has three main parts: a set of distributed processors with local memory, a global data communication network, and a mechanism to support global barrier synchronization between all processing units.
- the superstep communication phase can be optimized by optimizing the last obstacle for each superstep.
- the user-oriented online service receives the user's request and passes it through the aggregation tree to the following worker nodes. At each stage of the tree, independent requests in different segmentation processes. The activity is generated. Finally, the worker responds to the aggregation and returns to the user interface at the deadline. The response that cannot be returned at the deadline is discarded or sent asynchronously after a while (such as Facebook home feedback).
- an associated stream is a collection of flows with the same performance goal. The performance goal can be to ensure that the flow can be completed before the deadline, or to have the shortest transmission time.
- One of the key technologies for implementing data center all-optical networks based on optical burst switching is to provide a dynamic resource scheduling mechanism with reliable and application characteristics.
- the flexible bandwidth allocation algorithm can realize flexible scheduling of network bandwidth resources to meet the requirements.
- the prior art network bandwidth resource scheduling mechanism does not consider the associated stream demand feature of the upper layer application.
- the embodiments of the present invention provide a bandwidth scheduling method and device for an associated flow in a data center, which can implement dynamic bandwidth scheduling of an optical optical all-optical network in an optical burst exchange according to at least an associated flow applied in the data center.
- an embodiment of the present invention provides a bandwidth scheduling method for an associated flow in a data center, including: the primary controller selects a bottleneck data flow of each associated flow according to the collected associated flow bandwidth request; The controller allocates a transmission bandwidth that satisfies the first condition for each bottleneck data stream, and determines an expected completion time of the associated flow of each bottleneck data flow according to the transmission bandwidth allocated to each bottleneck data stream; the main controller completes according to the expected completion of each associated flow. The time allocates a transmission bandwidth for the non-bottleneck data stream in each associated stream. When the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows satisfies the second condition, the estimated completion time of each associated flow is determined and allocated to each associated flow. The transmission bandwidth of each data stream.
- the method further includes: the primary controller collecting all associated flow bandwidth requests in one cycle.
- the associated flow bandwidth request includes source address information, destination address information, and amount of data to be transmitted of each data flow in the associated flow.
- the associated flow bandwidth request further includes an upper limit value of the completion time of the associated flow, where an estimated completion time of the associated flow corresponding to the determined bottleneck data flow does not exceed an upper limit of the completion time of the associated flow value.
- the primary controller selects, according to the collected associated flow bandwidth request, the bottleneck data flow of each associated flow, where the primary controller requests, according to each associated flow bandwidth request, each data flow information.
- the data stream with the largest amount of data to be transmitted or the data stream with the largest available bandwidth of the node is selected as the bottleneck data stream of the associated stream.
- the method further includes: when the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows is not satisfied In the second condition, the main controller uniformly reduces the transmission bandwidth allocated to each bottleneck data stream that satisfies the first condition, according to the re-allocated bottleneck data.
- the transmission bandwidth of the flow re-determines the estimated completion time of the associated flow of each bottleneck data flow, and then allocates the transmission bandwidth for the non-bottleneck data flow in each associated flow according to the expected completion time of each associated flow until the non-bottleneck is allocated to all associated flows.
- the transmission bandwidth of the data stream satisfies the second condition.
- the first condition includes: a transmission bandwidth of each bottleneck data stream does not exceed a maximum line rate of the sender end and the receiver end server; and a sum of transmission bandwidths of all bottleneck data streams having the same source node does not exceed the source node.
- the maximum available bandwidth, the sum of the transmission bandwidths of all bottleneck data streams with the same destination node does not exceed the maximum available bandwidth of the destination node.
- the second condition includes: a transmission bandwidth of each non-bottleneck data stream does not exceed a maximum line rate of the sending end and the receiving end server; and a sum of transmission bandwidths of all non-bottleneck data streams having the same source node does not exceed The maximum available bandwidth of the source node, the sum of the transmission bandwidths of all non-bottleneck data streams with the same destination node does not exceed the maximum available bandwidth of the destination node; the transmission bandwidth allocated to the non-bottleneck data stream in an associated flow is not less than the associated flow
- the expected completion time determines the transmission bandwidth of the non-bottleneck data stream.
- the method further includes: the primary controller transmitting a transmission cycle of each associated flow and each The transmission bandwidth of each data stream in the associated flows is sent to each network node.
- the embodiment of the present invention further provides a bandwidth scheduling apparatus for an associated flow in a data center, which is disposed on the main controller, and includes: a flow classification module, configured to select each associated flow according to the collected associated flow bandwidth request.
- the bottleneck data stream; the expected completion time calculation module is configured to allocate a transmission bandwidth satisfying the first condition for each bottleneck data stream, and determine an expected completion time of the associated stream to which each bottleneck data stream belongs according to the transmission bandwidth allocated to each bottleneck data stream.
- the associated allocation module is configured to allocate a transmission bandwidth for the non-bottleneck data stream in each associated stream according to the expected completion time of each associated stream, and determine that each of the associated non-bottleneck data streams in the associated stream meets the second condition.
- a storage medium is also provided.
- the storage medium is arranged to store program code for performing the following steps:
- the main controller selects a bottleneck data flow of each associated flow according to the collected associated flow bandwidth request;
- the primary controller allocates a transmission bandwidth that satisfies the first condition for each bottleneck data stream, and determines an expected completion time of the associated flow to which each bottleneck data stream belongs according to a transmission bandwidth allocated to each bottleneck data stream;
- the primary controller allocates a transmission bandwidth for the non-bottleneck data stream in each associated flow according to the estimated completion time of each associated flow, and determines the associated flow when the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows satisfies the second condition.
- the estimated completion time and the transmission bandwidth allocated to each data stream in each associated stream are used to determine the associated flow when the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows satisfies the second condition.
- the primary controller selects a bottleneck data flow of each associated flow according to the collected associated flow bandwidth request; the primary controller allocates a transmission bandwidth that satisfies the first condition for each bottleneck data flow, and according to the allocation
- the estimated bandwidth of each bottleneck data stream belongs to the transmission bandwidth of each bottleneck data stream; the main controller allocates the transmission bandwidth for the non-bottleneck data stream in each associated stream according to the estimated completion time of each associated stream, when all the associations are allocated
- the embodiment of the present invention implements bandwidth dynamic scheduling of the optical burst all-optical network in the optical burst exchange in combination with the associated flow applied in the data center.
- an efficient and collision-free dynamic resource scheduling of an optical burst transmission ring network in a data center is realized, and an application-based fast data transmission is realized, which not only can allocate bandwidth resources fairly and reasonably, and quickly respond to bursts.
- the bandwidth requirement of the service, and the data collision-free exchange the overall transmission completion time of the associated flow task is short, and a high bandwidth utilization is obtained.
- FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present invention.
- FIG. 2 is a flowchart of a bandwidth scheduling method for an associated flow in a data center according to an embodiment of the present invention
- step 11 is a specific flowchart of step 11 in the embodiment of the present invention.
- step 12 is a specific flowchart of step 12 in the embodiment of the present invention.
- FIG. 5 is a specific flowchart of step 13 in the embodiment of the present invention.
- FIG. 6 is a schematic diagram of a bandwidth scheduling apparatus for an associated flow in a data center according to an embodiment of the present invention.
- FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present invention.
- the optical burst transmission ring network in the data center includes n network nodes and one main controller. Where n is an integer greater than 1, and the number of network nodes can be set as desired.
- the main controller is responsible for centralized control management such as bandwidth allocation.
- Each network node is a rack configured with m servers in the data center (in fact, the number of servers can be set as needed), and each network node is configured with k transmissions. And k receivers, where m and k are integers greater than one.
- the optical burst transmission network in the data center adopts a time connection between network nodes, and all connection establishment times are equal in one cycle, and network nodes can be equivalent to full connection, and the associated flow is sent by the server.
- the line rate is a Gbps
- each network node includes k wavelengths.
- Each wavelength transmission rate is b Gbps.
- the maximum output bandwidth of each network node is k*b Gbps, and the maximum receiving bandwidth is k*b Gbps.
- the maximum transmission bandwidth supported between any two network nodes in the period is k*b/(n-1) Gbps.
- the associated stream data is transmitted on the link in the form of a stream.
- FIG. 2 is a flowchart of a bandwidth scheduling method for an associated flow in a data center according to an embodiment of the present invention. As shown in FIG. 2, the bandwidth scheduling method for the associated flow in the data center provided by this embodiment includes the following steps:
- Step 11 The primary controller selects a bottleneck data flow of each associated flow according to the collected associated flow bandwidth request.
- the method further includes: the main controller collecting all associated stream bandwidth requests in one cycle.
- the associated stream bandwidth request includes source address information, destination address information, and amount of data to be transmitted of each data stream in the associated stream.
- the associated flow bandwidth request further includes an upper limit of the completion time of the associated flow.
- the server proposes an associated flow bandwidth request to the primary controller through an associated flow application programming interface (API). Since the bandwidth scheduling is performed in units of one cycle, the primary control is performed. The device counts all associated stream bandwidth requests in a cycle.
- API application programming interface
- the step 11 includes: the main controller selects, according to each data stream information carried in each associated stream bandwidth request, the data stream with the largest amount of data to be transmitted or the data with the largest available bandwidth of the node from all the data streams of the associated stream.
- the stream acts as a bottleneck data stream for the associated stream.
- all the data streams in the associated stream carried by the associated stream are sorted according to the amount of data to be transmitted, and the data with the largest amount of data to be transmitted is selected.
- the stream with the largest available bandwidth of the stream or node serves as the element of the bottleneck data stream matrix, and the non-bottleneck data stream acts as the element of the non-bottleneck data stream matrix, where the non-bottleneck data stream is the data stream other than the bottleneck data stream in the associated stream. If the associated stream does not select the bottleneck data stream, continue to select the bottleneck data stream for the associated stream; when all the associated streams select the bottleneck data stream, the final bottleneck data stream matrix and the non-bottleneck data stream are output.
- the bottleneck data flow matrix is composed of the data flows with the largest amount of data to be transmitted among all the associated flows collected, and the completion time of the associated flows can be initially determined by calculating the transmission time of the bottleneck data flow of each associated flow.
- the non-bottleneck data flow matrix is used as the final decision for the completion time of the associated stream and the bandwidth allocation basis for all data streams.
- Step 12 The primary controller allocates a transmission bandwidth that satisfies the first condition for each bottleneck data stream, and determines an expected completion time of the associated flow to which each bottleneck data stream belongs according to the transmission bandwidth allocated to each bottleneck data stream.
- the first condition includes: the transmission bandwidth of each bottleneck data stream does not exceed the maximum line rate of the sender end and the receiver end server (eg, 10 Gbps); and the sum of the transmission bandwidths of all bottleneck data streams having the same source node does not exceed the source node.
- the maximum available bandwidth, the sum of the transmission bandwidths of all bottleneck data streams with the same destination node does not exceed the maximum available bandwidth of the destination node.
- the estimated completion time of the associated flow of the bottleneck data flow does not exceed the upper limit of the completion time of the associated flow carried by the associated flow bandwidth request.
- each bottleneck data stream is allocated according to 10 Gbps bandwidth, and then added.
- the bottleneck data stream with the same source node in the next cycle occupies the total bandwidth of the source node, and the bottleneck data stream with the same destination node occupies the total bandwidth of the destination node.
- the maximum bandwidth allocation method it is determined whether the current bandwidth is sufficient.
- the transmission bandwidth of the stream (for example, reduced on a 10 Gbps basis) until the calculated total amount of occupied source node bandwidth and the total occupied node bandwidth do not exceed the maximum value. If the total bandwidth of the occupied source node and the total bandwidth of the occupied destination node calculated in this step do not exceed the maximum value, the transmission bandwidth allocated for each bottleneck data stream and the data volume to be transmitted of each bottleneck data stream are respectively calculated.
- the transmission completion time of the bottleneck data stream of each associated flow, and the transmission completion time is the estimated completion time of the associated flow.
- Step 13 The primary controller allocates a transmission bandwidth for the non-bottleneck data stream in each associated flow according to the estimated completion time of each associated flow, and determines the association when the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows satisfies the second condition.
- the estimated completion time of the flow and the transmission bandwidth allocated to each data flow in each associated flow are the estimated completion time of the flow and the transmission bandwidth allocated to each data flow in each associated flow.
- the method further includes: when the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows is not satisfied.
- the main controller uniformly reduces the transmission bandwidth allocated to each bottleneck data stream that satisfies the first condition, and re-determines the estimated completion time of the associated flow of each bottleneck data stream according to the re-allocated transmission bandwidth of each bottleneck data stream, and then The transmission bandwidth is re-allocated for the non-bottleneck data stream in each associated flow according to the expected completion time of each associated flow until the transmission bandwidth allocated to the non-bottleneck data flow in all associated flows satisfies the second condition.
- the second condition includes: the transmission bandwidth of each non-bottleneck data stream does not exceed the maximum line rate of the sender end and the receiver end server (eg, 10 Gbps); the sum of the transmission bandwidths of all non-bottleneck data streams having the same source node does not exceed The maximum available bandwidth of the source node, the sum of the transmission bandwidths of all non-bottleneck data streams with the same destination node does not exceed the maximum available bandwidth of the destination node; the transmission bandwidth allocated to the non-bottleneck data stream in an associated flow is not less than the associated flow
- the expected completion time determines the transmission bandwidth of the non-bottleneck data stream.
- non-bottleneck data stream matrix all non-bottleneck data streams are classified according to the same source node and having the same destination node, wherein the transmission bandwidth allocated for each non-bottleneck data stream is respectively performed.
- the estimated completion time of the associated flow calculated in step 12 and the corresponding amount of data to be transmitted may be determined, and the amount of bandwidth occupied by the associated flow data that has not been transmitted in the previous cycle is added, and the next cycle has the same source node.
- the non-bottleneck data stream occupies the total bandwidth of the source node, and the non-bottleneck data stream with the same destination node occupies the total bandwidth of the destination node.
- the transmission bandwidth of the stream is reduced according to the transmission bandwidth of the bottleneck data stream determined in step 12, and returns to step 12 to re-determine the estimated completion time of each associated stream according to the transmission bandwidth of the reduced bottleneck data stream, and then follow the steps. 13
- the judgment is made until the total amount of occupied source node bandwidth and the total occupied node bandwidth in step 13 do not exceed the maximum value.
- the estimated completion time of the associated flow of the bottleneck data flow does not exceed the upper limit of the completion time of the associated flow carried by the associated flow bandwidth request.
- the associated flow of the data flow is postponed as a whole, so that the start transmission time of the associated flow is delayed.
- One or several bandwidth scheduling periods until a point in time is reached that is calculated according to the above steps so that all data streams can be completed within the upper limit of the completion time.
- the method further includes: the main controller transmitting the transmission period of each associated stream and the transmission bandwidth of each data stream in each associated stream to each network node.
- the selection of the bottleneck data flow in the associated flow is implemented through step 11; the estimated completion time of the associated flow is initially determined through step 12; and the estimated completion time of the associated flow is revised through step 13, so that the associated flow collected in one cycle is obtained. Applications can be successfully transmitted at the expected completion time.
- the embodiment of the present invention further provides a bandwidth scheduling apparatus for an associated flow in a data center, which is disposed on the main controller, and includes: a flow classification module, configured to select each associated flow according to the collected associated flow bandwidth request. a bottleneck data stream; an estimated completion time calculation module configured to allocate a transmission bandwidth satisfying the first condition for each bottleneck data stream, and determine an expected completion time of the associated stream to which each bottleneck data stream belongs according to a transmission bandwidth allocated to each bottleneck data stream;
- the association allocation module is configured to allocate a transmission bandwidth for the non-bottleneck data stream in each associated flow according to the estimated completion time of each associated flow, and determine the association when the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows satisfies the second condition.
- the estimated completion time of the flow and the transmission bandwidth allocated to each data flow in each associated flow is disposed on the main controller, and includes: a flow classification module, configured to select each associated flow according to the collected associated flow bandwidth request. a bottleneck data stream; an estimated completion
- the apparatus further includes: an input module configured to collect all associated stream bandwidth requests within one cycle.
- the flow classification module is specifically configured to: according to each data flow information carried in each associated flow bandwidth request, select the data flow with the largest amount of data to be transmitted or the largest available bandwidth of the node from all the data flows of the associated flow.
- the data stream acts as a bottleneck data stream for the associated stream.
- association allocation module is also set to be the number of non-bottlenecks assigned to all associated flows
- the transmission bandwidth that is allocated to each bottleneck data stream that satisfies the first condition is uniformly reduced, and the reduced transmission bandwidth of each bottleneck data stream is fed back to the estimated completion time.
- a calculation module wherein the estimated completion time calculation module re-determines an estimated completion time of the associated flow to which each bottleneck data stream belongs.
- the first condition includes: the transmission bandwidth of each bottleneck data stream does not exceed the maximum line rate of the sender end and the receiver end server; the sum of the transmission bandwidths of all bottleneck data streams having the same source node does not exceed the maximum available bandwidth of the source node. The sum of the transmission bandwidths of all bottleneck data streams with the same destination node does not exceed the maximum available bandwidth of the destination node.
- the second condition includes: the transmission bandwidth of each non-bottleneck data stream does not exceed the maximum line rate of the sender end and the sink end server; the sum of the transmission bandwidths of all non-bottleneck data streams having the same source node does not exceed the maximum of the source node. Available bandwidth, the sum of the transmission bandwidths of all non-bottleneck data streams with the same destination node does not exceed the maximum available bandwidth of the destination node; the transmission bandwidth allocated to the non-bottleneck data stream in an associated flow is not less than the estimated completion time according to the associated flow Determine the transmission bandwidth of the non-bottleneck data stream.
- the apparatus further includes: an output module, configured to send a transmission period of each associated stream and a transmission bandwidth of each data stream in each associated stream to each network node.
- FIG. 6 is a schematic diagram of a bandwidth scheduling apparatus for an associated flow in a data center according to an embodiment of the present invention.
- the bandwidth scheduling apparatus for the associated flow in the data center provided by the embodiment includes: a system status monitoring module 301, a bandwidth adjustment module 302, an input module 303, a flow classification module 304, an estimated completion time calculation module 305, and an association.
- the module 306 is distributed and the module 307 is output.
- the system status monitoring module 301 is configured to monitor the system status, for example, including the occupancy of any two nodes when transmitting the associated stream, and send the monitoring result to the bandwidth adjustment module 302;
- the bandwidth adjustment module 302 is configured to adjust the bandwidth between any two nodes of the network.
- the bandwidth adjustment module 302 includes an optical layer bandwidth calculation module and a network state database, and the optical layer bandwidth calculation module is monitored according to the system status monitoring module 301. Network status, the optical layer bandwidth utilization can be calculated, and the result is sent to the network status database for the estimated completion time calculation.
- Module 305 queries the current optical layer bandwidth configuration;
- the input module 303 is configured to implement the generation of the associated stream bandwidth request matrix. Specifically, the input module 303 collects the bandwidth request from the server and organizes it into an associated stream bandwidth request matrix, where the content includes the data stream number, the source node of the request, and the destination. Node and amount of data to be transmitted;
- the flow classification module 304 is configured to implement a calculation process from the associated flow bandwidth request matrix to the bottleneck data flow matrix. Specifically, the flow classification module 304 sorts each associated flow bandwidth request matrix according to the amount of data to be transmitted, and selects each Generating a bottleneck data stream matrix by associating a data stream with the largest amount of data to be transmitted in the associated stream;
- the expected completion time calculation module 305 is configured to implement a calculation process from the bottleneck data flow matrix to the expected completion time. Specifically, the expected completion time calculation module 305 determines any associated flow request based on the existing bandwidth resource and the actual associated flow bandwidth request.
- the completion time calculation module 305 includes, for example, a first bandwidth amount calculation unit, a first flow reduction unit, and an estimated completion time calculation unit, wherein the first bandwidth amount calculation unit is configured to allocate data to each bottleneck.
- the bottleneck data stream with the same source node in the next cycle occupies the total bandwidth of the source node, and the bottleneck data stream with the same destination node occupies the total bandwidth of the destination node.
- the first stream reduction unit is configured to determine whether the result calculated by the first bandwidth amount calculation unit exceeds a corresponding maximum value, and if exceeded, uniformly reduce the transmission bandwidth allocated to each bottleneck data stream, and if not exceeded, the expected completion time
- the calculation unit is based on the transmission assigned to each bottleneck data stream Width, and the amount of data to be transmitted is calculated for each data flow bottleneck in the transmission time, i.e., the bottleneck associated with each data stream belongs projected completion time of the stream;
- the association allocation module 306 is configured to implement a mapping process from the estimated completion time of the associated flow to the non-bottleneck data flow bandwidth allocation of the associated flow. Specifically, the estimated completion time of the associated flow obtained by the estimated completion time calculation module 305 is associated. The non-bottleneck data stream in the flow allocates a transmission bandwidth.
- the association allocation module 306 includes, for example, a second bandwidth amount calculation unit, a second stream reduction unit, and a feedback unit, where the second bandwidth amount calculation unit is configured to be configured according to each associated flow.
- the estimated completion time allocates bandwidth to the non-bottleneck data stream, and calculates the next source with the same source according to the bandwidth allocated to the non-bottleneck data stream and the amount of bandwidth occupied by the associated stream data that has not been transmitted in the previous period.
- the non-bottleneck data stream of the node occupies the total bandwidth of the source node, and the non-bottleneck data stream with the same destination node occupies the total bandwidth of the destination node, and the second stream reduction unit is configured to determine whether the result calculated by the second bandwidth amount calculation unit exceeds the corresponding The maximum value, if exceeded, uniformly reduces the transmission bandwidth allocated to each bottleneck data stream, and the feedback unit feeds the reduced result back to the expected completion time calculation module 35, and the estimated completion time calculation module 35 re-determines the associated flow.
- the expected completion time if not exceeded, the estimated completion time of each associated stream and the transmission bandwidth allocated to each data stream is sent to the output module 307;
- the output module 307 is configured to implement the generation of the associated stream bandwidth map, specifically, to collect the bandwidth allocation information obtained from the association allocation module 306 and the estimated completion time calculation module 305, and organize the data into an associated stream bandwidth map, the content including the association. Streaming cycle, amount of bandwidth occupied.
- association allocation module 306 and the estimated completion time calculation module 305 are two iterative modules.
- the bandwidth of the data stream in each associated stream needs to be continuously adjusted to collect the data.
- the associated streams can match the bandwidth transmission.
- the device shown in FIG. 6 can be used alone when the system state monitoring module 301 and the bandwidth adjustment module 302 are not needed.
- Embodiments of the present invention also provide a storage medium.
- the foregoing storage medium may be configured to store program code for performing the following steps:
- the primary controller selects a bottleneck data flow of each associated flow according to the collected associated flow bandwidth request.
- the primary controller allocates a transmission bandwidth that satisfies the first condition for each bottleneck data stream, and determines an expected completion time of the associated flow to which each bottleneck data stream belongs according to a transmission bandwidth allocated to each bottleneck data stream;
- the main controller allocates a transmission bandwidth for the non-bottleneck data stream in each associated stream according to an estimated completion time of each associated stream.
- the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows satisfies the second condition, determining each The estimated completion time of the associated flow and the transmission bandwidth allocated to each data flow in each associated flow.
- the foregoing storage medium may include, but not limited to, a USB flash drive, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, and a magnetic memory.
- ROM Read-Only Memory
- RAM Random Access Memory
- a mobile hard disk e.g., a hard disk
- magnetic memory e.g., a hard disk
- the above modules may be implemented by a processor executing programs/instructions stored in a memory.
- the present invention is not limited thereto, and the functions of the above modules/units may also be through firmware/logic circuits/integrated circuits. achieve.
- modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
- the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module.
- the invention is not limited to any specific combination of hardware and software.
- the bandwidth scheduling method and apparatus for the associated flow in the data center provided by the embodiment of the present invention have the following beneficial effects: the embodiment of the present invention implements the optical burst exchange data center by combining the associated flow applied in the data center. Dynamic bandwidth scheduling of all-optical networks. Moreover, through the embodiments of the present invention, an efficient and collision-free dynamic resource scheduling of an optical burst transmission ring network in a data center is realized, and fast application-based data transmission is realized, which not only can allocate bandwidth resources reasonably and reasonably. And quickly respond to the bandwidth requirements of the burst service, and achieve data collision-free exchange, the associated transmission task overall transmission completion time is short and obtain a higher bandwidth utilization.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Disclosed in the embodiment are an associated stream bandwidth scheduling method and apparatus in a data center, comprising: a master controller selecting the bottleneck data stream of each associated stream according to a collected associated stream bandwidth request; the master controller allocating for each bottleneck data stream a transmission bandwidth that meets a first condition, and determining, on the basis of the transmission bandwidths allocated to the bottleneck data streams, the estimated completion time of the associated streams to which the bottleneck data streams belong; and the master controller allocating transmission bandwidths for non-bottleneck data streams in the associated streams according to the estimated completion time of the associated streams, and when the transmission bandwidths allocated for the non-bottleneck data streams in all the associated streams meet a second condition, determining the estimated completion time of the associated streams and the transmission bandwidths allocated for the data streams in each associated stream. The associated stream bandwidth scheduling method and apparatus in a data center, disclosed in the embodiment, can combine with the associated streams used in the data center to realize dynamic bandwidth scheduling for an all-optical network of an optical burst switching (OBS) data center.
Description
本发明涉及网络通信技术领域,尤其涉及一种数据中心内关联流的带宽调度方法及装置。The present invention relates to the field of network communication technologies, and in particular, to a bandwidth scheduling method and apparatus for an associated flow in a data center.
移动互联网、云计算为代表的信息服务越来越依赖高性能、可扩展的数据中心。通常数据中心承载着众多面向用户的应用如网页服务器、文件服务、在线游戏、企业应用等,同时也存在大数据挖掘等计算密集型任务。这些应用任务造成了服务器之间(虚拟机之间)的大量并发通信流,这些通信数据流包括一对多、多对一、多对多等通信模式,且其带宽需求动态范围大,更具备特殊的时延要求以保障上层应用性能。因此,如何设计相应的数据交换承载网络,支持数据中心内多样应用和复杂的通信模式,同时提供更绿色低能耗的优势以及灵活升级扩展的能力,是目前产业界和学术界共同关注的热点课题。特别是近年来随着光电子器件技术的发展进步,以光传输和交换为基础的数据中心网络设计,得到了越来越多的关注和重视。Information services represented by mobile Internet and cloud computing are increasingly relying on high-performance, scalable data centers. Usually the data center carries many user-oriented applications such as web servers, file services, online games, enterprise applications, etc., as well as computationally intensive tasks such as big data mining. These application tasks result in a large number of concurrent communication flows between servers (between virtual machines). These communication data streams include one-to-many, many-to-one, many-to-many communication modes, and have a wide dynamic range of bandwidth requirements. Special delay requirements are required to ensure the performance of the upper application. Therefore, how to design the corresponding data exchange bearer network, support diverse applications and complex communication modes in the data center, and provide the advantages of greener and lower energy consumption and the ability to flexibly upgrade and expand are the hot topics of common concern in industry and academia. . Especially in recent years, with the development of optoelectronic device technology, data center network design based on optical transmission and exchange has received more and more attention and attention.
在数据中心内,大多数集群计算应用程序框架(如MapReduce)完成用户定义的工作,并沿着符合编程模型的特定工作流传输。其他有些是面向用户的通道,用户通过多级结构请求并最终返回相应的回答(例如Google和Bing的搜索结果,以及Facebook的主页反馈)。Within the data center, most cluster computing application frameworks, such as MapReduce, perform user-defined work and are transported along specific workflows that conform to the programming model. Others are user-facing channels where users request and ultimately return corresponding answers (such as Google and Bing's search results, as well as Facebook's home page feedback).
以MapReduce的Shuffle和分布式文件***(DFS,Distributed File System)复制过程为例。MapReduce是一个众所周知和广泛使用的分布式计算框架。在这个模型中,每个mapper从DFS读取输入,执行用户定义的计算,并将中间数据写入磁盘;各reducer将中间数据从不同mapper读出,将它们合并,并将其输出写入到DFS,然后复制到多个目的地。MapReduce模型的主要特征就是直到最后一个reducer完成,整个任务才
完成。因此,在任务的最后有一个明确的障碍(barrier),研究人员已经在模型中利用它来优化Shuffle过程。又如整体同步并行(BSP,Bulk Synchronous Parallel)模型是集群计算中另一个熟知的模型。使用这个模型的计算框架有专注于图表处理、矩阵计算、网络算法的Pregel、Giragh和Hama。一个BSP并行计算机由一组通过通信网络互连的处理器——内存单元组成。它主要有三个部分:一组具有局部内存的分布式处理器、全局数据通信网络、支持所有处理单元间全局路障同步的机制。通过对每次超步(superstep)最后的障碍优化,superstep通信阶段可以得到优化。再如Partition-aggregate通信中的聚合过程,面向用户的在线服务收到用户的请求并通过聚合树向下面的工作节点(worker)传递,在树的每个阶段,不同的分割过程中独立的请求产生活动,最后,worker响应聚合并且在最后期限返回到用户界面,不能在最后期限返回的响应被丢弃或过一会儿进行异步发送(如Facebook主页反馈)。Take MapReduce's Shuffle and Distributed File System (DFS) replication process as an example. MapReduce is a well-known and widely used distributed computing framework. In this model, each mapper reads input from DFS, performs user-defined calculations, and writes intermediate data to disk; each reducer reads intermediate data from different mappers, merges them, and writes their output to DFS, then copy to multiple destinations. The main feature of the MapReduce model is that until the last reducer is completed, the entire task is
carry out. Therefore, at the end of the task there is a clear barrier that researchers have used in the model to optimize the Shuffle process. Another example is the Bux Synchronous Parallel (BSP) model, which is another well-known model in cluster computing. The computational framework using this model has Pregel, Giragh, and Hama focused on graph processing, matrix computing, and network algorithms. A BSP parallel computer consists of a set of processors - memory units interconnected by a communication network. It has three main parts: a set of distributed processors with local memory, a global data communication network, and a mechanism to support global barrier synchronization between all processing units. The superstep communication phase can be optimized by optimizing the last obstacle for each superstep. In another example, in the aggregation process in Partition-aggregate communication, the user-oriented online service receives the user's request and passes it through the aggregation tree to the following worker nodes. At each stage of the tree, independent requests in different segmentation processes. The activity is generated. Finally, the worker responds to the aggregation and returns to the user interface at the deadline. The response that cannot be returned at the deadline is discarded or sent asynchronously after a while (such as Facebook home feedback).
由上述描述可以看出,虽然在传输层中,流之间相互独立难以区分,但是同一集群计算中,不同组计算机之间的流通常具有应用级的语义相关性。例如,MapReduce Shuffle过程中最后一个流决定了整体流的完成时间。类似地,如果一个流延迟或被丢弃就会导致整体流错过最晚完成时间,也许会对小部分响应产生影响。因此,将不同组的计算机之间具有语义相关性的流称为一个关联流。换言之,一个关联流就是具有相同绩效目标的流的集合,绩效目标可以是保证这组流都能够在最晚完成时间(deadline)之前传输完成,或者使这组流具有最短传输时间。As can be seen from the above description, although the streams are indistinguishable from each other in the transport layer, in the same cluster computing, streams between different groups of computers typically have application-level semantic relevance. For example, the last stream in the MapReduce Shuffle process determines the completion time of the overall stream. Similarly, if a stream is delayed or discarded, it will cause the overall stream to miss the latest completion time, which may affect a small portion of the response. Therefore, a stream with semantic relevance between different sets of computers is referred to as an associated stream. In other words, an associated flow is a collection of flows with the same performance goal. The performance goal can be to ensure that the flow can be completed before the deadline, or to have the shortest transmission time.
实现基于光突发交换的数据中心全光网络的关键技术之一在于提供具有可靠的、符合应用特征的动态资源调度机制,能通过高效的带宽分配算法实现网络带宽资源的灵活调度,以满足基于应用请求的网络节点的动态带宽需求。然而,针对数据中心光突发交换网络,现有技术的网络带宽资源调度机制未考虑上层应用的关联流需求特征。One of the key technologies for implementing data center all-optical networks based on optical burst switching is to provide a dynamic resource scheduling mechanism with reliable and application characteristics. The flexible bandwidth allocation algorithm can realize flexible scheduling of network bandwidth resources to meet the requirements. The dynamic bandwidth requirement of the network node to which the request is applied. However, for the data center optical burst switching network, the prior art network bandwidth resource scheduling mechanism does not consider the associated stream demand feature of the upper layer application.
发明内容
Summary of the invention
本发明实施例提供了一种数据中心内关联流的带宽调度方法及装置,至少能够结合数据中心内应用的关联流实现光突发交换的数据中心全光网络的带宽动态调度。The embodiments of the present invention provide a bandwidth scheduling method and device for an associated flow in a data center, which can implement dynamic bandwidth scheduling of an optical optical all-optical network in an optical burst exchange according to at least an associated flow applied in the data center.
为了至少达到上述技术目的,本发明实施例提供一种数据中心内关联流的带宽调度方法,包括:主控制器根据收集到的关联流带宽请求,选出每个关联流的瓶颈数据流;主控制器为各瓶颈数据流分配满足第一条件的传输带宽,并根据分配给各瓶颈数据流的传输带宽确定各瓶颈数据流所属关联流的预计完成时间;主控制器根据各关联流的预计完成时间为各关联流中非瓶颈数据流分配传输带宽,当分配给所有关联流中非瓶颈数据流的传输带宽满足第二条件时,确定各关联流的预计完成时间及分配给每个关联流中各数据流的传输带宽。In order to achieve at least the above technical purpose, an embodiment of the present invention provides a bandwidth scheduling method for an associated flow in a data center, including: the primary controller selects a bottleneck data flow of each associated flow according to the collected associated flow bandwidth request; The controller allocates a transmission bandwidth that satisfies the first condition for each bottleneck data stream, and determines an expected completion time of the associated flow of each bottleneck data flow according to the transmission bandwidth allocated to each bottleneck data stream; the main controller completes according to the expected completion of each associated flow. The time allocates a transmission bandwidth for the non-bottleneck data stream in each associated stream. When the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows satisfies the second condition, the estimated completion time of each associated flow is determined and allocated to each associated flow. The transmission bandwidth of each data stream.
可选地,所述主控制器根据收集到的关联流带宽请求,选出每个关联流的瓶颈数据流之前,还包括:所述主控制器收集一个周期内的所有关联流带宽请求。Optionally, before the primary controller selects the bottleneck data flow of each associated flow according to the collected associated flow bandwidth request, the method further includes: the primary controller collecting all associated flow bandwidth requests in one cycle.
可选地,所述关联流带宽请求包括关联流中每一条数据流的源地址信息、目的地址信息以及待传输的数据量。Optionally, the associated flow bandwidth request includes source address information, destination address information, and amount of data to be transmitted of each data flow in the associated flow.
可选地,所述关联流带宽请求还包括所述关联流的完成时间上限值,其中,所述确定的瓶颈数据流所属关联流的预计完成时间不超过所述关联流的完成时间上限值。Optionally, the associated flow bandwidth request further includes an upper limit value of the completion time of the associated flow, where an estimated completion time of the associated flow corresponding to the determined bottleneck data flow does not exceed an upper limit of the completion time of the associated flow value.
可选地,所述主控制器根据收集到的关联流带宽请求,选出每个关联流的瓶颈数据流包括:所述主控制器根据每个关联流带宽请求携带的各数据流信息,从该关联流的所有数据流中选出待传输数据量最大的数据流或者节点可用带宽最大的数据流作为该关联流的瓶颈数据流。Optionally, the primary controller selects, according to the collected associated flow bandwidth request, the bottleneck data flow of each associated flow, where the primary controller requests, according to each associated flow bandwidth request, each data flow information. Among all the data streams of the associated stream, the data stream with the largest amount of data to be transmitted or the data stream with the largest available bandwidth of the node is selected as the bottleneck data stream of the associated stream.
可选地,所述主控制器根据各关联流的预计完成时间为各关联流中非瓶颈数据流分配传输带宽之后,还包括:当分配给所有关联流中非瓶颈数据流的传输带宽不满足所述第二条件时,所述主控制器均匀缩减分配给各瓶颈数据流的满足第一条件的传输带宽,根据所述重新分配的各瓶颈数据
流的传输带宽重新确定各瓶颈数据流所属关联流的预计完成时间,再根据各关联流的预计完成时间重新为各关联流中非瓶颈数据流分配传输带宽,直至分配给所有关联流中非瓶颈数据流的传输带宽满足所述第二条件。Optionally, after the primary controller allocates transmission bandwidth to the non-bottleneck data stream in each associated flow according to the estimated completion time of each associated flow, the method further includes: when the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows is not satisfied In the second condition, the main controller uniformly reduces the transmission bandwidth allocated to each bottleneck data stream that satisfies the first condition, according to the re-allocated bottleneck data.
The transmission bandwidth of the flow re-determines the estimated completion time of the associated flow of each bottleneck data flow, and then allocates the transmission bandwidth for the non-bottleneck data flow in each associated flow according to the expected completion time of each associated flow until the non-bottleneck is allocated to all associated flows. The transmission bandwidth of the data stream satisfies the second condition.
可选地,所述第一条件包括:每条瓶颈数据流的传输带宽不超过发送端与接收端服务器的最大线速率;所有具有相同源节点的瓶颈数据流的传输带宽之和不超过源节点的最大可用带宽,所有具有相同目的节点的瓶颈数据流的传输带宽之和不超过目的节点的最大可用带宽。Optionally, the first condition includes: a transmission bandwidth of each bottleneck data stream does not exceed a maximum line rate of the sender end and the receiver end server; and a sum of transmission bandwidths of all bottleneck data streams having the same source node does not exceed the source node. The maximum available bandwidth, the sum of the transmission bandwidths of all bottleneck data streams with the same destination node does not exceed the maximum available bandwidth of the destination node.
可选地,所述第二条件包括:每条非瓶颈数据流的传输带宽不超过发送端与接收端服务器的最大线速率;所有具有相同源节点的非瓶颈数据流的传输带宽之和不超过源节点的最大可用带宽,所有具有相同目的节点的非瓶颈数据流的传输带宽之和不超过目的节点的最大可用带宽;分配给一个关联流中非瓶颈数据流的传输带宽不小于根据该关联流的预计完成时间确定的非瓶颈数据流的传输带宽。Optionally, the second condition includes: a transmission bandwidth of each non-bottleneck data stream does not exceed a maximum line rate of the sending end and the receiving end server; and a sum of transmission bandwidths of all non-bottleneck data streams having the same source node does not exceed The maximum available bandwidth of the source node, the sum of the transmission bandwidths of all non-bottleneck data streams with the same destination node does not exceed the maximum available bandwidth of the destination node; the transmission bandwidth allocated to the non-bottleneck data stream in an associated flow is not less than the associated flow The expected completion time determines the transmission bandwidth of the non-bottleneck data stream.
可选地,所述主控制器确定各关联流的预计完成时间及分配给每个关联流中各数据流的传输带宽之后,还包括:所述主控制器将各关联流的传输周期以及每个关联流中各数据流的传输带宽发送给各网络节点。Optionally, after the primary controller determines an expected completion time of each associated flow and a transmission bandwidth allocated to each data flow in each associated flow, the method further includes: the primary controller transmitting a transmission cycle of each associated flow and each The transmission bandwidth of each data stream in the associated flows is sent to each network node.
此外,本发明实施例还提供了一种数据中心内关联流的带宽调度装置,设置于主控制器,包括:流分类模块,设置为根据收集到的关联流带宽请求,选出每个关联流的瓶颈数据流;预计完成时间计算模块,设置为为各瓶颈数据流分配满足第一条件的传输带宽,并根据分配给各瓶颈数据流的传输带宽确定各瓶颈数据流所属关联流的预计完成时间;关联分配模块,设置为根据各关联流的预计完成时间为各关联流中非瓶颈数据流分配传输带宽,当分配给所有关联流中非瓶颈数据流的传输带宽满足第二条件时,确定各关联流的预计完成时间及分配给每个关联流中各数据流的传输带宽。In addition, the embodiment of the present invention further provides a bandwidth scheduling apparatus for an associated flow in a data center, which is disposed on the main controller, and includes: a flow classification module, configured to select each associated flow according to the collected associated flow bandwidth request. The bottleneck data stream; the expected completion time calculation module is configured to allocate a transmission bandwidth satisfying the first condition for each bottleneck data stream, and determine an expected completion time of the associated stream to which each bottleneck data stream belongs according to the transmission bandwidth allocated to each bottleneck data stream. The associated allocation module is configured to allocate a transmission bandwidth for the non-bottleneck data stream in each associated stream according to the expected completion time of each associated stream, and determine that each of the associated non-bottleneck data streams in the associated stream meets the second condition. The estimated completion time of the associated flow and the transmission bandwidth allocated to each data flow in each associated flow.
根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:
According to still another embodiment of the present invention, a storage medium is also provided. The storage medium is arranged to store program code for performing the following steps:
主控制器根据收集到的关联流带宽请求,选出每个关联流的瓶颈数据流;The main controller selects a bottleneck data flow of each associated flow according to the collected associated flow bandwidth request;
所述主控制器为各瓶颈数据流分配满足第一条件的传输带宽,并根据分配给各瓶颈数据流的传输带宽确定各瓶颈数据流所属关联流的预计完成时间;The primary controller allocates a transmission bandwidth that satisfies the first condition for each bottleneck data stream, and determines an expected completion time of the associated flow to which each bottleneck data stream belongs according to a transmission bandwidth allocated to each bottleneck data stream;
所述主控制器根据各关联流的预计完成时间为各关联流中非瓶颈数据流分配传输带宽,当分配给所有关联流中非瓶颈数据流的传输带宽满足第二条件时,确定各关联流的预计完成时间及分配给每个关联流中各数据流的传输带宽。The primary controller allocates a transmission bandwidth for the non-bottleneck data stream in each associated flow according to the estimated completion time of each associated flow, and determines the associated flow when the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows satisfies the second condition. The estimated completion time and the transmission bandwidth allocated to each data stream in each associated stream.
在本发明实施例中,主控制器根据收集到的关联流带宽请求,选出每个关联流的瓶颈数据流;主控制器为各瓶颈数据流分配满足第一条件的传输带宽,并根据分配给各瓶颈数据流的传输带宽确定各瓶颈数据流所属关联流的预计完成时间;主控制器根据各关联流的预计完成时间为各关联流中非瓶颈数据流分配传输带宽,当分配给所有关联流中非瓶颈数据流的传输带宽满足第二条件时,确定各关联流的预计完成时间及分配给每个关联流中各数据流的传输带宽。如此,本发明实施例结合数据中心内应用的关联流实现了光突发交换的数据中心全光网络的带宽动态调度。In the embodiment of the present invention, the primary controller selects a bottleneck data flow of each associated flow according to the collected associated flow bandwidth request; the primary controller allocates a transmission bandwidth that satisfies the first condition for each bottleneck data flow, and according to the allocation The estimated bandwidth of each bottleneck data stream belongs to the transmission bandwidth of each bottleneck data stream; the main controller allocates the transmission bandwidth for the non-bottleneck data stream in each associated stream according to the estimated completion time of each associated stream, when all the associations are allocated When the transmission bandwidth of the non-bottleneck data stream in the flow satisfies the second condition, the estimated completion time of each associated flow and the transmission bandwidth allocated to each data flow in each associated flow are determined. As such, the embodiment of the present invention implements bandwidth dynamic scheduling of the optical burst all-optical network in the optical burst exchange in combination with the associated flow applied in the data center.
而且,通过本发明实施例,实现了数据中心内光突发传送环网高效且无冲突的动态资源调度,实现了基于应用的快速数据传输,不仅能公平合理地分配带宽资源并快速响应突发业务的带宽需求,而且实现了数据无冲突交换、关联流任务整体传输完成时间短并获得了较高的带宽利用率。Moreover, through the embodiments of the present invention, an efficient and collision-free dynamic resource scheduling of an optical burst transmission ring network in a data center is realized, and an application-based fast data transmission is realized, which not only can allocate bandwidth resources fairly and reasonably, and quickly respond to bursts. The bandwidth requirement of the service, and the data collision-free exchange, the overall transmission completion time of the associated flow task is short, and a high bandwidth utilization is obtained.
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:The drawings described herein are intended to provide a further understanding of the invention, and are intended to be a part of the invention. In the drawing:
图1为本发明实施例的应用场景示意图;
FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present invention;
图2为本发明实施例提供的数据中心内关联流的带宽调度方法的流程图;2 is a flowchart of a bandwidth scheduling method for an associated flow in a data center according to an embodiment of the present invention;
图3为本发明实施例中步骤11的具体流程图;3 is a specific flowchart of step 11 in the embodiment of the present invention;
图4为本发明实施例中步骤12的具体流程图;4 is a specific flowchart of step 12 in the embodiment of the present invention;
图5为本发明实施例中步骤13的具体流程图;FIG. 5 is a specific flowchart of step 13 in the embodiment of the present invention;
图6为本发明一实施例提供的数据中心内关联流的带宽调度装置的示意图。FIG. 6 is a schematic diagram of a bandwidth scheduling apparatus for an associated flow in a data center according to an embodiment of the present invention.
以下结合附图对本发明的实施例进行详细说明,应当理解,以下所说明的实施例仅用于说明和解释本发明,并不用于限定本发明。The embodiments of the present invention are described in detail below with reference to the accompanying drawings.
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。It is to be understood that the terms "first", "second" and the like in the specification and claims of the present invention are used to distinguish similar objects, and are not necessarily used to describe a particular order or order.
图1为本发明实施例的应用场景示意图。如图1所示,数据中心内的光突发传送环网包含n个网络节点及1个主控制器。其中,n为大于1的整数,而且,网络节点的数目可按需设定。其中,主控制器负责带宽分配等集中式控制管理,每个网络节点为数据中心内配置m个服务器的机架(实际上,服务器数量可按需设定),每个网络节点配置k个发射机和k个接收机,其中,m、k均为大于1的整数。FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present invention. As shown in FIG. 1, the optical burst transmission ring network in the data center includes n network nodes and one main controller. Where n is an integer greater than 1, and the number of network nodes can be set as desired. The main controller is responsible for centralized control management such as bandwidth allocation. Each network node is a rack configured with m servers in the data center (in fact, the number of servers can be set as needed), and each network node is configured with k transmissions. And k receivers, where m and k are integers greater than one.
于此,数据中心内的光突发传送网采用的是网络节点之间等时间连接,一个周期内所有连接建立时间相等,网络节点之间可以等效为全连接,关联流由服务器发出的最大线速率为a Gbps,设每个网络节点包括k个波长,每个波长传输速率为b Gbps,则每个网络节点的最大输出带宽为k*b Gbps,最大接收带宽为k*b Gbps,同一周期内任意两网络节点之间支持的最大传输带宽为k*b/(n-1)Gbps。关联流数据以流的形式在链路上传输。Here, the optical burst transmission network in the data center adopts a time connection between network nodes, and all connection establishment times are equal in one cycle, and network nodes can be equivalent to full connection, and the associated flow is sent by the server. The line rate is a Gbps, and each network node includes k wavelengths. Each wavelength transmission rate is b Gbps. The maximum output bandwidth of each network node is k*b Gbps, and the maximum receiving bandwidth is k*b Gbps. The maximum transmission bandwidth supported between any two network nodes in the period is k*b/(n-1) Gbps. The associated stream data is transmitted on the link in the form of a stream.
图2为本发明实施例提供的数据中心内关联流的带宽调度方法的流程
图。如图2所示,本实施例提供的数据中心内关联流的带宽调度方法包括以下步骤:FIG. 2 is a flowchart of a bandwidth scheduling method for an associated flow in a data center according to an embodiment of the present invention;
Figure. As shown in FIG. 2, the bandwidth scheduling method for the associated flow in the data center provided by this embodiment includes the following steps:
步骤11:主控制器根据收集到的关联流带宽请求,选出每个关联流的瓶颈数据流。Step 11: The primary controller selects a bottleneck data flow of each associated flow according to the collected associated flow bandwidth request.
于此,在步骤11之前,该方法还包括:主控制器收集一个周期内的所有关联流带宽请求。Here, before step 11, the method further includes: the main controller collecting all associated stream bandwidth requests in one cycle.
其中,关联流带宽请求包括关联流中每一条数据流的源地址信息、目的地址信息以及待传输的数据量。可选地,关联流带宽请求还包括关联流的完成时间上限值。The associated stream bandwidth request includes source address information, destination address information, and amount of data to be transmitted of each data stream in the associated stream. Optionally, the associated flow bandwidth request further includes an upper limit of the completion time of the associated flow.
具体而言,每个带宽分配周期内,服务器通过关联流应用程序编程接口(API,Application Programming Interface)向主控制器提出关联流带宽请求,由于带宽调度以一个周期为单位进行,则主制控器统计一个周期内所有关联流带宽请求。Specifically, during each bandwidth allocation period, the server proposes an associated flow bandwidth request to the primary controller through an associated flow application programming interface (API). Since the bandwidth scheduling is performed in units of one cycle, the primary control is performed. The device counts all associated stream bandwidth requests in a cycle.
于此,步骤11包括:主控制器根据每个关联流带宽请求携带的各数据流信息,从该关联流的所有数据流中选出待传输数据量最大的数据流或者节点可用带宽最大的数据流作为该关联流的瓶颈数据流。In this case, the step 11 includes: the main controller selects, according to each data stream information carried in each associated stream bandwidth request, the data stream with the largest amount of data to be transmitted or the data with the largest available bandwidth of the node from all the data streams of the associated stream. The stream acts as a bottleneck data stream for the associated stream.
举例而言,如图3所示,针对每个关联流带宽请求,将其携带的关联流中所有数据流按照待传输数据量由大到小的顺序排序,选出待传输数据量最大的数据流或者节点可用带宽最大的数据流,作为瓶颈数据流矩阵的元素,非瓶颈数据流则作为非瓶颈数据流矩阵的元素,其中,非瓶颈数据流为关联流中除瓶颈数据流外的数据流;若仍有关联流未进行瓶颈数据流的选择,则继续为关联流选择瓶颈数据流;当所有关联流均选出了瓶颈数据流,则输出最后得到的瓶颈数据流矩阵和非瓶颈数据流矩阵。于此,瓶颈数据流矩阵由收集上来的所有关联流中的待传输数据量最大的数据流组成,进而可以通过计算每个关联流的瓶颈数据流的传输时间来初步判定关联流的完成时间,而非瓶颈数据流矩阵则作为关联流的完成时间的最终判定以及所有数据流的带宽分配依据。
For example, as shown in FIG. 3, for each associated stream bandwidth request, all the data streams in the associated stream carried by the associated stream are sorted according to the amount of data to be transmitted, and the data with the largest amount of data to be transmitted is selected. The stream with the largest available bandwidth of the stream or node serves as the element of the bottleneck data stream matrix, and the non-bottleneck data stream acts as the element of the non-bottleneck data stream matrix, where the non-bottleneck data stream is the data stream other than the bottleneck data stream in the associated stream. If the associated stream does not select the bottleneck data stream, continue to select the bottleneck data stream for the associated stream; when all the associated streams select the bottleneck data stream, the final bottleneck data stream matrix and the non-bottleneck data stream are output. matrix. In this case, the bottleneck data flow matrix is composed of the data flows with the largest amount of data to be transmitted among all the associated flows collected, and the completion time of the associated flows can be initially determined by calculating the transmission time of the bottleneck data flow of each associated flow. The non-bottleneck data flow matrix is used as the final decision for the completion time of the associated stream and the bandwidth allocation basis for all data streams.
步骤12:主控制器为各瓶颈数据流分配满足第一条件的传输带宽,并根据分配给各瓶颈数据流的传输带宽确定各瓶颈数据流所属关联流的预计完成时间。Step 12: The primary controller allocates a transmission bandwidth that satisfies the first condition for each bottleneck data stream, and determines an expected completion time of the associated flow to which each bottleneck data stream belongs according to the transmission bandwidth allocated to each bottleneck data stream.
其中,第一条件包括:每条瓶颈数据流的传输带宽不超过发送端与接收端服务器的最大线速率(如10Gbps);所有具有相同源节点的瓶颈数据流的传输带宽之和不超过源节点的最大可用带宽,所有具有相同目的节点的瓶颈数据流的传输带宽之和不超过目的节点的最大可用带宽。可选地,瓶颈数据流所属关联流的预计完成时间不超过关联流带宽请求携带的该关联流的完成时间上限值。The first condition includes: the transmission bandwidth of each bottleneck data stream does not exceed the maximum line rate of the sender end and the receiver end server (eg, 10 Gbps); and the sum of the transmission bandwidths of all bottleneck data streams having the same source node does not exceed the source node. The maximum available bandwidth, the sum of the transmission bandwidths of all bottleneck data streams with the same destination node does not exceed the maximum available bandwidth of the destination node. Optionally, the estimated completion time of the associated flow of the bottleneck data flow does not exceed the upper limit of the completion time of the associated flow carried by the associated flow bandwidth request.
具体而言,如图4所示,对于瓶颈数据流矩阵,分别按照具有相同源节点、具有相同目的节点对所有瓶颈数据流进行分类,并按照每个瓶颈数据流占用10Gbps带宽进行分配,再加入上个周期未传完的关联流数据所占用带宽量,计算下个周期具有相同源节点的瓶颈数据流占用源节点带宽总量、具有相同目的节点的瓶颈数据流占用目的节点带宽总量,如此,按照最大带宽分配方式,判定当前带宽是否足够。之后,分别判定计算得到的占用源节点带宽总量和占用目的节点带宽总量是否超出最大值(如k*b Gbps),若其中任一值超出最大值,则均匀缩减分配给每个瓶颈数据流的传输带宽(例如,在10Gbps基础上进行缩减),直至计算得到的占用源节点带宽总量和占用目的节点带宽总量均不超过最大值。若本步骤计算得到的占用源节点带宽总量和占用目的节点带宽总量均未超过最大值,则按照最新为各瓶颈数据流分配的传输带宽及各瓶颈数据流的待传输数据量,分别计算出各关联流的瓶颈数据流的传输完成时间,此传输完成时间即为该关联流的预计完成时间。Specifically, as shown in FIG. 4, for the bottleneck data flow matrix, all bottleneck data streams are classified according to the same source node and having the same destination node, and each bottleneck data stream is allocated according to 10 Gbps bandwidth, and then added. The amount of bandwidth occupied by the associated stream data that has not been transmitted in the previous cycle. The bottleneck data stream with the same source node in the next cycle occupies the total bandwidth of the source node, and the bottleneck data stream with the same destination node occupies the total bandwidth of the destination node. According to the maximum bandwidth allocation method, it is determined whether the current bandwidth is sufficient. After that, it is determined whether the calculated total amount of the occupied source node bandwidth and the total occupied node bandwidth exceed the maximum value (such as k*b Gbps), and if any of the values exceeds the maximum value, the data is uniformly reduced and allocated to each bottleneck data. The transmission bandwidth of the stream (for example, reduced on a 10 Gbps basis) until the calculated total amount of occupied source node bandwidth and the total occupied node bandwidth do not exceed the maximum value. If the total bandwidth of the occupied source node and the total bandwidth of the occupied destination node calculated in this step do not exceed the maximum value, the transmission bandwidth allocated for each bottleneck data stream and the data volume to be transmitted of each bottleneck data stream are respectively calculated. The transmission completion time of the bottleneck data stream of each associated flow, and the transmission completion time is the estimated completion time of the associated flow.
步骤13:主控制器根据各关联流的预计完成时间为各关联流中非瓶颈数据流分配传输带宽,当分配给所有关联流中非瓶颈数据流的传输带宽满足第二条件时,确定各关联流的预计完成时间及分配给每个关联流中各数据流的传输带宽。
Step 13: The primary controller allocates a transmission bandwidth for the non-bottleneck data stream in each associated flow according to the estimated completion time of each associated flow, and determines the association when the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows satisfies the second condition. The estimated completion time of the flow and the transmission bandwidth allocated to each data flow in each associated flow.
于此,主控制器根据各关联流的预计完成时间为各关联流中非瓶颈数据流分配传输带宽之后,该方法还包括:当分配给所有关联流中非瓶颈数据流的传输带宽不满足第二条件时,主控制器均匀缩减分配给各瓶颈数据流的满足第一条件的传输带宽,根据重新分配的各瓶颈数据流的传输带宽重新确定各瓶颈数据流所属关联流的预计完成时间,再根据各关联流的预计完成时间重新为各关联流中非瓶颈数据流分配传输带宽,直至分配给所有关联流中非瓶颈数据流的传输带宽满足第二条件。In this case, after the primary controller allocates transmission bandwidth to the non-bottleneck data stream in each associated flow according to the estimated completion time of each associated flow, the method further includes: when the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows is not satisfied. In the second condition, the main controller uniformly reduces the transmission bandwidth allocated to each bottleneck data stream that satisfies the first condition, and re-determines the estimated completion time of the associated flow of each bottleneck data stream according to the re-allocated transmission bandwidth of each bottleneck data stream, and then The transmission bandwidth is re-allocated for the non-bottleneck data stream in each associated flow according to the expected completion time of each associated flow until the transmission bandwidth allocated to the non-bottleneck data flow in all associated flows satisfies the second condition.
其中,第二条件包括:每条非瓶颈数据流的传输带宽不超过发送端与接收端服务器的最大线速率(如10Gbps);所有具有相同源节点的非瓶颈数据流的传输带宽之和不超过源节点的最大可用带宽,所有具有相同目的节点的非瓶颈数据流的传输带宽之和不超过目的节点的最大可用带宽;分配给一个关联流中非瓶颈数据流的传输带宽不小于根据该关联流的预计完成时间确定的非瓶颈数据流的传输带宽。The second condition includes: the transmission bandwidth of each non-bottleneck data stream does not exceed the maximum line rate of the sender end and the receiver end server (eg, 10 Gbps); the sum of the transmission bandwidths of all non-bottleneck data streams having the same source node does not exceed The maximum available bandwidth of the source node, the sum of the transmission bandwidths of all non-bottleneck data streams with the same destination node does not exceed the maximum available bandwidth of the destination node; the transmission bandwidth allocated to the non-bottleneck data stream in an associated flow is not less than the associated flow The expected completion time determines the transmission bandwidth of the non-bottleneck data stream.
具体而言,如图5所示,对于非瓶颈数据流矩阵,分别按照具有相同源节点、具有相同目的节点对所有非瓶颈数据流进行分类,其中,为每个非瓶颈数据流分配的传输带宽可以根据步骤12中计算出的所属关联流的预计完成时间和对应的待传输数据量确定,再加入上个周期未传完的关联流数据所占用带宽量,计算下个周期具有相同源节点的非瓶颈数据流占用源节点带宽总量、具有相同目的节点的非瓶颈数据流占用目的节点带宽总量。之后,分别判定计算得到的占用源节点带宽总量、占用目的节点带宽总量是否超出最大值(如k*b Gbps),若其中任一值超出最大值,则均匀缩减分配给每个瓶颈数据流的传输带宽(如在步骤12确定的瓶颈数据流的传输带宽基础上进行缩减),并返回步骤12根据缩减后的瓶颈数据流的传输带宽重新确定各关联流的预计完成时间,再按照步骤13进行判断直至步骤13中占用源节点带宽总量和占用目的节点带宽总量均未超过最大值。经过步骤12和步骤13的调整后,当所有关联流均能够按照确定的预计完成时间传输成功时,则得出最终为每个关联流中各个数据流分配的传输带宽以及每个关联流的预计完成时间。
Specifically, as shown in FIG. 5, for a non-bottleneck data stream matrix, all non-bottleneck data streams are classified according to the same source node and having the same destination node, wherein the transmission bandwidth allocated for each non-bottleneck data stream is respectively performed. The estimated completion time of the associated flow calculated in step 12 and the corresponding amount of data to be transmitted may be determined, and the amount of bandwidth occupied by the associated flow data that has not been transmitted in the previous cycle is added, and the next cycle has the same source node. The non-bottleneck data stream occupies the total bandwidth of the source node, and the non-bottleneck data stream with the same destination node occupies the total bandwidth of the destination node. After that, it is determined whether the calculated total bandwidth of the occupied source node and the total occupied node bandwidth exceed the maximum value (such as k*b Gbps), and if any of the values exceeds the maximum value, the data is uniformly reduced and allocated to each bottleneck data. The transmission bandwidth of the stream is reduced according to the transmission bandwidth of the bottleneck data stream determined in step 12, and returns to step 12 to re-determine the estimated completion time of each associated stream according to the transmission bandwidth of the reduced bottleneck data stream, and then follow the steps. 13 The judgment is made until the total amount of occupied source node bandwidth and the total occupied node bandwidth in step 13 do not exceed the maximum value. After the adjustments of steps 12 and 13 are performed, when all the associated flows can be successfully transmitted according to the determined expected completion time, the transmission bandwidth finally allocated for each data flow in each associated flow and the prediction of each associated flow are obtained. Complete time.
可选地,瓶颈数据流所属关联流的预计完成时间不超过关联流带宽请求携带的该关联流的完成时间上限值。Optionally, the estimated completion time of the associated flow of the bottleneck data flow does not exceed the upper limit of the completion time of the associated flow carried by the associated flow bandwidth request.
其中,若出现因为冲突而导致某一或某些数据流不可能在完成时间上限值内传输完成时,则将此数据流所属的关联流整体后延,即令此关联流的开始传输时间推迟一个或若干个带宽调度周期,直至找到一个依据上述步骤计算使得所有数据流都能在完成时间上限值内传输完成的时间点。If the transmission of one or some data flows cannot be completed within the upper limit of the completion time due to the conflict, the associated flow of the data flow is postponed as a whole, so that the start transmission time of the associated flow is delayed. One or several bandwidth scheduling periods until a point in time is reached that is calculated according to the above steps so that all data streams can be completed within the upper limit of the completion time.
于此,步骤13之后,该方法还包括:主控制器将各关联流的传输周期以及每个关联流中各数据流的传输带宽发送给各网络节点。Here, after step 13, the method further includes: the main controller transmitting the transmission period of each associated stream and the transmission bandwidth of each data stream in each associated stream to each network node.
综上所述,通过步骤11实现关联流中瓶颈数据流的选择;通过步骤12初步确定关联流的预计完成时间;通过步骤13修订关联流的预计完成时间,从而使得一个周期内收集的关联流应用都能够以预计完成时间传输成功。In summary, the selection of the bottleneck data flow in the associated flow is implemented through step 11; the estimated completion time of the associated flow is initially determined through step 12; and the estimated completion time of the associated flow is revised through step 13, so that the associated flow collected in one cycle is obtained. Applications can be successfully transmitted at the expected completion time.
此外,本发明实施例还提供一种数据中心内关联流的带宽调度装置,设置于主控制器,包括:流分类模块,设置为根据收集到的关联流带宽请求,选出每个关联流的瓶颈数据流;预计完成时间计算模块,设置为为各瓶颈数据流分配满足第一条件的传输带宽,并根据分配给各瓶颈数据流的传输带宽确定各瓶颈数据流所属关联流的预计完成时间;关联分配模块,设置为根据各关联流的预计完成时间为各关联流中非瓶颈数据流分配传输带宽,当分配给所有关联流中非瓶颈数据流的传输带宽满足第二条件时,确定各关联流的预计完成时间及分配给每个关联流中各数据流的传输带宽。In addition, the embodiment of the present invention further provides a bandwidth scheduling apparatus for an associated flow in a data center, which is disposed on the main controller, and includes: a flow classification module, configured to select each associated flow according to the collected associated flow bandwidth request. a bottleneck data stream; an estimated completion time calculation module configured to allocate a transmission bandwidth satisfying the first condition for each bottleneck data stream, and determine an expected completion time of the associated stream to which each bottleneck data stream belongs according to a transmission bandwidth allocated to each bottleneck data stream; The association allocation module is configured to allocate a transmission bandwidth for the non-bottleneck data stream in each associated flow according to the estimated completion time of each associated flow, and determine the association when the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows satisfies the second condition. The estimated completion time of the flow and the transmission bandwidth allocated to each data flow in each associated flow.
进一步地,上述装置还包括:输入模块,设置为收集一个周期内的所有关联流带宽请求。Further, the apparatus further includes: an input module configured to collect all associated stream bandwidth requests within one cycle.
进一步地,流分类模块,具体设置为:根据每个关联流带宽请求携带的各数据流信息,从该关联流的所有数据流中选出待传输数据量最大的数据流或者节点可用带宽最大的数据流作为该关联流的瓶颈数据流。Further, the flow classification module is specifically configured to: according to each data flow information carried in each associated flow bandwidth request, select the data flow with the largest amount of data to be transmitted or the largest available bandwidth of the node from all the data flows of the associated flow. The data stream acts as a bottleneck data stream for the associated stream.
进一步地,关联分配模块,还设置为当分配给所有关联流中非瓶颈数
据流的传输带宽不满足所述第二条件时,均匀缩减分配给各瓶颈数据流的满足第一条件的传输带宽,并将缩减后的各瓶颈数据流的传输带宽反馈给所述预计完成时间计算模块,供所述预计完成时间计算模块重新确定各瓶颈数据流所属关联流的预计完成时间。Further, the association allocation module is also set to be the number of non-bottlenecks assigned to all associated flows
When the transmission bandwidth of the flow does not satisfy the second condition, the transmission bandwidth that is allocated to each bottleneck data stream that satisfies the first condition is uniformly reduced, and the reduced transmission bandwidth of each bottleneck data stream is fed back to the estimated completion time. And a calculation module, wherein the estimated completion time calculation module re-determines an estimated completion time of the associated flow to which each bottleneck data stream belongs.
其中,第一条件包括:每条瓶颈数据流的传输带宽不超过发送端与接收端服务器的最大线速率;所有具有相同源节点的瓶颈数据流的传输带宽之和不超过源节点的最大可用带宽,所有具有相同目的节点的瓶颈数据流的传输带宽之和不超过目的节点的最大可用带宽。The first condition includes: the transmission bandwidth of each bottleneck data stream does not exceed the maximum line rate of the sender end and the receiver end server; the sum of the transmission bandwidths of all bottleneck data streams having the same source node does not exceed the maximum available bandwidth of the source node. The sum of the transmission bandwidths of all bottleneck data streams with the same destination node does not exceed the maximum available bandwidth of the destination node.
其中,第二条件包括:每条非瓶颈数据流的传输带宽不超过发送端与接收端服务器的最大线速率;所有具有相同源节点的非瓶颈数据流的传输带宽之和不超过源节点的最大可用带宽,所有具有相同目的节点的非瓶颈数据流的传输带宽之和不超过目的节点的最大可用带宽;分配给一个关联流中非瓶颈数据流的传输带宽不小于根据该关联流的预计完成时间确定的非瓶颈数据流的传输带宽。The second condition includes: the transmission bandwidth of each non-bottleneck data stream does not exceed the maximum line rate of the sender end and the sink end server; the sum of the transmission bandwidths of all non-bottleneck data streams having the same source node does not exceed the maximum of the source node. Available bandwidth, the sum of the transmission bandwidths of all non-bottleneck data streams with the same destination node does not exceed the maximum available bandwidth of the destination node; the transmission bandwidth allocated to the non-bottleneck data stream in an associated flow is not less than the estimated completion time according to the associated flow Determine the transmission bandwidth of the non-bottleneck data stream.
进一步地,上述装置还包括:输出模块,设置为将各关联流的传输周期以及每个关联流中各数据流的传输带宽发送给各网络节点。Further, the apparatus further includes: an output module, configured to send a transmission period of each associated stream and a transmission bandwidth of each data stream in each associated stream to each network node.
图6为本发明一实施例提供的数据中心内关联流的带宽调度装置的示意图。如图6所示,本实施例提供的数据中心内关联流的带宽调度装置包括:***状态监测模块301、带宽调整模块302、输入模块303、流分类模块304、预计完成时间计算模块305、关联分配模块306以及输出模块307。FIG. 6 is a schematic diagram of a bandwidth scheduling apparatus for an associated flow in a data center according to an embodiment of the present invention. As shown in FIG. 6, the bandwidth scheduling apparatus for the associated flow in the data center provided by the embodiment includes: a system status monitoring module 301, a bandwidth adjustment module 302, an input module 303, a flow classification module 304, an estimated completion time calculation module 305, and an association. The module 306 is distributed and the module 307 is output.
其中,***状态监测模块301设置为监测***状态,例如包括传输关联流时任意两节点带宽的占用情况,并将监测结果发送给带宽调整模块302;The system status monitoring module 301 is configured to monitor the system status, for example, including the occupancy of any two nodes when transmitting the associated stream, and send the monitoring result to the bandwidth adjustment module 302;
带宽调整模块302设置为调整网络任意两节点之间的带宽,具体而言,带宽调整模块302包括光层带宽计算模块以及网络状态数据库,光层带宽计算模块根据***状态监测模块301所监测到的网络状态,可以计算出光层带宽利用情况,并将结果发送给网络状态数据库,供预计完成时间计算
模块305查询当前光层带宽配置;The bandwidth adjustment module 302 is configured to adjust the bandwidth between any two nodes of the network. Specifically, the bandwidth adjustment module 302 includes an optical layer bandwidth calculation module and a network state database, and the optical layer bandwidth calculation module is monitored according to the system status monitoring module 301. Network status, the optical layer bandwidth utilization can be calculated, and the result is sent to the network status database for the estimated completion time calculation.
Module 305 queries the current optical layer bandwidth configuration;
输入模块303设置为实现关联流带宽请求矩阵的生成,具体而言,输入模块303收集来自服务器的带宽请求,并整理为关联流带宽请求矩阵,其内容包括数据流编号、请求的源节点、目的节点及待传输数据量;The input module 303 is configured to implement the generation of the associated stream bandwidth request matrix. Specifically, the input module 303 collects the bandwidth request from the server and organizes it into an associated stream bandwidth request matrix, where the content includes the data stream number, the source node of the request, and the destination. Node and amount of data to be transmitted;
流分类模块304设置为实现由关联流带宽请求矩阵到瓶颈数据流矩阵的计算过程,具体而言,流分类模块304将每个关联流带宽请求矩阵按照待传输数据量大小进行排序,选择每个关联流中待传输数据量最大的数据流,生成瓶颈数据流矩阵;The flow classification module 304 is configured to implement a calculation process from the associated flow bandwidth request matrix to the bottleneck data flow matrix. Specifically, the flow classification module 304 sorts each associated flow bandwidth request matrix according to the amount of data to be transmitted, and selects each Generating a bottleneck data stream matrix by associating a data stream with the largest amount of data to be transmitted in the associated stream;
预计完成时间计算模块305设置为实现由瓶颈数据流矩阵到预计完成时间的计算过程,具体而言,预计完成时间计算模块305根据现有带宽资源和实际关联流带宽请求确定任一关联流请求的传输完成时间,于此,预计完成时间计算模块305例如包括:第一带宽量计算单元、第一流裁减单元以及预计完成时间计算单元,其中,第一带宽量计算单元设置为按照分配给各瓶颈数据流的带宽以及上个周期未传完的关联流数据所占用带宽量计算下个周期具有相同源节点的瓶颈数据流占用源节点带宽总量、具有相同目的节点的瓶颈数据流占用目的节点带宽总量,第一流裁减单元设置为判定第一带宽量计算单元计算的结果是否超出对应的最大值,若超出,则均匀缩减分配给各瓶颈数据流的传输带宽,若未超出,则由预计完成时间计算单元根据分配给各瓶颈数据流的传输带宽以及待传输数据量计算各瓶颈数据流的传输时间,即各瓶颈数据流所属关联流的预计完成时间;The expected completion time calculation module 305 is configured to implement a calculation process from the bottleneck data flow matrix to the expected completion time. Specifically, the expected completion time calculation module 305 determines any associated flow request based on the existing bandwidth resource and the actual associated flow bandwidth request. The completion time calculation module 305 includes, for example, a first bandwidth amount calculation unit, a first flow reduction unit, and an estimated completion time calculation unit, wherein the first bandwidth amount calculation unit is configured to allocate data to each bottleneck. The bandwidth of the stream and the amount of bandwidth occupied by the associated stream data that has not been transmitted in the previous period. The bottleneck data stream with the same source node in the next cycle occupies the total bandwidth of the source node, and the bottleneck data stream with the same destination node occupies the total bandwidth of the destination node. The first stream reduction unit is configured to determine whether the result calculated by the first bandwidth amount calculation unit exceeds a corresponding maximum value, and if exceeded, uniformly reduce the transmission bandwidth allocated to each bottleneck data stream, and if not exceeded, the expected completion time The calculation unit is based on the transmission assigned to each bottleneck data stream Width, and the amount of data to be transmitted is calculated for each data flow bottleneck in the transmission time, i.e., the bottleneck associated with each data stream belongs projected completion time of the stream;
关联分配模块306设置为实现由关联流的预计完成时间到关联流的非瓶颈数据流带宽分配的映射过程,具体而言,根据预计完成时间计算模块305得出的关联流的预计完成时间为关联流中非瓶颈数据流分配传输带宽,于此,关联分配模块306例如包括:第二带宽量计算单元、第二流裁减单元以及反馈单元,其中,第二带宽量计算单元设置为根据各关联流的预计完成时间给非瓶颈数据流分配带宽,并按照分配给非瓶颈数据流的带宽以及上个周期未传完的关联流数据所占用带宽量计算下个周期具有相同源
节点的非瓶颈数据流占用源节点带宽总量、具有相同目的节点的非瓶颈数据流占用目的节点带宽总量,第二流裁减单元设置为判定第二带宽量计算单元计算的结果是否超出对应的最大值,若超出,则均匀缩减分配给各瓶颈数据流的传输带宽,并由反馈单元将缩减后的结果反馈给预计完成时间计算模块35,供预计完成时间计算模块35重新确定各关联流的预计完成时间,若未超出,则将确定的各关联流的预计完成时间及分配给各数据流的传输带宽发送至输出模块307;The association allocation module 306 is configured to implement a mapping process from the estimated completion time of the associated flow to the non-bottleneck data flow bandwidth allocation of the associated flow. Specifically, the estimated completion time of the associated flow obtained by the estimated completion time calculation module 305 is associated. The non-bottleneck data stream in the flow allocates a transmission bandwidth. The association allocation module 306 includes, for example, a second bandwidth amount calculation unit, a second stream reduction unit, and a feedback unit, where the second bandwidth amount calculation unit is configured to be configured according to each associated flow. The estimated completion time allocates bandwidth to the non-bottleneck data stream, and calculates the next source with the same source according to the bandwidth allocated to the non-bottleneck data stream and the amount of bandwidth occupied by the associated stream data that has not been transmitted in the previous period.
The non-bottleneck data stream of the node occupies the total bandwidth of the source node, and the non-bottleneck data stream with the same destination node occupies the total bandwidth of the destination node, and the second stream reduction unit is configured to determine whether the result calculated by the second bandwidth amount calculation unit exceeds the corresponding The maximum value, if exceeded, uniformly reduces the transmission bandwidth allocated to each bottleneck data stream, and the feedback unit feeds the reduced result back to the expected completion time calculation module 35, and the estimated completion time calculation module 35 re-determines the associated flow. The expected completion time, if not exceeded, the estimated completion time of each associated stream and the transmission bandwidth allocated to each data stream is sent to the output module 307;
输出模块307设置为实现关联流带宽地图的生成,具体而言,设置为收集来自关联分配模块306及预计完成时间计算模块305得到的带宽分配信息,并整理为关联流带宽地图,其内容包括关联流传输周期、所占用带宽量。The output module 307 is configured to implement the generation of the associated stream bandwidth map, specifically, to collect the bandwidth allocation information obtained from the association allocation module 306 and the estimated completion time calculation module 305, and organize the data into an associated stream bandwidth map, the content including the association. Streaming cycle, amount of bandwidth occupied.
于实际应用中,关联分配模块306与预计完成时间计算模块305为两个进行迭代的模块,当输入端负载量过大时,需不断调整各关联流内数据流所占带宽大小从而使收集上来的关联流均能匹配带宽传输。In an actual application, the association allocation module 306 and the estimated completion time calculation module 305 are two iterative modules. When the input load is too large, the bandwidth of the data stream in each associated stream needs to be continuously adjusted to collect the data. The associated streams can match the bandwidth transmission.
需要说明的是,图6所示的装置可以在无需***状态监测模块301和带宽调整模块302时单独使用。It should be noted that the device shown in FIG. 6 can be used alone when the system state monitoring module 301 and the bandwidth adjustment module 302 are not needed.
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:Embodiments of the present invention also provide a storage medium. Optionally, in the embodiment, the foregoing storage medium may be configured to store program code for performing the following steps:
S1,主控制器根据收集到的关联流带宽请求,选出每个关联流的瓶颈数据流;S1. The primary controller selects a bottleneck data flow of each associated flow according to the collected associated flow bandwidth request.
S2,所述主控制器为各瓶颈数据流分配满足第一条件的传输带宽,并根据分配给各瓶颈数据流的传输带宽确定各瓶颈数据流所属关联流的预计完成时间;S2, the primary controller allocates a transmission bandwidth that satisfies the first condition for each bottleneck data stream, and determines an expected completion time of the associated flow to which each bottleneck data stream belongs according to a transmission bandwidth allocated to each bottleneck data stream;
S3,所述主控制器根据各关联流的预计完成时间为各关联流中非瓶颈数据流分配传输带宽,当分配给所有关联流中非瓶颈数据流的传输带宽满足第二条件时,确定各关联流的预计完成时间及分配给每个关联流中各数据流的传输带宽。
S3. The main controller allocates a transmission bandwidth for the non-bottleneck data stream in each associated stream according to an estimated completion time of each associated stream. When the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows satisfies the second condition, determining each The estimated completion time of the associated flow and the transmission bandwidth allocated to each data flow in each associated flow.
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。Optionally, in this embodiment, the foregoing storage medium may include, but not limited to, a USB flash drive, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, and a magnetic memory. A variety of media that can store program code, such as a disc or a disc.
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。For example, the specific examples in this embodiment may refer to the examples described in the foregoing embodiments and the optional embodiments, and details are not described herein again.
于实际应用中,上述模块可以是通过处理器执行存储在存储器中的程序/指令实现,然而,本发明对此并不限定,上述这些模块/单元的功能还可以通过固件/逻辑电路/集成电路实现。In practical applications, the above modules may be implemented by a processor executing programs/instructions stored in a memory. However, the present invention is not limited thereto, and the functions of the above modules/units may also be through firmware/logic circuits/integrated circuits. achieve.
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。It will be apparent to those skilled in the art that the various modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein. The steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module. Thus, the invention is not limited to any specific combination of hardware and software.
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above description is only the preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes can be made to the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and scope of the present invention are intended to be included within the scope of the present invention.
如上所述,本发明实施例提供的一种数据中心内关联流的带宽调度方法及装置,具有以下有益效果:本发明实施例结合数据中心内应用的关联流实现了光突发交换的数据中心全光网络的带宽动态调度。而且,通过本发明实施例,实现了数据中心内光突发传送环网高效且无冲突的动态资源调度,实现了基于应用的快速数据传输,不仅能公平合理地分配带宽资源
并快速响应突发业务的带宽需求,而且实现了数据无冲突交换、关联流任务整体传输完成时间短并获得了较高的带宽利用率。
As described above, the bandwidth scheduling method and apparatus for the associated flow in the data center provided by the embodiment of the present invention have the following beneficial effects: the embodiment of the present invention implements the optical burst exchange data center by combining the associated flow applied in the data center. Dynamic bandwidth scheduling of all-optical networks. Moreover, through the embodiments of the present invention, an efficient and collision-free dynamic resource scheduling of an optical burst transmission ring network in a data center is realized, and fast application-based data transmission is realized, which not only can allocate bandwidth resources reasonably and reasonably.
And quickly respond to the bandwidth requirements of the burst service, and achieve data collision-free exchange, the associated transmission task overall transmission completion time is short and obtain a higher bandwidth utilization.
Claims (11)
- 一种数据中心内关联流的带宽调度方法,包括:A bandwidth scheduling method for an associated flow in a data center, comprising:主控制器根据收集到的关联流带宽请求,选出每个关联流的瓶颈数据流;The main controller selects a bottleneck data flow of each associated flow according to the collected associated flow bandwidth request;所述主控制器为各瓶颈数据流分配满足第一条件的传输带宽,并根据分配给各瓶颈数据流的传输带宽确定各瓶颈数据流所属关联流的预计完成时间;The primary controller allocates a transmission bandwidth that satisfies the first condition for each bottleneck data stream, and determines an expected completion time of the associated flow to which each bottleneck data stream belongs according to a transmission bandwidth allocated to each bottleneck data stream;所述主控制器根据各关联流的预计完成时间为各关联流中非瓶颈数据流分配传输带宽,当分配给所有关联流中非瓶颈数据流的传输带宽满足第二条件时,确定各关联流的预计完成时间及分配给每个关联流中各数据流的传输带宽。The primary controller allocates a transmission bandwidth for the non-bottleneck data stream in each associated flow according to the estimated completion time of each associated flow, and determines the associated flow when the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows satisfies the second condition. The estimated completion time and the transmission bandwidth allocated to each data stream in each associated stream.
- 如权利要求1所述的方法,其中,所述主控制器根据收集到的关联流带宽请求,选出每个关联流的瓶颈数据流之前,还包括:所述主控制器收集一个周期内的所有关联流带宽请求。The method of claim 1, wherein the master controller selects a bottleneck data stream of each associated stream according to the collected associated stream bandwidth request, and further includes: the main controller collecting one cycle All associated stream bandwidth requests.
- 如权利要求1或2所述的方法,其中,所述关联流带宽请求包括关联流中每一条数据流的源地址信息、目的地址信息以及待传输的数据量。The method of claim 1 or 2, wherein the associated stream bandwidth request comprises source address information, destination address information, and amount of data to be transmitted for each data stream in the associated stream.
- 如权利要求3所述的方法,其中,所述关联流带宽请求还包括所述关联流的完成时间上限值,其中,所述确定的瓶颈数据流所属关联流的预计完成时间不超过所述关联流的完成时间上限值。The method of claim 3, wherein the associated stream bandwidth request further comprises a completion time upper limit value of the associated flow, wherein an estimated completion time of the associated flow of the determined bottleneck data flow does not exceed the The upper limit of the completion time of the associated stream.
- 如权利要求1所述的方法,其中,所述主控制器根据收集到的关联流带宽请求,选出每个关联流的瓶颈数据流包括:所述主控制器根据每个关联流带宽请求携带的各数据流信息,从该关联流的所有数据流中选出待传输数据量最大的数据流或者节点可用带宽最大的数据流作为该关联流的瓶颈数据流。The method of claim 1, wherein the primary controller selects a bottleneck data stream of each associated flow according to the collected associated flow bandwidth request, the primary controller carries the request according to each associated flow bandwidth request. Each data stream information selects, from all data streams of the associated stream, a data stream with the largest amount of data to be transmitted or a data stream with the largest available bandwidth of the node as a bottleneck data stream of the associated stream.
- 如权利要求1所述的方法,其中,所述主控制器根据各关联流的预计完成时间为各关联流中非瓶颈数据流分配传输带宽之后,还包括:当分配给所有关联流中非瓶颈数据流的传输带宽不满足所述第 二条件时,所述主控制器均匀缩减分配给各瓶颈数据流的满足第一条件的传输带宽,根据重新分配的各瓶颈数据流的传输带宽重新确定各瓶颈数据流所属关联流的预计完成时间,再根据各关联流的预计完成时间重新为各关联流中非瓶颈数据流分配传输带宽,直至分配给所有关联流中非瓶颈数据流的传输带宽满足所述第二条件。The method of claim 1, wherein the primary controller allocates transmission bandwidth to the non-bottleneck data stream in each associated flow according to the estimated completion time of each associated flow, and further includes: when the non-bottleneck is allocated to all associated flows The transmission bandwidth of the data stream does not satisfy the above In the second condition, the main controller uniformly reduces the transmission bandwidth that is allocated to each bottleneck data stream that satisfies the first condition, and re-determines the estimated completion time of the associated flow of each bottleneck data stream according to the re-allocated transmission bandwidth of each bottleneck data stream. Then, the transmission bandwidth is allocated for the non-bottleneck data stream in each associated flow according to the estimated completion time of each associated flow, until the transmission bandwidth allocated to the non-bottleneck data flow in all associated flows satisfies the second condition.
- 如权利要求1或6所述的方法,其中,所述第一条件包括:每条瓶颈数据流的传输带宽不超过发送端与接收端服务器的最大线速率;所有具有相同源节点的瓶颈数据流的传输带宽之和不超过源节点的最大可用带宽,所有具有相同目的节点的瓶颈数据流的传输带宽之和不超过目的节点的最大可用带宽。The method according to claim 1 or 6, wherein said first condition comprises: a transmission bandwidth of each bottleneck data stream does not exceed a maximum line rate of the sender end and the sink end server; all bottleneck data streams having the same source node The sum of the transmission bandwidths does not exceed the maximum available bandwidth of the source node, and the sum of the transmission bandwidths of all bottleneck data streams having the same destination node does not exceed the maximum available bandwidth of the destination node.
- 如权利要求1或6所述的方法,其中,所述第二条件包括:每条非瓶颈数据流的传输带宽不超过发送端与接收端服务器的最大线速率;所有具有相同源节点的非瓶颈数据流的传输带宽之和不超过源节点的最大可用带宽,所有具有相同目的节点的非瓶颈数据流的传输带宽之和不超过目的节点的最大可用带宽;分配给一个关联流中非瓶颈数据流的传输带宽不小于根据该关联流的预计完成时间确定的非瓶颈数据流的传输带宽。The method according to claim 1 or 6, wherein said second condition comprises: a transmission bandwidth of each non-bottleneck data stream does not exceed a maximum line rate of the sender end and the sink end server; all non-bottlenecks having the same source node The sum of the transmission bandwidths of the data streams does not exceed the maximum available bandwidth of the source node, and the sum of the transmission bandwidths of all non-bottleneck data streams having the same destination node does not exceed the maximum available bandwidth of the destination node; the non-bottleneck data stream allocated to an associated stream The transmission bandwidth is not less than the transmission bandwidth of the non-bottleneck data stream determined according to the expected completion time of the associated flow.
- 如权利要求1所述的方法,其中,所述主控制器确定各关联流的预计完成时间及分配给每个关联流中各数据流的传输带宽之后,还包括:所述主控制器将各关联流的传输周期以及每个关联流中各数据流的传输带宽发送给各网络节点。The method of claim 1, wherein after the main controller determines an estimated completion time of each associated flow and a transmission bandwidth allocated to each data stream in each associated flow, the method further includes: the primary controller The transmission period of the associated stream and the transmission bandwidth of each data stream in each associated stream are sent to each network node.
- 一种数据中心内关联流的带宽调度装置,设置于主控制器,包括:A bandwidth scheduling device for an associated flow in a data center is disposed on a main controller, and includes:流分类模块,设置为根据收集到的关联流带宽请求,选出每个关联流的瓶颈数据流;a flow classification module, configured to select a bottleneck data flow of each associated flow according to the collected associated flow bandwidth request;预计完成时间计算模块,设置为为各瓶颈数据流分配满足第一条件的传输带宽,并根据分配给各瓶颈数据流的传输带宽确定各瓶颈数 据流所属关联流的预计完成时间;The estimated completion time calculation module is configured to allocate a transmission bandwidth that satisfies the first condition for each bottleneck data stream, and determine the number of bottlenecks according to the transmission bandwidth allocated to each bottleneck data stream. The estimated completion time of the associated flow according to the flow;关联分配模块,设置为根据各关联流的预计完成时间为各关联流中非瓶颈数据流分配传输带宽,当分配给所有关联流中非瓶颈数据流的传输带宽满足第二条件时,确定各关联流的预计完成时间及分配给每个关联流中各数据流的传输带宽。The association allocation module is configured to allocate a transmission bandwidth for the non-bottleneck data stream in each associated flow according to the estimated completion time of each associated flow, and determine the association when the transmission bandwidth allocated to the non-bottleneck data stream in all associated flows satisfies the second condition. The estimated completion time of the flow and the transmission bandwidth allocated to each data flow in each associated flow.
- 一种存储介质,设置为存储用于执行如权利要求1至9中任一项所述的数据中心内关联流的带宽调度方法的计算机程序。 A storage medium, configured to store a computer program for performing a bandwidth scheduling method for an associative flow within a data center according to any one of claims 1-9.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510601222.3 | 2015-09-18 | ||
CN201510601222.3A CN106549782A (en) | 2015-09-18 | 2015-09-18 | The bandwidth scheduling method and device of association stream in a kind of data center |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017045640A1 true WO2017045640A1 (en) | 2017-03-23 |
Family
ID=58288353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2016/099209 WO2017045640A1 (en) | 2015-09-18 | 2016-09-18 | Associated stream bandwidth scheduling method and apparatus in data center |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106549782A (en) |
WO (1) | WO2017045640A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107172142B (en) * | 2017-05-12 | 2019-08-06 | 南京邮电大学 | A kind of data dispatching method accelerating cloud computation data center inquiry |
CN113055308B (en) | 2019-12-26 | 2024-03-05 | 华为云计算技术有限公司 | Bandwidth scheduling method, traffic transmission method and related products |
CN114513423B (en) * | 2020-10-23 | 2023-11-03 | 中移(苏州)软件技术有限公司 | Bandwidth adjustment method, device, equipment and storage medium |
CN117041107B (en) * | 2023-09-28 | 2024-01-26 | 北京博大网信股份有限公司 | Bandwidth quality monitoring method, bandwidth quality monitoring system and data center |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120155265A1 (en) * | 2010-12-15 | 2012-06-21 | Microsoft Corporation | Deadline-Aware Network Protocol |
WO2015106795A1 (en) * | 2014-01-14 | 2015-07-23 | Huawei Technologies Co., Ltd. | Methods and systems for selecting resources for data routing |
CN105827545A (en) * | 2016-04-21 | 2016-08-03 | 中国科学院信息工程研究所 | Scheduling method and device of TCP co-flows in data center network |
-
2015
- 2015-09-18 CN CN201510601222.3A patent/CN106549782A/en active Pending
-
2016
- 2016-09-18 WO PCT/CN2016/099209 patent/WO2017045640A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120155265A1 (en) * | 2010-12-15 | 2012-06-21 | Microsoft Corporation | Deadline-Aware Network Protocol |
WO2015106795A1 (en) * | 2014-01-14 | 2015-07-23 | Huawei Technologies Co., Ltd. | Methods and systems for selecting resources for data routing |
CN105827545A (en) * | 2016-04-21 | 2016-08-03 | 中国科学院信息工程研究所 | Scheduling method and device of TCP co-flows in data center network |
Non-Patent Citations (2)
Title |
---|
ZHANG, YANSHEN.: "Network Traffic Analysis System Based on MapReduce and Its Performance Optimization Research", ELECTRONIC TECHNOLOGY & INFORMATION SCIENCE, 15 August 2015 (2015-08-15) * |
ZHAO, YANGMING ET AL.: "RAPIER: Integrating Routing and Scheduling for Coflow-aware Data Center Networks", COMPUTER COMMUNICATIONS (INFOCOM), 2015 IEEE CONFERENCE, 24 August 2015 (2015-08-24), pages 424 - 432, XP055370065 * |
Also Published As
Publication number | Publication date |
---|---|
CN106549782A (en) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11258688B2 (en) | Network path determination module, network path determining method therefof, and non-transitory storage medium thereof | |
US10341208B2 (en) | File block placement in a distributed network | |
CN102170396B (en) | QoS control method of cloud storage system based on differentiated service | |
CN110297699B (en) | Scheduling method, scheduler, storage medium and system | |
CN103812949B (en) | A kind of task scheduling towards real-time cloud platform and resource allocation methods and system | |
Fang et al. | Parallel stream processing against workload skewness and variance | |
US20150295970A1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
WO2017045640A1 (en) | Associated stream bandwidth scheduling method and apparatus in data center | |
CN104901989B (en) | A kind of Site Service offer system and method | |
CN102859961B (en) | There is the distributed video transcoding system of adaptive file process | |
CN103986766A (en) | Self-adaptation load balancing job task scheduling method and device | |
US10554782B2 (en) | Agile hostpool allocator | |
CN106130960B (en) | Judgement system, load dispatching method and the device of steal-number behavior | |
US20160364484A1 (en) | Query Plan and Operation-Aware Communication Buffer Management | |
Garala et al. | A performance analysis of load Balancing algorithms in Cloud environment | |
CN105450784B (en) | The device and method of message distribution consumption node into MQ | |
Chen et al. | NFV middlebox placement with balanced set-up cost and bandwidth consumption | |
JP5520369B2 (en) | Computer system, method and program | |
Zhou et al. | Scheduling workflow in cloud computing based on ant colony optimization algorithm | |
Ke et al. | Aggregation on the fly: Reducing traffic for big data in the cloud | |
WO2022016969A1 (en) | Data processing method and device | |
CN103617083A (en) | Storage scheduling method and system, job scheduling method and system and management node | |
WO2017000094A1 (en) | Data storage method, device and system | |
CN106933654B (en) | Virtual machine starting method based on cache | |
WO2017215415A1 (en) | Resource control method and apparatus, and iptv server |
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: 16845754 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16845754 Country of ref document: EP Kind code of ref document: A1 |