This page provides you with the information on how to proceed
your course project. At this moment, the information is incomplet
and inconsistent (and maybe incorrect too), but still gives you
some hint when discussing project topic within the team.
In this project, your team members will read articles
on the technical magazines, journals and conference proceedings
concerned with some aspects of compiler.s (LP) or operating systems
(OS). The first places you look for should be Chapter 13
"Readling List and Bibliography" (OS) and
"Advanced Topics" in each chapter and Bibliography (LP)
in the textbooks. Blow some of the technical magazines, journals
and conferences are listed for your reference.
Technical Magazines and Journals
Communications of the ACM
IEEE Computer Magazine
International Symposium on Computer Architecture (ISCA)
Architectural Support for Programming Languages and Operating Systems
International Conference on High Performance Embedded Architectures
and Compilers (HiPEAC)
International Conference on Parallel Architectures
and Compilation Techniques (PACT)
Conference on Languages, Compilers, and Tools for Embedded Systems
Annual Workshop on the Interaction between Compilers
and Computer Architecture (INTERACT)
Below, some possible topics for the programming and experiment
type course projects are listed.
The instructor would assist you obtaining tools for your projects
if possible and appropriate.
Using the tools available on the school's systems, such as
bison or flex, write your own compiler.
Using the benchmark prorams available (such as SPEC),
compile them using different compilers and/or options and
compare the resulting codes and execution behavior.
This should also include explanation of comilers and/or options
to other students. Please note that many some of commercial
products are available for free for some limited period of time.
Change the resource (such as process, memory, file) management
algorithm in the operating system and measure the resulting
behavior. You either write your own simulator or use
open-source operating systems (such as linux or minix) for
this type of experiments.
Introduction of OS-related tools/utilities.
You learn why such tools are becoming popular, what are
theoretical principles of tools and explain this information
to other studetns. You will also do a demo of such tools.
The ones that the instructor recommends are system-level
virtualization tools, such as Xen or VMWare.
Other types of tools you might want to try would be
more standard ones, such as vmstat or iostat.
In this case, the emphasis is placed on the relationship
of these tools to what we have learned in the course.