An apparatus for hardware queue scheduling in a multi-core computing environment, the apparatus comprising: a plurality of cores at least comprising a first core and a second core of a processor; and circuitry in a die of the processor, at least one of the first core or the second core included in the die, the at least one of the first core or the second core separate from the circuitry, the circuitry comprising a Hardware Queue Manager, HQM, that implements a Dynamic Load Balancer, DLB, configured to: obtain an event including an identifier associated with a data packet of a first data flow; enqueue the identifier to a queue implemented with the circuitry; assign the identifier in the queue to a first core of the processor based on a given type of scheduling, wherein identifiers of events associated with respective data packets of a given data flow are assigned to the same or different cores of the plurality of cores for processing based on the given type of scheduling; dequeue the identifier by writing the identifier to a second queue associated with the first core; invoke the first core to read the event and execute a computing operation associated with the event, said computing operation comprising an operation on the data packet; and in response to the first core indicating completion of the execution of the operation on the data packet, provide the identifier to the second core to cause the second core to distribute the data packet, wherein the data packet and further processed data packets of the first data flow are re-ordered and/or aggregated prior to distribution. a plurality of cores at least comprising a first core and a second core of a processor; and circuitry in a die of the processor, at least one of the first core or the second core included in the die, the at least one of the first core or the second core separate from the circuitry, the circuitry comprising a Hardware Queue Manager, HQM, that implements a Dynamic Load Balancer, DLB, configured to: obtain an event including an identifier associated with a data packet of a first data flow; enqueue the identifier to a queue implemented with the circuitry; assign the identifier in the queue to a first core of the processor based on a given type of scheduling, wherein identifiers of events associated with respective data packets of a given data flow are assigned to the same or different cores of the plurality of cores for processing based on the given type of scheduling; dequeue the identifier by writing the identifier to a second queue associated with the first core; invoke the first core to read the event and execute a computing operation associated with the event, said computing operation comprising an operation on the data packet; and in response to the first core indicating completion of the execution of the operation on the data packet, provide the identifier to the second core to cause the second core to distribute the data packet, wherein the data packet and further processed data packets of the first data flow are re-ordered and/or aggregated prior to distribution. obtain an event including an identifier associated with a data packet of a first data flow; enqueue the identifier to a queue implemented with the circuitry; assign the identifier in the queue to a first core of the processor based on a given type of scheduling, wherein identifiers of events associated with respective data packets of a given data flow are assigned to the same or different cores of the plurality of cores for processing based on the given type of scheduling; dequeue the identifier by writing the identifier to a second queue associated with the first core; invoke the first core to read the event and execute a computing operation associated with the event, said computing operation comprising an operation on the data packet; and in response to the first core indicating completion of the execution of the operation on the data packet, provide the identifier to the second core to cause the second core to distribute the data packet, wherein the data packet and further processed data packets of the first data flow are re-ordered and/or aggregated prior to distribution.