From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4045dbe1801294bc,start X-Google-Attributes: gid103376,public From: gwinn@res.ray.com (Joe Gwinn) Subject: Memory Management Algorithms for Hard Realtime Date: 1998/02/17 Message-ID: #1/1 X-Deja-AN: 326040767 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii Organization: Raytheon Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 1998-02-17T00:00:00+00:00 List-Id: Some time ago we had a sometimes heated debate about the practicality of memory managers more complex than simple fixed-block list allocators for use in realtime. Since then, I have continued to dig. My major find is a book summarizing the literature: "Garbage Collection -- Algorithms for Automatic Dynamic Memory Management", Richard Jones and Rafael Lins, 377 pages, Wiley 1996. I stumbled on it in a local technical bookstore. Sometimes you just get lucky. So, of course I looked in the index under "real-time", and found three specific entries: Page 11: "The problem of garbage collection for hard real-time programming has yet to be solved without the use of special hardware". Page 184: "Many incremental algorithms are described by their authors as 'real-time'. Hard real-time systems demand that results be computed on time: a late result is as useless as an incorrectly calculated one. Such systems require worst-case guarantees rather than average-case ones, and these may need to be in the order of one millisecond." [They have the right idea, but a millisecond would be just intolerably slow. Try ten to at most one hundred microseconds, while handling worst-case load.] Page 250: "It is certainly true that current garbage collection technology is not yet suitable for programs with hard real-time constraints on stock hardware or for safety-critical applications." The work of Kelvin Nilsen (not Nielsen), who was mentioned by some people in the newsgroup as having solved the realtime memory management problem, is heavily cited in this work. By their titles, most of the cited Nilsen articles involve hardware support for garbage collection. The clear conclusion of this book is that there are no hard realtime memory manager algorithms known, unless one resorts to special hardware. The authors are university professors who have studied the field, with a 377-page book to show for it. This lack of suitable algorithms has certainly been my personal experience as well, and is why I always doggedly stuck to fixed-block allocators. Joe Gwinn