CN108243150B - Dual-function processor - Google Patents

Dual-function processor Download PDF

Info

Publication number
CN108243150B
CN108243150B CN201611208640.7A CN201611208640A CN108243150B CN 108243150 B CN108243150 B CN 108243150B CN 201611208640 A CN201611208640 A CN 201611208640A CN 108243150 B CN108243150 B CN 108243150B
Authority
CN
China
Prior art keywords
stream processing
function
execution
server
dual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611208640.7A
Other languages
Chinese (zh)
Other versions
CN108243150A (en
Inventor
唐德可
杨彦嫣
任丽君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongke Star Map Co ltd
Original Assignee
Zhongke Star Map Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhongke Star Map Co ltd filed Critical Zhongke Star Map Co ltd
Priority to CN201611208640.7A priority Critical patent/CN108243150B/en
Publication of CN108243150A publication Critical patent/CN108243150A/en
Application granted granted Critical
Publication of CN108243150B publication Critical patent/CN108243150B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

The invention relates to a dual-function server which has two functions of responding to a received stream processing request and executing a stream processing task and switches between the two functions. The present invention dynamically switches between the two functions according to the workload state of executing the stream processing task, thereby effectively improving the stability and efficiency of executing the stream processing task.

Description

Dual-function processor
[ technical field ] A method for producing a semiconductor device
The invention belongs to the field of computer data processing, and particularly relates to a server for receiving a stream processing request in a distributed online stream processing service system.
[ background of the invention ]
Computers are now in intensive use in a variety of fields, and all industries use computers to store and process various data. The method is divided into real-time processing and streaming processing according to the characteristics of data online processing, wherein the real-time processing has strict requirements on data processing time, the processing needs to be completed in a very short time, the processed data volume is usually small and corresponds to the real-time processing, and the streaming processing is characterized in that the processing time has no strict requirements, the processed data volume is usually very large, but the data processing needs corresponding processing time, so that when the received data flow rate is higher than the processed data flow rate, the more data to be processed is accumulated, and data blocking is caused. Especially, with the rapid development of the internet, the audio and video transmission flow based on the network is also getting larger and larger, and the network audio and video streams have been deeply penetrated into the daily life of people, for example: codec services for audio and video streams, format conversion services, etc., which place new demands on the ability to respond timely to stream processing request services. One commonly used method to avoid blocking of streaming data requests is to increase the processing speed of the streaming data service, such as using a data processing unit with better computation performance and higher hardware cost requirement, and another commonly used method is to distribute different streaming data requests to a plurality of different data processing units by scheduling, thereby requiring a more complex scheduling algorithm. It can be seen that both of the above approaches have limitations. The conventional solution is to separate the function of receiving the stream processing request from the function of executing the stream processing task, the former is concerned with whether to receive the stream processing request to control the number of received stream processing requests, the latter is concerned with the execution of the stream processing task, when the latter is blocked, the former is controlled not to receive new processing requests until the workload of the latter is reduced to a reasonable level, and during this period, the former is in a non-working state. Therefore, how to reduce the recovery time and improve the utilization rate of the processor is a significant technical problem.
[ summary of the invention ]
In order to solve the above problems in the prior art, the present invention provides a dual function server, which is applied in a system for processing data streams online.
The technical scheme provided by the invention is a dual-function server which can be switched between a stream processing request response function and a stream processing execution function, and comprises the following steps:
a receiving and caching device connected to a network, receiving a stream processing request transmitted by a stream processing requester through the network, and caching the stream processing request;
a dual function device performing a stream processing request response function or a stream processing execution function; when executing the stream processing request response function, judging whether to send a permission response to the received stream processing request according to the data type of the stream processing, if the data type can be processed, sending a permission response message to a requester, and forwarding the stream processing request to an execution server connected with the dual-function server to execute the stream processing operation; if the data type cannot be processed, sending a response message of refusal to the requester; when executing the stream processing function, the receiving and caching device does not send out a response message to the new stream processing request received by the receiving and caching device any more, and executes the stream processing task;
a load state monitoring device which is connected with the execution server and periodically receives the working state information of the execution server;
and the control device controls the dual-function device to execute one of the stream processing request response and the stream processing execution function according to the working state information received by the load state monitoring device.
Preferably, the execution server includes at least 2 execution units, each of the execution units includes an independent processor unit and an independent memory unit, and the received operating state information includes an operating load rate of the processor unit and a usage rate of the memory unit of each execution unit.
Preferably, the determining, by the control device, the busyness of the execution server according to the working state information received by the load state monitoring device specifically includes:
1) acquiring the operation load rate Ucpu of each execution unit, wherein the operation load rate is the utilization rate of the processor unit;
2) acquiring the utilization rate Umem of a memory unit of each execution unit, wherein the utilization rate is the proportion of the used space of the memory unit to the total space;
3) calculating the overall load rate of the execution unit:
UE ═ α × Ucpu + β × Umem, where UE is the overall load factor of the execution unit, α and β are weighting coefficients, and α + β is equal to or less than 1; the weighting coefficient can be used for highlighting which processing resource in the execution unit is in a more important position in stream processing;
4) calculating and determining the busyness of the execution server:
Figure BDA0001190518780000031
where N is the total number of execution units, UEiOverall load factor, γ, of execution unit numbered iiThe coefficient of performance of the execution unit numbered i, which coefficient of performance is determined in the following way,
Figure BDA0001190518780000032
wherein, PiAnd MiThe performance index of the processor unit and the total capacity of the memory unit, respectively the execution unit numbered i. The differences in processing resources of different execution units are balanced by calculating an average of the sum of the weighted overall load ratios of all execution units. The calculated busyness degree can reflect the work load condition of the execution server more accurately.
Preferably, after determining the busyness of the execution server, the control device controls the dual function device to execute one of a flow processing request response and a flow processing execution function, which specifically includes:
1) when the BS is less than the first threshold and the dual function device is to perform the stream processing function, controlling the dual function device to switch from performing the stream processing function to performing a response function to the stream processing request;
2) when the BS is greater than the second threshold and the dual function device is a response function to the stream processing request, controlling the dual function device to switch from performing the response function to the stream processing request to performing the stream processing function;
and when the first threshold value is equal to the second threshold value, the oscillation condition of switching back and forth between the two functions near the threshold value is avoided.
Preferably, when the dual function device executes a permission response to the received stream processing request, the stream processing request is forwarded to the execution unit with the lowest overall load rate in the execution server; when the dual-function device executes the stream processing function, the dual-function device is used as an auxiliary execution unit for executing the execution unit with the highest load rate in the server, and executes part of the stream processing tasks of the execution unit with the highest load rate.
Preferably, the performance index of the processor is based on the main frequency of the processor.
Preferably, the first threshold value is 0.5 and the second threshold value is 0.8.
The beneficial effects of the invention at least comprise: the functions of the dual function server are dynamically changed based on the load condition of the execution server executing the stream processing task, and the processing resources are supplemented under the condition that the processing resources of the execution server are insufficient, so that the waiting time caused by the insufficient processing resources can be effectively reduced, and the stability and the efficiency of executing the stream processing task are improved.
[ description of the drawings ]
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, and are not to be considered limiting of the invention, in which:
FIG. 1 is a position diagram of an application of one embodiment of the present invention;
fig. 2 is a system configuration diagram of an embodiment of the present invention.
[ detailed description ] embodiments
The present invention will now be described in detail with reference to the drawings and specific embodiments, wherein the exemplary embodiments and descriptions are provided only for the purpose of illustrating the present invention and are not to be construed as limiting the present invention.
Referring to fig. 1, a location diagram of a stream processing system according to an embodiment of the present invention is shown, in which a dual function server is connected to the internet at one end, receives a stream processing request sent by an internet request, and is connected to an execution server at the other end, forwards a permitted stream processing request to the execution server, and completes a stream processing operation by the execution server, and the execution server adopts a distributed multi-execution unit structure, and can process multiple stream processing tasks at the same time. In a conventional stream processing system structure, a stream processing request receiving server receives and forwards a stream processing request to an execution server, and execution units in the execution server execute the stream processing tasks, and because different types of stream processing tasks have different requirements on processing resources, such as processors and memories, of the execution units, the processing resource consumption of each execution unit also has a difference. As the stream processing task increases, the workload of each execution unit also increases, and when all the execution units are under a higher workload, if a new stream processing request is still received, a situation that some execution units block data during the process of executing the stream processing task due to lack of processing resources may result. The main reasons for this are: when the execution server has insufficient processing resources, the data stream to be processed continuously input subsequently cannot be processed, so that data backlog is generated, and blocking is caused. As shown in fig. 1, in a stream processing system for format conversion of video data, in the present embodiment, a dual function server is proposed, first, when the dual function server performs a function of receiving a stream processing request, determining a data type of stream processing, and if the received stream processing data type does not belong to a video conversion type, the dual function server sends a message of service rejection to a requester; when the stream processing data type belongs to the video conversion type, a permission message is sent to the requester, the request is forwarded to the execution server, then the stream processing requester communicates with the execution server, the video data stream to be converted is continuously sent to the execution server, the execution server completes format conversion, the converted data is sent to the stream processing requester, and the execution unit usually executes a plurality of different stream processing tasks in order to improve the utilization rate of the execution unit. As more on-demand stream processing requests are received, the workload of the execution units in the execution server also increases, and the processor and memory usage of the execution units in the execution server also begins to approach the upper bound.
Referring further to fig. 2, a system architecture diagram of the dual server of the present embodiment is shown. The receiving and caching device is responsible for receiving and caching new stream processing requests, the load monitoring device controls the functions of the dual-function device according to the overall load condition of the execution server, the overall load of the execution server can be represented by calculating the average load of all execution units, and because different execution units have differences in processing unit performance and memory capacity, the differences in the aspects need to be considered when the workload of the execution units is calculated. The embodiment provides a new calculation method, which measures the overall load of an execution server by calculating the busyness of the execution server, and specifically includes the following steps:
step 1: acquiring the operation load rate Ucpu of each execution unit, wherein the operation load rate is the utilization rate of a processor of each execution unit;
step 2: acquiring the utilization rate Umem of a memory of each execution unit, wherein the utilization rate is the proportion of the used space of the memory to the total space;
and step 3: calculating the overall load rate of the execution unit:
UE ═ α × Ucpu + β × Umem, where UE is the overall load rate of the execution unit and α and β are weighting coefficients, in the application environment of video conversion targeted by the present embodiment, the capacity demand on the processor is higher than the memory capacity demand, so α is set higher than β, typically α is set to 0.7 and β is set to 0.3;
4) calculating and determining the busyness of the execution server:
Figure BDA0001190518780000061
where N is the number of execution units, UEiOverall load factor, γ, of execution unit numbered iiThe coefficient of performance of the execution unit numbered i, which coefficient of performance is determined in the following way,
Figure BDA0001190518780000062
wherein, PiAnd MiThe performance index and memory capacity of the processor, respectively, of the execution unit numbered i.
When the execution server is in heavy load, that is, the busyness calculated above is in a higher level, and at this time, if a new stream processing request is still continuously received, the working pressure of the execution server may be further increased, and therefore, the control state of the dual function server is based on the working state information monitored by the load monitoring device, and when the busyness calculated according to the above method of the execution server exceeds a threshold, the dual function device is controlled to switch to the function of executing the stream processing task instead of providing the function of executing the stream processing request response, so as to supplement the processing capability of the execution server. The control unit informs the execution units of the highest overall load rate through the working state information of each execution unit monitored by the load state monitoring device, partial stream processing tasks which are responsible for the execution units but not completely executed are transferred to the dual-function device, and the dual-function device completes the tasks. Due to the addition of the dual-function device, the processing resources for executing the stream processing task are increased, so that the overall workload of the execution server can be reduced, and the risk of overloading part of execution units in the execution server is effectively reduced. With the reduction of the workload of the execution server, when the busyness of the execution server monitored by the control device is lower than a threshold, the uncompleted stream processing task born by the dual function device can be returned to the original execution unit, and the function of the execution unit is restored to the function of executing the stream processing request response. In order to prevent the dual function device from oscillating about the threshold for switching the two functions back and forth, the two thresholds are set to different values, e.g. the first threshold is set to 0.5 and the second threshold is set to 0.8.
The above description is only a preferred embodiment of the present invention, and all equivalent changes or modifications of the structure, characteristics and principles described in the present invention are included in the scope of the present invention.

Claims (7)

1. A dual function server capable of switching between a stream processing request response function and a stream processing execution function, comprising:
a receiving and caching device connected to a network, receiving a stream processing request transmitted by a stream processing requester through the network, and caching the stream processing request;
a dual function device performing a stream processing request response function or a stream processing execution function; when executing the stream processing request response function, judging whether to send permission response to the received stream processing request according to the data type of stream processing; if the data type can be processed, sending a response message of permission to a requester, and forwarding the stream processing request to an execution server connected with the dual-function server to execute stream processing operation; if the data type cannot be processed, sending a response message of refusal to the requester; when executing the stream processing function, the receiving and caching device does not send out a response message to the new stream processing request received by the receiving and caching device any more, and executes the stream processing task;
a load state monitoring device which is connected with the execution server and periodically receives the working state information of the execution server;
and the control device controls the dual-function device to execute one of the stream processing request response and the stream processing execution function according to the working state information received by the load state monitoring device.
2. The dual function server of claim 1, wherein: the execution server comprises at least 2 execution units, each execution unit comprises an independent processor unit and an independent memory unit, and the received working state information comprises the running load rate of the processor unit and the utilization rate of the memory unit of each execution unit.
3. The dual function server according to claim 2, wherein the controlling means determines the busyness of the execution server according to the working status information received by the load status monitoring means, and specifically includes:
1) acquiring the operation load rate Ucpu of each execution unit, wherein the operation load rate is the utilization rate of the processor unit;
2) acquiring the utilization rate Umem of a memory unit of each execution unit, wherein the utilization rate is the proportion of the used space of the memory unit to the total space;
3) calculating the overall load rate of the execution unit:
UE ═ α × Ucpu + β × Umem, where UE is the overall load factor of the execution unit, α and β are weighting coefficients, and α + β is equal to or less than 1;
4) calculating and determining the busyness of the execution server:
Figure FDA0003265038200000011
wherein N is an execution unitTotal number, UEiOverall load factor, γ, of execution unit numbered iiThe coefficient of performance of the execution unit numbered i, which coefficient of performance is determined in the following way,
Figure FDA0003265038200000021
wherein, PiAnd MiThe performance index of the processor unit and the total capacity of the memory unit, respectively the execution unit numbered i.
4. The dual function server of claim 3, wherein: after determining the busyness of the execution server, the control device controls the dual function device to execute one of a flow processing request response and a flow processing execution function, which specifically includes:
1) when the BS is less than the first threshold and the dual function device is to perform the stream processing function, controlling the dual function device to switch from performing the stream processing function to performing a response function to the stream processing request;
2) when the BS is greater than the second threshold and the dual function device is a response function to the stream processing request, controlling the dual function device to switch from performing the response function to the stream processing request to performing the stream processing function;
wherein the first threshold is less than the second threshold.
5. The dual function server of claim 4, wherein: when the dual-function device executes a permission response to the received stream processing request, forwarding the stream processing request to an execution unit with the lowest overall load rate in the execution server; when the dual-function device executes the stream processing function, the dual-function device is used as an auxiliary execution unit for executing the execution unit with the highest overall load rate in the server, and executes the partial stream processing task of the execution unit with the highest overall load rate.
6. The dual function server of claim 5, wherein: the performance index of the processor unit is based on the main frequency of the processor.
7. The dual function server of claim 6, wherein: the first threshold value is 0.5 and the second threshold value is 0.8.
CN201611208640.7A 2016-12-23 2016-12-23 Dual-function processor Active CN108243150B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611208640.7A CN108243150B (en) 2016-12-23 2016-12-23 Dual-function processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611208640.7A CN108243150B (en) 2016-12-23 2016-12-23 Dual-function processor

Publications (2)

Publication Number Publication Date
CN108243150A CN108243150A (en) 2018-07-03
CN108243150B true CN108243150B (en) 2022-03-18

Family

ID=62704262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611208640.7A Active CN108243150B (en) 2016-12-23 2016-12-23 Dual-function processor

Country Status (1)

Country Link
CN (1) CN108243150B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065568A (en) * 2014-07-07 2014-09-24 电子科技大学 Web server cluster routing method
CN104486032A (en) * 2007-03-12 2015-04-01 思杰系统有限公司 Systems and methods of providing proxy-based quality of service
CN104580518A (en) * 2015-01-29 2015-04-29 成都国科海博信息技术股份有限公司 Load balance control method used for storage system
CN105610986A (en) * 2016-03-14 2016-05-25 浪潮通用软件有限公司 Service scheduling method, load balancing server and service scheduling system
CN105872048A (en) * 2016-03-30 2016-08-17 联想(北京)有限公司 Control method and electronic equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8243598B2 (en) * 2010-04-26 2012-08-14 International Business Machines Corporation Load-balancing via modulus distribution and TCP flow redirection due to server overload
KR20140089749A (en) * 2013-01-07 2014-07-16 한국전자통신연구원 Apparatus and method for controlling load allocation of cluster

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486032A (en) * 2007-03-12 2015-04-01 思杰系统有限公司 Systems and methods of providing proxy-based quality of service
CN104065568A (en) * 2014-07-07 2014-09-24 电子科技大学 Web server cluster routing method
CN104580518A (en) * 2015-01-29 2015-04-29 成都国科海博信息技术股份有限公司 Load balance control method used for storage system
CN105610986A (en) * 2016-03-14 2016-05-25 浪潮通用软件有限公司 Service scheduling method, load balancing server and service scheduling system
CN105872048A (en) * 2016-03-30 2016-08-17 联想(北京)有限公司 Control method and electronic equipment

Also Published As

Publication number Publication date
CN108243150A (en) 2018-07-03

Similar Documents

Publication Publication Date Title
CN103699447B (en) Cloud computing-based transcoding and distribution system for video conference
US11080090B2 (en) Method and system for scalable job processing
Nakai et al. Load balancing for internet distributed services using limited redirection rates
CN105007337A (en) Cluster system load balancing method and system thereof
CN102480469B (en) Based on the method for the load dispatch of balancing energy and device in a kind of SIP service cluster
CN103516744A (en) A data processing method, an application server and an application server cluster
CN103259832A (en) Cluster resource control method for achieving dynamic load balance, fault diagnosis and failover
CN110149401B (en) Method and system for optimizing edge calculation task
CN111190745A (en) Data processing method and device and computer readable storage medium
US20150263985A1 (en) Systems and methods for intelligent workload routing
CN113254095B (en) Task unloading, scheduling and load balancing system and method for cloud edge combined platform
CN105808343A (en) Cluster resource control method used for complicated production management system
CN108737566B (en) Distributed real-time message filtering system
CN114217993A (en) Method, system, terminal device and storage medium for controlling thread pool congestion
Atiewi et al. A review energy-efficient task scheduling algorithms in cloud computing
US11709707B2 (en) Low latency distributed counters for quotas
CN108243150B (en) Dual-function processor
Chatterjee et al. A new clustered load balancing approach for distributed systems
CN107315700B (en) Interrupt processing method and related device
CN112214299A (en) Multi-core processor and task scheduling method and device thereof
CN116541167A (en) System flow control method, device, electronic equipment and computer readable medium
CN111427674A (en) Micro-service management method, device and system
CN110457130B (en) Distributed resource elastic scheduling model, method, electronic equipment and storage medium
CN114741200A (en) Data center station-oriented computing resource allocation method and device and electronic equipment
CN112073327B (en) Anti-congestion software distribution method, device and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information

Address after: 101399 No. 2 East Airport Road, Shunyi Airport Economic Core Area, Beijing (1st, 5th and 7th floors of Industrial Park 1A-4)

Applicant after: Zhongke Star Map Co., Ltd.

Address before: 101399 Building 1A-4, National Geographic Information Technology Industrial Park, Guomen Business District, Shunyi District, Beijing

Applicant before: Space Star Technology (Beijing) Co., Ltd.

CB02 Change of applicant information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant