So, we see a surge in 3D Printing recently (as of April 2017). Right from acquiring hobby items to large-scale airplane engine manufacturing, 3D Printing is gaining momentum. Could it be the next industrial revolution? Hmmm… Maybe that’s too much to grab onto my plate. Anyway, come to the point man! What you wanna say? Here it goes…..drum roll….. “We claim that our architecture of 3D Printers can save 25% of the energy consumption.”
Huh!!?? Really!!! Perhaps it’s just a researcher trying to gain some recognition… No, don’t leave. Wait! It’s true. What if I could say that we did an extensive evaluation and our work is recognized by the computer architecture experts who gave you guys RISC, CISC, VILW processors? Convinced? Yes, we are on our way to present 3DGATES in ASPLOS 2017 (http://novel.ict.ac.cn/ASPLOS2017/
) – the flagship conference for computer architecture.
So, what do we do to save 25% of energy consumption in 3D Printing? Well, from a bird’s eye perspective, we first, extend the instruction-set, second, we extend the compiler that generates these instructions, and finally, we extend the firmware on the printer to interpret these instructions. Here’s the pictorial representation:
|Fig 1: Original 3D Printing Workflow
|Fig 2: 3DGATES architecture
Slightly Technical Description:
Our methodology consists as follows:
- We developed an instruction-level simulator that accurately simulates energy consumption in the 3D Printing process.
- From the simulator, we identify the most energy-hungry components of a 3D Printer. Hint hint!! – it’s a component that causes movements.
- We then develop and implement 3DGATES, a cross-layer solution that reduces power consumption.
Step 1 of our methodology:
|Fig 3: Wattsup Power Meter in
parallel to the current supply
to a 3D Printer
- Setup the experiment as shown in Fig3. (refer paper for a formal description)
- Calculate energy consumption of the printed design by applying the below equation on the inputs obtained by the Wattsup meter:
where I is the current consumption of the instruction i, V is 119.5V, L is the eucledian distance traversed by i and F is the speed(mm/sec) of the traversal.
- Write a program to simulate the above equation. A sample simulation is shown in the picture below.
|Fig 3: Simulation of the energy model against the ground-truth.
Step 2 of our methodology:
Carry on the simulation against a large collection of benchmark files – in our case 338 files taking around one whole month to print in a real 3D Printer. The simulation reveals the following insights: “Motors are the major energy hogs; not the heaters“. A surprise to us as well!
Step 3 of our methodology (Please refer the paper for exact technical challenges):
This is the most challenging portion of our work. From step 2 of our methodology, we identify that motors offer the most viable option to reduce energy consumption. Therefore, our proposed solution, 3DGATES, power-gates the stepper motors. But this is a significantly hard challenge considering print correctness and no damage to the printer. As described in Fig3, we:
- Facilitate new printing instructions.
We introduce new S-series instructions to the G-code standards. These instructions facilitate individual X, Y and Z motor controls.
Btw, S denotes savings in power.
- Extend the firmware to interpret these new S instructions.
The firmware (aka, control unit) is modified to interpret the S-series instructions to individually power-gate the stepper motors (either X, Y or Z), as shown on the left.
- Extend the compiler to insert the new instructions at appropriate positions by considering instruction inertia and instruction delay – (refer paper to know why these properties are unique and important for energy optimizations on 3D Printers.)
The output of 3DGATES look like:
- No effect on print quality.