Hot Best Seller

Feedback Control for Computer Systems

Availability: Ready to download

How can you take advantage of feedback control for enterprise programming? With this book, author Philipp K. Janert demonstrates how the same principles that govern cruise control in your car also apply to data center management and other enterprise systems. Through case studies and hands-on simulations, you’ll learn methods to solve several control issues, including mecha How can you take advantage of feedback control for enterprise programming? With this book, author Philipp K. Janert demonstrates how the same principles that govern cruise control in your car also apply to data center management and other enterprise systems. Through case studies and hands-on simulations, you’ll learn methods to solve several control issues, including mechanisms to spin up more servers automatically when web traffic spikes. Feedback is ideal for controlling large, complex systems, but its use in software engineering raises unique issues. This book provides basic theory and lots of practical advice for programmers with no previous background in feedback control. Learn feedback concepts and controller design Get practical techniques for implementing and tuning controllers Use feedback “design patterns” for common control scenarios Maintain a cache’s “hit rate” by automatically adjusting its size Respond to web traffic by scaling server instances automatically Explore ways to use feedback principles with queueing systems Learn how to control memory consumption in a game engine Take a deep dive into feedback control theory


Compare

How can you take advantage of feedback control for enterprise programming? With this book, author Philipp K. Janert demonstrates how the same principles that govern cruise control in your car also apply to data center management and other enterprise systems. Through case studies and hands-on simulations, you’ll learn methods to solve several control issues, including mecha How can you take advantage of feedback control for enterprise programming? With this book, author Philipp K. Janert demonstrates how the same principles that govern cruise control in your car also apply to data center management and other enterprise systems. Through case studies and hands-on simulations, you’ll learn methods to solve several control issues, including mechanisms to spin up more servers automatically when web traffic spikes. Feedback is ideal for controlling large, complex systems, but its use in software engineering raises unique issues. This book provides basic theory and lots of practical advice for programmers with no previous background in feedback control. Learn feedback concepts and controller design Get practical techniques for implementing and tuning controllers Use feedback “design patterns” for common control scenarios Maintain a cache’s “hit rate” by automatically adjusting its size Respond to web traffic by scaling server instances automatically Explore ways to use feedback principles with queueing systems Learn how to control memory consumption in a game engine Take a deep dive into feedback control theory

30 review for Feedback Control for Computer Systems

  1. 5 out of 5

    bartosz

    Feedback Control for Computer Systems by Philipp K. Janert was both absolutely amazing and slightly disappointing at the same time. The book is about application of control theory (mostly using PID controllers) to computer systems and is divided into four parts (and an appendix). The first part gives the motivation and basic definitions in control theory - signals, feedback, dynamic systems and controllers. The second part "Practice" goes into detail of controller tuning, implementation issues a Feedback Control for Computer Systems by Philipp K. Janert was both absolutely amazing and slightly disappointing at the same time. The book is about application of control theory (mostly using PID controllers) to computer systems and is divided into four parts (and an appendix). The first part gives the motivation and basic definitions in control theory - signals, feedback, dynamic systems and controllers. The second part "Practice" goes into detail of controller tuning, implementation issues and common feedback architectures. This is followed by a "Case Studies" part which provides concrete problems and solutions using the methods described in previously. The fourth part (Theory) goes into Control Theory proper. The book gets coolness points just for showing the possibility of using Control Theory for computer systems. Sadly, some of the motivation and practical examples are found wanting. In most computer systems aiming for anything other then 100% uptime is impossible, keeping computers "in standby" also seems very far-fetched. The problems of having real units instead of discrete ones also didn't seem to be addressed very well. The book is very light on theory. Having had control theory in university I expected to brush up on it by reading the book. Sadly the scope of the book is very limited in this regard and it only managed to tickle my memory. I also expected the author to go further into Z-transform and discrete-time methods as that would seem to be a match made in heaven for computer systems but it only gets mentioned once. Overall I liked the book as food for thought but the implementation and material covered wasn't perfect and disappointed a little.

  2. 5 out of 5

    Rob

    I borrowed this one from a friend; he said: "It gets pretty mathy toward the end." I think he meant in Part IV ("Theory") but "it gets mathy" happened for me on like... page 2. Which is fine because we're talking about feedback control loops which need to make continuous inferences about the state of an observed system &c. but... heads-up: there's some calculus. Which isn't to say that you can't get anything out of this book if you are not yourself "mathy". Janert does an excellent job of explain I borrowed this one from a friend; he said: "It gets pretty mathy toward the end." I think he meant in Part IV ("Theory") but "it gets mathy" happened for me on like... page 2. Which is fine because we're talking about feedback control loops which need to make continuous inferences about the state of an observed system &c. but... heads-up: there's some calculus. Which isn't to say that you can't get anything out of this book if you are not yourself "mathy". Janert does an excellent job of explaining the principles behind feedback control (esp. w/r/t/ applying them to computer systems and software problems), and by the end of the book you should have at least a good enough understanding of the types of questions to be asking when assessing a system that you expect to put under some kind of feedback control mechanism. In other words, you may not know how to do the math ("yet!") but you'll know to ask things like: "If I increase servers, I should see a decrease in... overall latency?" The other thing to take away from this is that Janert knows that despite the math, applying the feedback control principles is as much an art as it is a science. It's hard to get these exactly right on the first try, and it's expensive to experiment in production. So he also provides a bunch of simulation code to help bootstrap you. Lastly: the colorized graphs are a nice touch.

  3. 5 out of 5

    Alex

    I have a software engineering background, and was a complete novice to control theory before this book. While it's not the easiest topic to comprehend, the author was able to explain the control theory concepts in a simple way. I'd definitely recommend following the author's advice and reading Part I, then Part III (Case Studied), then Part II. I skipped part IV for now. Code samples are well-written and composable. Examples are well thought-out, relevant to software engineering, and easy to follo I have a software engineering background, and was a complete novice to control theory before this book. While it's not the easiest topic to comprehend, the author was able to explain the control theory concepts in a simple way. I'd definitely recommend following the author's advice and reading Part I, then Part III (Case Studied), then Part II. I skipped part IV for now. Code samples are well-written and composable. Examples are well thought-out, relevant to software engineering, and easy to follow.

  4. 4 out of 5

    Veljko Krunic

    This book is difficult to rate - on one side, author is right on target that most of the enterprise systems don't use feedback approach in more then very ad-hoc way and he had provided easy to grasp introduction to the control theory. So if you are already interested in applying feedback control, I would highly recommend the book. On the other side, if you are interested in applicability of feedback control to the enterprise system, this book falls very short and you won't find good information i This book is difficult to rate - on one side, author is right on target that most of the enterprise systems don't use feedback approach in more then very ad-hoc way and he had provided easy to grasp introduction to the control theory. So if you are already interested in applying feedback control, I would highly recommend the book. On the other side, if you are interested in applicability of feedback control to the enterprise system, this book falls very short and you won't find good information in it. After reading it, I am not really sure how much were author's ideas applied in practical enterprise projects, as opposed to the proposal that those ideas could provide good results in practical applications. That is especially important because control theory works under very different assumptions of controller capabilities then what applies to computer control - e.g. PID controller assumes simple controller model and then tunes parameters of controller for that model. And while there are other methods in control theory (e.g. "modern" control theory), their application is more complex (and likely to complex for someone just coming up to speed with the control theory). At the end of the day, author shows HOW to do control, but fails to make a case of WHY. For that, he would have to show that IF you apply feedback control, you are likely to get better results then alternative. I have not seen very clear case showing that this should be done. At the end of the day, author shows a way to control system. I would argue that is not enough - there are various methods that you could use to control system that are potentially applicable to enterprise systems - you could apply feedback, feedforward, SEDA,,. To get on more exotic side, argument could be made that you could use time series modeling to predict future response and try to cancel it before deviation occurs (e.g. use ETS and ARIMA time series modeling). If you have soft real-time constraints, additional consideration would apply too. Which one to use if you are enterprise audience? Frankly, author didn't made any better case for feedback control then I did for methods I am suggesting here, I am also not trying to persuade you to use them in practical projects. All of this methods, in specific situations and with appropriate tuning of parameters, could have good results. Question is, when you have new problem, which is the best and which one to chose in your case? Which one to chose for your problem, before you are committed to implementation (tuning happens after you have at least skeleton implementation). You wouldn't find answer on that question in this book. What is even worse is that you might need quite a lot of experience with the control theory to get a good results for your problem. And you should at least be aware that statistics for the successfull tuning of the real-world controllers out there are not encouraging, and those are supposedly tended by the people who have some exposure in control engineering). It appears that book is better suited if you already have decided to use feedback control. But if you did, chances are that you are not enterprise audience. And while this book might be more usable to people who are e.g. in more real-time aspects then classical enterprise audience, almost none of considerations applicable to the hard-real time domain are even mentioned. Having in mind that author is targeting book to the enterprise developers trying to teach them a new approach to the problem, I am settling on recommending against this book for its intended audience - chances are that it would give you an ideas that you wouldn't be able to implement well in practice. At the same time, I am sad to recommend against this book, as I think that author brings points worth considering and did great job of introduction to the control theory. If book was targeted for the different audience that already had a reason to set for feedback control, I would highly recommend it. But for audience that it nominally targets, I am afraid that it provides enough insight and knowledge to get you in trouble by trying feedback control, but not enough to evaluate is feedback control right approach for your problem to start with. In some ways, book is more a challenge to the people who are already very familiar with the enterprise domain and have some basic understanding of some aspects of control of the physical systems to consider fusion of the two. If that was intended audience, it would be five star book.

  5. 5 out of 5

    Fred Hebert

    As someone else has mentioned, this is a difficult book to review. There are four parts in it: 1. Foundations This part is an easy high score, presents the information very well and is easy to digest. It sells you on the importance of having proper feedback systems, what they can or can't do, and good general pointers. As someone with limited math knowledge and only a general idea of feedback control, this was a great read. That one could be an easy 4/5 or 5/5 for me. 2. Practice This gets a bit toug As someone else has mentioned, this is a difficult book to review. There are four parts in it: 1. Foundations This part is an easy high score, presents the information very well and is easy to digest. It sells you on the importance of having proper feedback systems, what they can or can't do, and good general pointers. As someone with limited math knowledge and only a general idea of feedback control, this was a great read. That one could be an easy 4/5 or 5/5 for me. 2. Practice This gets a bit tougher. There's a decent jump in there towards theory, specifically once the book tackles the topic of tuning controllers, transfer functions, and so on. Many formulas or concepts are mentioned and used without being properly introduced or explained. The author simply assumes the reader knows about these concepts, which was sadly not the case for me. This made the chapter progressively harder to grasp. Would probably rate a 3/5 on its own. 3. Case Studies Case studies section is also an easy one to get into. The good part is that it's again more approachable, has some code examples, and so on. On the other hand, the examples chosen are hardly applicable to practical cases. For example, the one on ad selling mentions pacing, but real world ad selling has to juggle requirements with cost. The example about server scaling recommends having stand-by servers to simplify the control system when you need to spin up new instances. But if you're paying for a server (or an instance) just to have it sitting idle, why not just have it in the resource pool already and monitor peak performance vs. resource usage to know when to provision a new one in advance? In any case, this is minor because those are just that: examples, and the reader knows how to understand that. The bit I find more problematic with this chapter truly is that, as another reviewer puts it, feedback control is an art, and after reading it, I don't exactly feel any more ready to go ahead and tune my own feedback control systems myself. Would possibly rate 3/5 to 4/5. 4. Theory That chapter was way over my head and I really can't say much about it. Appendix The appendix as brief, but at least contained a useful glossary. Of the mathematical concepts I grasp to a decent level, the few pages on complex numbers had their explanation a bit more convoluted than I felt necessary. --- The author recommends reading sections 1 & 3 together, and possibly 2 & 4 after that. Overall it's a decent read, but I keep feeling like it's little more than intro material, and I would both need more basic material (to better grasp basics) and more advanced material (to properly apply concepts).

  6. 5 out of 5

    Billy Biggs

    Great to see a control theory book aimed at software engineers. As Janert notes, it is "customary to steer [...] enterprise systems using feedforward ideas". Feedback control is greatly underused. The author does a good job of balancing theory and practice, and provides useful insight into the terms and ideas from the broader space that I would feel confident that I could now get something useful out of a more advanced text. FWIW, Kindle edition botches rendering of some of the formulas on my de Great to see a control theory book aimed at software engineers. As Janert notes, it is "customary to steer [...] enterprise systems using feedforward ideas". Feedback control is greatly underused. The author does a good job of balancing theory and practice, and provides useful insight into the terms and ideas from the broader space that I would feel confident that I could now get something useful out of a more advanced text. FWIW, Kindle edition botches rendering of some of the formulas on my devices, sometimes confusingly.

  7. 5 out of 5

    John

  8. 4 out of 5

    Zhaodan Kong

  9. 5 out of 5

    Toby Smith

  10. 4 out of 5

    Dave

  11. 5 out of 5

    Vesa Hagström

  12. 4 out of 5

    Artur

  13. 4 out of 5

    Julio Sueiras

  14. 4 out of 5

    Xeioex

  15. 5 out of 5

    Dan Creswell

  16. 4 out of 5

    Steven

  17. 4 out of 5

    Viktoria

  18. 4 out of 5

    Alex

  19. 5 out of 5

    Shaun

  20. 5 out of 5

    Wai Yip Tung

  21. 5 out of 5

    Wesen

  22. 4 out of 5

    Zach

  23. 5 out of 5

    Kev

  24. 4 out of 5

    Ypodimatopoulos

  25. 5 out of 5

    Daniel

    This is the practical part for control theory classes.

  26. 5 out of 5

    Kevin Oliver

  27. 5 out of 5

    Franck Chauvel

  28. 4 out of 5

    Andrew Hurst

  29. 5 out of 5

    Geoff

  30. 4 out of 5

    Gary Capell

Add a review

Your email address will not be published. Required fields are marked *

Loading...