diff --git a/README.md b/README.md index 8f353b60d62c7e2a528fa6b3ca52ae1dd9d3a5e8..fb70bd9f0e9469f980e32cdf93befdc77d40079c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # tuto ctrl for computing + +Link to the tuto: [https://tinyurl.com/CtrlComputing](https://tinyurl.com/CtrlComputing) + ```bash docker run --privileged -it -v $(pwd):/data guilloteauq/tuto-ctrl-docker:july2022 tuto-ctrl main.lua 1000000 ``` diff --git a/pages/src/SUMMARY.md b/pages/src/SUMMARY.md index 8839a907f8f49c921a60014d03e7dce0387cc886..0c261ba421ea41866472f1979b750955273a64a1 100644 --- a/pages/src/SUMMARY.md +++ b/pages/src/SUMMARY.md @@ -2,10 +2,16 @@ [Introduction](intro.md) -[Frequent Problems](problems.md) +[Motivation](motivation.md) + +[Control Theory](control_theory.md) +[Autonomic Computing](autonomic_computing.md) + +[Frequent Problems](problems.md) -# To go further +[Publications](publications.md) -- [Publications](publications.md) +[Sessions](sessions.md) +[Contacts](contacts.md) diff --git a/pages/src/autonomic_computing.md b/pages/src/autonomic_computing.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/pages/src/contacts.md b/pages/src/contacts.md new file mode 100644 index 0000000000000000000000000000000000000000..926cb96b4378718bc8bc1708e380cd9e7b33d371 --- /dev/null +++ b/pages/src/contacts.md @@ -0,0 +1,16 @@ +# Contacts + +The authors of this tutorial are: + +- [Quentin GUILLOTEAU](https://guilloteauq.github.io/) (Quentin.Guilloteau AT univ-grenoble-alpes.fr) + +- [Sophie CERF](https://sites.google.com/view/sophiecerf/) (Sophie.Cerf AT inria.fr) + +- [Eric RUTTEN](http://team.inria.fr/ctrl-a/members/eric-rutten) (Eric.Rutten AT inria.fr) + +- [Bogdan ROBU](http://www.gipsa-lab.grenoble-inp.fr/page_pro.php?vid=1451) (Bogdan.Robu AT grenoble-inp.fr) + + +All the source code is available [here](https://gitlab.inria.fr/control-for-computing/tutorial). + +Feel free to make contributions! :) diff --git a/pages/src/control_theory.md b/pages/src/control_theory.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/pages/src/intro.md b/pages/src/intro.md index e2d4496b35d5ab8d0987bd3c315163424e073cfe..9b6687739c8701dd0ac43959daaab9674f88e2df 100644 --- a/pages/src/intro.md +++ b/pages/src/intro.md @@ -1,14 +1,17 @@ # Tutorial Control for Computing +Link to this page: [https://tinyurl.com/CtrlComputing](https://tinyurl.com/CtrlComputing) + +## Introduction This tutorial aims at introducing the notions and tool of the Control-Theory field to computer scientists. The tutorial is composed of two parts: -- In the first part, students get familiar with the concepts, tools, and methodology of Control-Theory. - This part is done by experimenting on a simulated system on Jupyter notebooks. +- In the first part, attendees get familiar with the concepts, tools, and methodology of Control-Theory. + This part is done by experimenting on a simulated system with Jupyter notebooks. -- In the second part, students are given a pseudo-realistic system and have to design a controller to regulate its behavior. +- In the second part, attendees are given a pseudo-realistic system and have to design a controller to regulate its behavior. ## Requirements @@ -31,5 +34,5 @@ Start the tutorial by running: docker run -it -p 8888:8888 -v $(pwd):/tuto/data registry.gitlab.inria.fr/control-for-computing/tutorial/tuto:v0.0 ``` -This should start a `JupyterLab` instance. +This should start a `JupyterLab` instance (you may have to click the link in the terminal). Once in `JupyterLab`, begin with the file named `00_Main.ipynb`. diff --git a/pages/src/motivation.md b/pages/src/motivation.md new file mode 100644 index 0000000000000000000000000000000000000000..fb93537332ebb249eb849c61e36dce8d3155015c --- /dev/null +++ b/pages/src/motivation.md @@ -0,0 +1,36 @@ +# Motivation + +Computing systems are getting more and more complex. + + +The software stacks are growing, and are executed on top of complex hardware. +The behavior of such systems is thus becoming extremely difficult to model correctly. + +The usual approach is to have a theoretical model of the system and design complex algorithm based on this model. +This approach is limited by the quality of the model. +Modelling all the possible cases, and behaviors is tedious and error-prone. + +TODO: TAKE AN EXAMPLE OF SYSTEM + +A different approach to regulate the behavior of a computing system is to take measurements of the system metrics, and adapt the input based on these measurements. + + +One classical example is a *heating device*. +The user defines the temperature they want their room to be at. +The heating device will take a measurement of the temperature of the room. +If the temperature is lower than the desired temperature, the heating device will increase the power of its resistance. +If the temperature is greater than the desired temperature, the heating device must stop heating, and will thus decrease the power of its resistance. + +This approach is called **closed-loop**. +Indeed, the system takes a decision based on a sensor, which will impact the next measure of the sensor and thus the next decision. + +There are several ways to "close the loop" in a computing system. + +- AI +- ad-hoc solutions +- control theory + + + + + diff --git a/pages/src/problems.md b/pages/src/problems.md index 1e7383f647bfd23ee45676b07de3ad0b59137d23..4db7375eccd3f9ac9a29ef8b1657e3fa3ab530d4 100644 --- a/pages/src/problems.md +++ b/pages/src/problems.md @@ -1,3 +1,4 @@ # Frequent Problems -... +Nothing yet... + diff --git a/pages/src/sessions.md b/pages/src/sessions.md new file mode 100644 index 0000000000000000000000000000000000000000..0afbfe8155f535d83a94472d772250eaa2c0fb7c --- /dev/null +++ b/pages/src/sessions.md @@ -0,0 +1,5 @@ +# Sessions + +This tutorial has been given at the following events: + +- ...