Search
Close this search box.
Categories
Explore project

Hardware/software Trade-off for the Reduction of Energy Consumption

DIREC project

Hardware/Software Trade-offs for the Reduction of Energy Consumption

Summary

Computing devices consume a considerable amount of energy. Implementing algorithms in hardware using field-programmable gate arrays (FPGAs) can be more energy efficient than executing them in software in a processor.

This project explores classic sorting and path-finding algorithms and compare their energy efficiency and performance when implemented in hardware.

The use of FPGAs is increasing in mainstream computing, and the project may enable software developers to use a functional language to efficiently implement algorithms in FPGs and reduce energy consumption.

Computing devices consume a considerable amount of energy. Within data centers this has an impact on climate change and in small embedded systems, i.e., battery powered devices, energy consumption influences battery life. Implementing an algorithm in hardware (in a chip) is more energy efficient than executing it in software in a processor. Up until recently processor performance and energy efficiency have been good enough to just use software on a standard processor or on a graphic processing unit. However, this performance increase comes to an end and energy-efficient computing systems need domain specific hardware accelerators.

However, the cost of producing a chip is very high. Between fixed hardware and software there is the technology of field-programmable gate arrays (FPGAs). FPGAs are programmable hardware, the algorithm can be changed at runtime. However, FPGAs are less energy efficient than chips. We expect that for some algorithms an FPGA will be more energy efficient than the implementation in software. The research question is whether and how it is possible to reduce energy consumption of IT systems by moving algorithms from software into hardware (FPGAs). We will do this by investigating classic sorting and path-finding algorithms and compare their energy-efficiency and, in addition, their performance.

Such results are essential to both data centers as well as embedded systems. However, the hardware design of these accelerators is often complex, and their development is time-consuming and error-prone. Therefore, we need a tool and methodology that enables software engineers to design efficient hardware implementation of their algorithms. We will explore a modern hardware construction language, Chisel. Chisel is a Scala-embedded hardware construction language that allows to describe hardware in a more software-like high-level language. Chisel is the enabling technology to simplify the translation of a program from software into hardware. This project will furthermore investigate the efficiency of using the functional and object-oriented hardware description language Chisel to express algorithms efficiently for execution in FPGAs.

Programs running on a general-purpose computer consume a considerable amount of energy. Some programs can be translated into hardware and executed on an FPGA. This project will explore the trade-offs between executing a program in hardware and executing it in software relative to energy consumption.

Scientific Value
The FPGA and software implementations of path-finding algorithms have recently been evaluated in the lense of performance, e.g., [?], whereas sorting algorithms have also been evaluated on energy consumption, e.g., [2]. Here FPGAs performed better than CPU in many cases and with similar or reduced energy consumption. The language used for implementation is Verilog and C which is then translated to Verilog using Vivado HLS. In this project, we will implement the algorithms in hardware using Chiesl and evaluate their performance and energy consumption. DTU and RUC will advance the research in the design and testing of digital systems for energy saving. Our proposed approach provides a general software engineering procedure that we plan to validate with standard algorithms used in cloud applications. This research will drive the adaption of hardware design methods to the education curriculum towards modern tools and agile methods. 

Capacity Building
The project establish a new collaboration between two Danish Universities and is a first step towards building a more energy-aware profile of the Computer Science laboratory FlexLab, RUC. In return FlexLab make FPGAs available to the research assistants at RUC. Thus, this project will improve visibility of energy-aware design IT systems nationally and international. This project with the cooperation between researchers as DTU and RUC will allow Denmark to take the lead in digital research nd development for reduced energy consumption. The upcoming research positions at RUC will contribute to building RUC’s research capacity, and the project will also recruit new junior researchers directly and in future subsequent projects.

Business Value
The changes in the hardware industry indicates that the use of FPGAs will increase: A few years ago Intel bought Altera -one of the two largest FPGA production companies- to include FPGAs in future versions of their processors. Similar, AMD is aiming to buy Xilinx, the other big FPGA vendor. In addition, one can already rent a server in the cloud from Amazon that includes an FPGA. These changes all points towards that FPGAs are entering mainstream computing. Many mainstream programming languages like C# or Java already include functional features such as lambda expressions or higher-order functions. The more common languages for encoding FPGAs are Verilog, a C inspired language, and VHDL, a Pascal inspired language, Therefore, it may be efficient for mainstream software developers to use a functional language to efficiently implement algorithms in FPGAs and thus both increase performance and reduce the energy consumption. 

Societal Value
Currently ICT consumes approximately 10% of the global electricity and this is estimated to increase to 20% in 2030. Thus, reducing energy consumption of ICT is critical. If successful, this project has the potential to reduce the energy consumption via rephrasing the essential software programs in FPGA units.

Impact

Currently ICT consumes approximately 10% of the global electricity and this is estimated to increase to 20% in 2030. Thus, reducing energy consumption of ICT is critical. If successful, this project has the potential to reduce the energy consumption via rephrasing the essential software programs in FPGA units. 
 

Participants

Project Manager

Maja Hanne Kirkeby

Assistant Professor

Roskilde University
Department of People and Technology

E: majaht@ruc.dk

Martin Schoerberl

Associate Professor

Technical University of Denmark
DTU Compute

Mads Rosendahl

Associate Professor

Roskilde Universlty
Department of People and Technology

Thomas Krabben

FlexLab Manager

Roskilde University
Department of People and Technology

Categories
Explore project

Explainable AI

Project type: Explore Project

Explainable AI

Artificial Intelligence brings the promise of technological means to solve problems that previously were assumed to require human intelligence, and ultimately provide human-centered solutions that are both more effective and of higher quality in a synergy between the human and the AI system than solutions that are provided by humans or by an AI system alone.

However, compared to traditional problem solving based on logical rules and procedures, some artificial intelligence systems, in particular systems based on neural networks (e.g. as in deep learning), do not offer a human-understandable explanation to the answers given. Lack of explanation is not necessarily a problem, e.g. if the correctness of an answer can be easily validated, such as automatic character recognition subsequently validated by a human. However, in some situations, a lack of explanation may pose severe problems, and may even be illegal as it is the case for governmental decisions.

Participants

Project Manager

Thomas Hildebrandt

Professor

University of Copenhagen
Department of Computer Science

E: hilde@di.ku.dk

Irina Shklovski

Professor

University of Copenhagen
Department of Computer Science

Naja Holten Møller

Assistant Professor

University of Copenhagen
Department of Computer Science

Hugo Lopez

Assistant Professor

University of Copenhagen
Department of Computer Science

Boris Düdder

Associate Professor

University of Copenhagen
Department of Computer Science

Tijs Slaats

Associate Professor

University of Copenhagen
Department of Computer Science

Henrik Korsgaard

Assistant Professor

Aarhus University
Department of Computer Science

Susanne Bødker

Professor

Aarhus University
Department of Computer Science

Lars Kai Hansen

Professor

Technical University of Denmark
DTU Compute

Thomas Bolander

Professor

Technical University of Denmark
DTU Compute

Kim Guldstrand Larsen

Professor

Aalborg University
Department of Computer Science

Thomas Dyhre Nielsen

Professor

Aalborg University
Department of Computer Science

Alessandro Tibo

Assistant professor

Aalborg University
Department of Computer Science

Manfred Jaeger

Associate Professor

Aalborg University
Department of Computer Science

Anders Lyhne Christensen

Professor

University of Southern Denmark
The Maersk Mc-Kinney Moller Institute

Sebastian Risi

Professor

IT University of Copenhagen
Digital Design Department

Lars Rune Christensen

Assistant professor

iT University of Copenhagen
Department of Business IT

Arisa Shollo

Associate Professor

Copenhagen Business School
Department of Digitalization

Rasmus Larsen

AI Specialist

The Alexandra Institute

Peter C. Damm

Applied Research Director

KMD

Mathias Niepert

Manager & Chief Research Scientist

NEC Labs Europe
Heidelberg

Tobias Jacobs

Senior Researcher

NEC Labs Europe
Department of Computer Science

Morten Marquard

Founder & CEO

DCR Solutions

Partners