CN107038482A - Applied to AI algorithm engineerings, the Distributed Architecture of systematization - Google Patents

Applied to AI algorithm engineerings, the Distributed Architecture of systematization Download PDF

Info

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
Application number
CN201710264446.9A
Other languages
Chinese (zh)
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.)
Shanghai Jilian Network Technology Co Ltd
Original Assignee
Shanghai Jilian Network Technology 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 Shanghai Jilian Network Technology Co Ltd filed Critical Shanghai Jilian Network Technology Co Ltd
Priority to CN201710264446.9A priority Critical patent/CN107038482A/en
Publication of CN107038482A publication Critical patent/CN107038482A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine 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

Applied to AI algorithm engineerings, the Distributed Architecture of systematization
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.
CN201710264446.9A 2017-04-21 2017-04-21 Applied to AI algorithm engineerings, the Distributed Architecture of systematization Pending CN107038482A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
苗雨顺: "rabbitmq工作队列实现高性能任务的负载分发", 《CSDN博客》 *

Cited By (8)

* Cited by examiner, † Cited by third party
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