RU199929U1 - DEVICE FOR PROCESSING STREAMS OF SPACE-TIME DATA IN REAL TIME MODE - Google Patents
DEVICE FOR PROCESSING STREAMS OF SPACE-TIME DATA IN REAL TIME MODE Download PDFInfo
- Publication number
- RU199929U1 RU199929U1 RU2020100159U RU2020100159U RU199929U1 RU 199929 U1 RU199929 U1 RU 199929U1 RU 2020100159 U RU2020100159 U RU 2020100159U RU 2020100159 U RU2020100159 U RU 2020100159U RU 199929 U1 RU199929 U1 RU 199929U1
- Authority
- RU
- Russia
- Prior art keywords
- processing
- flags
- messages
- coordinates
- router
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Полезная модель относится к средствам обработки информации. Техническим результатом является повышение эффективности обработки потоков пространственно-временных данных за счет уменьшения времени предварительной фильтрации сообщений и повышения пропускной способности устройства. Устройство для обработки потоков пространственно-временных данных в режиме реального времени содержит маршрутизатор, отвечающий за последовательную обработку поступающих сообщений, и, по меньшей мере, два параметризируемых программируемых вычислительных блока, каждый из которых выполнен с возможностью реализации оператора, выбранного из сопоставления координат в ячейках регулярной сетки с флагами и сопоставления координат и отсекающих прямых с флагами. 1 ил.The utility model relates to information processing facilities. The technical result is to increase the efficiency of processing spatio-temporal data streams by reducing the time for pre-filtering messages and increasing the throughput of the device. The device for processing spatio-temporal data streams in real time contains a router responsible for sequential processing of incoming messages, and at least two parameterizable programmable computing units, each of which is configured to implement an operator selected from the comparison of coordinates in cells of regular flag grids and mappings of coordinates and cut lines with flags. 1 ill.
Description
Полезная модель относится к средствам обработки информации, а именно к устройству для обработки потоков пространственно-временных данных в режиме реального времени, и может быть использована в составе киберфизической системы мониторинга производственных процессов на основе распределенных сетей интеллектуальных геосенсоров. The utility model refers to information processing facilities, namely, to a device for processing streams of spatio-temporal data in real time, and can be used as part of a cyber-physical system for monitoring production processes based on distributed networks of intelligent geosensors.
При обработке потоков пространственно-временных данных, поступающих от сетей геосенсоров, существует необходимость определять значение пространственных предикатов вида: «есть ли пересечение между областями g и p», где g - область неопределенности положения геосенсора в момент измерения, а p - некоторая область, определенная задачей предметной области. When processing streams of spatio-temporal data coming from networks of geosensors, there is a need to determine the value of spatial predicates of the form: "is there an intersection between the areas g and p", where g is the area of uncertainty of the position of the geosensor at the time of measurement, and p is a certain area defined task of the subject area.
Традиционный подход к выполнению задач такого рода предполагает комбинирование двух этапов – этапа предварительной фильтрации с помощью того или иного пространственного индекса и этапа расчета пространственного предиката с помощью модели девяти измерений Эгенхофера и Герринга или расширенной модели девяти пересечений (DE-9IM, Dimensionally Extended 9 Intersection Model), разработанной Клементини с соавторами. The traditional approach to performing tasks of this kind involves a combination of two stages - the stage of pre-filtering using a particular spatial index and the stage of calculating the spatial predicate using the Egenhofer and Gerring nine-dimensional model or the extended nine-intersection model (DE-9IM, Dimensionally Extended 9 Intersection Model ), developed by Clementini et al.
В настоящее время существует потребность в создании более эффективных средств для обработки потоков пространственно-временных данных в режиме реального времени, обеспечивающих обработку большого количества пространственно-координированных сообщений с контролируемой задержкой. То есть, система должна обладать высокой пропускной способностью, чтобы обрабатывать N поступающих сообщений в секунду, при этом реакция системы на каждое сообщение должна формироваться не более чем за S секунд (латентность). Currently, there is a need to create more efficient tools for processing spatio-temporal data streams in real time, providing processing of a large number of spatially coordinated messages with controlled delay. That is, the system must have high throughput in order to process N incoming messages per second, while the system's response to each message must be formed in no more than S seconds (latency).
Авторы полезной модели нашли способ решения вышеуказанной проблемы путем создания решения, обеспечивающего аппаратную реализацию части процесса обработки, предполагающего предварительную интерпретацию координат из сообщения. Таким образом, уточненная (окончательная) интерпретация координат в части случаев может быть вообще не нужна, а в остальных - требовать значительно меньшее количество данных. Это в совокупности позволяет, и повысить пропускную способность, и понизить латентность системы обработки пространственно-временных данных. The authors of the utility model have found a way to solve the above problem by creating a solution that provides hardware implementation of a part of the processing process that presupposes a preliminary interpretation of coordinates from a message. Thus, a refined (final) interpretation of coordinates in some cases may not be needed at all, and in others it may require a much smaller amount of data. Together, this allows both to increase the throughput and reduce the latency of the system for processing space-time data.
Техническим результатом заявленной полезной модели является повышение эффективности обработки потоков пространственно-временных данных за счет уменьшения времени предварительной фильтрации сообщений и повышения пропускной способности устройства. The technical result of the claimed utility model is to increase the efficiency of processing spatio-temporal data streams by reducing the time for pre-filtering messages and increasing the throughput of the device.
Указанный технический результат достигается тем, что заявленное устройство для обработки потоков пространственно-временных данных в режиме реального времени содержит маршрутизатор, отвечающий за последовательную обработку поступающих сообщений и, по меньшей мере два параметризируемых программируемых вычислительных блока, каждый из которых выполнен с возможностью реализации оператора, выбранного из следующих: сопоставление координат в ячейках регулярной сетки с флагами и сопоставление координат и отсекающих прямых с флагами. The specified technical result is achieved in that the claimed device for processing streams of space-time data in real time contains a router responsible for sequential processing of incoming messages and at least two parameterizable programmable computing units, each of which is configured to implement the operator selected of the following: mapping coordinates in grid cells to flags, and mapping coordinates and cut-off lines to flags.
На фиг. 1 представлена блок-схема, отражающая общий принцип работы устройства в соответствии с одним из возможных вариантов его осуществления. FIG. 1 is a block diagram showing the general principle of operation of the device in accordance with one of the possible variants of its implementation.
Заявленное устройство для обработки потоков пространственно-временных данных в режиме реального времени работает на уровне сообщений, каждое из которых содержит некую полезную нагрузку, включающую в себя координаты и набор логических признаков - флагов. The claimed device for processing streams of spatio-temporal data in real time operates at the level of messages, each of which contains a certain payload, which includes coordinates and a set of logical features - flags.
Под флагом понимается логический признак: он либо есть, либо его нет. Изначально набор флагов пуст. A flag is understood as a logical sign: either it exists or it is not. Initially, the set of flags is empty.
Физическая реализация устройства предполагает наличие аппаратной реализации элементарных базовых процедур – операторов в виде специализированных микросхем или ПЛИС (программируемых логических интегральных схем). Примером могут быть представители семейств UltraScale и UltraScale+ производства Intel и Xlinix. Оператор отвечает за процедуру, получающую на вход данные сообщения и модифицирующую его набор флагов в зависимости от результата обработки. Конкретный состав операторов может варьироваться в зависимости от задачи и условий эксплуатации. The physical implementation of the device assumes the presence of a hardware implementation of elementary basic procedures - operators in the form of specialized microcircuits or FPGAs (programmable logic integrated circuits). An example is the representatives of the UltraScale and UltraScale + families manufactured by Intel and Xlinix. The operator is responsible for the procedure that receives the message data as input and modifies its set of flags depending on the processing result. The specific composition of operators may vary depending on the task and operating conditions.
В соответствии с поставленной авторами задачей, заявленное устройство ориентировано на обработку пространственных данных с высокой производительностью, поэтому операторы должны быть способны обрабатывать каждое сообщение за ограниченное время, в идеале - константное. In accordance with the task set by the authors, the claimed device is focused on processing spatial data with high performance, therefore, operators should be able to process each message in a limited time, ideally constant.
Примерами задач пространственного анализа, решаемых операторами, могут быть следующие. Examples of spatial analysis problems solved by operators include the following.
1. Определение принадлежности координат ячейкам регулярной сетки: каждая ячейка предполагает добавление некоторого набора флагов.1. Determination of the belonging of coordinates to cells of a regular grid: each cell assumes the addition of a certain set of flags.
2. Определение взаимного положения координат и набора отсекающих прямых: каждая комбинация взаимных положений предполагает добавление некоторого набора флагов. 2. Determination of the relative position of coordinates and a set of cutting lines: each combination of mutual positions involves the addition of a certain set of flags.
Для работы операторов необходимы данные. Например, для оператора 1 (см. блок 1 на фиг. 1) это параметры регулярных сеток и наборы флагов для каждой ячейки, а для оператора 2 - наборы отсекающих прямых и наборы флагов для каждой их комбинации. Operators need data to operate. For example, for operator 1 (see block 1 in Fig. 1) these are the parameters of regular grids and sets of flags for each cell, and for operator 2 - sets of cutting lines and sets of flags for each of their combinations.
Для хранения необходимых данных используется программируемая память оператора. Она доступна оператору в режиме чтения и может быть разделена между несколькими экземплярами одного оператора. The operator's programmable memory is used to store the necessary data. It is available to the operator in read mode and can be divided among several instances of the same operator.
Аппаратная реализация оператора требует для работы некоторого набора периферийного оборудования, поддерживающего его функционирование и обеспечивающего прием и передачу обрабатываемых данных, вместе с которыми он образует блок обработки информации. Сам набор оборудования определяется спецификацией ПЛИС или микроконтроллера. Несколько блоков могут обеспечивать реализацию одного и того же оператора, что, благодаря параллельному функционированию блоков, позволяет выполнять один оператор над несколькими сообщениями одновременно. The hardware implementation of the operator requires a certain set of peripheral equipment for operation, which supports its operation and provides reception and transmission of processed data, together with which it forms an information processing unit. The set of equipment itself is determined by the specification of the FPGA or microcontroller. Several blocks can provide the implementation of the same operator, which, due to the parallel operation of the blocks, allows one operator to execute on several messages simultaneously.
Координацию обработки и, главным образом, распределение сообщений по блокам осуществляет Маршрутизатор. Его аппаратная реализация может быть построена на специализированных ПЛИС, аналогичных тем, что используются для реализации операторов (Intel, Xlinix и др.) или высокопроизводительном программируемом микроконтроллере (например, на базе архитектуры, ARM). Coordination of processing and, mainly, distribution of messages into blocks is performed by the Router. Its hardware implementation can be built on specialized FPGAs similar to those used to implement operators (Intel, Xlinix, etc.) or a high-performance programmable microcontroller (for example, architecture-based, ARM).
Работа маршрутизатора определяется программой маршрутизации, также хранимой в памяти. Память маршрутизатора может быть реализована как отдельным устройством, так и может быть предусмотрена в составе ПЛИС или микроконтроллера, реализующего основные функции маршрутизатора. Router operation is determined by the routing program, also stored in memory. The router memory can be implemented as a separate device, or it can be provided as part of an FPGA or a microcontroller that implements the basic functions of the router.
Маршрутизатор обрабатывает поступающие сообщения последовательно. Обработка заключается в сопоставлении набора флагов каждого сообщения с эталонными, определяемыми программой маршрутизации, и при обнаружении совпадения - направлении сообщения на обработку в свободный блок, определенного программой маршрутизации типа. При отсутствии совпадений, сообщение отправляется на выход устройства. The router processes incoming messages sequentially. Processing consists in comparing the set of flags of each message with the reference ones defined by the routing program, and if a match is found, sending the message for processing to a free block of the type defined by the routing program. If there is no match, the message is sent to the output of the device.
Маршрутизатор работает исходя из предположения, что результат работы будет размещен оператором в очереди обработки. The router operates on the assumption that the result of the work will be placed by the operator in the processing queue.
Очередь обработки представляет собой комплекс решений для хранения и приоритезации сообщений, требующих обработки. Аппаратная реализация очереди обработки может быть конструктивно обособлена и построена на базе ПЛИС или микроконтроллера, либо быть интегрирована в состав Маршрутизатора. A processing queue is a set of solutions for storing and prioritizing messages that require processing. The hardware implementation of the processing queue can be constructively isolated and built on the basis of an FPGA or microcontroller, or be integrated into the Router.
Входом и выходом заявленного устройства является комплекс аппаратно- программных решений, обеспечивающих интеграцию устройства с вычислительным оборудованием общего назначения. The input and output of the claimed device is a set of hardware and software solutions that ensure the integration of the device with general-purpose computing equipment.
Его реализация может быть построена, например, на базе сети Ethernet, либо локальной шины взаимодействия с периферийными устройствами PCI-Express. Its implementation can be built, for example, on the basis of an Ethernet network, or a local bus for interaction with PCI-Express peripherals.
При этом входная часть обеспечивает взаимодействие с источником сообщений, а выходная - с получателем. Источник и получатель сообщений могут быть как интегрированы, так и обособлены. In this case, the input part provides interaction with the source of messages, and the output part - with the recipient. The source and recipient of messages can be either integrated or isolated.
Получатель сообщений способен также реализовывать управляющую связь - передачу набора сигналов, позволяющих менять данные программируемой памяти операторов и программы маршрутизации. The receiver of messages is also capable of realizing control communication - transmission of a set of signals that allow changing the data of the programmable memory of operators and routing programs.
Эксплуатация заявленного устройства предполагает две фазы: The operation of the declared device involves two phases:
1. программирование, заключающееся в задействовании управляющей связи для записи нужных данных в программируемую память операторов и программу маршрутизации, и 1.programming by using the control link to write the desired data to the operator programmable memory and the routing program, and
2. анализ, предполагающий непосредственно обработку сообщений. 2. analysis that involves directly processing messages.
Данные, которые должны быть записаны в программируемую память операторов и программу маршрутизации составляют основу адаптации устройства для различных территорий и задач - программу. The data that must be written into the programmable memory of operators and the routing program form the basis for adapting the device for different territories and tasks - the program.
Построение программы устройства предполагает решение оптимизационной задачи, предполагающей поиск оптимального разложения задачи предметной области на операторы с учетом наличия, количества и характеристик их аппаратных реализаций в устройстве, и вероятностных характеристик потока исходных данных. The construction of the device program involves the solution of an optimization problem, which involves the search for the optimal decomposition of the problem of the subject area into operators, taking into account the presence, number and characteristics of their hardware implementations in the device, and the probabilistic characteristics of the initial data flow.
Пример работы маршрутизатора и устройства. An example of router and device operation.
Работа маршрутизатора по обработке поступающих сообщений основана на методе последовательного приближения и может быть проиллюстрирована следующим образом. The work of a router to process incoming messages is based on successive approximation and can be illustrated as follows.
1. Сообщение M, содержащее координаты события и пустой набор флагов прибывает в очередь Q. 1. Message M containing the coordinates of the event and an empty set of flags arrives at the Q queue.
2. Маршрутизатор R извлекает M из Q и, согласно правилу для пустого набора флагов, направляет M в блок, реализующий оператор A. 2. Router R extracts M from Q and, according to the rule for an empty set of flags, routes M to the block that implements statement A.
3. Блок, реализующий оператор A, сопоставляет координаты из M с грубой сеткой и обнаруживает, что M относится к квадрату на территории (например, г. Москва). 3. The block that implements the operator A compares the coordinates from M with a coarse grid and finds that M belongs to a square in the territory (for example, Moscow).
4. Реализация оператора A добавляет в набор флагов сообщения M флаг, соответствующий "Москва" и направляет его на повторную обработку. 4. The implementation of operator A adds a flag corresponding to "Moscow" to the set of flags of message M and sends it for re-processing.
5. Маршрутизатор R извлекает M из Q и согласно правилу для набора флагов ("Москва"), направляет M в блок, реализующий оператор B. 5. Router R extracts M from Q and, according to the rule for a set of flags ("Moscow"), directs M to the block that implements operator B.
6. Блок, реализующий оператор B, сопоставляет координаты из M с более точной сеткой, соответствующей г. Москве и обнаруживает, что M относится к квадрату, в котором находятся центральный и западный административный округа. 6. The block that implements operator B compares coordinates from M with a more accurate grid corresponding to Moscow and finds that M refers to the square in which the central and western administrative districts are located.
7. Реализация оператора A добавляет в набор флагов сообщения M флаг, соответствующий "Москва, ЦАО или ЗАО" и направляет его на повторную обработку. 7. The implementation of operator A adds a flag corresponding to "Moscow, Central Administrative District or ZAO" to the set of flags of message M and sends it for reprocessing.
8. Маршрутизатор R извлекает M из Q и согласно правилу для набора флагов ("Москва", "Москва, ЦАО или ЗАО"), направляет M в блок, реализующий оператор C. 8. Router R extracts M from Q and, according to the rule for the set of flags ("Moscow", "Moscow, Central Administrative District or ZAO"), sends M to the block that implements operator C.
9. Блок, реализующий оператор B, сопоставляет координаты из M с набором отсекающих прямых и обнаруживает, что M относится к квадрату, в котором находится пресненский район ЦАО. 9. The block that implements the operator B compares the coordinates from M with a set of cutting lines and finds that M belongs to the square in which the Presnensky district of the Central Administrative District is located.
10. Реализация оператора A добавляет в набор флагов сообщения M флаги, соответствующий "Москва, ЦАО" и "Москва, ЦАО, Пресненский район" и направляет его на повторную обработку. 10. The implementation of operator A adds flags corresponding to "Moscow, Central Administrative District" and "Moscow, Central Administrative District, Presnensky District" to the flag set of message M and sends it for reprocessing.
11. Маршрутизатор R извлекает M из Q и, не найдя соответствующего правила, отправляет сообщение M на выход из обработки, с флагами: "Москва", "Москва, ЦАО или ЗАО", "Москва, ЦАО", "Москва, ЦАО, Пресненский район". 11. Router R extracts M from Q and, not finding an appropriate rule, sends a message M to exit processing, with flags: "Moscow", "Moscow, CAO or CJSC", "Moscow, CAO", "Moscow, CAO, Presnensky area".
При этом маршрутизатор может обеспечить обработку нескольких сообщений различными блоками, т.е. обеспечить их параллельную обработку. In this case, the router can provide processing of several messages by different blocks, i.e. provide their parallel processing.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2020100159U RU199929U1 (en) | 2019-12-31 | 2019-12-31 | DEVICE FOR PROCESSING STREAMS OF SPACE-TIME DATA IN REAL TIME MODE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2020100159U RU199929U1 (en) | 2019-12-31 | 2019-12-31 | DEVICE FOR PROCESSING STREAMS OF SPACE-TIME DATA IN REAL TIME MODE |
Publications (1)
Publication Number | Publication Date |
---|---|
RU199929U1 true RU199929U1 (en) | 2020-09-29 |
Family
ID=72744192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2020100159U RU199929U1 (en) | 2019-12-31 | 2019-12-31 | DEVICE FOR PROCESSING STREAMS OF SPACE-TIME DATA IN REAL TIME MODE |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU199929U1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5592405A (en) * | 1989-11-17 | 1997-01-07 | Texas Instruments Incorporated | Multiple operations employing divided arithmetic logic unit and multiple flags register |
US6598134B2 (en) * | 1995-09-01 | 2003-07-22 | Emc Corporation | System and method for on-line, real time, data migration |
US20090031104A1 (en) * | 2005-02-07 | 2009-01-29 | Martin Vorbach | Low Latency Massive Parallel Data Processing Device |
US9811544B1 (en) * | 2016-07-07 | 2017-11-07 | Sas Institute Inc. | Management of real-time and historical streaming data |
RU2670909C9 (en) * | 2014-03-27 | 2018-12-12 | Интернэшнл Бизнес Машинз Корпорейшн | Thread context restoration in multi-threading computer system |
-
2019
- 2019-12-31 RU RU2020100159U patent/RU199929U1/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5592405A (en) * | 1989-11-17 | 1997-01-07 | Texas Instruments Incorporated | Multiple operations employing divided arithmetic logic unit and multiple flags register |
US6598134B2 (en) * | 1995-09-01 | 2003-07-22 | Emc Corporation | System and method for on-line, real time, data migration |
US20090031104A1 (en) * | 2005-02-07 | 2009-01-29 | Martin Vorbach | Low Latency Massive Parallel Data Processing Device |
RU2670909C9 (en) * | 2014-03-27 | 2018-12-12 | Интернэшнл Бизнес Машинз Корпорейшн | Thread context restoration in multi-threading computer system |
US9811544B1 (en) * | 2016-07-07 | 2017-11-07 | Sas Institute Inc. | Management of real-time and historical streaming data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210409284A1 (en) | TOPOLOGY SYNTHESIS OF A NETWORK-ON-CHIP (NoC) | |
EP0197103B1 (en) | Load balancing for packet switching nodes | |
CN103123652A (en) | Data query method and cluster database system | |
CN101950282A (en) | Multiprocessor system and synchronous engine thereof | |
CN111506602B (en) | Data query method, device, equipment and storage medium | |
US20140044128A1 (en) | Serial replication of multicast packets | |
CN103678609A (en) | Large data inquiring method based on distribution relation-object mapping processing | |
CN108366018B (en) | DPDK-based network data packet processing method | |
CN112532633B (en) | Industrial network firewall rule generation method and device based on machine learning | |
EP0679998A1 (en) | Intelligent memory-based input/output system | |
CN105701128B (en) | A kind of optimization method and device of query statement | |
US20180373760A1 (en) | Parallel compute offload to database accelerator | |
CN106786539A (en) | Load data harvester, prediction control device and load monitoring system | |
CN111984415A (en) | Load balancing method and device based on pipeline forwarding model | |
RU199929U1 (en) | DEVICE FOR PROCESSING STREAMS OF SPACE-TIME DATA IN REAL TIME MODE | |
CN110377653B (en) | Real-time big data calculation and storage method and system | |
CN108984279A (en) | A kind of streaming computing method of internet of things oriented tradition SQL developer | |
KR20220097231A (en) | BROADCAST SWITCH SYSTEM IN A NETWORK-ON-CHIP(NoC) | |
CN103544125A (en) | Interrupt control method, interrupt processing method, interrupt controller and processor | |
CN112084027A (en) | Network-on-chip data transmission method, device, network-on-chip, equipment and medium | |
CN116501805A (en) | Stream data system, computer equipment and medium | |
CN104243348A (en) | Data processing method and device | |
CN110187869B (en) | Unified interoperation system and method between big data heterogeneous storage computing models | |
KR20180077728A (en) | Skyline querying method based on quadtree | |
CN115665218A (en) | Remote control method and system for Internet of things equipment and related equipment |