Levi's Lisp Log

Thoughts and links relating to Lisp and computer theory

Code Synthesis

When searching for information about techniques used to efficiently run dynamic code, I came across a dissertation that lines up well with the things I've been thinking about lately. It covers the design of an operating system called Synthesis, named for its technique of synthesizing optimized kernel code at run time.

In addition to dynamic code optimization, Synthesis uses non-locking optimistic concurrency and dynamic scheduling based on run time analysis to achieve incredible performance; by some measures, it is an order of magnitude faster than the Unix it was compared with, and it achieves the real-time scheduling necessary for multimedia work.

Although it was a very impressive achievement, it has since been nearly forgotten, and has now lost much of its usefulness since it was written in assembler code and the Motorola 68k architecture it targeted has fallen out of favor. The ideas seem applicable to higher-level language, though, especially Lisp-like languages in which code is easily manipulated at run time.

I certainly haven't the time to implement such a thing right now, but it's an intriguing idea. I think I will collect resources that might be useful for it. After all, if I continue my schooling, I'll need a dissertation topic too.

# Posted by: Levi at 9:46 PM on Friday, December 16, 2005
   Comments: (0) Categories: Programming Scheme Language-design

Post a Comment

Name:
Email:
URL:
What is the square root of 4?:
Comment: