Giter Club home page Giter Club logo

i3m-linux-daemon's Introduction

AirTop Front Panel daemon and GPU Thermal daemon

This project consists of the following parts:

  1. airtop-fpsvc - AirTop Front Panel service daemon. This service provides hardware-related metrics to the AirTop front panel controller.

  2. gpu-thermald - GPU Thermal daemon. This service sets GPU temperature upper limit by constantly controlling its power.

There is also a 'sister-project' - package, that wraps the services above into debian packages:

  • airtop-fpsvc_upstart.deb

  • airtop-fpsvc_systemd.deb

Additional package types might be added in the future.

Building the source code

Issue make in project top directory (where Makefile is present). For debugging purposes, issue make debug=1.

'obj' directory will hold object and other temporary files, 'bin' directory will hold the executables.

Supported features status

  • CPU Temperature

  • CPU Frequency

  • GPU Temperature

  • HDD Temperature and volume - currently there is no FP request for HDD volume

  • Limiting GPU power and/or temperature - GPU Thermal daemon

Software design overview

AirTop Front Panel Service daemon

This daemon is quite robust and scalable in the expense of simplicity of implementation. The daemon is built around 2 thread pools - frontend and backend:

Frontend is a single-threaded 'owner' of the communication to and from the Front Panel controller. It accepts requests from the FP, and sends back the responses.

Backend is a multi-threaded pool performing the tasks dispatched by the frontend. Data acquired by the backend is handed over to frontend to be passed on to the FP controller.

Each thread is guarded by a watchdog, so that no task can spend in the processing more than a preset time. Watchdog timeout is considered a major failure, and leads to daemon restart.

Notice, that this design enables adding additional frontends, e.g. a web-based one, that would allow creation of web-based front panel useful for system administration.

GPU Thermal daemon

This daemon implements a modified PID control loop, limiting the GPU temperature by timely limiting of GPU power. While the hard-coded PID factors were matched to meet AirTop case heat dissipation, the whole implementation is not AirTop-specific, and is able of serving any Nvidia GPU capable of power management.

i3m-linux-daemon's People

Contributors

nikita-kiryanov avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

i3m-linux-daemon's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.