CN107038482A - Applied to AI algorithm engineerings, the Distributed Architecture of systematization - Google Patents
Applied to AI algorithm engineerings, the Distributed Architecture of systematization Download PDFInfo
- Publication number
- CN107038482A CN107038482A CN201710264446.9A CN201710264446A CN107038482A CN 107038482 A CN107038482 A CN 107038482A CN 201710264446 A CN201710264446 A CN 201710264446A CN 107038482 A CN107038482 A CN 107038482A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- analysis
- video
- service
- distributed architecture
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention discloses a kind of applied to AI algorithm engineerings, the Distributed Architecture of systematization, whole Distributed Architecture is divided into task queue and dispatch service, video cutting service, Algorithm Analysis service, four major parts of data center;What the present invention was provided is applied to AI algorithm engineerings, the Distributed Architecture of systematization, the configuration requirement of single machine can be reduced, and the computing capability of each machine can be effectively utilized by the system of dispatching, the analysis of single video can not only be accelerated, the analysis task for high-volume video can also reply extending transversely at any time.
Description
Technical field
The invention provides a kind of distributed structure/architecture, to accelerate deep learning video analysis, and computer is effectively improved
Cpu, gpu utilization rate, specifically applied to AI algorithm engineerings, the Distributed Architecture of systematization.
Background technology
What the present invention was provided is applied to AI algorithm engineerings, the Distributed Architecture of systematization, to accelerate deep learning to regard
Frequency analysis, and effectively improve computer cpu, gpu utilization rate.In general, analysis knowledge is carried out to video using deep learning
All it is not the offline task for expending very much time and hardware resource;The hardware capabilities of single machine can not infinite expanding it is big to meet
Batch video analysis, can not also accomplish High Availabitity.For such situation, it is necessary to take distributed framework to carry out expanding machinery
Ability, increase fault-tolerance accomplishes High Availabitity simultaneously.After Distributed Architecture, the configuration requirement of single machine can be reduced,
And the computing capability of each machine can be effectively utilized by the system of dispatching, the analysis of single video can not only be added
Speed, the analysis task for high-volume video can also reply extending transversely at any time.
The content of the invention
The present invention for solve the technical scheme that uses of above-mentioned technical problem be to provide it is a kind of applied to AI algorithm engineerings,
The Distributed Architecture of systematization, wherein, concrete technical scheme is:
Whole Distributed Architecture is divided into task queue and dispatch service, video cutting service, Algorithm Analysis service, data
Four major parts of the heart;
1) task queue and scheduling system, can enter task queue and queue up, wait first after video file content input
Scheduler program processing;
2) video cutting service, when there is arithmetic server idle, video file is taken out from queue, but can't horse
On be put on arithmetic server perform analysis, it is necessary to first pass through video cutting service processing video file;Add this service
Analysis mainly to single video is raised speed;
3) Algorithm Analysis service, is the final server for performing deep learning algorithm here, simultaneously for the gpu on machine
Scheduling with cpu is also realized herein, multiple gpu cores and cpu cores would generally be configured on separate unit physical machine, specific to hardware
The use of resource is completed before algorithm is called by being deployed on machine dispatching algorithm, while being supervised for algorithm performs process
Control shows that the result that last algorithm is performed can feed back to result following data by adjusting back by feedback of status is performed to front end
Center;
4) data center, is collected the analysis result of video in data center, is merged into the knot in same video
Really, stored after the data for being processed into structuring in database, facilitate later retrieval.
Above-mentioned is applied to AI algorithm engineerings, the Distributed Architecture of systematization, wherein:Upper EDS maps are realized for convenience
Formula mode is, it is necessary to more convenient Deployment Algorithm server;Because one arithmetic server of increase needs to do many configurations, and compile
Many extra third party libraries are translated, if all doing these repetitive works in extended theorem device or increase algorithm every time,
Undoubtedly lose time.So the deployment of whole system all can be by the way of now popular docker, by inciting somebody to action
Either all to make docker packaged for algorithm or programs of other each service, is only needed to docker when needing
Deployment can just start service, greatly simplify work and reduce deployment time, be truly realized dynamic dilatation.
Above-mentioned is applied to AI algorithm engineerings, the Distributed Architecture of systematization, wherein:1) in step, queue system
The instrument realized using rabbitmq or other offer queue functions is realized, by the way of queue, primarily to convenient
When running into multitude of video input, it is ensured that other all services of rear end can not be hit;Pass through the backstage for the system of dispatching simultaneously
Current task amount and state can be clearly observed, to help operation maintenance personnel expanding machinery to tackle analysis task;Other team
Row system also to decouple well between each service well, it is ensured that respective to develop and run unaffected.
Above-mentioned is applied to AI algorithm engineerings, the Distributed Architecture of systematization, wherein:2) it is one big to regard in step
Frequency file generally requires long processing time, but if being divided into multiple small videos, is distributed to many arithmetic servers
Analysis is performed simultaneously, the analysis time of single video will be greatly reduced, the multiple of specific reduction depends on the number of arithmetic server
Amount, in order to ensure the continuity of ultimate analysis result, takes appropriate strategy (such as adjacent time-slices is overlapping several in cutting
The mode of second);Video cutting can use c++ to encapsulate ffmpeg to do;Finally again by the analysis result of small documents by returning
Storage server is returned to be handled.Mapreduce of this thought in hadoop has had good practice, equally
Suitable for analysis scene here;
Above-mentioned is applied to AI algorithm engineerings, the Distributed Architecture of systematization, wherein:3) in step, various depth
Practising algorithm is realized based on c++ in itself, and in order to ensure the independence of these algorithm routines, (other program generations can be used with python
For) scheduler program of an algorithm is realized on arithmetic server, major function is to realize the consumer of task queue, according to hard
The use state of part calls different Algorithm Analysis service and result is fed back into data center.
Above-mentioned is applied to AI algorithm engineerings, the Distributed Architecture of systematization, wherein:4) in step, data center makes
Realize that one group of api is supplied to external call with nginx, nodejs, the storages of main processing video structural data, retrieval and
Analysis.It can simultaneously be put into this kind of search systems of elasticsearch if desired, make a video frequency search system.
Storage service finally can also will analyze the state completed, feed back to front end system, notify customer analysis to complete.So far whole analysis
Task is completed.
The present invention has the advantages that relative to prior art:The configuration requirement of single machine can be reduced, and
The computing capability of each machine can be effectively utilized by the system of dispatching, the analysis of single video can not only be accelerated,
Analysis task for high-volume video can also reply extending transversely at any time.
Brief description of the drawings
Fig. 1 is the system framework figure applied to AI algorithm engineerings, the Distributed Architecture of systematization.
Fig. 2 is the module call flow chart applied to AI algorithm engineerings, the Distributed Architecture of systematization.
Embodiment
Whole Distributed Architecture is divided into task queue and dispatch service, video cutting service, Algorithm Analysis service, data
Four major parts of the heart and the docker encapsulation that algorithm does distributed deployment and made for convenience.Below for the work of each service
With being described, finally the circulation of whole task can be clearly visible that by system framework figure and flow chart.
1. task queue and scheduling system.
Task queue can be entered after video file content input first to queue up, scheduler program processing is waited.Queue system
Realize can using rabbitmq or other provide queue functions realize instrument.By the way of queue, mainly it is
Convenience is when running into multitude of video input, it is ensured that other all services of rear end can not be hit;Pass through the system of dispatching simultaneously
Backstage can clearly observe current task amount and state, to help operation maintenance personnel expanding machinery to tackle analysis task;
Other queue system also to decouple well between each service well, it is ensured that respective to develop and run unaffected.
2. video cutting service.
When there is arithmetic server idle, video file is taken out from queue, but can't be put into algorithm service at once
Analysis is performed on device, it is necessary to which first passing through video cuts service processing into the thinner video file of granularity.Add this service master
If the analysis to single video is raised speed.One big video file generally requires long processing time, but such as
Fruit is divided into multiple small videos, is distributed to many arithmetic servers while performing analysis, will greatly reduce the analysis of single video
Time (multiple of specific reduction depends on the quantity of arithmetic server)., can be with order to ensure the continuity of ultimate analysis result
The strategy (mode for the time that such as overlaps) compared is taken in cutting;Finally the analysis result of small documents is passed through again
Return to fall to return to storage server and handled.Mapreduce of this thought in hadoop has had good practice, together
Sample is also applied for analysis scene here.
3. Algorithm Analysis service.
Here it is the final server for performing deep learning algorithm.Scheduling simultaneously for gpu and cpu on machine also exists
Here realize.Multiple gpu cores and cpu cores would generally be configured on separate unit physical machine, specific to the use of these hardware resources
Completed before algorithm is called by being deployed on these machines dispatching algorithm, while can also be supervised for algorithm performs process
Control is shown feedback of status is performed to front end.The result that last algorithm is performed can feed back to result following data by adjusting back
Center.
4. data center.
The analysis result of video is collected in data center, the result in same video is merged into, knot is processed into
Stored after the data of structure in database, facilitate later retrieval, elasticsearch can be put into simultaneously if desired
In this kind of search system, a video frequency search system is made.Storage service finally can also will analyze the state completed, feed back to
Front end system, notifies customer analysis to complete.
So far whole analysis task is completed.
5. distributed way above is realized for convenience, it is necessary to more convenient Deployment Algorithm server;Due to increase by one
Arithmetic server needs to do many configurations, and compiles many extra third party libraries, if every time in extended theorem device or
These repetitive works are all done during increase algorithm, are undoubtedly lost time.So the deployment of whole system all can be using existing
In popular docker mode, by the way that either algorithm or other each programs serviced are all made into docker envelopes
Install, only need to docker deployment can just start service when needing, greatly simplify work and reduce and dispose
Time, it is truly realized dynamic dilatation.
Although the present invention is disclosed as above with preferred embodiment, so it is not limited to the present invention, any this area skill
Art personnel, without departing from the spirit and scope of the present invention, when a little modification can be made and perfect, therefore the protection model of the present invention
Enclose when by being defined that claims are defined.
Claims (5)
1. a kind of be applied to AI algorithm engineerings, the Distributed Architecture of systematization, it is characterised in that:Whole Distributed Architecture is divided into
Task queue and dispatch service, video cutting service, Algorithm Analysis service, four major parts of data center;
1) task queue and scheduling system, can enter task queue and queue up, wait scheduling first after video file content input
Program processing;
2) video cutting service, when there is arithmetic server idle, video file is taken out from queue, but can't be put at once
Analysis is performed on to arithmetic server, it is necessary to first pass through video cutting service processing video file;Adding this service is pair
The analysis of single video is raised speed;
3) Algorithm Analysis service, is the final server for performing deep learning algorithm here, simultaneously for the gpu on machine and
Cpu scheduling is also realized herein, and multiple gpu cores and cpu cores would generally be configured on separate unit physical machine, is provided specific to hardware
The use in source is completed before algorithm is called by being deployed on machine dispatching algorithm, while being monitored for algorithm performs process
Feedback of status will be performed and show that the result that last algorithm is performed can feed back to result in following data by adjusting back to front end
The heart;
4) data center, is collected the analysis result of video in data center, is merged into the result in same video, place
Stored after the data for managing into structuring in database, facilitate later retrieval.
2. AI algorithm engineerings, the Distributed Architecture of systematization are applied to as claimed in claim 1, it is characterised in that:In order to
Conveniently realize 1) -4) distributed way is, it is necessary to Deployment Algorithm server;The deployment of whole system is led to by the way of docker
Cross that algorithm routine all made to docker is packaged, docker deployment is started into service when needing.
3. AI algorithm engineerings, the Distributed Architecture of systematization are applied to as claimed in claim 2, it is characterised in that:1) step
In rapid, the realization of queue system uses rabbitmq instruments, when conveniently multitude of video input is being run into by the way of queue, protects
The service of card rear end can not be hit;Current task amount and state are observed by the backstage for the system of dispatching simultaneously, to help
Operation maintenance personnel expanding machinery tackles analysis task;Other queue system causes each to be decoupled well between servicing, it is ensured that each
Exploitation and run it is unaffected.
4. AI algorithm engineerings, the Distributed Architecture of systematization are applied to as claimed in claim 3, it is characterised in that:2) step
In rapid, video file is divided into multiple videos, many arithmetic servers are distributed to while performing analysis, reduce point of single video
Analysis time, the multiple of specific reduction depends on the quantity of arithmetic server, in order to ensure the continuity of ultimate analysis result, is cutting
The strategy compared is taken when cutting, with the mode for the time of partly overlapping;Finally again the analysis result of small documents is fallen to return by returning
Handled to storage server.
5. AI algorithm engineerings, the Distributed Architecture of systematization are applied to as claimed in claim 4, it is characterised in that:4) step
In rapid, database is put into this kind of search systems of elasticsearch simultaneously, makes a video frequency search system, storage clothes
The state that business ultimate analysis is completed, feeds back to front end system, notifies customer analysis to complete, and so far whole analysis task is completed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710264446.9A CN107038482A (en) | 2017-04-21 | 2017-04-21 | Applied to AI algorithm engineerings, the Distributed Architecture of systematization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710264446.9A CN107038482A (en) | 2017-04-21 | 2017-04-21 | Applied to AI algorithm engineerings, the Distributed Architecture of systematization |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107038482A true CN107038482A (en) | 2017-08-11 |
Family
ID=59535222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710264446.9A Pending CN107038482A (en) | 2017-04-21 | 2017-04-21 | Applied to AI algorithm engineerings, the Distributed Architecture of systematization |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107038482A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108248A (en) * | 2017-12-28 | 2018-06-01 | 郑州云海信息技术有限公司 | A kind of CPU+GPU cluster management methods, device and equipment for realizing target detection |
CN109961151A (en) * | 2017-12-21 | 2019-07-02 | 同方威视科技江苏有限公司 | For the system for calculating service of machine learning and for the method for machine learning |
CN110750342A (en) * | 2019-05-23 | 2020-02-04 | 北京嘀嘀无限科技发展有限公司 | Scheduling method, scheduling device, electronic equipment and readable storage medium |
CN113992493A (en) * | 2020-07-08 | 2022-01-28 | 阿里巴巴集团控股有限公司 | Video processing method, system, device and storage medium |
CN114339266A (en) * | 2021-12-14 | 2022-04-12 | 浪潮软件集团有限公司 | Video stream queue processing method based on domestic CPU and operating system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605709A (en) * | 2013-11-12 | 2014-02-26 | 天脉聚源(北京)传媒科技有限公司 | Distributed audio and video processing device and distributed audio and video processing method |
CN103699656A (en) * | 2013-12-27 | 2014-04-02 | 同济大学 | GPU-based mass-multimedia-data-oriented MapReduce platform |
US20150088931A1 (en) * | 2012-08-13 | 2015-03-26 | Hulu, LLC | Job Dispatcher of Transcoding Jobs for Media Programs |
CN104850576A (en) * | 2015-03-02 | 2015-08-19 | 武汉烽火众智数字技术有限责任公司 | Fast characteristic extraction system based on mass videos |
CN105243160A (en) * | 2015-10-28 | 2016-01-13 | 西安美林数据技术股份有限公司 | Mass data-based distributed video processing system |
-
2017
- 2017-04-21 CN CN201710264446.9A patent/CN107038482A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150088931A1 (en) * | 2012-08-13 | 2015-03-26 | Hulu, LLC | Job Dispatcher of Transcoding Jobs for Media Programs |
CN103605709A (en) * | 2013-11-12 | 2014-02-26 | 天脉聚源(北京)传媒科技有限公司 | Distributed audio and video processing device and distributed audio and video processing method |
CN103699656A (en) * | 2013-12-27 | 2014-04-02 | 同济大学 | GPU-based mass-multimedia-data-oriented MapReduce platform |
CN104850576A (en) * | 2015-03-02 | 2015-08-19 | 武汉烽火众智数字技术有限责任公司 | Fast characteristic extraction system based on mass videos |
CN105243160A (en) * | 2015-10-28 | 2016-01-13 | 西安美林数据技术股份有限公司 | Mass data-based distributed video processing system |
Non-Patent Citations (1)
Title |
---|
苗雨顺: "rabbitmq工作队列实现高性能任务的负载分发", 《CSDN博客》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961151A (en) * | 2017-12-21 | 2019-07-02 | 同方威视科技江苏有限公司 | For the system for calculating service of machine learning and for the method for machine learning |
CN109961151B (en) * | 2017-12-21 | 2021-05-14 | 同方威视科技江苏有限公司 | System of computing services for machine learning and method for machine learning |
CN108108248A (en) * | 2017-12-28 | 2018-06-01 | 郑州云海信息技术有限公司 | A kind of CPU+GPU cluster management methods, device and equipment for realizing target detection |
CN110750342A (en) * | 2019-05-23 | 2020-02-04 | 北京嘀嘀无限科技发展有限公司 | Scheduling method, scheduling device, electronic equipment and readable storage medium |
CN110750342B (en) * | 2019-05-23 | 2020-10-09 | 北京嘀嘀无限科技发展有限公司 | Scheduling method, scheduling device, electronic equipment and readable storage medium |
CN113992493A (en) * | 2020-07-08 | 2022-01-28 | 阿里巴巴集团控股有限公司 | Video processing method, system, device and storage medium |
CN114339266A (en) * | 2021-12-14 | 2022-04-12 | 浪潮软件集团有限公司 | Video stream queue processing method based on domestic CPU and operating system |
CN114339266B (en) * | 2021-12-14 | 2023-09-01 | 浪潮软件集团有限公司 | Video stream queue processing method based on domestic CPU and operating system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107038482A (en) | Applied to AI algorithm engineerings, the Distributed Architecture of systematization | |
CN106802826B (en) | Service processing method and device based on thread pool | |
US11740935B2 (en) | FPGA acceleration for serverless computing | |
CN107729139B (en) | Method and device for concurrently acquiring resources | |
US9582312B1 (en) | Execution context trace for asynchronous tasks | |
US10908926B2 (en) | Plug-in management wrappers | |
CN107450971B (en) | Task processing method and device | |
US20170068574A1 (en) | Multiple pools in a multi-core system | |
US20140026142A1 (en) | Process Scheduling to Maximize Input Throughput | |
WO2019223596A1 (en) | Method, device, and apparatus for event processing, and storage medium | |
US11740941B2 (en) | Method of accelerating execution of machine learning based application tasks in a computing device | |
EP3848805A1 (en) | Warm start technique for cloud-hosted functions | |
US10970805B2 (en) | Graphics processing unit operation | |
CN105892996A (en) | Assembly line work method and apparatus for batch data processing | |
CN111190753B (en) | Distributed task processing method and device, storage medium and computer equipment | |
US20210096981A1 (en) | Identifying differences in resource usage across different versions of a software application | |
CN109783255B (en) | Data analysis and distribution device and high-concurrency data processing method | |
CN109542642A (en) | A kind of method and device of front-end task processing | |
US9832137B1 (en) | Provisioning system and method for a distributed computing environment using a map reduce process | |
CN103823712A (en) | Data flow processing method and device for multi-CPU virtual machine system | |
CN113051049A (en) | Task scheduling system, method, electronic device and readable storage medium | |
CN112860401A (en) | Task scheduling method and device, electronic equipment and storage medium | |
CA3188740C (en) | System and process for optimizing a simulation tool | |
CN107609129B (en) | Log real-time processing system | |
CN107911484A (en) | A kind of method and device of Message Processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170811 |