A method for real-time processing of loT data, the method comprising: receiving (500, 600), by a first physical processor (110, 210, 310, 410) of an edge device (100, 200, 300), a set of data from a first loT device communicably coupled to the edge device (100, 200, 300); splitting (510, 610), by the first physical processor (110, 210, 310, 410), the set of data into a set of individual data packets; processing (520, 630), by a second physical processor (115, 215, 315, 415) of the edge device (100, 200, 300), the set of individual data packets by: loading the second physical processor (115, 215, 315, 415) with a plurality of instances of a learning model such that each core of a set of cores of the second physical processor (115, 215, 315, 415) applies a respective instance of the learning model to a corresponding data packet of a plurality of data packets, wherein the plurality of data packets are from the set of individual data packets; annotating (522, 632)each of the plurality of data packets based on the applied learning model; responsive to annotating each of the plurality of data packets, re-ordering the plurality of data packets to match an order in which the set of individual data packets were processed; and responsive to re-ordering the plurality of data packets, transmitting the annotated, re-ordered plurality of data packets to a server communicably coupled to the edge device (100, 200, 300). receiving (500, 600), by a first physical processor (110, 210, 310, 410) of an edge device (100, 200, 300), a set of data from a first loT device communicably coupled to the edge device (100, 200, 300); splitting (510, 610), by the first physical processor (110, 210, 310, 410), the set of data into a set of individual data packets; processing (520, 630), by a second physical processor (115, 215, 315, 415) of the edge device (100, 200, 300), the set of individual data packets by: loading the second physical processor (115, 215, 315, 415) with a plurality of instances of a learning model such that each core of a set of cores of the second physical processor (115, 215, 315, 415) applies a respective instance of the learning model to a corresponding data packet of a plurality of data packets, wherein the plurality of data packets are from the set of individual data packets; annotating (522, 632)each of the plurality of data packets based on the applied learning model; responsive to annotating each of the plurality of data packets, re-ordering the plurality of data packets to match an order in which the set of individual data packets were processed; and responsive to re-ordering the plurality of data packets, transmitting the annotated, re-ordered plurality of data packets to a server communicably coupled to the edge device (100, 200, 300). loading the second physical processor (115, 215, 315, 415) with a plurality of instances of a learning model such that each core of a set of cores of the second physical processor (115, 215, 315, 415) applies a respective instance of the learning model to a corresponding data packet of a plurality of data packets, wherein the plurality of data packets are from the set of individual data packets; annotating (522, 632)each of the plurality of data packets based on the applied learning model; responsive to annotating each of the plurality of data packets, re-ordering the plurality of data packets to match an order in which the set of individual data packets were processed; and responsive to re-ordering the plurality of data packets, transmitting the annotated, re-ordered plurality of data packets to a server communicably coupled to the edge device (100, 200, 300).