raokrutarth / manufacturing-os

A POC distributed operating system for geo-seperated automotive manufacturing
Creative Commons Zero v1.0 Universal
1 stars 0 forks source link

Add multi-queue support for sc_stage. #106

Closed raokrutarth closed 4 years ago

raokrutarth commented 4 years ago

Adds the ability for the sc_stage to manufacture items that require multiple inbound materials.

Logs:

DEBUG   17:09:05 production-stage-3 sc_stage.py:420::run                  | Node 3 seeing suppliers [1, 4] in flow
INFO    17:09:05 production-stage-3 sc_stage.py:367::_attempt_manufacture_cycle | Node 3 needs batch of type 1 from node 1
DEBUG   17:09:05 production-stage-3 sc_stage.py:332::_send_material_request_upstream | Node 3 sending a material batch request for item type 1 to node 1
DEBUG   17:09:05 production-stage-3 sc_stage.py:343::_send_material_request_upstream | Node 3 sent a material batch request BatchRequest(from:3, to:1, batch:ItemReq(Item(type:1), quantity:1), req-id:decf65dc)
INFO    17:09:05 production-stage-3 sc_stage.py:367::_attempt_manufacture_cycle | Node 3 needs batch of type 3 from node 4
DEBUG   17:09:05 production-stage-3 sc_stage.py:332::_send_material_request_upstream | Node 3 sending a material batch request for item type 3 to node 4
DEBUG   17:09:05 production-stage-3 sc_stage.py:343::_send_material_request_upstream | Node 3 sent a material batch request BatchRequest(from:3, to:4, batch:ItemReq(Item(type:3), quantity:1), req-id:808c5ea2)
DEBUG   17:09:05 publisher-3  threads.py:80::run                  | Node 3's publisher sending message BatchRequest(from:3, to:1, batch:ItemReq(Item(type:1), quantity:1), req-id:decf65dc)
DEBUG   17:09:05 publisher-3  threads.py:80::run                  | Node 3's publisher sending message BatchRequest(from:3, to:4, batch:ItemReq(Item(type:3), quantity:1), req-id:808c5ea2)
nishantrai18 commented 4 years ago

General comment: Since we've given our focused attention to sc_stage, item-level tracking and crash recovery so much; let's also design and think of some metrics which highlight the impact of this stage to its complete potential.

You've done great work on sc_stage however I don't know how we'll explain its impact in the paper. Please try to think of ways we can display the quantitative benefits in the paper. Right now, it seems we'll just write four lines of logic explaining crash recovery and that's it.

Let's try to think of statistics (e.g. dropped items, recovered items through crashes) and also some scenarios where these statistics would make sense.